IyEvYmluL3NoCgojICRJZCQKCiMgICBDb250cmlidXRpb25zIGJ5OgojICAgICAgQXNzYWYgQXJraW4KIyAgICAgIERhdmlkIEJsZXZpbnMKIyAgICAgIEfpcmFsZCBRdWludGFuYQojICAgICAgTWVzdXQgQ2VsaWsKIyAgICAgIFBpemVyIENoZW4gIDxpY2VhbnRAMjFjbi5jb20+CgppZiBbIC16ICIkSkFWQV9IT01FIiBdIDsgdGhlbgogIEpBVkE9YHdoaWNoIGphdmFgCiAgaWYgWyAteiAiJEpBVkEiIF0gOyB0aGVuCiAgICBlY2hvICJDYW5ub3QgZmluZCBKQVZBLiBQbGVhc2Ugc2V0IHlvdXIgUEFUSC4iCiAgICBleGl0IDEKICBmaQogIEpBVkFfQklOPWBkaXJuYW1lICRKQVZBYAogIEpBVkFfSE9NRT0kSkFWQV9CSU4vLi4KZmkKCmlmIFsgLXogIiRPU1RZUEUiIF0gOyB0aGVuCiAgZWNobyAiT1NUWVBFIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQuICBDYW5ub3QgZGV0ZXJtaW5lIHRoZSBob3N0IG9wZXJhdGluZyBzeXN0ZW0hIiAKICBleGl0IDEKZmkKCiMgUFMgc3RhbmRzIGZvciBQQVRIX1NFUEFSQVRPUiAKUFM9JzonCmlmIFsgJE9TVFlQRSA9ICJjeWd3aW4zMiIgXSB8fCBbICRPU1RZUEUgPSAiY3lnd2luIiBdIDsgdGhlbgogICAgUFM9JzsnCmZpCgpKQVZBPSRKQVZBX0hPTUUvYmluL2phdmEKCkNQPQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojIFBVVCAqLmphciBmaWxlIHRvICRDUApmb3IgaSBpbiBsaWIvKi5qYXIgOyBkbyAKICAgIGlmIFsgLWYgJGkgXTsgdGhlbgogICAgCUNQPSRpJHtQU30kQ1AKICAgIGZpCmRvbmUKdW5zZXQgaQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojIHB1dCAqLnppcCBmaWxlIHRvICRDUApmb3IgaSBpbiBsaWIvKi56aXAgOyBkbyAKICAgIGlmIFsgLWYgJGkgXTsgdGhlbgogICAgCUNQPSRpJHtQU30kQ1AKICAgIGZpCmRvbmUKdW5zZXQgaQoKQ1A9JEpBVkFfSE9NRS9saWIvdG9vbHMuamFyJHtQU30ke0NQfQpDUD1saWIveGVyY2VzLUpfMS4zLjEuamFyJHtQU30ke0NQfQpDUD1saWIvZWpiLTEuMC5qYXIke1BTfSR7Q1B9CkNQPXRlc3QvbGliL2p1bml0XzMuNS5qYXIke1BTfSR7Q1B9CkNQPXRlc3QvbGliL2lkYl8zLjI2LmphciR7UFN9JHtDUH0KQ0xBU1NQQVRIPSRDUAoKJEpBVkEgLWNsYXNzcGF0aCAkQ0xBU1NQQVRIIC1EYW50LmhvbWU9bGliIG9yZy5hcGFjaGUudG9vbHMuYW50Lk1haW4gIiRAIiAtYnVpbGRmaWxlIHNyYy9idWlsZC54bWwKCg==