eval "$(echo IyEvYmluL2Jhc2gKCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgV2Fsa3N5cyBIb3N0aW5nIE1hbmFnZXIgLSBSRUZBQ1RPUkVEIE1BSU4gTUVOVQojID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKIyBDb2xvcnMgZm9yIG91dHB1dCAtIEJMVUUvQ1lCRVIgVEhFTUUKUkVEPSdcZVswOzM0bScKR1JFRU49J1wwMzNbMDszMm0nCllFTExPVz0nXDAzM1sxOzMzbScKQkxVRT0nXDAzM1swOzM0bScKQ1lBTj0nXDAzM1swOzM0bScKTUFHRU5UQT0nXDAzM1swOzM1bScKV0hJVEU9J1wwMzNbMTszN20nCkJPTEQ9J1wwMzNbMW0nCk5DPSdcMDMzWzBtJyAjIE5vIENvbG9yCgojIC0tLSBMb2FkaW5nIEFuaW1hdGlvbiAtLS0KbG9hZGluZ19iYXIoKSB7CiAgICBjbGVhcgogICAgZWNobyAtZSAiJHtSRUR9SW5pdGlhbGl6aW5nIFdhbGtzeXMgSG9zdGluZyBNYW5hZ2VyLi4uJHtOQ30iCiAgICBlY2hvIC1uZSAiJHtSRUR9WyR7TkN9IgogICAgZm9yIGkgaW4gezEuLjQwfTsgZG8KICAgICAgICBlY2hvIC1uZSAiJHtXSElURX3ilogke05DfSIKICAgICAgICBzbGVlcCAwLjAzCiAgICBkb25lCiAgICBlY2hvIC1lICIke1JFRH1dJHtOQ30iCiAgICBzbGVlcCAwLjUKICAgIGVjaG8gLWUgIiR7V0hJVEV9TG9hZGVkIFN1Y2Nlc3NmdWxseSEke05DfSIKICAgIHNsZWVwIDEKfQoKIyBGdW5jdGlvbiB0byBwcmludCBzZWN0aW9uIGhlYWRlcnMKcHJpbnRfaGVhZGVyX3J1bGUoKSB7CiAgICBlY2hvIC1lICIke0JMVUV94pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBJHtOQ30iCn0KCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgUFJFU0VSVkVEIE1PRFVMRTogQmlnIEFTQ0lJIGhlYWRlciAoVW5tb2RpZmllZCkKIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KYmlnX2hlYWRlcigpIHsKICAgIGxvY2FsIHRpdGxlPSIkMSIKICAgIGVjaG8gLWUgIiR7UkVEfSIKICAgIGNhc2UgIiR0aXRsZSIgaW4KICAgICAgICAiTUFJTiBNRU5VIikKY2F0IDw8J0VPRicKICBfXyAgX18gICAgICAgICAgICAgICAgICAgIF9fX19fICAgICAgICAgICAgIAogfCAgXC8gIHwgICAgICAgICAgICAgICAgICB8ICBfXyBcICAgICAgICAgICAgCiB8IFwgIC8gfCBfX18gXyBfXyAgXyAgIF8gIHwgfCAgfCB8IF9fX19fICAgX18KIHwgfFwvfCB8LyBfIFwgJ18gXHwgfCB8IHwgfCB8ICB8IHwvIF8gXCBcIC8gLwogfCB8ICB8IHwgIF9fLyB8IHwgfCB8X3wgfCB8IHxfX3wgfCAgX18vXCBWIC8gCiB8X3wgIHxffFxfX198X3wgfF98XF9fLF98IHxfX19fXy8gXF9fX3wgXF8vIApFT0YKICAgICAgICAgICAgOzsKICAgICAgICAiU1lTVEVNIElORk9STUFUSU9OIikKY2F0IDw8J0VPRicKICBfXyAgICAgICAgICBfXyAgIF8gXyAgICAgICAgICAgICAgICAgIAogIFwgXCAgICAgICAgLyAvICB8IHwgfCAgICAgICAgICAgICAgICAgCiAgIFwgXCAgL1wgIC8gL18gX3wgfCB8IF9fX19fIF8gICBfIF9fXyAKICAgIFwgXC8gIFwvIC8gX2AgfCB8IHwvIC8gX198IHwgfCAvIF9ffAogICAgIFwgIC9cICAvIChffCB8IHwgICA8XF9fIFwgfF98IFxfXyBcCiAgICAgIFwvICBcLyBcX18sX3xffF98XF9cX19fL1xfXywgfF9fXy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fLyB8ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8X19fLyAgICAgCkVPRgogICAgICAgICAgICA7OwogICAgICAgICJXRUxDT01FIikKY2F0IDw8J0VPRicKICBfXyAgICAgICAgICBfXyAgIF8gXyAgICAgICAgICAgICAgICAgIAogIFwgXCAgICAgICAgLyAvICB8IHwgfCAgICAgICAgICAgICAgICAgCiAgIFwgXCAgL1wgIC8gL18gX3wgfCB8IF9fX19fIF8gICBfIF9fXyAKICAgIFwgXC8gIFwvIC8gX2AgfCB8IHwvIC8gX198IHwgfCAvIF9ffAogICAgIFwgIC9cICAvIChffCB8IHwgICA8XF9fIFwgfF98IFxfXyBcCiAgICAgIFwvICBcLyBcX18sX3xffF98XF9cX19fL1xfXywgfF9fXy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fLyB8ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8X19fLyAgICAgCkVPRgogICAgICAgICAgICA7OwogICAgICAgICJEQVRBQkFTRSBTRVRVUCIpCmNhdCA8PCdFT0YnCiAgX19fXyAgICAgICAgXyAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgCiB8ICBfIFwgIF9fIF98IHxfIF9fIF98IHxfXyAgIF9fIF98IHxfIF9fXyAgX19fICBfX18gCiB8IHwgfCB8LyBfYCB8IF9fLyBfYCB8ICdfIFwgLyBfYCB8IF9fLyBfIFwvIF9ffC8gXyBcCiB8IHxffCB8IChffCB8IHx8IChffCB8IHxfKSB8IChffCB8IHx8ICBfXy9cX18gXCAgX18vCiB8X19fXy8gXF9fLF98XF9fXF9fLF98Xy5fXy8gXF9fLF98XF9fXF9fX3x8X19fL1xfX198CkVPRgogICAgICAgICAgICA7OwogICAgICAgICJCTFVFUFJJTlQrVEhFTUUrRVhURU5TSU9OUyIpCmNhdCA8PCdFT0YnCiAgX18gICAgICAgICAgX18gICBfIF8gICAgICAgICAgICAgICAgICAKICBcIFwgICAgICAgIC8gLyAgfCB8IHwgICAgICAgICAgICAgICAgIAogICBcIFwgIC9cICAvIC9fIF98IHwgfCBfX19fXyBfICAgXyBfX18gCiAgICBcIFwvICBcLyAvIF9gIHwgfCB8LyAvIF9ffCB8IHwgLyBfX3wKICAgICBcICAvXCAgLyAoX3wgfCB8ICAgPFxfXyBcIHxffCBcX18gXAogICAgICBcLyAgXC8gXF9fLF98X3xffFxfXF9fXy9cX18sIHxfX18vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfXy8gfCAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfF9fXy8gICAgIApFT0YKICAgICAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBlY2hvIC1lICIke0JPTER9JHt0aXRsZX0ke05DfSIKICAgICAgICAgICAgOzsKICAgIGVzYWMKICAgIGVjaG8gLWUgIiR7TkN9Igp9CgojIEZ1bmN0aW9uIHRvIHByaW50IHN0YXR1cyBtZXNzYWdlcwpwcmludF9zdGF0dXMoKSB7IGVjaG8gLWUgIiR7WUVMTE9XfeKPsyAkMS4uLiR7TkN9IjsgfQpwcmludF9zdWNjZXNzKCkgeyBlY2hvIC1lICIke0dSRUVOfeKchSAkMSR7TkN9IjsgfQpwcmludF9lcnJvcigpIHsgZWNobyAtZSAiJHtSRUR94p2MICQxJHtOQ30iOyB9CnByaW50X3dhcm5pbmcoKSB7IGVjaG8gLWUgIiR7TUFHRU5UQX3imqDvuI8gICQxJHtOQ30iOyB9CgojIENoZWNrIGlmIGN1cmwgaXMgaW5zdGFsbGVkCmNoZWNrX2N1cmwoKSB7CiAgICBpZiAhIGNvbW1hbmQgLXYgY3VybCAmPi9kZXYvbnVsbDsgdGhlbgogICAgICAgIHByaW50X2Vycm9yICJjdXJsIGlzIG5vdCBpbnN0YWxsZWQiCiAgICAgICAgcHJpbnRfc3RhdHVzICJJbnN0YWxsaW5nIGN1cmwuLi4iCiAgICAgICAgaWYgY29tbWFuZCAtdiBhcHQtZ2V0ICY+L2Rldi9udWxsOyB0aGVuCiAgICAgICAgICAgIHN1ZG8gYXB0LWdldCB1cGRhdGUgJiYgc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXkgY3VybAogICAgICAgIGVsaWYgY29tbWFuZCAtdiB5dW0gJj4vZGV2L251bGw7IHRoZW4KICAgICAgICAgICAgc3VkbyB5dW0gaW5zdGFsbCAteSBjdXJsCiAgICAgICAgZWxpZiBjb21tYW5kIC12IGRuZiAmPi9kZXYvbnVsbDsgdGhlbgogICAgICAgICAgICBzdWRvIGRuZiBpbnN0YWxsIC15IGN1cmwKICAgICAgICBlbHNlCiAgICAgICAgICAgIHByaW50X2Vycm9yICJDb3VsZCBub3QgaW5zdGFsbCBjdXJsIGF1dG9tYXRpY2FsbHkuIFBsZWFzZSBpbnN0YWxsIGl0IG1hbnVhbGx5IgogICAgICAgICAgICBleGl0IDEKICAgICAgICBmaQogICAgICAgIHByaW50X3N1Y2Nlc3MgImN1cmwgaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseSIKICAgIGZpCn0KCiMgRnVuY3Rpb24gdG8gcnVuIHJlbW90ZSBzY3JpcHRzCnJ1bl9yZW1vdGVfc2NyaXB0KCkgewogICAgbG9jYWwgdXJsPSQxCiAgICBsb2NhbCBzY3JpcHRfbmFtZQogICAgc2NyaXB0X25hbWU9JChiYXNlbmFtZSAiJHVybCIgLnNoKQogICAgc2NyaXB0X25hbWU9JChlY2hvICIkc2NyaXB0X25hbWUiIHwgc2VkICdzLy4qL1x1Ji8nKQoKICAgIHByaW50X2hlYWRlcl9ydWxlCiAgICBiaWdfaGVhZGVyICJXRUxDT01FIgogICAgcHJpbnRfaGVhZGVyX3J1bGUKICAgIGVjaG8gLWUgIiR7Q1lBTn1SdW5uaW5nOiAke0JPTER9JHtzY3JpcHRfbmFtZX0ke05DfSIKICAgIHByaW50X2hlYWRlcl9ydWxlCgogICAgY2hlY2tfY3VybAogICAgbG9jYWwgdGVtcF9zY3JpcHQKICAgIHRlbXBfc2NyaXB0PSQobWt0ZW1wKQogICAgcHJpbnRfc3RhdHVzICJEb3dubG9hZGluZyBzY3JpcHQiCgogICAgaWYgY3VybCAtZnNTTCAiJHVybCIgLW8gIiR0ZW1wX3NjcmlwdCI7IHRoZW4KICAgICAgICBwcmludF9zdWNjZXNzICJEb3dubG9hZCBzdWNjZXNzZnVsIgogICAgICAgIGNobW9kICt4ICIkdGVtcF9zY3JpcHQiCiAgICAgICAgYmFzaCAiJHRlbXBfc2NyaXB0IgogICAgICAgIGxvY2FsIGV4aXRfY29kZT0kPwogICAgICAgIHJtIC1mICIkdGVtcF9zY3JpcHQiCiAgICAgICAgaWYgWyAkZXhpdF9jb2RlIC1lcSAwIF07IHRoZW4KICAgICAgICAgICAgcHJpbnRfc3VjY2VzcyAiU2NyaXB0IGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSIKICAgICAgICBlbHNlCiAgICAgICAgICAgIHByaW50X2Vycm9yICJTY3JpcHQgZXhlY3V0aW9uIGZhaWxlZCB3aXRoIGV4aXQgY29kZTogJGV4aXRfY29kZSIKICAgICAgICBmaQogICAgZWxzZQogICAgICAgIHByaW50X2Vycm9yICJGYWlsZWQgdG8gZG93bmxvYWQgc2NyaXB0IgogICAgZmkKCiAgICBlY2hvIC1lICIiCiAgICByZWFkIC1wICIkKGVjaG8gLWUgIiR7WUVMTE9XfVByZXNzIEVudGVyIHRvIGNvbnRpbnVlLi4uJHtOQ30iKSIgLW4gMQp9CgojID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojIEVYRUNVVEUgTE9BRElORyBCQVIgQkVGT1JFIE1BSU4gTUVOVQojID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpsb2FkaW5nX2JhcgoKIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBNQUlOIE1FTlUgTE9PUAojID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQp3aGlsZSB0cnVlOyBkbwogICAgY2xlYXIKICAgIHByaW50X2hlYWRlcl9ydWxlCiAgICBlY2hvIC1lICIke0JMVUV9JHtCT0xEfSAgICAgICAgICDwn5qAIFdhbGtzeXMgSG9zdGluZyBNYW5hZ2VyICAgICAgICAgICAgJHtOQ30iCiAgICBlY2hvIC1lICIke0JMVUV9JHtCT0xEfSAgICAgICAgICAgICAgIFBvd2VyZWQgQnkgV2Fsa3N5cyAgICAgICAgICAke05DfSIKICAgIHByaW50X2hlYWRlcl9ydWxlCgogICAgYmlnX2hlYWRlciAiTUFJTiBNRU5VIgogICAgcHJpbnRfaGVhZGVyX3J1bGUKICAgIGVjaG8gLWUgIiIKCiAgICAjIE1haW4gTWVudSBPcHRpb25zCiAgICBlY2hvIC1lICIke1dISVRFfSR7Qk9MRH0gWzFdJHtOQ30gJHtDWUFOfSR7Qk9MRH1EZXBsb3kgVlBTJHtOQ30iCiAgICBlY2hvIC1lICIke1dISVRFfSR7Qk9MRH0gWzJdJHtOQ30gJHtDWUFOfSR7Qk9MRH1QYW5lbCBJbnN0YWxsYXRpb24ke05DfSIKICAgIGVjaG8gLWUgIiR7V0hJVEV9JHtCT0xEfSBbM10ke05DfSAke0NZQU59JHtCT0xEfVdpbmdzIEluc3RhbGxhdGlvbiR7TkN9IgogICAgZWNobyAtZSAiJHtXSElURX0ke0JPTER9IFs0XSR7TkN9ICR7Q1lBTn0ke0JPTER9RGF0YWJhc2UgU2V0dXAke05DfSIKICAgIGVjaG8gLWUgIiR7V0hJVEV9JHtCT0xEfSBbNV0ke05DfSAke0NZQU59JHtCT0xEfUJsdWVwcmludCBTZXR1cCR7TkN9IgogICAgZWNobyAtZSAiJHtXSElURX0ke0JPTER9IFs2XSR7TkN9ICR7Q1lBTn0ke0JPTER9RGV2ZWxvcGVyIEVudmlyb25tZW50JHtOQ30iCiAgICBlY2hvIC1lICIke1dISVRFfSR7Qk9MRH0gWzddJHtOQ30gJHtDWUFOfSR7Qk9MRH1Ub29scyBNZW51JHtOQ30iCiAgICBlY2hvIC1lICIke1dISVRFfSR7Qk9MRH0gWzhdJHtOQ30gJHtDWUFOfSR7Qk9MRH1OZXR3b3JrICYgVHVubmVscyBNZW51JHtOQ30iCiAgICBlY2hvIC1lICIke1dISVRFfSR7Qk9MRH0gWzBdJHtOQ30gJHtDWUFOfSR7Qk9MRH1FeGl0JHtOQ30iCgogICAgZWNobyAtZSAiIgogICAgcHJpbnRfaGVhZGVyX3J1bGUKCiAgICBlY2hvIC1lICIiCiAgICBlY2hvIC1uZSAiJHtXSElURX0ke0JPTER98J+TnSBbMC04XSBTZWxlY3QgT3B0aW9uIOKenCAke05DfSIKICAgIHJlYWQgLXIgY2hvaWNlCgogICAgY2FzZSAkY2hvaWNlIGluCiAgICAgICAgMSkKICAgICAgICAgICAgcnVuX3JlbW90ZV9zY3JpcHQgImh0dHBzOi8vZGV2LndhbGtzeXMucXp6LmlvL1ZQUyIKICAgICAgICAgICAgOzsKICAgICAgICAyKQogICAgICAgICAgICBydW5fcmVtb3RlX3NjcmlwdCAiaHR0cHM6Ly9kZXYud2Fsa3N5cy5xenouaW8vUGFuZWwtaW5zdGFsbGF0aW9uLnNoIgogICAgICAgICAgICA7OwogICAgICAgIDMpCiAgICAgICAgICAgIHJ1bl9yZW1vdGVfc2NyaXB0ICJodHRwczovL2Rldi53YWxrc3lzLnF6ei5pby8vV2luZ3MtaW5zdGFsbGF0aW9uLnNoIgogICAgICAgICAgICA7OwogICAgICAgIDQpCiAgICAgICAgICAgIHByaW50X2hlYWRlcl9ydWxlCiAgICAgICAgICAgIGJpZ19oZWFkZXIgIkRBVEFCQVNFIFNFVFVQIgogICAgICAgICAgICBwcmludF9oZWFkZXJfcnVsZQogICAgICAgICAgICBlY2hvIC1lICIke0NZQU59UnVubmluZzogJHtCT0xEfU15U1FMIC8gTWFyaWFEQiBEYXRhYmFzZSBTZXR1cCR7TkN9IgogICAgICAgICAgICBwcmludF9oZWFkZXJfcnVsZQoKICAgICAgICAgICAgcmVhZCAtcCAiRW50ZXIgbmV3IGRhdGFiYXNlIHVzZXJuYW1lOiAiIERCX1VTRVIKICAgICAgICAgICAgcmVhZCAtc3AgIkVudGVyIHBhc3N3b3JkIGZvciAkREJfVVNFUjogIiBEQl9QQVNTCiAgICAgICAgICAgIGVjaG8gIiIKICAgICAgICAgICAgZWNobyAtZSAiJHtZRUxMT1d9Q3JlYXRpbmcgZGF0YWJhc2UgdXNlciAnJERCX1VTRVInLi4uJHtOQ30iCgogICAgICAgICAgICBteXNxbCAtdSByb290IC1wIDw8TVlTUUxfU0NSSVBUCkNSRUFURSBVU0VSICcke0RCX1VTRVJ9J0AnJScgSURFTlRJRklFRCBCWSAnJHtEQl9QQVNTfSc7CkdSQU5UIEFMTCBQUklWSUxFR0VTIE9OICouKiBUTyAnJHtEQl9VU0VSfSdAJyUnIFdJVEggR1JBTlQgT1BUSU9OOwpGTFVTSCBQUklWSUxFR0VTOwpNWVNRTF9TQ1JJUFQKCiAgICAgICAgICAgIENPTkZfRklMRT0iL2V0Yy9teXNxbC9tYXJpYWRiLmNvbmYuZC81MC1zZXJ2ZXIuY25mIgogICAgICAgICAgICBpZiBbIC1mICIkQ09ORl9GSUxFIiBdOyB0aGVuCiAgICAgICAgICAgICAgICBlY2hvIC1lICIke1lFTExPV31VcGRhdGluZyBiaW5kLWFkZHJlc3MgaW4gJENPTkZfRklMRS4uLiR7TkN9IgogICAgICAgICAgICAgICAgc2VkIC1pICdzL15iaW5kLWFkZHJlc3MuKi9iaW5kLWFkZHJlc3MgPSAwLjAuMC4wLycgIiRDT05GX0ZJTEUiCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVjaG8gLWUgIiR7TUFHRU5UQX3imqDvuI8gIENvbmZpZyBmaWxlIG5vdCBmb3VuZDogJENPTkZfRklMRSR7TkN9IgogICAgICAgICAgICBmaQoKICAgICAgICAgICAgZWNobyAtZSAiJHtZRUxMT1d9UmVzdGFydGluZyBNeVNRTCBhbmQgTWFyaWFEQiBzZXJ2aWNlcy4uLiR7TkN9IgogICAgICAgICAgICBzeXN0ZW1jdGwgcmVzdGFydCBteXNxbCAyPi9kZXYvbnVsbAogICAgICAgICAgICBzeXN0ZW1jdGwgcmVzdGFydCBtYXJpYWRiIDI+L2Rldi9udWxsCgogICAgICAgICAgICBpZiBjb21tYW5kIC12IHVmdyAmPi9kZXYvbnVsbDsgdGhlbgogICAgICAgICAgICAgICAgdWZ3IGFsbG93IDMzMDYvdGNwID4vZGV2L251bGwgMj4mMSAmJiBlY2hvIC1lICIke0dSRUVOfU9wZW5lZCBwb3J0IDMzMDYgZm9yIHJlbW90ZSBjb25uZWN0aW9ucyR7TkN9IgogICAgICAgICAgICBmaQoKICAgICAgICAgICAgZWNobyAtZSAiJHtHUkVFTn3inIUgRGF0YWJhc2UgdXNlciAnJERCX1VTRVInIGNyZWF0ZWQgYW5kIHJlbW90ZSBhY2Nlc3MgZW5hYmxlZCEke05DfSIKCiAgICAgICAgICAgIGVjaG8gLWUgIiIKICAgICAgICAgICAgcmVhZCAtcCAiJChlY2hvIC1lICIke1lFTExPV31QcmVzcyBFbnRlciB0byBjb250aW51ZS4uLiR7TkN9IikiIC1uIDEKICAgICAgICAgICAgOzsKICAgICAgICA1KQogICAgICAgICAgICBydW5fcmVtb3RlX3NjcmlwdCAiaHR0cHM6Ly9kZXYud2Fsa3N5cy5xenouaW8vUHRlcm8tU2NyaXB0L0JsdWVwcmludDIuc2giCiAgICAgICAgICAgIDs7CiAgICAgICAgNikKICAgICAgICAgICAgcnVuX3JlbW90ZV9zY3JpcHQgImh0dHBzOi8vZGV2LndhbGtzeXMucXp6LmlvL0RldmVsb3Blci1FbnZpcm9ubWVudC1JbnN0YWxsZXIuc2giCiAgICAgICAgICAgIDs7CiAgICAgICAgNykKICAgICAgICAgICAgYmFzaCA8KGN1cmwgLXMgaHR0cHM6Ly9kZXYud2Fsa3N5cy5xenouaW8vVG9vbHMtTWVudS5zaCkKICAgICAgICAgICAgOzsKICAgICAgICA4KQogICAgICAgICAgICBiYXNoIDwoY3VybCAtcyBodHRwczovL2Rldi53YWxrc3lzLnF6ei5pby9OZXR3b3JrLVR1bm5lbHMtTWVudS5zaCkKICAgICAgICAgICAgOzsKICAgICAgICAwKQogICAgICAgICAgICBlY2hvIC1lICIke0dSRUVOfUV4aXRpbmcgV2Fsa3N5cyBIb3N0aW5nIE1hbmFnZXIuLi4ke05DfSIKICAgICAgICAgICAgcHJpbnRfaGVhZGVyX3J1bGUKICAgICAgICAgICAgZWNobyAtZSAiJHtCTFVFfSAgICAgICAgICAgVGhhbmsgeW91IGZvciB1c2luZyBvdXIgdG9vbHMhICAgICAgICR7TkN9IgogICAgICAgICAgICBwcmludF9oZWFkZXJfcnVsZQogICAgICAgICAgICBzbGVlcCAxCiAgICAgICAgICAgIGV4aXQgMAogICAgICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIHByaW50X2Vycm9yICJJbnZhbGlkIG9wdGlvbiEgUGxlYXNlIGNob29zZSBiZXR3ZWVuIDAtOCIKICAgICAgICAgICAgc2xlZXAgMS4yCiAgICAgICAgICAgIDs7CiAgICBlc2FjCmRvbmU= | base64 -d)"
