ZGlmZiAtLWdpdCBhL3NyYy9yZWdleHAuYyBiL3NyYy9yZWdleHAuYwppbmRleCBmZTIwYjNhLi44YTI2NDNkIDEwMDY0NAotLS0gYS9zcmMvcmVnZXhwLmMKKysrIGIvc3JjL3JlZ2V4cC5jCkBAIC03MzgsNjUgKzczOCw2OSBAQAogICAgIHsKIAlzd2l0Y2ggKGMpCiAJewotCSAgICBjYXNlICdBJzogY2FzZSAnwCc6IGNhc2UgJ8EnOiBjYXNlICfCJzoKLQkgICAgY2FzZSAnwyc6IGNhc2UgJ8QnOiBjYXNlICfFJzoKLQkJICAgICAgcmVnbWJjKCdBJyk7IHJlZ21iYygnwCcpOyByZWdtYmMoJ8EnKTsgcmVnbWJjKCfCJyk7Ci0JCSAgICAgIHJlZ21iYygnwycpOyByZWdtYmMoJ8QnKTsgcmVnbWJjKCfFJyk7CisJICAgIGNhc2UgJ0EnOiBjYXNlICdcMzAwJzogY2FzZSAnXDMwMSc6IGNhc2UgJ1wzMDInOgorCSAgICBjYXNlICdcMzAzJzogY2FzZSAnXDMwNCc6IGNhc2UgJ1wzMDUnOgorCQkgICAgICByZWdtYmMoJ0EnKTsgcmVnbWJjKCdcMzAwJyk7IHJlZ21iYygnXDMwMScpOworCQkgICAgICByZWdtYmMoJ1wzMDInKTsgcmVnbWJjKCdcMzAzJyk7IHJlZ21iYygnXDMwNCcpOworCQkgICAgICByZWdtYmMoJ1wzMDUnKTsKIAkJICAgICAgcmV0dXJuOwotCSAgICBjYXNlICdDJzogY2FzZSAnxyc6Ci0JCSAgICAgIHJlZ21iYygnQycpOyByZWdtYmMoJ8cnKTsKKwkgICAgY2FzZSAnQyc6IGNhc2UgJ1wzMDcnOgorCQkgICAgICByZWdtYmMoJ0MnKTsgcmVnbWJjKCdcMzA3Jyk7CiAJCSAgICAgIHJldHVybjsKLQkgICAgY2FzZSAnRSc6IGNhc2UgJ8gnOiBjYXNlICfJJzogY2FzZSAnyic6IGNhc2UgJ8snOgotCQkgICAgICByZWdtYmMoJ0UnKTsgcmVnbWJjKCfIJyk7IHJlZ21iYygnyScpOyByZWdtYmMoJ8onKTsKLQkJICAgICAgcmVnbWJjKCfLJyk7CisJICAgIGNhc2UgJ0UnOiBjYXNlICdcMzEwJzogY2FzZSAnXDMxMSc6IGNhc2UgJ1wzMTInOiBjYXNlICdcMzEzJzoKKwkJICAgICAgcmVnbWJjKCdFJyk7IHJlZ21iYygnXDMxMCcpOyByZWdtYmMoJ1wzMTEnKTsKKwkJICAgICAgcmVnbWJjKCdcMzEyJyk7IHJlZ21iYygnXDMxMycpOwogCQkgICAgICByZXR1cm47Ci0JICAgIGNhc2UgJ0knOiBjYXNlICfMJzogY2FzZSAnzSc6IGNhc2UgJ84nOiBjYXNlICfPJzoKLQkJICAgICAgcmVnbWJjKCdJJyk7IHJlZ21iYygnzCcpOyByZWdtYmMoJ80nKTsgcmVnbWJjKCfOJyk7Ci0JCSAgICAgIHJlZ21iYygnzycpOworCSAgICBjYXNlICdJJzogY2FzZSAnXDMxNCc6IGNhc2UgJ1wzMTUnOiBjYXNlICdcMzE2JzogY2FzZSAnXDMxNyc6CisJCSAgICAgIHJlZ21iYygnSScpOyByZWdtYmMoJ1wzMTQnKTsgcmVnbWJjKCdcMzE1Jyk7CisJCSAgICAgIHJlZ21iYygnXDMxNicpOyByZWdtYmMoJ1wzMTcnKTsKIAkJICAgICAgcmV0dXJuOwotCSAgICBjYXNlICdOJzogY2FzZSAn0Sc6Ci0JCSAgICAgIHJlZ21iYygnTicpOyByZWdtYmMoJ9EnKTsKKwkgICAgY2FzZSAnTic6IGNhc2UgJ1wzMjEnOgorCQkgICAgICByZWdtYmMoJ04nKTsgcmVnbWJjKCdcMzIxJyk7CiAJCSAgICAgIHJldHVybjsKLQkgICAgY2FzZSAnTyc6IGNhc2UgJ9InOiBjYXNlICfTJzogY2FzZSAn1Cc6IGNhc2UgJ9UnOiBjYXNlICfWJzoKLQkJICAgICAgcmVnbWJjKCdPJyk7IHJlZ21iYygn0icpOyByZWdtYmMoJ9MnKTsgcmVnbWJjKCfUJyk7Ci0JCSAgICAgIHJlZ21iYygn1ScpOyByZWdtYmMoJ9YnKTsKKwkgICAgY2FzZSAnTyc6IGNhc2UgJ1wzMjInOiBjYXNlICdcMzIzJzogY2FzZSAnXDMyNCc6IGNhc2UgJ1wzMjUnOgorCSAgICBjYXNlICdcMzI2JzoKKwkJICAgICAgcmVnbWJjKCdPJyk7IHJlZ21iYygnXDMyMicpOyByZWdtYmMoJ1wzMjMnKTsKKwkJICAgICAgcmVnbWJjKCdcMzI0Jyk7IHJlZ21iYygnXDMyNScpOyByZWdtYmMoJ1wzMjYnKTsKIAkJICAgICAgcmV0dXJuOwotCSAgICBjYXNlICdVJzogY2FzZSAn2Sc6IGNhc2UgJ9onOiBjYXNlICfbJzogY2FzZSAn3Cc6Ci0JCSAgICAgIHJlZ21iYygnVScpOyByZWdtYmMoJ9knKTsgcmVnbWJjKCfaJyk7IHJlZ21iYygn2ycpOwotCQkgICAgICByZWdtYmMoJ9wnKTsKKwkgICAgY2FzZSAnVSc6IGNhc2UgJ1wzMzEnOiBjYXNlICdcMzMyJzogY2FzZSAnXDMzMyc6IGNhc2UgJ1wzMzQnOgorCQkgICAgICByZWdtYmMoJ1UnKTsgcmVnbWJjKCdcMzMxJyk7IHJlZ21iYygnXDMzMicpOworCQkgICAgICByZWdtYmMoJ1wzMzMnKTsgcmVnbWJjKCdcMzM0Jyk7CiAJCSAgICAgIHJldHVybjsKLQkgICAgY2FzZSAnWSc6IGNhc2UgJ90nOgotCQkgICAgICByZWdtYmMoJ1knKTsgcmVnbWJjKCfdJyk7CisJICAgIGNhc2UgJ1knOiBjYXNlICdcMzM1JzoKKwkJICAgICAgcmVnbWJjKCdZJyk7IHJlZ21iYygnXDMzNScpOwogCQkgICAgICByZXR1cm47Ci0JICAgIGNhc2UgJ2EnOiBjYXNlICfgJzogY2FzZSAn4Sc6IGNhc2UgJ+InOgotCSAgICBjYXNlICfjJzogY2FzZSAn5Cc6IGNhc2UgJ+UnOgotCQkgICAgICByZWdtYmMoJ2EnKTsgcmVnbWJjKCfgJyk7IHJlZ21iYygn4ScpOyByZWdtYmMoJ+InKTsKLQkJICAgICAgcmVnbWJjKCfjJyk7IHJlZ21iYygn5CcpOyByZWdtYmMoJ+UnKTsKKwkgICAgY2FzZSAnYSc6IGNhc2UgJ1wzNDAnOiBjYXNlICdcMzQxJzogY2FzZSAnXDM0Mic6CisJICAgIGNhc2UgJ1wzNDMnOiBjYXNlICdcMzQ0JzogY2FzZSAnXDM0NSc6CisJCSAgICAgIHJlZ21iYygnYScpOyByZWdtYmMoJ1wzNDAnKTsgcmVnbWJjKCdcMzQxJyk7CisJCSAgICAgIHJlZ21iYygnXDM0MicpOyByZWdtYmMoJ1wzNDMnKTsgcmVnbWJjKCdcMzQ0Jyk7CisJCSAgICAgIHJlZ21iYygnXDM0NScpOwogCQkgICAgICByZXR1cm47Ci0JICAgIGNhc2UgJ2MnOiBjYXNlICfnJzoKLQkJICAgICAgcmVnbWJjKCdjJyk7IHJlZ21iYygn5ycpOworCSAgICBjYXNlICdjJzogY2FzZSAnXDM0Nyc6CisJCSAgICAgIHJlZ21iYygnYycpOyByZWdtYmMoJ1wzNDcnKTsKIAkJICAgICAgcmV0dXJuOwotCSAgICBjYXNlICdlJzogY2FzZSAn6Cc6IGNhc2UgJ+knOiBjYXNlICfqJzogY2FzZSAn6yc6Ci0JCSAgICAgIHJlZ21iYygnZScpOyByZWdtYmMoJ+gnKTsgcmVnbWJjKCfpJyk7IHJlZ21iYygn6icpOwotCQkgICAgICByZWdtYmMoJ+snKTsKKwkgICAgY2FzZSAnZSc6IGNhc2UgJ1wzNTAnOiBjYXNlICdcMzUxJzogY2FzZSAnXDM1Mic6IGNhc2UgJ1wzNTMnOgorCQkgICAgICByZWdtYmMoJ2UnKTsgcmVnbWJjKCdcMzUwJyk7IHJlZ21iYygnXDM1MScpOworCQkgICAgICByZWdtYmMoJ1wzNTInKTsgcmVnbWJjKCdcMzUzJyk7CiAJCSAgICAgIHJldHVybjsKLQkgICAgY2FzZSAnaSc6IGNhc2UgJ+wnOiBjYXNlICftJzogY2FzZSAn7ic6IGNhc2UgJ+8nOgotCQkgICAgICByZWdtYmMoJ2knKTsgcmVnbWJjKCfsJyk7IHJlZ21iYygn7ScpOyByZWdtYmMoJ+4nKTsKLQkJICAgICAgcmVnbWJjKCfvJyk7CisJICAgIGNhc2UgJ2knOiBjYXNlICdcMzU0JzogY2FzZSAnXDM1NSc6IGNhc2UgJ1wzNTYnOiBjYXNlICdcMzU3JzoKKwkJICAgICAgcmVnbWJjKCdpJyk7IHJlZ21iYygnXDM1NCcpOyByZWdtYmMoJ1wzNTUnKTsKKwkJICAgICAgcmVnbWJjKCdcMzU2Jyk7IHJlZ21iYygnXDM1NycpOwogCQkgICAgICByZXR1cm47Ci0JICAgIGNhc2UgJ24nOiBjYXNlICfxJzoKLQkJICAgICAgcmVnbWJjKCduJyk7IHJlZ21iYygn8ScpOworCSAgICBjYXNlICduJzogY2FzZSAnXDM2MSc6CisJCSAgICAgIHJlZ21iYygnbicpOyByZWdtYmMoJ1wzNjEnKTsKIAkJICAgICAgcmV0dXJuOwotCSAgICBjYXNlICdvJzogY2FzZSAn8ic6IGNhc2UgJ/MnOiBjYXNlICf0JzogY2FzZSAn9Sc6IGNhc2UgJ/YnOgotCQkgICAgICByZWdtYmMoJ28nKTsgcmVnbWJjKCfyJyk7IHJlZ21iYygn8ycpOyByZWdtYmMoJ/QnKTsKLQkJICAgICAgcmVnbWJjKCf1Jyk7IHJlZ21iYygn9icpOworCSAgICBjYXNlICdvJzogY2FzZSAnXDM2Mic6IGNhc2UgJ1wzNjMnOiBjYXNlICdcMzY0JzogY2FzZSAnXDM2NSc6CisJICAgIGNhc2UgJ1wzNjYnOgorCQkgICAgICByZWdtYmMoJ28nKTsgcmVnbWJjKCdcMzYyJyk7IHJlZ21iYygnXDM2MycpOworCQkgICAgICByZWdtYmMoJ1wzNjQnKTsgcmVnbWJjKCdcMzY1Jyk7IHJlZ21iYygnXDM2NicpOwogCQkgICAgICByZXR1cm47Ci0JICAgIGNhc2UgJ3UnOiBjYXNlICf5JzogY2FzZSAn+ic6IGNhc2UgJ/snOiBjYXNlICf8JzoKLQkJICAgICAgcmVnbWJjKCd1Jyk7IHJlZ21iYygn+ScpOyByZWdtYmMoJ/onKTsgcmVnbWJjKCf7Jyk7Ci0JCSAgICAgIHJlZ21iYygn/CcpOworCSAgICBjYXNlICd1JzogY2FzZSAnXDM3MSc6IGNhc2UgJ1wzNzInOiBjYXNlICdcMzczJzogY2FzZSAnXDM3NCc6CisJCSAgICAgIHJlZ21iYygndScpOyByZWdtYmMoJ1wzNzEnKTsgcmVnbWJjKCdcMzcyJyk7CisJCSAgICAgIHJlZ21iYygnXDM3MycpOyByZWdtYmMoJ1wzNzQnKTsKIAkJICAgICAgcmV0dXJuOwotCSAgICBjYXNlICd5JzogY2FzZSAn/Sc6IGNhc2UgJ/8nOgotCQkgICAgICByZWdtYmMoJ3knKTsgcmVnbWJjKCf9Jyk7IHJlZ21iYygn/ycpOworCSAgICBjYXNlICd5JzogY2FzZSAnXDM3NSc6IGNhc2UgJ1wzNzcnOgorCQkgICAgICByZWdtYmMoJ3knKTsgcmVnbWJjKCdcMzc1Jyk7IHJlZ21iYygnXDM3NycpOwogCQkgICAgICByZXR1cm47CiAJfQogICAgIH0K