gASVAQABAAAAAACMDmRvY3V0aWxzLm5vZGVzlIwIZG9jdW1lbnSUk5QpgZR9lCiMCXJhd3NvdXJjZZSMAJSMCGNoaWxkcmVulF2UKGgAjAZ0YXJnZXSUk5QpgZR9lChoBWgGaAddlIwKYXR0cmlidXRlc5R9lCiMA2lkc5RdlIwnbW9kdWxlLWV0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVylGGMB2NsYXNzZXOUXZSMBW5hbWVzlF2UjAhkdXBuYW1lc5RdlIwIYmFja3JlZnOUXZSMBWlzbW9klIh1jAd0YWduYW1llGgJjAZzb3VyY2WUjGgvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2Rhb19mb3JrL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdJSMBGxpbmWUSwGMBnBhcmVudJRoA4wJX2RvY3VtZW50lGgDdWKMD3NwaGlueC5hZGRub2Rlc5SMBWluZGV4lJOUKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAdlbnRyaWVzlF2UKIwEcGFpcpSMKG1vZHVsZTsgZXRoZXJldW0uZGFvX2Zvcmsudm0uaW50ZXJwcmV0ZXKUaBJoBk50lGF1aBxoI2gdaB5oH0sCaCBoA2ghaAN1YmgAjAdzZWN0aW9ulJOUKYGUfZQoaAVoBmgHXZQoaACMBXRpdGxllJOUKYGUfZQoaAWMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpRoB12UaACMBFRleHSUk5SMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpSFlIGUfZQoaAVoBmggaDpoIWgDaB2MXC9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS8gPT4gZG9jL2RpZmZzlGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LBGggaDVoIWgDdWJoAIwFdG9waWOUk5QpgZR9lChoBWgG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NCmBlH2UKGgFaAZoB12UKGg5KYGUfZQoaAWMCUZ1bmN0aW9uc5RoB12UaD+MCUZ1bmN0aW9uc5SFlIGUfZQoaAVoBmggankDAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LH2gganYDAABoIWgDdWJqvwIAACmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwEc3BlY5RqygIAAHVoHGq+AgAAaB2MeS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vZGFvX2Zvcmsvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQ0OjxhdXRvc3VtbWFyeT6UaB9LAGgganYDAABoIWgDdWJqzgIAACmBlH2UKGgFWMoBAAAKCgoKcHJvY2Vzc19tZXNzYWdlX2NhbGwKCklmIG1lc3NhZ2UuY3VycmVudCBpcyBlbXB0eSB0aGVuIGl0IGNyZWF0ZXMgYSBzbWFydCBjb250cmFjdAoKcHJvY2Vzc19jcmVhdGVfbWVzc2FnZQoKRXhlY3V0ZXMgYSBjYWxsIHRvIGNyZWF0ZSBhIHNtYXJ0IGNvbnRyYWN0LgoKcHJvY2Vzc19tZXNzYWdlCgpFeGVjdXRlcyBhIGNhbGwgdG8gY3JlYXRlIGEgc21hcnQgY29udHJhY3QuCgpleGVjdXRlX2NvZGUKCkV4ZWN1dGVzIGJ5dGVjb2RlIHByZXNlbnQgaW4gdGhlIG1lc3NhZ2UuCgpjb2xsZWN0X2FjY291bnRzX3RvX2RlbGV0ZQoKQ29sbGVjdHMgYWxsIHRoZSBhY2NvdW50cyB0aGF0IHdlcmUgbWFya2VkIGZvciBkZWxldGlvbiBieSB0aGUKCmNhbGN1bGF0ZV9nYXNfcmVmdW5kCgpBZGRzIHVwIHRoZSBnYXMgdGhhdCB3YXMgcmVmdW5kZWQgaW4gZWFjaCBleGVjdXRpb24gZnJhbWUgZHVyaW5nIHRoZZRoB12UatQCAAApgZR9lChoBWgGaAddlGrZAgAAKYGUfZQoaAVoBmgHXZQoat4CAAApgZR9lChoBWgGaAddlGgOfZQoaBBdlGgTXZRo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lGgZXZR1aBxqCQMAAGgdTmgfTmggaiMEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMN2V0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVyLnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUjAhyZWZ0aXRsZZSMN2V0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVyLnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUdWgcaG1oHU5oH05oIGofBAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2MeS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vZGFvX2Zvcmsvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQ0OjxhdXRvc3VtbWFyeT6UaB9LAWggahwEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcav0CAABoHU5oH05oIGoZBAAAdWJq/gIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYwrRXhlY3V0ZXMgYSBjYWxsIHRvIGNyZWF0ZSBhIHNtYXJ0IGNvbnRyYWN0LpRoB12UaD+MK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UhZSBlH2UKGgFaAZoIGpQBAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2MeS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vZGFvX2Zvcmsvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQ0OjxhdXRvc3VtbWFyeT6UaB9LAWggak0EAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcav0CAABoHU5oH05oIGoZBAAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGr4AgAAaB1oRGgfSwBoIGqwAwAAaCFoA3ViavkCAAApgZR9lChoBWgGaAddlChq/gIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxJOm9iajpgcHJvY2Vzc19tZXNzYWdlIDxldGhlcmV1bS5kYW9fZm9yay52bS5pbnRlcnByZXRlci5wcm9jZXNzX21lc3NhZ2U+YJRoB12UaG4pgZR9lChoBWgGaAddlGoKAwAAKYGUfZQoaAVqcwQAAGgHXZRoP4wPcHJvY2Vzc19tZXNzYWdllIWUgZR9lChoBWgGaCBqeAQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoahYDAACMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxqCQMAAGgdTmgfTmgganUEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMMGV0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVyLnByb2Nlc3NfbWVzc2FnZZSMCHJlZnRpdGxllIwwZXRoZXJldW0uZGFvX2Zvcmsudm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19tZXNzYWdllHVoHGhtaB1OaB9OaCBqcQQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2Rhb19mb3JrL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdDo0NDo8YXV0b3N1bW1hcnk+lGgfSwFoIGpuBAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGr9AgAAaB1OaB9OaCBqawQAAHViav4CAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UaAddlGg/jCtFeGVjdXRlcyBhIGNhbGwgdG8gY3JlYXRlIGEgc21hcnQgY29udHJhY3QulIWUgZR9lChoBWgGaCBqogQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2Rhb19mb3JrL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdDo0NDo8YXV0b3N1bW1hcnk+lGgfSwFoIGqfBAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGr9AgAAaB1OaB9OaCBqawQAAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxq+AIAAGgdaERoH0sAaCBqsAMAAGghaAN1Ymr5AgAAKYGUfZQoaAVoBmgHXZQoav4CAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMQzpvYmo6YGV4ZWN1dGVfY29kZSA8ZXRoZXJldW0uZGFvX2Zvcmsudm0uaW50ZXJwcmV0ZXIuZXhlY3V0ZV9jb2RlPmCUaAddlGhuKYGUfZQoaAVoBmgHXZRqCgMAACmBlH2UKGgFasUEAABoB12UaD+MDGV4ZWN1dGVfY29kZZSFlIGUfZQoaAVoBmggasoEAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKGoWAwAAjAJweZSMBnB5LW9iapRlaBVdlGgXXZRoGV2UdWgcagkDAABoHU5oH05oIGrHBAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIaW50ZXJuYWyUiIwFcmVmaWSUjC1ldGhlcmV1bS5kYW9fZm9yay52bS5pbnRlcnByZXRlci5leGVjdXRlX2NvZGWUjAhyZWZ0aXRsZZSMLWV0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVyLmV4ZWN1dGVfY29kZZR1aBxobWgdTmgfTmggasMEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHYx5L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9kYW9fZm9yay92bS9pbnRlcnByZXRlci9pbmRleC5yc3Q6NDQ6PGF1dG9zdW1tYXJ5PpRoH0sBaCBqwAQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxq/QIAAGgdTmgfTmggar0EAAB1Ymr+AgAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjCtFeGVjdXRlcyBieXRlY29kZSBwcmVzZW50IGluIHRoZSBgbWVzc2FnZWAulGgHXZQoaD+MIUV4ZWN1dGVzIGJ5dGVjb2RlIHByZXNlbnQgaW4gdGhlIJSFlIGUfZQoaAVoBmggavQEAABoIWgDaB1oRGgfSwB1YmrzAwAAKYGUfZQoaAWMCWBtZXNzYWdlYJRoB12UaD+MB21lc3NhZ2WUhZSBlH2UKGgFaAZoIGr8BAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGryAwAAaB1OaB9OaCBq9AQAAHViaD+MAS6UhZSBlH2UKGgFaAZoIGr0BAAAaCFoA2gdaERoH0sAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2MeS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vZGFvX2Zvcmsvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQ0OjxhdXRvc3VtbWFyeT6UaB9LAWggavEEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcav0CAABoHU5oH05oIGq9BAAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGr4AgAAaB1oRGgfSwBoIGqwAwAAaCFoA3ViavkCAAApgZR9lChoBWgGaAddlChq/gIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxfOm9iajpgY29sbGVjdF9hY2NvdW50c190b19kZWxldGUgPGV0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVyLmNvbGxlY3RfYWNjb3VudHNfdG9fZGVsZXRlPmCUaAddlGhuKYGUfZQoaAVoBmgHXZRqCgMAACmBlH2UKGgFaikFAABoB12UaD+MGmNvbGxlY3RfYWNjb3VudHNfdG9fZGVsZXRllIWUgZR9lChoBWgGaCBqLgUAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoahYDAACMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxqCQMAAGgdTmgfTmggaisFAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMO2V0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVyLmNvbGxlY3RfYWNjb3VudHNfdG9fZGVsZXRllIwIcmVmdGl0bGWUjDtldGhlcmV1bS5kYW9fZm9yay52bS5pbnRlcnByZXRlci5jb2xsZWN0X2FjY291bnRzX3RvX2RlbGV0ZZR1aBxobWgdTmgfTmggaicFAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHYx5L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9kYW9fZm9yay92bS9pbnRlcnByZXRlci9pbmRleC5yc3Q6NDQ6PGF1dG9zdW1tYXJ5PpRoH0sBaCBqJAUAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxq/QIAAGgdTmgfTmggaiEFAAB1Ymr+AgAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjD5Db2xsZWN0cyBhbGwgdGhlIGFjY291bnRzIHRoYXQgd2VyZSBtYXJrZWQgZm9yIGRlbGV0aW9uIGJ5IHRoZZRoB12UaD+MPkNvbGxlY3RzIGFsbCB0aGUgYWNjb3VudHMgdGhhdCB3ZXJlIG1hcmtlZCBmb3IgZGVsZXRpb24gYnkgdGhllIWUgZR9lChoBWgGaCBqWAUAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2Rhb19mb3JrL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdDo0NDo8YXV0b3N1bW1hcnk+lGgfSwFoIGpVBQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGr9AgAAaB1OaB9OaCBqIQUAAHViZWgOfZQoaBBdlGgTXZSMDmNoYW5nZS1yZW1vdmVklGFoFV2UaBddlGgZXZR1aBxq+AIAAGgdaERoH0sAaCBqsAMAAGghaAN1Ymr5AgAAKYGUfZQoaAVoBmgHXZQo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dmlyb25tZW50CikgLT4gTWVzc2FnZUNhbGxPdXRwdXQ6CiAgICBpZiBtZXNzYWdlLnRhcmdldCA9PSBCeXRlczAoYiIiKToKICAgICAgICBpc19jb2xsaXNpb24gPSBhY2NvdW50X2hhc19jb2RlX29yX25vbmNlKAogICAgICAgICAgICBlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQKICAgICAgICApCiAgICAgICAgaWYgaXNfY29sbGlzaW9uOgogICAgICAgICAgICByZXR1cm4gTWVzc2FnZUNhbGxPdXRwdXQoVTI1NigwKSwgVTI1NigwKSwgdHVwbGUoKSwgc2V0KCksIFRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZXZtID0gcHJvY2Vzc19jcmVhdGVfbWVzc2FnZShtZXNzYWdlLCBlbnYpCiAgICBlbHNlOgogICAgICAgIGV2bSA9IHByb2Nlc3NfbWVzc2FnZShtZXNzYWdlLCBlbnYpCgogICAgYWNjb3VudHNfdG9fZGVsZXRlID0gY29sbGVjdF9hY2NvdW50c190b19kZWxldGUoZXZtKQogICAgcmVmdW5kX2NvdW50ZXIgPSAoCiAgICAgICAgY2FsY3VsYXRlX2dhc19yZWZ1bmQoZXZtKQogICAgICAgICsgbGVuKGFjY291bnRzX3RvX2RlbGV0ZSkgKiBSRUZVTkRfU0VMRl9ERVNUUlVDVAogICAgKQoKICAgIHJldHVybiBNZXNzYWdlQ2FsbE91dHB1dCgKICAgICAgICBnYXNfbGVmdD1ldm0uZ2FzX2xlZnQsCiAgICAgICAgcmVmdW5kX2NvdW50ZXI9cmVmdW5kX2NvdW50ZXIsCiAgICAgICAgbG9ncz1ldm0ubG9ncyBpZiBub3QgZXZtLmhhc19lcnJlZCBlbHNlICgpLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1hY2NvdW50c190b19kZWxldGUsCiAgICAgICAgaGFzX2VycmVkPWV2bS5oYXNfZXJyZWQsCiAgICApCpRoB12UKGg/WM8BAABkZWYgcHJvY2Vzc19tZXNzYWdlX2NhbGwoCiAgICBtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50Cikg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bWVudCkgLT4gRXZtOgogICAgIyB0YWtlIHNuYXBzaG90IG9mIHN0YXRlIGJlZm9yZSBwcm9jZXNzaW5nIHRoZSBtZXNzYWdlCiAgICBiZWdpbl90cmFuc2FjdGlvbihlbnYuc3RhdGUpCgogICAgZXZtID0gcHJvY2Vzc19tZXNzYWdlKG1lc3NhZ2UsIGVudikKICAgIGlmIG5vdCBldm0uaGFzX2VycmVkOgogICAgICAgIGNvbnRyYWN0X2NvZGUgPSBldm0ub3V0cHV0CiAgICAgICAgY29udHJhY3RfY29kZV9nYXMgPSBsZW4oY29udHJhY3RfY29kZSkgKiBHQVNfQ09ERV9ERVBPU0lUCiAgICAgICAgdHJ5OgogICAgICAgICAgICBjaGFyZ2VfZ2FzKGV2bSwgY29udHJhY3RfY29kZV9nYXMpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgICAgIGV2bS5oYXNfZXJyZWQgPSBUcnVlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2V0X2NvZGUoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0LCBjb250cmFjdF9jb2RlKQogICAgICAgICAgICBjb21taXRfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgZWxzZToKICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICByZXR1cm4gZXZtCpRoB12UaD9Y1wIAAGRlZiBwcm9jZXNzX2NyZWF0ZV9tZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UsIGVudjogRW52aXJvbm1lbnQpIC0+IEV2bToKICAgICMgdGFrZSBzbmFwc2hvdCBvZiBzdGF0ZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgbWVzc2FnZQogICAgYmVnaW5fdHJhbnNhY3Rpb24oZW52LnN0YXRlKQoKICAgIGV2bSA9IHByb2Nlc3NfbWVzc2FnZShtZXNzYWdlLCBlbnYpCiAgICBpZiBub3QgZXZtLmhhc19lcnJlZDoKICAgICAgICBjb250cmFjdF9jb2RlID0gZXZtLm91dHB1dAogICAgICAgIGNvbnRyYWN0X2NvZGVfZ2FzID0gbGVuKGNvbnRyYWN0X2NvZGUpICogR0FTX0NPREVfREVQT1NJVAogICAgICAgIHRyeToKICAgICAgICAgICAgY2hhcmdlX2dhcyhldm0sIGNvbnRyYWN0X2NvZGVfZ2FzKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb25hbEhhbHQ6CiAgICAgICAgICAgIHJvbGxiYWNrX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgICAgICAgICAgZXZtLmdhc19sZWZ0ID0gVTI1NigwKQogICAgICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNldF9jb2RlKGVudi5zdGF0ZSwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCwgY29udHJhY3RfY29kZSkKICAgICAgICAgICAgY29tbWl0X3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgIGVsc2U6CiAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgcmV0dXJuIGV2bQqUhZSBlH2UKGgFaAZoIGq1DgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllIxZL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9zcmMvZXRoZXJldW0vZGFvX2Zvcmsvdm0vaW50ZXJwcmV0ZXIucHmUjAl4bWw6c3BhY2WUapQCAACMBWZvcmNllImMCGxhbmd1YWdllIwGcHl0aG9ulIwOaGlnaGxpZ2h0X2FyZ3OUfZRqKQcAAEsBc4wHbGluZW5vc5SJdWgcahEHAABoHWgeaB9LpWggahUNAAB1YmVoDn2UKGgQXZRqtgEAAGFoE12UaBVdlIwWcHJvY2Vzc19jcmVhdGVfbWVzc2FnZZRhaBddlGgZXZR1aBxoM2gdaB5oH0uUaCBqnAYAAGghaAN1Ymg0KYGUfZQoaAVoBmgHXZQoaDkpgZR9lChoBYwPcHJvY2Vzc19t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X2VycmVkOgogICAgICAgICMgcmV2ZXJ0IHN0YXRlIHRvIHRoZSBsYXN0IHNhdmVkIGNoZWNrcG9pbnQKICAgICAgICAjIHNpbmNlIHRoZSBtZXNzYWdlIGNhbGwgcmVzdWx0ZWQgaW4gYW4gZXJyb3IKICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICBlbHNlOgogICAgICAgIGNvbW1pdF90cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICByZXR1cm4gZXZtCpRoB12UaD9Y8wIAAGRlZiBwcm9jZXNzX21lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudCkgLT4gRXZtOgogICAgaWYgbWVzc2FnZS5kZXB0aCA+IFNUQUNLX0RFUFRIX0xJTUlUOgogICAgICAgIHJhaXNlIFN0YWNrRGVwdGhMaW1pdEVycm9yKCJTdGFjayBkZXB0aCBsaW1pdCByZWFjaGVkIikKCiAgICAjIHRha2Ugc25hcHNob3Qgb2Ygc3RhdGUgYmVmb3JlIHByb2Nlc3NpbmcgdGhlIG1lc3NhZ2UKICAgIGJlZ2luX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKCiAgICB0b3VjaF9hY2NvdW50KGVudi5zdGF0ZSwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCkKCiAgICBpZiBtZXNzYWdlLnNob3VsZF90cmFuc2Zlcl92YWx1ZSBhbmQgbWVzc2FnZS52YWx1ZSAhPSAwOgogICAgICAgIG1vdmVfZXRoZXIoCiAgICAgICAgICAgIGVudi5zdGF0ZSwgbWVzc2FnZS5jYWxsZXIsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQsIG1lc3NhZ2UudmFsdWUKICAgICAgICApCgogICAgZXZtID0gZXhlY3V0ZV9jb2RlKG1lc3NhZ2UsIGVudikKICAgIGlmIGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgIyByZXZlcnQgc3RhdGUgdG8gdGhlIGxhc3Qgc2F2ZWQgY2hlY2twb2ludAogICAgICAgICMgc2luY2UgdGhlIG1lc3NhZ2UgY2FsbCByZXN1bHRlZCBpbiBhbiBlcnJvcgogICAgICAgIHJvbGxiYWNrX3Ry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aW5hdGlvbnMgPSBnZXRfdmFsaWRfanVtcF9kZXN0aW5hdGlvbnMoY29kZSkKICAgIGV2bSA9IEV2bSgKICAgICAgICBwYz1VaW50KDApLAogICAgICAgIHN0YWNrPVtdLAogICAgICAgIG1lbW9yeT1ieXRlYXJyYXkoKSwKICAgICAgICBjb2RlPWNvZGUsCiAgICAgICAgZ2FzX2xlZnQ9bWVzc2FnZS5nYXMsCiAgICAgICAgZW52PWVudiwKICAgICAgICB2YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucz12YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucywKICAgICAgICBsb2dzPSgpLAogICAgICAgIHJlZnVuZF9jb3VudGVyPVUyNTYoMCksCiAgICAgICAgcnVubmluZz1UcnVlLAogICAgICAgIG1lc3NhZ2U9bWVzc2FnZSwKICAgICAgICBvdXRwdXQ9YiIiLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1zZXQoKSwKICAgICAgICBoYXNfZXJyZWQ9RmFsc2UsCiAgICAgICAgY2hpbGRyZW49W10sCiAgICApCiAgICB0cnk6CgogICAgICAgIGlmIGV2bS5tZXNzYWdlLmNvZGVfYWRkcmVzcyBpbiBQUkVfQ09NUElMRURfQ09OVFJBQ1RTOgogICAgICAgICAgICBldm1fdHJhY2UoZXZtLCBldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3MpCiAgICAgICAgICAgIFBSRV9DT01QSUxFRF9DT05UUkFDVFNbZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzXShldm0pCiAgICAgICAgICAgIHJldHVybiBldm0KCiAgICAgICAgd2hpbGUgZXZtLnJ1bm5pbmcgYW5kIGV2bS5wYyA8IGxlbihldm0uY29kZSk6CiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIG9wID0gT3BzKGV2bS5jb2RlW2V2bS5wY10pCiAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZE9wY29kZShldm0uY29kZVtldm0ucGNdKQoKICAgICAgICAgICAgZXZtX3RyYWNlKGV2bSwgb3ApCiAgICAgICAgICAgIG9wX2ltcGxlbWVudGF0aW9uW29wXShldm0pCgogICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgZXZtLmhhc19lcnJlZCA9IFRydWUKICAgIHJldHVybiBldm0KlGgHXZQoaD9YGAIAAGRlZiBleGVjdXRlX2NvZGUobWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudCkgLT4gRXZtOgogICAgY29kZSA9IG1lc3NhZ2UuY29kZQogICAgdmFsaWRfanVtcF9kZXN0aW5hdGlvbnMgPSBnZXRfdmFsaWRfanVtcF9kZXN0aW5hdGlvbnMoY29kZSkKICAgIGV2bSA9IEV2bSgKICAgICAgICBwYz1VaW50KDApLAogICAgICAgIHN0YWNrPVtdLAogICAgICAgIG1lbW9yeT1ieXRlYXJyYXkoKSwKICAgICAgICBjb2RlPWNvZGUsCiAgICAgICAgZ2FzX2xlZnQ9bWVzc2FnZS5nYXMsCiAgICAgICAgZW52PWVudiwKICAgICAgICB2YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucz12YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucywKICAgICAgICBsb2dzPSgpLAogICAgICAgIHJlZnVuZF9jb3VudGVyPVUyNTYoMCksCiAgICAgICAgcnVubmluZz1UcnVlLAogICAgICAgIG1lc3NhZ2U9bWVzc2FnZSwKICAgICAgICBvdXRwdXQ9YiIiLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1zZXQoKSwKICAgICAgICBoYXNfZXJyZWQ9RmFsc2UsCiAgICAgICAglIWUgZR9lChoBWgGaCBqMxIAAGghaANoHWhEaB9LAHVialUJAAApgZR9lChoBWgGaAddlGg/jBFjaGlsZHJlbj1bXSwKICAgIJSFlIGUfZQoaAVoBmggajsSAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UjA5jaGFuZ2UtcmVtb3ZlZJRhaBVdlGgXXZRoGV2UdWgcalQJAABoIGozEgAAaCFoA2gdaERoH0sAdWJoP1hQAgAAKQogICAgdHJ5OgoKICAgICAgICBpZiBldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3MgaW4gUFJFX0NPTVBJTEVEX0NPTlRSQUNUUzoKICAgICAgICAgICAgZXZtX3RyYWNlKGV2bSwgZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzKQogICAgICAgICAgICBQUkVfQ09NUElMRURfQ09OVFJBQ1RTW2V2bS5tZXNzYWdlLmNvZGVfYWRkcmVzc10oZXZtKQogICAgICAgICAgICByZXR1cm4gZXZtCgogICAgICAgIHdoaWxlIGV2bS5ydW5uaW5nIGFuZCBldm0ucGMgPCBsZW4oZXZtLmNvZGUpOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBvcCA9IE9wcyhldm0uY29kZVtldm0ucGNdKQogICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgIHJhaXNlIEludmFsaWRPcGNvZGUoZXZtLmNvZGVbZXZtLnBjXSkKCiAgICAgICAgICAgIGV2bV90cmFjZShldm0sIG9wKQogICAgICAgICAgICBvcF9pbXBsZW1lbnRhdGlvbltvcF0oZXZtKQoKICAgIGV4Y2VwdCBFeGNlcHRpb25hbEhhbHQ6CiAgICAgICAgZXZtLmdhc19sZWZ0ID0gVTI1NigwKQogICAgICAgIGV2bS5oYXNfZXJyZWQgPSBUcnVlCiAgICByZXR1cm4gZXZtCpSFlIGUfZQoaAVoBmggajMSAABoIWgDaB1oRGgfSwB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9kYW9fZm9yay92bS9pbnRlcnByZXRlci5weZSMCXhtbDpzcGFjZZRqlAIAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGopBwAASwFzjAdsaW5lbm9zlIl1aBxqEQcAAGgdaB5oH0vRaCBqkRAAAGghaAN1YmVoDn2UKGgQXZRq+gEAAGFoE12UaBVdlIwMZXhlY3V0ZV9jb2RllGFoF12UaBldlHVoHGgzaB1oHmgf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X3RvX2RlbGV0ZShldm06IEV2bSkgLT4gU2V0W0FkZHJlc3NdOgogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICByZXR1cm4gc2V0KCkKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIHNldCgKICAgICAgICAgICAgY2hhaW4oCiAgICAgICAgICAgICAgICBldm0uYWNjb3VudHNfdG9fZGVsZXRlLAogICAgICAgICAgICAgICAgKihjb2xsZWN0X2FjY291bnRzX3RvX2RlbGV0ZShjaGlsZCkgZm9yIGNoaWxkIGluIGV2bS5jaGlsZHJlbiksCiAgICAgICAgICAgICkKICAgICAgICApCpRoB12UaD9YJgEAAGRlZiBjb2xsZWN0X2FjY291bnRzX3RvX2RlbGV0ZShldm06IEV2bSkgLT4gU2V0W0FkZHJlc3NdOgogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICByZXR1cm4gc2V0KCkKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIHNldCgKICAgICAgICAgICAgY2hhaW4oCiAgICAgICAgICAgICAgICBldm0uYWNjb3VudHNfdG9fZGVsZXRlLAogICAgICAgICAgICAgICAgKihjb2xsZWN0X2FjY291bnRzX3RvX2RlbGV0ZShjaGlsZCkgZm9yIGNoaWxkIGluIGV2bS5jaGlsZHJlbiksCiAgICAgICAgICAgICkKICAgICAgICApCpSFlIGUfZQoaAVoBmggasUTAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9kYW9fZm9yay92bS9pbnRlcnByZXRlci5weZSMCXhtbDpzcGFjZZRqlAIAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGopBwAASwFzjAdsaW5lbm9zlIl1aBxqEQcAAGgdaB5oH0voaCBqYxIAAHViZWgOfZQoaBBdlGocAgAAYWgTXZSMDmNoYW5nZS1yZW1vdmVklGFoFV2UjBpjb2xsZWN0X2FjY291bnRzX3RvX2RlbGV0ZZRhaBddlGgZXZR1aBxoM2gdaB5oH0vWaCBqnAYAAGghaAN1Ymg0KYGUfZQoaAVoBmgHXZQoaDkpgZR9lChoBYwUY2FsY3VsYXRlX2dhc19yZWZ1bmSUaAddlGg/jBRjYWxjdWxhdGVfZ2FzX3JlZnVuZJSFlIGUfZQoaAVoBmggaucTAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9L7WggauQTAAB1YmgkKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAdlbnRyaWVzlF2UdWgcaCNoHU5oH05oIGrkEwAAdWJqzgYAACmBlH2UKGgFaAZoB12UKGrTBgAAKYGUfZQoaAWMGWNhbGN1bGF0ZV9nYXNfcmVmdW5kKGV2bSmUaAddlChq2QYAACmBlH2UKGgFjBRjYWxjdWxhdGVfZ2FzX3JlZnVuZJRoB12UaD+MFGNhbGN1bGF0ZV9nYXNfcmVmdW5klIWUgZR9lChoBWgGaCBqBxQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoauQGAABq5QYAAGrmBgAAaucGAABlaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUapQCAAB1aBxq2AYAAGgdaB5oH05oIGoDFAAAdWJqoQoAACmBlH2UKGgFjANldm2UaAddlGqnCgAAKYGUfZQoaAWMA2V2bZRoB12UalUJAAApgZR9lChoBWgGaAddlGg/jANldm2UhZSBlH2UKGgFaAZoIGoeFAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGq2CgAAYWgVXZRoF12UaBldlHVoHGpUCQAAaB1OaB9OaCBqGhQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqlAIAAHVoHGqmCgAAaB1OaB9OaCBqFhQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqlAIAAHVoHGqgCgAAaB1oHmgfTmggagMUAAB1YmVoDn2UKGgQXZSMNWV0aGVyZXVtLmRhb19mb3JrLnZtLmludGVycHJldGVyLmNhbGN1bGF0ZV9nYXNfcmVmdW5klGFoE12UKGrvBgAAavAGAACMAnB5lGryBgAAavMGAABlaBVdlGgXXZRoGV2UjAZtb2R1bGWUavgGAACMBWNsYXNzlGgGjAhmdWxsbmFtZZRqCRQAAHVoHGrSBgAAaB1oHmgfS/BoIGoAFAAAdWJq/AYAACmBlH2UKGgFaAZoB12UKGhpKYGUfZQoaAWMUkFkZHMgdXAgdGhlIGdhcyB0aGF0IHdhcyByZWZ1bmRlZCBpbiBlYWNoIGV4ZWN1dGlvbiBmcmFtZSBkdXJpbmcgdGhlCm1lc3NhZ2UgY2FsbC6UaAddlGg/jFJBZGRzIHVwIHRoZSBnYXMgdGhhdCB3YXMgcmVmdW5kZWQgaW4gZWFjaCBleGVjdXRpb24gZnJhbWUgZHVyaW5nIHRoZQptZXNzYWdlIGNhbGwulIWUgZR9lChoBWgGaCBqRxQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdaB5oH0vzaCBqRBQAAHViajMLAAApgZR9lChoBWgGaAddlChqOAsAACmBlH2UKGgFaAZoB12UKGo9CwAAKYGUfZQoaAWMClBhcmFtZXRlcnOUaAddlGg/jApQYXJhbWV0ZXJzlIWUgZR9lChoBWgGaCBqWxQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqPAsAAGgdaB5oH0sAaCBqWBQAAHViak0LAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMHWV2bSAtLSBUaGUgY3VycmVudCBFVk0gZnJhbWUulGgHXZQoalwLAAApgZR9lChoBYwDZXZtlGgHXZRoP4wDZXZtlIWUgZR9lChoBWgGaCBqcBQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMC3JlZnNwZWNpZmljlIiMCXB5Om1vZHVsZZRq+AYAAIwIcHk6Y2xhc3OUTnVoHGpbCwAAaB1OaB9OaCBqbBQAAHViaD+MGyDigJMgVGhlIGN1cnJlbnQgRVZNIGZyYW1lLpSFlIGUfZQoaAVoBmggamwUAABoIWgDaB1oRGgfSwB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHU5oH05oIGppFAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGpMCwAAaB1OaB9OaCBqWBQAAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqNwsAAGgdTmgfTmggalUUAAB1Ymo4CwAAKYGUfZQoaAVoBmgHXZQoaj0LAAApgZR9lChoBYwHUmV0dXJuc5RoB12UaD+MB1JldHVybnOUhZSBlH2UKGgFaAZoIGqaFAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGo8CwAAaB1oHmgfSwBoIGqXFAAAdWJqTQsAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxfZ2FzX3JlZnVuZCAtLSByZXR1cm5zIHRoZSB0b3RhbCBnYXMgdGhhdCBuZWVkcyB0byBiZSByZWZ1bmRlZCBhZnRlciBleGVjdXRpbmcgdGhlCm1lc3NhZ2UgY2FsbC6UaAddlChq0QsAACmBlH2UKGgFjA4qKmdhc19yZWZ1bmQqKpRoB12UaD+MCmdhc19yZWZ1bmSUhZSBlH2UKGgFaAZoIGqvFAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGrQCwAAaB1OaB9OaCBqqxQAAHViaD+MViDigJMgcmV0dXJucyB0aGUgdG90YWwgZ2FzIHRoYXQgbmVlZHMgdG8gYmUgcmVmdW5kZWQgYWZ0ZXIgZXhlY3V0aW5nIHRoZQptZXNzYWdlIGNhbGwulIWUgZR9lChoBWgGaCBqqxQAAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggaqgUAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcakwLAABoHU5oH05oIGqXFAAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGo3CwAAaB1OaB9OaCBqVRQAAHViajgLAAApgZR9lChoBWgGaAddlChqPQsAACmBlH2UKGgFjAtSZXR1cm4gdHlwZZRoB12UaD+MC1JldHVybiB0eXBllIWUgZR9lChoBWgGaCBq1hQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqPAsAAGgdaB5oH0sAaCBq0xQAAHViak0LAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMGGV0aGVyZXVtLmJhc2VfdHlwZXMuVTI1NpRoB12UavMDAAApgZR9lChoBYwaYGV0aGVyZXVtLmJhc2VfdHlwZXMuVTI1NmCUaAddlGg/jBhldGhlcmV1bS5iYXNlX3R5cGVzLlUyNTaUhZSBlH2UKGgFaAZoIGrrFAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGryAwAAaB1OaB9OaCBq5xQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggauQUAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcakwLAABoHU5oH05oIGrTFAAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGo3CwAAaB1OaB9OaCBqVRQAAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqMgsAAGgdTmgfTmggakQUAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcavsGAABoHWgeaB9OaCBqABQAAHViZWgOfZQoaBBdlGgTXZQoaj0UAACMCGZ1bmN0aW9ulGVoFV2UaBddlGgZXZSMBmRvbWFpbpRqPRQAAIwHb2JqdHlwZZRqGhUAAIwIZGVzY3R5cGWUahoVAACMB25vaW5kZXiUiXVoHGrNBgAAaB1OaB9OaCBq5BMAAHViahIHAAApgZR9lChoBYzgZGVmIGNhbGN1bGF0ZV9nYXNfcmVmdW5kKGV2bTogRXZtKSAtPiBVMjU2OgogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICByZXR1cm4gVTI1NigwKQogICAgZWxzZToKICAgICAgICByZXR1cm4gZXZtLnJlZnVuZF9jb3VudGVyICsgc3VtKAogICAgICAgICAgICBjYWxjdWxhdGVfZ2FzX3JlZnVuZChjaGlsZF9ldm0pIGZvciBjaGlsZF9ldm0gaW4gZXZtLmNoaWxkcmVuCiAgICAgICAgKQqUaAddlGg/jOBkZWYgY2FsY3VsYXRlX2dhc19yZWZ1bmQoZXZtOiBFdm0pIC0+IFUyNTY6CiAgICBpZiBldm0uaGFzX2VycmVkOgogICAgICAgIHJldHVybiBVMjU2KDApCiAgICBlbHNlOgogICAgICAgIHJldHVybiBldm0ucmVmdW5kX2NvdW50ZXIgKyBzdW0oCiAgICAgICAgICAgIGNhbGN1bGF0ZV9nYXNfcmVmdW5kKGNoaWxkX2V2bSkgZm9yIGNoaWxkX2V2bSBpbiBldm0uY2hpbGRyZW4KICAgICAgICApCpSFlIGUfZQoaAVoBmggaiIVAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9kYW9fZm9yay92bS9pbnRlcnByZXRlci5weZSMCXhtbDpzcGFjZZRqlAIAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGopBwAASwFzjAdsaW5lbm9zlIl1aBxqEQcAAGgdaB5oH0v/aCBq5BMAAHViZWgOfZQoaBBdlGo/AgAAYWgTXZSMDmNoYW5nZS1yZW1vdmVklGFoFV2UjBRjYWxjdWxhdGVfZ2FzX3JlZnVuZJRhaBddlGgZXZR1aBxoM2gdaB5oH0vtaCBqnAYAAGghaAN1YmVoDn2UKGgQXZRqMQEAAGFoE12UaBVdlIwObW9kdWxlIGRldGFpbHOUYWgXXZRoGV2UdWgcaDNoHWgeaB9LNmggaDVoIWgDdWJlaA59lChoEF2UjChldGhlcmV1bS12aXJ0dWFsLW1hY2hpbmUtZXZtLWludGVycHJldGVylGFoE12UaBVdlIwqZXRoZXJldW0gdmlydHVhbCBtYWNoaW5lIChldm0pIGludGVycHJldGVylGFoF12UaBldlHVoHGgzaB1oHmgfSwRoIGgDaCFoA3ViZZWoCAAAAAAAAGgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZRoRHVoHGgBjA5jdXJyZW50X3NvdXJjZZRoRIwMY3VycmVudF9saW5llEsAjAhzZXR0aW5nc5SMEWRvY3V0aWxzLmZyb250ZW5klIwGVmFsdWVzlJOUKYGUfZQojAxyZXBvcnRfbGV2ZWyUSwKMCmhhbHRfbGV2ZWyUSwSMEWV4aXRfc3RhdHVzX2xldmVslEsFjAVkZWJ1Z5ROjA53YXJuaW5nX3N0cmVhbZROjAl0cmFjZWJhY2uUTowPb3V0cHV0X2VuY29kaW5nlIwFdXRmLTiUjB1vdXRwdXRfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMEXhtbGNoYXJyZWZyZXBsYWNllIwOZXJyb3JfZW5jb2RpbmeUjAV1dGYtOJSMHGVycm9yX2VuY29kaW5nX2Vycm9yX2hhbmRsZXKUjBBiYWNrc2xhc2hyZXBsYWNllIwTcmVjb3JkX2RlcGVuZGVuY2llc5SMDmRvY3V0aWxzLnV0aWxzlIwORGVwZW5kZW5jeUxpc3SUk5QpgZR9lCiMBGxpc3SUXZSMBGZpbGWUTnVijAZjb25maWeUTowNZHVtcF9zZXR0aW5nc5ROjA5kdW1wX2ludGVybmFsc5ROjA9kdW1wX3RyYW5zZm9ybXOUTowPZHVtcF9wc2V1ZG9feG1slE6MEGV4cG9zZV9pbnRlcm5hbHOUTowOc3RyaWN0X3Zpc2l0b3KUTowPX2Rpc2FibGVfY29uZmlnlE6MB19zb3VyY2WUTowMX2Rlc3RpbmF0aW9ulIxCZG9jL2RpZmZzL2Rhb19mb3JrX3RhbmdlcmluZV93aGlzdGxlL3ZtL2ludGVycHJldGVyL2luZGV4LnBpY2tsZTY0lIwNX2NvbmZpZ19maWxlc5RdlIwRbGluZV9sZW5ndGhfbGltaXSUTRAnjAl0YWJfd2lkdGiUSwiMEHN5bnRheF9oaWdobGlnaHSUjARsb25nlIwMc21hcnRfcXVvdGVzlImME3NtYXJ0cXVvdGVzX2xvY2FsZXOUTowdY2hhcmFjdGVyX2xldmVsX2lubGluZV9tYXJrdXCUiYwGd3JpdGVylIwDeG1slIwZY29tcGFyZV9zZWN0aW9uc19ieV9uYW1lc5RLAYwMZHVtcF9yc3RkaWZmlE6MBV9ib3RolH2UKGg4TowJZ2VuZXJhdG9ylE6MCWRhdGVzdGFtcJROjAtzb3VyY2VfbGlua5ROjApzb3VyY2VfdXJslE6MDXRvY19iYWNrbGlua3OUav0CAACMEmZvb3Rub3RlX2JhY2tsaW5rc5RLAYwNc2VjdG51bV94Zm9ybZRLAYwOZG9jdGl0bGVfeGZvcm2USwGMDWRvY2luZm9feGZvcm2USwGMEnNlY3RzdWJ0aXRsZV94Zm9ybZRLAIwOc3RyaXBfY29tbWVudHOUTowOaW5wdXRfZW5jb2RpbmeUTowcaW5wdXRfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMBnN0cmljdJSMDWxhbmd1YWdlX2NvZGWUjAJlbpSMDnBlcF9yZWZlcmVuY2VzlE6MDHBlcF9iYXNlX3VybJSMH2h0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy+UjBVwZXBfZmlsZV91cmxfdGVtcGxhdGWUjAhwZXAtJTA0ZJSMDnJmY19yZWZlcmVuY2VzlE6MDHJmY19iYXNlX3VybJSMG2h0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL5SMHXRyaW1fZm9vdG5vdGVfcmVmZXJlbmNlX3NwYWNllE6MFmZpbGVfaW5zZXJ0aW9uX2VuYWJsZWSUSwGMC3Jhd19lbmFibGVklEsBjA5hdXRvX2lkX3ByZWZpeJSMAmlklIwJaWRfcHJlZml4lGgGjBtzdHJpcF9lbGVtZW50c193aXRoX2NsYXNzZXOUTowNc3RyaXBfY2xhc3Nlc5ROdYwEYm90aJR9lIwKX29wdGlvbnNUb5SMBV9ib3RolIwLX29sZF9zb3VyY2WUjE8vaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzLy50b3gvZG9jcy9zdGFnZTBfb3V0L2F1dG9hcGkvlIwLX25ld19zb3VyY2WUjAlkb2MvZGlmZnOUap4VAABqnxUAAIwWaWdub3JlX2luX3NlY3Rpb25fbmFtZZRdlCiMA2Rhb5SMBGZvcmuUjAl0YW5nZXJpbmWUjAd3aGlzdGxllGV1YowIcmVwb3J0ZXKUTowQaW5kaXJlY3RfdGFyZ2V0c5RdlIwRc3Vic3RpdHV0aW9uX2RlZnOUfZSMEnN1YnN0aXR1dGlvbl9uYW1lc5R9lIwIcmVmbmFtZXOUfZSMBnJlZmlkc5R9lIwHbmFtZWlkc5R9lIwJbmFtZXR5cGVzlH2UaBB9lIwNZm9vdG5vdGVfcmVmc5R9lIwNY2l0YXRpb25fcmVmc5R9lIwNYXV0b2Zvb3Rub3Rlc5RdlIwRYXV0b2Zvb3Rub3RlX3JlZnOUXZSMEHN5bWJvbF9mb290bm90ZXOUXZSMFHN5bWJvbF9mb290bm90ZV9yZWZzlF2UjAlmb290bm90ZXOUXZSMCWNpdGF0aW9uc5RdlIwSYXV0b2Zvb3Rub3RlX3N0YXJ0lEsBjBVzeW1ib2xfZm9vdG5vdGVfc3RhcnSUSwCMCmlkX2NvdW50ZXKUjAtjb2xsZWN0aW9uc5SMB0NvdW50ZXKUk5R9lIWUUpSMDnBhcnNlX21lc3NhZ2VzlF2UjBJ0cmFuc2Zvcm1fbWVzc2FnZXOUXZSMC3RyYW5zZm9ybWVylE6MC2luY2x1ZGVfbG9nlF2UjApkZWNvcmF0aW9ulE5oIWgDdWIu