gASVte0AAAAAAACMDmRvY3V0aWxzLm5vZGVzlIwIZG9jdW1lbnSUk5QpgZR9lCiMCXJhd3NvdXJjZZSMAJSMCGNoaWxkcmVulF2UKGgAjAZ0YXJnZXSUk5QpgZR9lChoBWgGaAddlIwKYXR0cmlidXRlc5R9lCiMA2lkc5RdlIwlbW9kdWxlLWV0aGVyZXVtLmJlcmxpbi52bS5pbnRlcnByZXRlcpRhjAdjbGFzc2VzlF2UjAVuYW1lc5RdlIwIZHVwbmFtZXOUXZSMCGJhY2tyZWZzlF2UjAVpc21vZJSIdYwHdGFnbmFtZZRoCYwGc291cmNllIxmL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9iZXJsaW4vdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0lIwEbGluZZRLAYwGcGFyZW50lGgDjAlfZG9jdW1lbnSUaAN1YowPc3BoaW54LmFkZG5vZGVzlIwFaW5kZXiUk5QpgZR9lChoBWgGaAddlGgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMB2VudHJpZXOUXZQojARwYWlylIwmbW9kdWxlOyBldGhlcmV1bS5iZXJsaW4udm0uaW50ZXJwcmV0ZXKUaBJoBk50lGF1aBxoI2gdaB5oH0sCaCBoA2ghaAN1YmgAjAdzZWN0aW9ulJOUKYGUfZQoaAVoBmgHXZQoaACMBXRpdGxllJOUKYGUfZQoaAWMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpRoB12UaACMBFRleHSUk5SMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpSFlIGUfZQoaAVoBmggaDpoIWgDaB2MXC9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS8gPT4gZG9jL2RpZmZzlGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LBGggaDVoIWgDdWJoAIwFdG9waWOUk5QpgZR9lChoBWgGaAddlCho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ZUNhbGxPdXRwdXQgPGV0aGVyZXVtLmJlcmxpbi52bS5pbnRlcnByZXRlci5NZXNzYWdlQ2FsbE91dHB1dD5gXJRoB12UKGhuKYGUfZQoaAVoBmgHXZRoAIwHbGl0ZXJhbJSTlCmBlH2UKGgFjEs6b2JqOmBNZXNzYWdlQ2FsbE91dHB1dCA8ZXRoZXJldW0uYmVybGluLnZtLmludGVycHJldGVyLk1lc3NhZ2VDYWxsT3V0cHV0PmCUaAddlGg/jBFNZXNzYWdlQ2FsbE91dHB1dJSFlIGUfZQoaAVoBmggaucCAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKIwEeHJlZpSMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxq5QIAAGgdTmgfTmggauICAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMMGV0aGVyZXVtLmJlcmxpbi52bS5pbnRlcnByZXRlci5NZXNzYWdlQ2FsbE91dHB1dJSMCHJlZnRpdGxllIwwZXRoZXJldW0uYmVybGluLnZtLmludGVycHJldGVyLk1lc3NhZ2VDYWxsT3V0cHV0lHVoHGhtaB1OaB9OaCBq3gIAAHViaD9oBoWUgZR9lChoBWgGaCBq3gIAAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHcvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2Jlcmxpbi92bS9pbnRlcnByZXRlci9pbmRleC5yc3Q6Mjk6PGF1dG9zdW1tYXJ5PpRoH0sBaCBq2wIAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxq2QIAAGgdTmgfTmggatYCAAB1YmraAgAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjCNPdXRwdXQgb2YgYSBwYXJ0aWN1bGFyIG1lc3NhZ2UgY2FsbJRoB12UaD+MI091dHB1dCBvZiBhIHBhcnRpY3VsYXIgbWVzc2FnZSBjYWxslIWUgZR9lChoBWgGaCBqFgMAAGghaANoHWhEaB9LAHViYWgOfZQoaBBd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c19jcmVhdGVfbWVzc2FnZSA8ZXRoZXJldW0uYmVybGluLnZtLmludGVycHJldGVyLnByb2Nlc3NfY3JlYXRlX21lc3NhZ2U+YJRoB12UaG4pgZR9lChoBWgGaAddlGrmAgAAKYGUfZQoaAVq/QMAAGgHXZRoP4wWcHJvY2Vzc19jcmVhdGVfbWVzc2FnZZSFlIGUfZQoaAVoBmggagIEAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKGryAgAAjAJweZSMBnB5LW9iapRlaBVdlGgXXZRoGV2UdWgcauUCAABoHU5oH05oIGr/AwAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIaW50ZXJuYWyUiIwFcmVmaWSUjDVldGhlcmV1bS5iZXJsaW4udm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19jcmVhdGVfbWVzc2FnZZSMCHJlZnRpdGxllIw1ZXRoZXJldW0uYmVybGluLnZtLmludGVycHJldGVyLnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUdWgcaG1oHU5oH05oIGr7AwAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2Mdy9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vYmVybGluL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdDo0Mjo8YXV0b3N1bW1hcnk+lGgfSwFoIGr4AwAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGrZAgAAaB1OaB9OaCBq9QMAAHViatoCAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UaAddlGg/jCtFeGVjdXRlcyBhIGNhbGwgdG8gY3JlYXRlIGEgc21hcnQgY29udHJhY3QulIWUgZR9lChoBWgGaCBqLAQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHcvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9h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ICAgICAgcmV0dXJuIE1lc3NhZ2VDYWxsT3V0cHV0KAogICAgICAgICAgICAgICAgVTI1NigwKSwgVTI1NigwKSwgdHVwbGUoKSwgc2V0KCksIHNldCgpLCBUcnVlCiAgICAgICAgICAgICkKICAgICAgICBlbHNlOgogICAgICAgICAgICBldm0gPSBwcm9jZXNzX2NyZWF0ZV9tZXNzYWdlKG1lc3NhZ2UsIGVudikKICAgIGVsc2U6CiAgICAgICAgZXZtID0gcHJvY2Vzc19tZXNzYWdlKG1lc3NhZ2UsIGVudikKICAgICAgICBpZiBhY2NvdW50X2V4aXN0c19hbmRfaXNfZW1wdHkoZW52LnN0YXRlLCBBZGRyZXNzKG1lc3NhZ2UudGFyZ2V0KSk6CiAgICAgICAgICAgIGV2bS50b3VjaGVkX2FjY291bnRzLmFkZChBZGRyZXNzKG1lc3NhZ2UudGFyZ2V0KSkKCiAgICBpZiBldm0uaGFzX2VycmVkOgogICAgICAgIGxvZ3M6IFR1cGxlW0xvZywgLi4uXSA9ICgpCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlID0gc2V0KCkKICAgICAgICB0b3VjaGVkX2FjY291bnRzID0gc2V0KCkKICAgICAgICByZWZ1bmRfY291bnRlciA9IFUyNTYoMCkKICAgIGVsc2U6CiAgICAgICAgbG9ncyA9IGV2bS5sb2dzCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlID0gZXZtLmFjY291bnRzX3RvX2RlbGV0ZQogICAgICAgIHRvdWNoZWRfYWNjb3VudHMgPSBldm0udG91Y2hlZF9hY2NvdW50cwogICAgICAgIHJlZnVuZF9jb3VudGVyID0gVTI1Nihldm0ucmVmdW5kX2NvdW50ZXIpICsgUkVGVU5EX1NFTEZfREVTVFJVQ1QgKiBsZW4oCiAgICAgICAgICAgIGV2bS5hY2NvdW50c190b19kZWxldGUKICAgICAgICApCgogICAgcmV0dXJuIE1lc3NhZ2VDYWxsT3V0cHV0KAogICAgICAgIGdhc19sZWZ0PWV2bS5nYXNfbGVmdCwKICAgICAgICByZWZ1bmRfY291bnRlcj1yZWZ1bmRfY291bnRlciwKICAgICAgICBsb2dzPWxvZ3MsCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlPWFjY291bnRzX3RvX2RlbGV0ZSwKICAgICAgICB0b3VjaGVkX2FjY291bnRzPXRvdWNoZWRfYWNjb3VudHMsCiAgICAgICAgaGFzX2VycmVkPWV2bS5oYXNfZXJyZWQsCiAgICApCpRoB12UKGg/WNADAABkZWYgcHJvY2Vzc19tZXNzYWdlX2NhbGwoCiAgICBtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50CikgLT4gTWVzc2FnZUNhbGxPdXRwdXQ6CiAgICBpZiBtZXNzYWdlLnRhcmdldCA9PSBCeXRlczAoYiIiKToKICAgICAgICBpc19jb2xsaXNpb24gPSBhY2NvdW50X2hhc19jb2RlX29yX25vbmNlKAogICAgICAgICAgICBlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQKICAgICAgICApCiAgICAgICAgaWYgaXNfY29sbGlzaW9uOgogICAgICAgICAgICByZXR1cm4gTWVzc2FnZUNhbGxPdXRwdXQoCiAgICAgICAgICAgICAgICBVMjU2KDApLCBVMjU2KDApLCB0dXBsZSgpLCBzZXQoKSwgc2V0KCksIFRydWUKICAgICAgICAgICAgKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGV2bSA9IHByb2Nlc3NfY3JlYXRlX21lc3NhZ2UobWVzc2FnZSwgZW52KQogICAgZWxzZToKICAgICAgICBldm0gPSBwcm9jZXNzX21lc3NhZ2UobWVzc2FnZSwgZW52KQogICAgICAgIGlmIGFjY291bnRfZXhpc3RzX2FuZF9pc19lbXB0eShlbnYuc3RhdGUsIEFkZHJlc3MobWVzc2FnZS50YXJnZXQpKToKICAgICAgICAgICAgZXZtLnRvdWNoZWRfYWNjb3VudHMuYWRkKEFkZHJlc3MobWVzc2FnZS50YXJnZXQpKQoKICAgIGlmIGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgbG9nczogVHVwbGVbTG9nLCAuLi5dID0gKCkKICAgICAgICBhY2NvdW50c190b19kZWxldGUgPSBzZXQoKQogICAgICAgIHRvdWNoZWRfYWNjb3VudHMg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TmggaqkNAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcar4LAABoHU5oH05oIGqYDQAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGqBBgAAaB1oHmgfTmggajwNAAB1YmVoDn2UKGgQXZRoE12UKGqRDQAAjAhmdW5jdGlvbpRlaBVdlGgXXZRoGV2UjAZkb21haW6UapENAACMB29ianR5cGWUargOAACMCGRlc2N0eXBllGq4DgAAjAdub2luZGV4lIl1aBxqUwYAAGgdaERoH0sAaCBqIA0AAGghaAN1YmqYBgAAKYGUfZQoaAVYdQQAAGRlZiBwcm9jZXNzX2NyZWF0ZV9tZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UsIGVudjogRW52aXJvbm1lbnQpIC0+IEV2bToKICAgICMgdGFrZSBzbmFwc2hvdCBvZiBzdGF0ZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgbWVzc2FnZQogICAgYmVnaW5fdHJhbnNhY3Rpb24oZW52LnN0YXRlKQoKICAgICMgSXQncyBleHBlY3RlZCB0aGF0IHRoZSBjcmVhdGlvbiBvcGVyYXRpb24gd29ya3Mgb24gZW1wdHkgc3RvcmFnZS4gSGVuY2UKICAgICMgd2UgZGVsZXRlIHRoZSBzdG9yYWdlIGFuZCByZXN0b3JlIHRoZSBhY2NvdW50J3Mgc3RhdGUgaWYgdGhlcmUgaXMgYW4KICAgICMgZXJyb3IgaW4gdGhlIGluaXRpYWxpemF0aW9uIGNvZGUgZXhlY3V0aW9uLgogICAgZGVzdHJveV9zdG9yYWdlKGVudi5zdGF0ZSwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCkKCiAgICBpbmNyZW1lbnRfbm9uY2UoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0KQogICAgZXZtID0gcHJvY2Vzc19tZXNzYWdlKG1lc3NhZ2UsIGVudikKICAgIGlmIG5vdCBldm0uaGFzX2VycmVkOgogICAgICAgIGNvbnRyYWN0X2NvZGUgPSBldm0ub3V0cHV0CiAgICAgICAgY29udHJhY3RfY29kZV9nYXMgPSBsZW4oY29udHJhY3RfY29kZSkgKiBHQVNfQ09ERV9ERVBPU0lUCiAgICAgICAgdHJ5OgogICAgICAgICAgICBjaGFyZ2VfZ2FzKGV2bSwgY29udHJhY3RfY29kZV9nYXMpCiAgICAgICAgICAgIGVuc3VyZShsZW4oY29udHJhY3RfY29kZSkgPD0gTUFYX0NPREVfU0laRSwgT3V0T2ZHYXNFcnJvcikKICAgICAgICBleGNlcHQgRXhjZXB0aW9uYWxIYWx0OgogICAgICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICAgICAgICAgIGV2bS5nYXNfbGVmdCA9IFUyNTYoMCkKICAgICAgICAgICAgZXZtLm91dHB1dCA9IGIiIgogICAgICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNldF9jb2RlKGVudi5zdGF0ZSwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCwgY29udHJhY3RfY29kZSkKICAgICAgICAgICAgY29tbWl0X3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgIGVsc2U6CiAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgcmV0dXJuIGV2bQqUaAddlChoP1ieAgAAZGVmIHByb2Nlc3NfY3JlYXRlX21lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudCkgLT4gRXZtOgogICAgIyB0YWtlIHNuYXBzaG90IG9mIHN0YXRlIGJlZm9yZSBwcm9jZXNzaW5nIHRoZSBtZXNzYWdlCiAgICBiZWdpbl90cmFuc2FjdGlvbihlbnYuc3RhdGUpCgogICAgIyBJdCdzIGV4cGVjdGVkIHRoYXQgdGhlIGNyZWF0aW9uIG9wZXJhdGlvbiB3b3JrcyBvbiBlbXB0eSBzdG9yYWdlLiBIZW5jZQogICAgIyB3ZSBkZWxldGUgdGhlIHN0b3JhZ2UgYW5kIHJlc3RvcmUgdGhlIGFjY291bnQncyBzdGF0ZSBpZiB0aGVyZSBpcyBhbgogICAgIyBlcnJvciBpbiB0aGUgaW5pdGlhbGl6YXRpb24gY29kZSBleGVjdXRpb24uCiAgICBkZXN0cm95X3N0b3JhZ2UoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0KQoKICAgIGluY3JlbWVudF9ub25jZShlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQpCiAgICBldm0gPSBwcm9jZXNzX21lc3NhZ2UobWVzc2FnZSwgZW52KQogICAgaWYgbm90IGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgY29udHJhY3RfY29kZSA9IGV2bS5vdXRwdXQKICAgICAgICBjb250cmFjdF9jb2RlX2dhcyA9IGxlbihjb250cmFjdF9jb2RlKSAqIEdBU19DT0RFX0RFUE9TSVQKICAgICAgICB0cnk6CiAgICAgICAgICAgIJSFlIGUfZQoaAVoBmggasAOAABoIWgDaB1oRGgfSwB1YmpwCQAAKYGUfZQoaAVoBmgHXZRoP4xvaWYgbGVuKGNvbnRyYWN0X2NvZGUpID4gMDoKICAgICAgICAgICAgICAgIGVuc3VyZShjb250cmFjdF9jb2RlWzBdICE9IDB4RUYsIEludmFsaWRDb250cmFjdFByZWZpeCkKICAgICAgICAgICAglIWUgZR9lChoBWgGaCBqyA4AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMDGNoYW5nZS1hZGRlZJRhaBVdlGgXXZRoGV2UdWgcam8JAABoIGrADgAAaCFoA2gdaERoH0sAdWJoP1jXAQAAY2hhcmdlX2dhcyhldm0sIGNvbnRyYWN0X2NvZGVfZ2FzKQogICAgICAgICAgICBlbnN1cmUobGVuKGNvbnRyYWN0X2NvZGUpIDw9IE1BWF9DT0RFX1NJWkUsIE91dE9mR2FzRXJyb3IpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgICAgIGV2bS5vdXRwdXQgPSBiIiIKICAgICAgICAgICAgZXZtLmhhc19lcnJlZCA9IFRydWUKICAgICAgICBlbHNlOgogICAgICAgICAgICBzZXRfY29kZShlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90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YWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBpZiBtZXNzYWdlLmRlcHRoID4gU1RBQ0tfREVQVEhfTElNSVQ6CiAgICAgICAgcmFpc2UgU3RhY2tEZXB0aExpbWl0RXJyb3IoIlN0YWNrIGRlcHRoIGxpbWl0IHJlYWNoZWQiKQoKICAgICMgdGFrZSBzbmFwc2hvdCBvZiBzdGF0ZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgbWVzc2FnZQogICAgYmVnaW5fdHJhbnNhY3Rpb24oZW52LnN0YXRlKQoKICAgIHRvdWNoX2FjY291bnQoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0KQoKICAgIGlmIG1lc3NhZ2Uuc2hvdWxkX3RyYW5zZmVyX3ZhbHVlIGFuZCBtZXNzYWdlLnZhbHVlICE9IDA6CiAgICAgICAgbW92ZV9ldGhlcigKICAgICAgICAgICAgZW52LnN0YXRlLCBtZXNzYWdlLmNhbGxlciwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCwgbWVzc2FnZS52YWx1ZQogICAgICAgICkKCiAgICBldm0gPSBleGVjdXRlX2NvZGUobWVzc2FnZSwgZW52KQogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICAjIHJldmVydCBzdGF0ZSB0byB0aGUgbGFzdCBzYXZlZCBjaGVja3BvaW50CiAgICAgICAgIyBzaW5jZSB0aGUgbWVzc2FnZSBjYWxsIHJlc3VsdGVkIGluIGFuIGVycm9yCiAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgZWxzZToKICAgICAgICBjb21taXRfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgcmV0dXJuIGV2bQqUaAddlGg/WPMCAABkZWYgcHJvY2Vzc19tZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UsIGVudjogRW52aXJvbm1lbnQpIC0+IEV2bToKICAgIGlmIG1lc3NhZ2UuZGVwdGggPiBTVEFDS19ERVBUSF9MSU1JVDoKICAgICAgICByYWlzZSBTdGFja0RlcHRoTGltaXRFcnJvcigiU3RhY2sgZGVwdGggbGltaXQgcmVhY2hlZCIpCgogICAgIyB0YWtlIHNuYXBzaG90IG9mIHN0YXRlIGJlZm9yZSBwcm9jZXNzaW5nIHRoZSBtZXNzYWdlCiAgICBiZWdpbl90cmFuc2FjdGlvbihlbnYuc3RhdGUpCgogICAgdG91Y2hfYWNjb3VudChlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQpCgogICAgaWYgbWVzc2FnZS5zaG91bGRfdHJhbnNmZXJfdmFsdWUgYW5kIG1lc3NhZ2UudmFsdWUgIT0gMDoKICAgICAgICBtb3ZlX2V0aGVyKAogICAgICAgICAgICBlbnYuc3RhdGUsIG1lc3NhZ2UuY2FsbGVyLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0LCBtZXNzYWdlLnZhbHVlCiAgICAgICAgKQoKICAgIGV2bSA9IGV4ZWN1dGVfY29kZShtZXNzYWdlLCBlbnYpCiAgICBpZiBldm0uaGFzX2VycmVkOgogICAgICAgICMgcmV2ZXJ0IHN0YXRlIHRvIHRoZSBsYXN0IHNhdmVkIGNoZWNrcG9pbnQKICAgICAgICAjIHNpbmNlIHRoZSBtZXNzYWdlIGNhbGwgcmVzdWx0ZWQgaW4gYW4gZXJyb3IKICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICBlbHNlOgogICAgICAgIGNvbW1pdF90cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICByZXR1cm4gZXZtCpSFlIGUfZQoaAVoBmggapAQAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFcvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9iZXJsaW4vdm0vaW50ZXJwcmV0ZXIucHmUjAl4bWw6c3BhY2WUanACAACMBWZvcmNllImMCGxhbmd1YWdllIwGcHl0aG9ulIwOaGlnaGxpZ2h0X2FyZ3OUfZRqrwYAAEsBc4wHbGluZW5vc5SJdWgcapcGAABoHWgeaB9L0GggavAOAAB1YmVoDn2UKGgQXZRq+gEAAGFoE12UaBVdlIwPcHJvY2Vzc19t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ZWRfYWNjb3VudHM9c2V0KCksCiAgICAgICAgaGFzX2VycmVkPUZhbHNlLAogICAgICAgIHJldHVybl9kYXRhPWIiIiwKICAgICAgICBlcnJvcj1Ob25lLAogICAgICAgIGFjY2Vzc2VkX2FkZHJlc3Nlcz1tZXNzYWdlLmFjY2Vzc2VkX2FkZHJlc3NlcywKICAgICAgICBhY2Nlc3NlZF9zdG9yYWdlX2tleXM9bWVzc2FnZS5hY2Nlc3NlZF9zdG9yYWdlX2tleXMsCiAgICApCiAgICB0cnk6CgogICAgICAgIGlmIGV2bS5tZXNzYWdlLmNvZGVfYWRkcmVzcyBpbiBQUkVfQ09NUElMRURfQ09OVFJBQ1RTOgogICAgICAgICAgICBldm1fdHJhY2UoZXZtLCBldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3MpCiAgICAgICAgICAgIFBSRV9DT01QSUxFRF9DT05UUkFDVFNbZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzXShldm0pCiAgICAgICAgICAgIHJldHVybiBldm0KCiAgICAgICAgd2hpbGUgZXZtLnJ1bm5pbmcgYW5kIGV2bS5wYyA8IGxlbihldm0uY29kZSk6CiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIG9wID0gT3BzKGV2bS5jb2RlW2V2bS5wY10pCiAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZE9wY29kZShldm0uY29kZVtldm0ucGNdKQoKICAgICAgICAgICAgZXZtX3RyYWNlKGV2bSwgb3ApCiAgICAgICAgICAgIG9wX2ltcGxlbWVudGF0aW9uW29wXShldm0pCgogICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgZXZtLm91dHB1dCA9IGIiIgogICAgICAgIGV2bS5oYXNfZXJyZWQgPSBUcnVlCiAgICBleGNlcHQgUmV2ZXJ0IGFzIGU6CiAgICAgICAgZXZtLmVycm9yID0gZQogICAgICAgIGV2bS5oYXNfZXJyZWQgPSBUcnVlCiAgICByZXR1cm4gZXZtCpRoB12UaD9YgwUAAGRlZiBleGVjdXRlX2NvZGUobWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudCkgLT4gRXZtOgogICAgY29kZSA9IG1lc3NhZ2UuY29kZQogICAgdmFsaWRfanVtcF9kZXN0aW5hdGlvbnMgPSBnZXRfdmFsaWRfanVtcF9kZXN0aW5hdGlvbnMoY29kZSkKICAgIGV2bSA9IEV2bSgKICAgICAgICBwYz1VaW50KDApLAogICAgICAgIHN0YWNrPVtdLAogICAgICAgIG1lbW9yeT1ieXRlYXJyYXkoKSwKICAgICAgICBjb2RlPWNvZGUsCiAgICAgICAgZ2FzX2xlZnQ9bWVzc2FnZS5nYXMsCiAgICAgICAgZW52PWVudiwKICAgICAgICB2YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucz12YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucywKICAgICAgICBsb2dzPSgpLAogICAgICAgIHJlZnVuZF9jb3VudGVyPTAsCiAgICAgICAgcnVubmluZz1UcnVlLAogICAgICAgIG1lc3NhZ2U9bWVzc2FnZSwKICAgICAgICBvdXRwdXQ9YiIiLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1zZXQoKSwKICAgICAgICB0b3VjaGVkX2FjY291bnRzPXNldCgpLAogICAgICAgIGhhc19lcnJlZD1GYWxzZSwKICAgICAgICByZXR1cm5fZGF0YT1iIiIsCiAgICAgICAgZXJyb3I9Tm9uZSwKICAgICAgICBhY2Nlc3NlZF9hZGRyZXNzZXM9bWVzc2FnZS5hY2Nlc3NlZF9hZGRyZXNzZXMsCiAgICAgICAgYWNjZXNzZWRfc3RvcmFnZV9rZXlzPW1lc3NhZ2UuYWNjZXNzZWRfc3RvcmFnZV9rZXlzLAogICAgKQogICAgdHJ5OgoKICAgICAgICBpZiBldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3MgaW4gUFJFX0NPTVBJTEVEX0NPTlRSQUNUUzoKICAgICAgICAgICAgZXZtX3RyYWNlKGV2bSwgZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzKQogICAgICAgICAgICBQUkVfQ09NUElMRURfQ09OVFJBQ1RTW2V2bS5tZXNzYWdlLmNvZGVfYWRkcmVzc10oZXZtKQogICAgICAgICAgICByZXR1cm4gZXZtCgogICAgICAgIHdoaWxlIGV2bS5ydW5uaW5nIGFuZCBldm0ucGMgPCBsZW4oZXZtLmNvZGUpOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBvcCA9IE9wcyhldm0uY29kZVtldm0ucGNdKQogICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgIHJhaXNlIEludmFsaWRPcGNvZGUoZXZtLmNvZGVbZXZtLnBjXSkKCiAgICAgICAgICAgIGV2bV90cmFjZShldm0sIG9wKQogICAgICAgICAgICBvcF9pbXBsZW1lbnRhdGlvbltvcF0oZXZtKQoKICAgIGV4Y2VwdCBFeGNlcHRpb25hbEhhbHQ6CiAgICAgICAgZXZtLmdhc19sZWZ0ID0gVTI1NigwKQogICAgICAgIGV2bS5vdXRwdXQgPSBiIiIKICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgZXhjZXB0IFJldmVydCBhcyBlOgogICAgICAgIGV2bS5lcnJvciA9IGUKICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgcmV0dXJuIGV2bQqUhZSBlH2UKGgFaAZoIGpQEgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllIxXL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9zcmMvZXRoZXJldW0vYmVybGluL3ZtL2ludGVycHJldGVyLnB5lIwJeG1sOnNwYWNllGpwAgAAjAVmb3JjZZSJjAhsYW5ndWFnZZSMBnB5dGhvbpSMDmhpZ2hsaWdodF9hcmdzlH2Uaq8GAABLAXOMB2xpbmVub3OUiXVoHGqXBgAAaB1oHmgfS+ZoIGquEAAAdWJlaA59lChoEF2UahwCAABhaBNdlGgVXZSMDGV4ZWN1dGVfY29kZZRhaBddlGgZXZR1aBxoM2gdaB5oH0vVaCBqIgYAAGghaAN1YmVoDn2UKGgQXZRqMQEAAGFoE12UaBVdlIwObW9kdWxlIGRldGFpbHOUYWgXXZRoGV2UdWgcaDNoHWgeaB9LNWggaDVoIWgDdWJlaA59lChoEF2UjChldGhlcmV1bS12aXJ0dWFsLW1hY2hpbmUtZXZtLWludGVycHJldGVylGFoE12UaBVdlIwqZXRoZXJldW0gdmlydHVhbCBtYWNoaW5lIChldm0pIGludGVycHJldGVylGFoF12UaBldlHVoHGgzaB1oHmgfSwRoIGgDaCFoA3ViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZRoRHVoHGgBjA5jdXJyZW50X3NvdXJjZZRoRIwMY3VycmVudF9saW5llEsAjAhzZXR0aW5nc5SMEWRvY3V0aWxzLmZyb250ZW5klIwGVmFsdWVzlJOUKYGUfZQojAxyZXBvcnRfbGV2ZWyUSwKMCmhhbHRfbGV2ZWyUSwSMEWV4aXRfc3RhdHVzX2xldmVslEsFjAVkZWJ1Z5ROjA53YXJuaW5nX3N0cmVhbZROjAl0cmFjZWJhY2uUTowPb3V0cHV0X2VuY29kaW5nlIwFdXRmLTiUjB1vdXRwdXRfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMEXhtbGNoYXJyZWZyZXBsYWNllIwOZXJyb3JfZW5jb2RpbmeUjAV1dGYtOJSMHGVycm9yX2VuY29kaW5nX2Vycm9yX2hhbmRsZXKUjBBiYWNrc2xhc2hyZXBsYWNllIwTcmVjb3JkX2RlcGVuZGVuY2llc5SMDmRvY3V0aWxzLnV0aWxzlIwORGVwZW5kZW5jeUxpc3SUk5QpgZR9lCiMBGxpc3SUXZSMBGZpbGWUTnVijAZjb25maWeUTowNZHVtcF9zZXR0aW5nc5ROjA5kdW1wX2ludGVybmFsc5ROjA9kdW1wX3RyYW5zZm9ybXOUTowPZHVtcF9wc2V1ZG9feG1slE6MEGV4cG9zZV9pbnRlcm5hbHOUTowOc3RyaWN0X3Zpc2l0b3KUTowPX2Rpc2FibGVfY29uZmlnlE6MB19zb3VyY2WUTowMX2Rlc3RpbmF0aW9ulIw1ZG9jL2RpZmZzL2Jlcmxpbl9sb25kb24vdm0vaW50ZXJwcmV0ZXIvaW5kZXgucGlja2xlNjSUjA1fY29uZmlnX2ZpbGVzlF2UjBFsaW5lX2xlbmd0aF9saW1pdJRNECeMCXRhYl93aWR0aJRLCIwQc3ludGF4X2hpZ2hsaWdodJSMBGxvbmeUjAxzbWFydF9xdW90ZXOUiYwTc21hcnRxdW90ZXNfbG9jYWxlc5ROjB1jaGFyYWN0ZXJfbGV2ZWxfaW5saW5lX21hcmt1cJSJjAZ3cml0ZXKUjAN4bWyUjBljb21wYXJlX3NlY3Rpb25zX2J5X25hbWVzlEsBjAxkdW1wX3JzdGRpZmaUTowFX2JvdGiUfZQoaDhOjAlnZW5lcmF0b3KUTowJZGF0ZXN0YW1wlE6MC3NvdXJjZV9saW5rlE6MCnNvdXJjZV91cmyUTowNdG9jX2JhY2tsaW5rc5Rq2QIAAIwSZm9vdG5vdGVfYmFja2xpbmtzlEsBjA1zZWN0bnVtX3hmb3JtlEsBjA5kb2N0aXRsZV94Zm9ybZRLAYwNZG9jaW5mb194Zm9ybZRLAYwSc2VjdHN1YnRpdGxlX3hmb3JtlEsAjA5zdHJpcF9jb21tZW50c5ROjA5pbnB1dF9lbmNvZGluZ5ROjBxpbnB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwGc3RyaWN0lIwNbGFuZ3VhZ2VfY29kZZSMAmVulIwOcGVwX3JlZmVyZW5jZXOUTowMcGVwX2Jhc2VfdXJslIwfaHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL5SMFXBlcF9maWxlX3VybF90ZW1wbGF0ZZSMCHBlcC0lMDRklIwOcmZjX3JlZmVyZW5jZXOUTowMcmZjX2Jhc2VfdXJslIwbaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvlIwddHJpbV9mb290bm90ZV9yZWZlcmVuY2Vfc3BhY2WUTowWZmlsZV9pbnNlcnRpb25fZW5hYmxlZJRLAYwLcmF3X2VuYWJsZWSUSwGMDmF1dG9faWRfcHJlZml4lIwCaWSUjAlpZF9wcmVmaXiUaAaMG3N0cmlwX2VsZW1lbnRzX3dpdGhfY2xhc3Nlc5ROjA1zdHJpcF9jbGFzc2VzlE51jARib3RolH2UjApfb3B0aW9uc1RvlIwFX2JvdGiUjAtfb2xkX3NvdXJjZZSMTy9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS+UjAtfbmV3X3NvdXJjZZSMCWRvYy9kaWZmc5RqyxIAAGrMEgAAjBZpZ25vcmVfaW5fc2VjdGlvbl9uYW1llF2UKIwGYmVybGlulIwGbG9uZG9ulGV1YowIcmVwb3J0ZXKUTowQaW5kaXJlY3RfdGFyZ2V0c5RdlIwRc3Vic3RpdHV0aW9uX2RlZnOUfZSMEnN1YnN0aXR1dGlvbl9uYW1lc5R9lIwIcmVmbmFtZXOUfZSMBnJlZmlkc5R9lIwHbmFtZWlkc5R9lIwJbmFtZXR5cGVzlH2UaBB9lIwNZm9vdG5vdGVfcmVmc5R9lIwNY2l0YXRpb25fcmVmc5R9lIwNYXV0b2Zvb3Rub3Rlc5RdlIwRYXV0b2Zvb3Rub3RlX3JlZnOUXZSMEHN5bWJvbF9mb290bm90ZXOUXZSMFHN5bWJvbF9mb290bm90ZV9yZWZzlF2UjAlmb290bm90ZXOUXZSMCWNpdGF0aW9uc5RdlIwSYXV0b2Zvb3Rub3RlX3N0YXJ0lEsBjBVzeW1ib2xfZm9vdG5vdGVfc3RhcnSUSwCMCmlkX2NvdW50ZXKUjAtjb2xsZWN0aW9uc5SMB0NvdW50ZXKUk5R9lIWUUpSMDnBhcnNlX21lc3NhZ2VzlF2UjBJ0cmFuc2Zvcm1fbWVzc2FnZXOUXZSMC3RyYW5zZm9ybWVylE6MC2luY2x1ZGVfbG9nlF2UjApkZWNvcmF0aW9ulE5oIWgDdWIu