IiBNZW51IFRyYW5zbGF0aW9uczogICAgQ3plY2ggKElTTy04ODU5LTIpCiIgTWFpbnRhaW5lcjogICAgICAgICAgIEppcmkgU2VkbGFrIDxqaXJpX3NlZGxha0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CiIgUHJldmlvdXMgbWFpbnRhaW5lcjogIEppcmkgQnJlemluYQoiIEJhc2VkIG9uOiAgICAgICAgICAgICBtZW51LnZpbSAoMjAxMi0xMC0yMSkKCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQogICBmaW5pc2gKZW5kaWYKCmxldCBkaWRfbWVudV90cmFucyA9IDEKbGV0IHM6a2VlcGNwbz0gJmNwbwpzZXQgY3BvJnZpbQoKc2NyaXB0ZW5jb2RpbmcgaXNvLTg4NTktMgoKIiB7e3sgRmlsZSBtZW51Cm1lbnV0cmFucyAmRmlsZQkJCQkmU291Ym9yCm1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCSZPdGV2+O10XC5cLlwuPFRhYj46ZQptZW51dHJhbnMgU3AmbGl0LU9wZW5cLlwuXC48VGFiPjpzcAlPdGV2+O10XCB2XCBubyZ26W1cIG9rbuxcLlwuXC48VGFiPjpzcAptZW51dHJhbnMgT3BlblwgVGFiXC5cLlwuPFRhYj46dGFibmV3CU90ZXb47XRcIHRhYlwuXC5cLjxUYWI+OnRhYm5ldwptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSZOb3b9PFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCSZaYXb47XQ8VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJlVsb75pdDxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdglVbG++aXRcICZqYWtvXC5cLlwuPFRhYj46c2F2CmlmIGhhcygicHJpbnRlciIpIHx8IGhhcygidW5peCIpCiAgIG1lbnV0cmFucyAmUHJpbnQJCQkmVGlzawplbmRpZgptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJVSZsb75pdFwgYVwgdWtvbuhpdDxUYWI+OndxYQptZW51dHJhbnMgRSZ4aXQ8VGFiPjpxYQkJCSZVa29u6Gl0PFRhYj46cWEKCmlmIGhhcygiZGlmZiIpCiAgIG1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4JUm96ZOxsaXRcIG9rbm9cIC1cICZEaWZmXC5cLlwuCiAgIG1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCVJvemTsbGl0XCBva25vXCAtXCAmUGF0Y2hcLlwuXC4KZW5kaWYKIiB9fX0KCiIge3t7IEVkaXQgbWVudQptZW51dHJhbnMgJkVkaXQJCQkJ2nByJmF2eQptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmWnDsdDxUYWI+dQptZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJWiZydblpdFwgdnLhY2Vu7TxUYWI+XlIKbWVudXRyYW5zIFJlcCZlYXQ8VGFiPlwuCQkmT3Bha292YXQ8VGFiPlwuCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQkmVnn47Xpub3V0PFRhYj4iK3gKbWVudXRyYW5zICZDb3B5PFRhYj4iK3kJCQkmS29w7XJvdmF0PFRhYj4iK3kKbWVudXRyYW5zICZQYXN0ZTxUYWI+IitnUAkJViZsb75pdDxUYWI+IitnUAptZW51dHJhbnMgUHV0XCAmQmVmb3JlPFRhYj5bcAkJVmxvvml0XCAmcPhlZDxUYWI+W3AKbWVudXRyYW5zIFB1dFwgJkFmdGVyPFRhYj5dcAkJVmxvvmkmdFwgemE8VGFiPl1wCmlmIGhhcygid2luMzIiKSB8fCBoYXMoIndpbjE2IikKICAgbWVudXRyYW5zICZEZWxldGU8VGFiPngJCQkmU21hemF0PFRhYj54CmVuZGlmCm1lbnV0cmFucyAmU2VsZWN0XCBBbGw8VGFiPmdnVkcJCVZ5JmJyYXRcIHa5ZTxUYWI+Z2dWRwppZiBoYXMoIndpbjMyIikgIHx8IGhhcygid2luMTYiKSB8fCBoYXMoImd1aV9ndGsiKSB8fCBoYXMoImd1aV9rZGUiKSB8fCBoYXMoImd1aV9tb3RpZiIpCiAgIG1lbnV0cmFucyAmRmluZFwuXC5cLgkJCSZIbGVkYXRcLlwuXC4KICAgbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JJk5haHJhZGl0XC5cLlwuCmVsc2UKICAgbWVudXRyYW5zIEZpbmQ8VGFiPi8gJkhsZWRhdDxUYWI+LwogICBtZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZTxUYWI+OiVzICAmTmFocmFkaXQ8VGFiPjolcwogICBtZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZTxUYWI+OnMgICAmTmFocmFkaXQ8VGFiPjpzCmVuZGlmCm1lbnV0cmFucyBTZXR0aW5nc1wgJldpbmRvdwkJTmFzdGF2JmVu7Vwgb2tuYQoiIHt7ezIgRWRpdCAtMQptZW51dHJhbnMgU3RhcnR1cFwgJlNldHRpbmdzICBQb+jhdGXobu1cICZuYXN0YXZlbu0KbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkJCSZHbG9i4Wxu7VwgbmFzdGF2ZW7tCm1lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEJJlD4ZXBub3V0XCB6dv1yYXpu7G7tXCB2em9ydTxUYWI+OnNldFwgaGxzIQptZW51dHJhbnMgVG9nZ2xlXCAmSWdub3JlLWNhc2U8VGFiPjpzZXRcIGljIQkJUPhlcG5vdXRcIGlnbm9yb3bhbu1cICZWRVJawUxFSzxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkJUPhlcG5vdXRcICZTaG93bWF0Y2hcIFx7XChcW1xdKVx9PFRhYj46c2V0XCBzbSEKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJCQlab2JyYXppdFwga29udGUmeHRcIGt1cnpvcnUKbWVudXRyYW5zICZWaXJ0dWFsXCBFZGl0CQkJCVZpcnR14Wxu7VwgcCZvemljZVwga3Vyem9ydQptZW51dHJhbnMgTmV2ZXIJCQkJCQlOaWtkeQptZW51dHJhbnMgQmxvY2tcIFNlbGVjdGlvbgkJCQlW/WLsclwgQmxva3UKbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCQkJSW5zZXJ0XCBt82QKbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJCQlCbG9rXCBhXCBJbnNlcnQKbWVudXRyYW5zIEFsd2F5cwkJCQkJVr5keWNreQptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJCVD4ZXBub3V0XCBJbnNlcnRcIG3zJmQ8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQkJUPhlcG5vdXRcIGtvbXBhdGliaWxu7VwgcmW+aW1cIHNcICd2aSc8VGFiPjpzZXRcIGNwIQptZW51dHJhbnMgU2VhcmNoXCAmUGF0aFwuXC5cLgkJCQlOYXN0YXZpdFwgJmNlc3R1XCBrXCBwcm9obGVk4Xbhbu1cLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQkJCVRhJmdcIHNvdWJvcnlcLlwuXC4KbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQkJUPhlcG5vdXRcICZUb29sYmFyCm1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcgkJCVD4JmVwbm91dFwgZG9sbu1cIHJvbG92YWPtXCBsabl0dQptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJUPhlcG5vdXRcICZsZXZvdVwgcm9sb3ZhY+1cIGxpuXR1Cm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkJUPhlcG5vdXRcIHAmcmF2b3VcIHJvbG92YWPtXCBsabl0dQoiIHt7ezIgRWRpdCAtMgptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQkJCU5hc3RhdmVu7Vwgc28mdWJvcnUKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCVD4ZXBub3V0XCDo7XNsb3bhbu1cIPjhJmRr+TxUYWI+OnNldFwgbnUhCm1lbnV0cmFucyBUb2dnbGVcIHJlbGF0aSZ2ZVwgTGluZVwgTnVtYmVyaW5nPFRhYj46c2V0XCBybnUhIFD4ZXBub3V0XCByZWxhdGl2bu1cIOjtc2xvduFu7Vwg+OEmZGv5PFRhYj46c2V0XCBybnUhCm1lbnV0cmFucyBUb2dnbGVcICZMaXN0XCBNb2RlPFRhYj46c2V0XCBsaXN0IQkJUPhlcG5vdXRcICZMaXN0XCBt82Q8VGFiPjpzZXRcIGxpc3QhCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZXcmFwPFRhYj46c2V0XCB3cmFwIQkJUPhlcG5vdXRcIHphbGEmbW924W7tXCD44WRr+TxUYWI+OnNldFwgd3JhcCEKbWVudXRyYW5zIFRvZ2dsZVwgVyZyYXBcIGF0XCB3b3JkPFRhYj46c2V0XCBsYnIhCVD4ZXBub3V0XCB6bCZvbVwgdmVcIHNsb3bsPFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCVD4ZXBub3V0XCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCm1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCQlQ+GVwbm91dFwgJmF1dG8taW5kZW50PFRhYj46c2V0XCBhaSEKbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQlQ+GVwbm91dFwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCm1lbnV0cmFucyAmU2hpZnR3aWR0aAkJCQkJTmFzdGF2Jml0XCC57fhrdVwgb2Qmc2F6ZW7tCm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJCQlOYXN0YXZpdFwgU29mdFwgJlRhYnN0b3AKbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJCQmp7fhrYVwgdGUmeHR1XC5cLlwuCm1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkJCSZGb3Jt4XRcIHNvdWJvcnVcLlwuXC4KIiB7e3syIEVkaXQgLTMKbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQlCYXJldm7pXCBzJmNo6W1hCm1lbnV0cmFucyAmS2V5bWFwCQkJS2zhdmVzb3bhXCBtJmFwYQppZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW4xNiIpIHx8IGhhcygiZ3VpX21vdGlmIikgfHwgaGFzKCJndWlfZ3RrIikgfHwgaGFzKCJndWlfa2RlIikgfHwgaGFzKCJndWlfcGhvdG9uIikgfHwgaGFzKCJndWlfbWFjIikKICAgbWVudXRyYW5zIFNlbGVjdFwgRm8mbnRcLlwuXC4JCVZ5YnJhdFwgcO1zJm1vXC5cLlwuCmVuZGlmCiIgfX19MQoKIiB7e3sgUHJvZ3JhbW1pbmcgbWVudQptZW51dHJhbnMgJlRvb2xzCQkJTuFzdCZyb2plCm1lbnV0cmFucyAmSnVtcFwgdG9cIHRoaXNcIHRhZzxUYWI+Z15dCSZTa2/oaXRcIG5hXCB0YWc8VGFiPmdeXQptZW51dHJhbnMgSnVtcFwgJmJhY2s8VGFiPl5UCQlTa2/oaXRcICZ6cOx0PFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQkmVnl0dm/4aXRcIHNvdWJvclwgdGFn+QoKaWYgaGFzKCJzcGVsbCIpCiAgIG1lbnV0cmFucyAmU3BlbGxpbmcJCQkmS29udHJvbGFcIHByYXZvcGlzdQogICBtZW51dHJhbnMgJlNwZWxsXCBDaGVja1wgT24JCSZaYXBub3V0XCBrb250cm9sdVwgcHJhdm9waXN1CiAgIG1lbnV0cmFucyBTcGVsbFwgQ2hlY2tcICZPZmYJCSZWeXBub3V0IFxrb250cm9sdVwgcHJhdm9waXN1CiAgIG1lbnV0cmFucyBUb1wgJk5leHRcIGVycm9yPFRhYj5dcwkmRGFsue1cIGNoeWJhPFRhYj5dcwogICBtZW51dHJhbnMgVG9cICZQcmV2aW91c1wgZXJyb3I8VGFiPltzCSZQ+GVkY2hveu1cIGNoeWJhPFRhYj5bcwogICBtZW51dHJhbnMgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PQkmTmF2cmhub3V0XCBvcHJhdnk8VGFiPno9CiAgIG1lbnV0cmFucyAmUmVwZWF0XCBjb3JyZWN0aW9uPFRhYj46c3BlbGxyZXBhbGwJWm9wYWtvdmF0XCAmb3ByYXZ1PFRhYj46c3BlbGxyZXBhbGwKICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW4iCU5hc3Rhdml0XCBqYXp5a1wgbmFcICJlbiIKICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fYXUiCU5hc3Rhdml0XCBqYXp5a1wgbmFcICJlbl9hdSIKICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fY2EiCU5hc3Rhdml0XCBqYXp5a1wgbmFcICJlbl9jYSIKICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fZ2IiCU5hc3Rhdml0XCBqYXp5a1wgbmFcICJlbl9nYiIKICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fbnoiCU5hc3Rhdml0XCBqYXp5a1wgbmFcICJlbl9ueiIKICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fdXMiCU5hc3Rhdml0XCBqYXp5a1wgbmFcICJlbl91cyIKICAgbWVudXRyYW5zICZGaW5kXCBNb3JlXCBMYW5ndWFnZXMJTmFs6Xp0XCBkYWy57VwgJmphenlreQogICBsZXQgZzptZW51dHJhbnNfc2V0X2xhbmdfdG8gPSAiTmFzdGF2aXQgamF6eWsgbmEiCmVuZGlmCgppZiBoYXMoIkZvbGRpbmciKSAgIAogICBtZW51dHJhbnMgJkZvbGRpbmcJCQkmU2ts4WThbu0KICAgbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppICZBbm8vTmU8VGFiPnppCiAgIG1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dglab2JyYXppdFwg+OFkZWtcICZrdXJ6b3J1PFRhYj56dgogICBtZW51dHJhbnMgVmllJndcIEN1cnNvclwgTGluZVwgb25seTxUYWI+ek16eAkJWm9icmF6aXRcICZwb3V6ZVwg+OFkZWtcIGt1cnpvcnVcIDxUYWI+ek16eAogICBtZW51dHJhbnMgQyZsb3NlXCBtb3JlXCBmb2xkczxUYWI+em0JU2xvvml0XCAmamVkbnVcIPpyb3Zl8lwgc2tsYWT5PFRhYj56bQogICBtZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQlTbG++aXRcIHa5ZWNobnlcIHNrbGFkeTxUYWI+ek0KICAgbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJUPhpZGF0XCBqZWRudVwg+nJvdmXyXCBza2xhZPk8VGFiPnpyCiAgIG1lbnV0cmFucyAmT3BlblwgYWxsXCBmb2xkczxUYWI+elIJJk90ZXb47XRcIHa5ZWNobnlcIHNrbGFkeTxUYWI+elIKICAgbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQkmTWV0b2RhXCBza2zhZOFu7QogICBtZW51dHJhbnMgTSZhbnVhbAkJCSZSdehu7AogICBtZW51dHJhbnMgSSZuZGVudAkJCSZPZHNhemVu7QogICBtZW51dHJhbnMgRSZ4cHJlc3Npb24JJlb9cmF6CiAgIG1lbnV0cmFucyBTJnludGF4CQkJJlN5bnRheGUKICAgbWVudXRyYW5zICZEaWZmCQkJJlJvemTtbHkKICAgbWVudXRyYW5zIE1hJnJrZXIJCQkmWm5h6Gt5CiAgIG1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJVnl0dm/4aXRcICZza2xhZDxUYWI+emYKICAgbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQlWeW1hemF0XCBza2xhJmQ8VGFiPnpkCiAgIG1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAlWeW1hemF0XCB2uWVjaG55XCBza2xhZHk8VGFiPnpECiAgIG1lbnV0cmFucyBGb2xkXCBjb2wmdW1uXCB3aWR0aAkJU2xvdXBlY1wgem9iJnJhemVu7Vwgc2tsYWT5CmVuZGlmCgppZiBoYXMoImRpZmYiKQogICBtZW51dHJhbnMgJlVwZGF0ZQkJCSZPYm5vdml0CiAgIG1lbnV0cmFucyAmR2V0XCBCbG9jawkJCSZTZWptb3V0XCBCbG9rCiAgIG1lbnV0cmFucyAmUHV0XCBCbG9jawkJCSZWbG++aXRcIEJsb2sKZW5kaWYKCm1lbnV0cmFucyAmTWFrZTxUYWI+Om1ha2UJCSZNYWtlPFRhYj46bWFrZQptZW51dHJhbnMgJkxpc3RcIEVycm9yczxUYWI+OmNsCQlW/XBpc1wgJmNoeWI8VGFiPjpjbAptZW51dHJhbnMgTCZpc3RcIE1lc3NhZ2VzPFRhYj46Y2whCVb9cCZpc1wgenBy4XY8VGFiPjpjbCEKbWVudXRyYW5zICZOZXh0XCBFcnJvcjxUYWI+OmNuCQlEYWy57VwgY2gmeWJhPFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAkmUPhlZGNob3rtXCBjaHliYTxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCVN0YSZyue1cIHNlem5hbTxUYWI+OmNvbGQKbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJTiZvduxque1cIHNlem5hbTxUYWI+OmNuZXcKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQlDaHlib3bpXCBvJmtubwptZW51dHJhbnMgU2VUXCBDb21waWxlcgkJCU5hcyZ0YXZlbu1cIGtvbXBpbOF0b3J1Cm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJTyZibm92aXQ8VGFiPjpjd2luCm1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCQkmT3RldvjtdDxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCSZaYXb47XQ8VGFiPjpjY2xvc2UKbWVudXRyYW5zIFNlJlRcIENvbXBpbGVyCQlOJmFzdGF2aXRcIGtvbXBpbOF0b3IKCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCVD4ZXbpc3RcIGRvXCC5ZXN0buFjdGtvdulob1wgZm9ybeF0JnU8VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIXh4ZFwgLXIgUPgmZXbpc3RcIHpw7HQ8VGFiPjolIXh4ZFwgLXIKIiB9fX0KCiIge3t7IFN5bnRheCBtZW51Cm1lbnV0cmFucyAmU3ludGF4CQlTeW50YSZ4ZQptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJTmFzdGF2aXRcIHBvdXplXCAnc3ludGEmeCcKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwlOYXN0YXZpdFwgdGFr6VwgJyZmaWxldHlwZScKbWVudXRyYW5zICZPZmYJCQkmVnlwbm91dAptZW51dHJhbnMgJk1hbnVhbAkJJlJ16G7sCm1lbnV0cmFucyBBJnV0b21hdGljCQlBJnV0b21hdGlja3kKbWVudXRyYW5zIG9uL29mZlwgZm9yXCAmVGhpc1wgZmlsZQkmUPhlcG5vdXRcIChwcm9cIHRlbnRvXCBzb3Vib3IpCm1lbnV0cmFucyBvJmZmXCAodGhpc1wgZmlsZSkJdnlwJm5vdXRcIChwcm9cIHRlbnRvXCBzb3Vib3IpCm1lbnV0cmFucyBDbyZsb3JcIHRlc3QJCVRlc3RcICZiYXJldgptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkmVGVzdFwgenb9cmF68m924W7tCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhUTUwJUPhldulzdFwgJmRvXCBIVE1MCm1lbnV0cmFucyAmU2hvd1wgZmlsZXR5cGVzXCBpblwgbWVudQkmWm9icmF6aXRcIHb9YuxyXCBtb75ub3N07QoiIH19fQoKIiB7e3sgTWVudSBCdWZmZXJzCm1lbnV0cmFucyAmQnVmZmVycwkJJkJ1ZmZlcnkKbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CSZPYm5vdml0XCBtZW51Cm1lbnV0cmFucyAmRGVsZXRlCQlaJnJ1uWl0Cm1lbnV0cmFucyAmQWx0ZXJuYXRlCQkmWm3sbml0Cm1lbnV0cmFucyAmTmV4dAkJCSZEYWy57QptZW51dHJhbnMgJlByZXZpb3VzCQkmUPhlZGNob3rtCiIgfX19CgoiIHt7eyBNZW51IFdpbmRvdwptZW51dHJhbnMgJldpbmRvdwkJCSZPa25hCm1lbnV0cmFucyAmTmV3PFRhYj5eV24JCQkmTm926TxUYWI+XlduCm1lbnV0cmFucyBTJnBsaXQ8VGFiPl5XcwkJJlJvemTsbGl0PFRhYj5eV3MKbWVudXRyYW5zIFNwJmxpdFwgVG9cICM8VGFiPl5XXl4JUm8memTsbGl0XCBuYVwgIzxUYWI+XldeXgptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YJUm96ZOxsaXRcICZ2ZXJ0aWvhbG7sPFRhYj5eV3YKbWVudXRyYW5zIFNwbGl0XCBGaWxlXCBFJnhwbG9yZXIJUm96ZOxsaXRcIC1cIEZpbGVcIEUmeHBsb3JlcgptZW51dHJhbnMgTW92ZVwgJlRvCQkJJlD4ZXN1bgptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJJk5haG9ydTxUYWI+XldLCm1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCSZEb2x1PFRhYj5eV0oKbWVudXRyYW5zICZMZWZ0XCBzaWRlPFRhYj5eV0gJCSZWbGV2bzxUYWI+XldICm1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAkJVnAmcmF2bzxUYWI+XldMCgptZW51dHJhbnMgJkNsb3NlPFRhYj5eV2MJCVphdvjtJnQ8VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCVphdvjtdFwgJm9zdGF0bu08VGFiPl5XbwptZW51dHJhbnMgTmUmeHQ8VGFiPl5XdwkJCSZEYWy57TxUYWI+Xld3Cm1lbnV0cmFucyBQJnJldmlvdXM8VGFiPl5XVwkJJlD4ZWRjaG967TxUYWI+XldXCm1lbnV0cmFucyAmRXF1YWxcIFNpemU8VGFiPl5XPQkJJlN0ZWpu4Vwgdv25a2E8VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCU1heGlt4Wxu7Vwgdv25JmthPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTSZpbmlt4Wxu7Vwgdv25a2E8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQkmTWF4aW3hbG7tXCC57fhrYTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlNaW5pbeFsbu1cILnt+GsmYTxUYWI+XlcxXHwKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCVJvdG92YXRcIG5hJmhvcnU8VGFiPl5XUgptZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQlSb3RvdmF0XCAmZG9s+TxUYWI+XldyCgoiIHt7eyBIZWxwIG1lbnUKbWVudXRyYW5zICZIZWxwCQkJJk7hcG927GRhCm1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JJlD4ZWhsZWQ8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCSZVvml2YXRlbHNr/VwgTWFudeFsCm1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwlIbyZ3dG8KbWVudXRyYW5zICZHVUkJCQkmR3JhZmlja+lcIHJvemhyYW7tCm1lbnV0cmFucyAmQ3JlZGl0cwkJJkF1dG/4aQptZW51dHJhbnMgQ28mcHlpbmcJCSZMaWNlbuhu7VwgcG9saXRpa2EKbWVudXRyYW5zICZTcG9uc29yL1JlZ2lzdGVyCVNwb256b3JvduFu7S8mUmVnaXN0cmFjZQptZW51dHJhbnMgJkZpbmRcLlwuXC4JCSZIbGVkYXRcLlwuXC4KbWVudXRyYW5zIE8mcnBoYW5zCQlPJnNp+GVs6VwgZOx0aQptZW51dHJhbnMgJlZlcnNpb24JCSZWZXJ6ZQptZW51dHJhbnMgJkFib3V0CQkmT1wgYXBsaWthY2kKIiB9fX0KCiIge3t7IFRoZSBwb3B1cCBtZW51Cm1lbnV0cmFucyAmVW5kbwkJCSZacOx0Cm1lbnV0cmFucyBDdSZ0CQkJJlZ5+O16bm91dAptZW51dHJhbnMgJkNvcHkJCQkmS29w7XJvdmF0Cm1lbnV0cmFucyAmUGFzdGUJCSZWbG++aXQKbWVudXRyYW5zICZEZWxldGUJCSZTbWF6YXQKbWVudXRyYW5zIFNlbGVjdFwgQmxvY2t3aXNlCVZ5YnJhdFwgYmxva2927AptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJVnlicmF0XCAmc2xvdm8KbWVudXRyYW5zIFNlbGVjdFwgUGEmcmFncmFwaCBWeWJyYXRcICZvZHN0YXZlYwptZW51dHJhbnMgU2VsZWN0XCAmU2VudGVuY2UgICBWeWJyYXRcIHbsJnR1Cm1lbnV0cmFucyBTZWxlY3RcICZMaW5lCQlWeWJyYXRcICb44WRlawptZW51dHJhbnMgU2VsZWN0XCAmQmxvY2sJVnlicmF0XCAmYmxvawptZW51dHJhbnMgU2VsZWN0XCAmQWxsCQlWeWJyYXRcICZ2uWUKIiB9fX0KCiIge3t7IFRoZSBHVUkgdG9vbGJhcgppZiBoYXMoInRvb2xiYXIiKQogICBpZiBleGlzdHMoIipEb190b29sYmFyX3RtZW51IikKICAgICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICAgZW5kaWYKICAgZnVuIERvX3Rvb2xiYXJfdG1lbnUoKQogICAgICB0bWVudSBUb29sQmFyLk9wZW4JCU90ZXb47XQgc291Ym9yCiAgICAgIHRtZW51IFRvb2xCYXIuU2F2ZQkJVWxvvml0IHNvdWJvcgogICAgICB0bWVudSBUb29sQmFyLlNhdmVBbGwJCVVsb75pdCB2uWVjaG55IHNvdWJvcnkKICAgICAgaWYgaGFzKCJwcmludGVyIikgfHwgaGFzKCJ1bml4IikKICAgICAgICAgdG1lbnUgVG9vbEJhci5QcmludAkJVGlzawogICAgICBlbmRpZgogICAgICB0bWVudSBUb29sQmFyLlVuZG8JCVpw7HQKICAgICAgdG1lbnUgVG9vbEJhci5SZWRvCQlacnW5aXQgdnLhY2Vu7QogICAgICB0bWVudSBUb29sQmFyLkN1dAkJVnn47Xpub3V0CiAgICAgIHRtZW51IFRvb2xCYXIuQ29weQkJS29w7XJvdmF0CiAgICAgIHRtZW51IFRvb2xCYXIuUGFzdGUJCVZsb75pdAogICAgICB0bWVudSBUb29sQmFyLkZpbmQJCUhsZWRhdC4uLgogICAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CUhsZWRhdCBkYWy57QogICAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CUhsZWRhdCBw+GVkY2hveu0KICAgICAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCQlOYWhyYWRpdC4uLgogICAgICBpZiAwCSIgZGlzYWJsZWQ7IFRoZXNlIGFyZSBpbiB0aGUgV2luZG93cyBtZW51CiAgICAgICAgIHRtZW51IFRvb2xCYXIuTmV3CQlOb3bpIG9rbm8KICAgICAgICAgdG1lbnUgVG9vbEJhci5XaW5TcGxpdAlSb3pk7GxpdCBva25vCiAgICAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4CQlNYXhpbWFsaXpvdmF0IG9rbm8KICAgICAgICAgdG1lbnUgVG9vbEJhci5XaW5NaW4JCU1pbmltYWxpem92YXQgb2tubwogICAgICAgICB0bWVudSBUb29sQmFyLldpbkNsb3NlCVphdvjtdCBva25vCiAgICAgIGVuZGlmCiAgICAgIHRtZW51IFRvb2xCYXIuTG9hZFNlc24JTmHo7XN0IHNlemVu7QogICAgICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCVVsb75pdCBzZXplbu0KICAgICAgdG1lbnUgVG9vbEJhci5SdW5TY3JpcHQJU3B1c3RpdCBza3JpcHQKICAgICAgdG1lbnUgVG9vbEJhci5NYWtlCQlTcHVzdGl0IG1ha2UKICAgICAgdG1lbnUgVG9vbEJhci5TaGVsbAkJU3B1c3RpdCBzaGVsbAogICAgICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCVNwdXN0aXQgY3RhZ3MKICAgICAgdG1lbnUgVG9vbEJhci5UYWdKdW1wCQlTa2/oaXQgbmEgdGFnIHBvZCBrdXJ6b3JlbQogICAgICB0bWVudSBUb29sQmFyLkhlbHAJCU7hcG927GRhCiAgICAgIHRtZW51IFRvb2xCYXIuRmluZEhlbHAJSGxlZGF0IG7hcG927GR1IGsuLi4KICAgZW5kZnVuCmVuZGlmCiIgfX19CgoiIHt7eyBESUFMT0cgVEVYVFMKbGV0IGc6bWVudXRyYW5zX25vX2ZpbGUgPSAiW67hZG79IHNvdWJvcl0iCmxldCBnOm1lbnV0cmFuc19oZWxwX2RpYWxvZyA9ICJaYWRlanRlIGhsZWRhbv0gcPjta2F6IG5lYm8gc2xvdm86XG5cblx0UPhpZGVqdGUgaV8gcHJvIHD47Wthenkgdmts4WRhY+1obyByZb5pbXUgKG5hcPguIGlfQ1RSTC1YKVxuXHRQ+GlkZWp0ZSBjXyBwcm8gcPjta2F6eSBw+O1rYXpvdukg+OFka3kgKG5hcPguIGNfPERlbD4pXG5cdFD4aWRlanRlICcgcHJvIGpt6W5vIHZvbGJ5IChuYXD4LiAnc2hpZnR3aWR0aCcpIgpsZXQgZzptZW51dHJhbnNfcGF0aF9kaWFsb2cgPSAiWmFkZWp0ZSBjZXN0eSBwcm8gdnlobGVk4Xbhbu0gc291Ym9y+S4gSmVkbm90bGl26SBjZXN0eSBvZGTsbHRlIOjhcmtvdSIKbGV0IGc6bWVudXRyYW5zX3RhZ3NfZGlhbG9nID0gIlphZGVqdGUgam3pbmEgc291Ym9y+SBzIHRhZ3kuIEpt6W5hIG9kZOxsdGUg6OFya2FtaS4iCmxldCBnOm1lbnV0cmFuc190ZXh0d2lkdGhfZGlhbG9nID0gIlphZGVqdGUgZOlsa3Ug+OFka3UgKDAgcHJvIHpha+F64W7tIGZvcm3hdG924W7tKToiCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2RpYWxvZyA9ICJWeWJlcnRlIHR5cCBrb25jZSD44WRr+SIKIiB9fX0iIAoKbGV0ICZjcG8gPSBzOmtlZXBjcG8KdW5sZXQgczprZWVwY3BvCgoKCiIgdmltOnNldCBmb2xkbWV0aG9kPW1hcmtlciBleHBhbmR0YWIgdGFic3RvcD0zIHNoaWZ0d2lkdGg9MzoK