Ly0tIFRoaXMgc2V0IG9mIHRlc3RzIGlzIGZvciBmZWF0dXJlcyB0aGF0IGFyZSBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mCiAgICBQZXJsIDUsIGluIG5vbi1VVEYtOCBtb2RlLiAtLS8KCi90aGUgcXVpY2sgYnJvd24gZm94LwogICAgdGhlIHF1aWNrIGJyb3duIGZveAogICAgVGhlIHF1aWNrIGJyb3duIEZPWAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCB0aGUgcXVpY2sgYnJvd24gZm94PwogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwoKL1RoZSBxdWljayBicm93biBmb3gvaQogICAgdGhlIHF1aWNrIGJyb3duIGZveAogICAgVGhlIHF1aWNrIGJyb3duIEZPWAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCB0aGUgcXVpY2sgYnJvd24gZm94PwogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwoKL2FiY2RcdFxuXHJcZlxhXGVcMDcxXHgzYlwkXFxcP2NheHl6LwogICAgYWJjZFx0XG5cclxmXGFcZTk7XCRcXD9jYXh5egoKL2EqYWJjP3h5eitwcXJ7M31hYnsyLH14eXs0LDV9cHF7MCw2fUFCezAsfXp6LwogICAgYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcXFBenoKICAgIGFhYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYnh5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJ4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFiY3h5enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYmN4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYmN4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBQnp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQUJCenoKICAgID4+PmFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgID5hYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgPj4+PmFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgKioqIEZhaWxlcnMKICAgIGFieHl6cHFycmFiYnh5eXl5cHFBenoKICAgIGFieHl6cHFycnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXpwcXJycmFieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXl5eXBxQXp6CiAgICBhYWFhYmN4eXp6enpwcXJycmFiYmJ4eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcXFxQXp6CgovXihhYmMpezEsMn16ei8KICAgIGFiY3p6CiAgICBhYmNhYmN6egogICAgKioqIEZhaWxlcnMKICAgIHp6CiAgICBhYmNhYmNhYmN6egogICAgPj5hYmN6egoKL14oYis/fGEpezEsMn0/Yy8KICAgIGJjCiAgICBiYmMKICAgIGJiYmMKICAgIGJhYwogICAgYmJhYwogICAgYWFjCiAgICBhYmJiYmJiYmJiYmJjCiAgICBiYmJiYmJiYmJiYmFjCiAgICAqKiogRmFpbGVycwogICAgYWFhYwogICAgYWJiYmJiYmJiYmJiYWMKCi9eKGIrfGEpezEsMn1jLwogICAgYmMKICAgIGJiYwogICAgYmJiYwogICAgYmFjCiAgICBiYmFjCiAgICBhYWMKICAgIGFiYmJiYmJiYmJiYmMKICAgIGJiYmJiYmJiYmJiYWMKICAgICoqKiBGYWlsZXJzCiAgICBhYWFjCiAgICBhYmJiYmJiYmJiYmJhYwoKL14oYit8YSl7MSwyfT9iYy8KICAgIGJiYwoKL14oYip8YmEpezEsMn0/YmMvCiAgICBiYWJjCiAgICBiYmFiYwogICAgYmFiYWJjCiAgICAqKiogRmFpbGVycwogICAgYmFiYWJiYwogICAgYmFiYWJhYmMKCi9eKGJhfGIqKXsxLDJ9P2JjLwogICAgYmFiYwogICAgYmJhYmMKICAgIGJhYmFiYwogICAgKioqIEZhaWxlcnMKICAgIGJhYmFiYmMKICAgIGJhYmFiYWJjCgovXlxjYVxjQVxjW1xje1xjOi8KICAgIFx4MDFceDAxXGU7egoKL15bYWJcXWNkZV0vCiAgICBhdGhpbmcKICAgIGJ0aGluZwogICAgXXRoaW5nCiAgICBjdGhpbmcKICAgIGR0aGluZwogICAgZXRoaW5nCiAgICAqKiogRmFpbGVycwogICAgZnRoaW5nCiAgICBbdGhpbmcKICAgIFxcdGhpbmcKCi9eW11jZGVdLwogICAgXXRoaW5nCiAgICBjdGhpbmcKICAgIGR0aGluZwogICAgZXRoaW5nCiAgICAqKiogRmFpbGVycwogICAgYXRoaW5nCiAgICBmdGhpbmcKCi9eW15hYlxdY2RlXS8KICAgIGZ0aGluZwogICAgW3RoaW5nCiAgICBcXHRoaW5nCiAgICAqKiogRmFpbGVycwogICAgYXRoaW5nCiAgICBidGhpbmcKICAgIF10aGluZwogICAgY3RoaW5nCiAgICBkdGhpbmcKICAgIGV0aGluZwoKL15bXl1jZGVdLwogICAgYXRoaW5nCiAgICBmdGhpbmcKICAgICoqKiBGYWlsZXJzCiAgICBddGhpbmcKICAgIGN0aGluZwogICAgZHRoaW5nCiAgICBldGhpbmcKCi9eXIEvCiAgICCBCgovXv8vCiAgICD/CgovXlswLTldKyQvCiAgICAwCiAgICAxCiAgICAyCiAgICAzCiAgICA0CiAgICA1CiAgICA2CiAgICA3CiAgICA4CiAgICA5CiAgICAxMAogICAgMTAwCiAgICAqKiogRmFpbGVycwogICAgYWJjCgovXi4qbnRlci8KICAgIGVudGVyCiAgICBpbnRlcgogICAgdXBvbnRlcgoKL154eHhbMC05XSskLwogICAgeHh4MAogICAgeHh4MTIzNAogICAgKioqIEZhaWxlcnMKICAgIHh4eAoKL14uK1swLTldWzAtOV1bMC05XSQvCiAgICB4MTIzCiAgICB4eDEyMwogICAgMTIzNDU2CiAgICAqKiogRmFpbGVycwogICAgMTIzCiAgICB4MTIzNAoKL14uKz9bMC05XVswLTldWzAtOV0kLwogICAgeDEyMwogICAgeHgxMjMKICAgIDEyMzQ1NgogICAgKioqIEZhaWxlcnMKICAgIDEyMwogICAgeDEyMzQKCi9eKFteIV0rKSEoLispPWFwcXV4elwuaXhyXC56enpcLmFjXC51ayQvCiAgICBhYmMhcHFyPWFwcXV4ei5peHIuenp6LmFjLnVrCiAgICAqKiogRmFpbGVycwogICAgIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51awogICAgYWJjIT1hcHF1eHouaXhyLnp6ei5hYy51awogICAgYWJjIXBxcj1hcHF1eHo6aXhyLnp6ei5hYy51awogICAgYWJjIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51a2sKCi86LwogICAgV2VsbCwgd2UgbmVlZCBhIGNvbG9uOiBzb21ld2hlcmUKICAgICoqKiBGYWlsIGlmIHdlIGRvbid0CgovKFtcZGEtZjpdKykkL2kKICAgIDBhYmMKICAgIGFiYwogICAgZmVkCiAgICBFCiAgICA6OgogICAgNWYwMzoxMkMwOjo5MzJlCiAgICBmZWQgZGVmCiAgICBBbnkgb2xkIHN0dWZmCiAgICAqKiogRmFpbGVycwogICAgMHp6egogICAgZ3p6egogICAgZmVkXHgyMAogICAgQW55IG9sZCBydWJiaXNoCgovXi4qXC4oXGR7MSwzfSlcLihcZHsxLDN9KVwuKFxkezEsM30pJC8KICAgIC4xLjIuMwogICAgQS4xMi4xMjMuMAogICAgKioqIEZhaWxlcnMKICAgIC4xLjIuMzMzMwogICAgMS4yLjMKICAgIDEyMzQuMi4zCgovXihcZCspXHMrSU5ccytTT0FccysoXFMrKVxzKyhcUyspXHMqXChccyokLwogICAgMSBJTiBTT0Egbm9uLXNwMSBub24tc3AyKAogICAgMSAgICBJTiAgICBTT0EgICAgbm9uLXNwMSAgICBub24tc3AyICAgKAogICAgKioqIEZhaWxlcnMKICAgIDFJTiBTT0Egbm9uLXNwMSBub24tc3AyKAoKL15bYS16QS1aXGRdW2EtekEtWlxkXC1dKihcLlthLXpBLVpcZF1bYS16QS16XGRcLV0qKSpcLiQvCiAgICBhLgogICAgWi4KICAgIDIuCiAgICBhYi1jLnBxLXIuCiAgICBzeGsuenp6LmFjLnVrLgogICAgeC0ueS0uCiAgICAqKiogRmFpbGVycwogICAgLWFiYy5wZXEuCgovXlwqXC5bYS16XShbYS16XC1cZF0qW2EtelxkXSspPyhcLlthLXpdKFthLXpcLVxkXSpbYS16XGRdKyk/KSokLwogICAgKi5hCiAgICAqLmIwLWEKICAgICouYzMtYi5jCiAgICAqLmMtYS5iLWMKICAgICoqKiBGYWlsZXJzCiAgICAqLjAKICAgICouYS0KICAgICouYS1iLmMtCiAgICAqLmMtYS4wLWMKCi9eKD89YWIoZGUpKShhYmQpKGUpLwogICAgYWJkZQoKL14oPyEoYWIpZGV8eCkoYWJkKShmKS8KICAgIGFiZGYKCi9eKD89KGFiKGNkKSkpKGFiKS8KICAgIGFiY2QKCi9eW1xkYS1mXShcLltcZGEtZl0pKiQvaQogICAgYS5iLmMuZAogICAgQS5CLkMuRAogICAgYS5iLmMuMS4yLjMuQwoKL15cIi4qXCJccyooOy4qKT8kLwogICAgXCIxMjM0XCIKICAgIFwiYWJjZFwiIDsKICAgIFwiXCIgOyByaHViYXJiCiAgICAqKiogRmFpbGVycwogICAgXCIxMjM0XCIgOiB0aGluZ3MKCi9eJC8KICAgIFwKICAgICoqKiBGYWlsZXJzCgovICAgXiAgICBhICAgKD8jIGJlZ2lucyB3aXRoIGEpICBiXHNjICg/IyB0aGVuIGIgYykgJCAoPyMgdGhlbiBlbmQpL3gKICAgIGFiIGMKICAgICoqKiBGYWlsZXJzCiAgICBhYmMKICAgIGFiIGNkZQoKLyg/eCkgICBeICAgIGEgICAoPyMgYmVnaW5zIHdpdGggYSkgIGJcc2MgKD8jIHRoZW4gYiBjKSAkICg/IyB0aGVuIGVuZCkvCiAgICBhYiBjCiAgICAqKiogRmFpbGVycwogICAgYWJjCiAgICBhYiBjZGUKCi9eICAgYVwgYltjIF1kICAgICAgICQveAogICAgYSBiY2QKICAgIGEgYiBkCiAgICAqKiogRmFpbGVycwogICAgYWJjZAogICAgYWIgZAoKL14oYShiKGMpKSkoZChlKGYpKSkoaChpKGopKSkoayhsKG0pKSkkLwogICAgYWJjZGVmaGlqa2xtCgovXig/OmEoYihjKSkpKD86ZChlKGYpKSkoPzpoKGkoaikpKSg/OmsobChtKSkpJC8KICAgIGFiY2RlZmhpamtsbQoKL15bXHddW1xXXVtcc11bXFNdW1xkXVtcRF1bXGJdW1xuXVtcY11dW1wwMjJdLwogICAgYSsgWjArXHgwOFxuXHgxZFx4MTIKCi9eWy5eJHwoKSorP3ssfV0rLwogICAgLl5cJCgqKyl8ez8sP30KCi9eYSpcdy8KICAgIHoKICAgIGF6CiAgICBhYWF6CiAgICBhCiAgICBhYQogICAgYWFhYQogICAgYSsKICAgIGFhKwoKL15hKj9cdy8KICAgIHoKICAgIGF6CiAgICBhYWF6CiAgICBhCiAgICBhYQogICAgYWFhYQogICAgYSsKICAgIGFhKwoKL15hK1x3LwogICAgYXoKICAgIGFhYXoKICAgIGFhCiAgICBhYWFhCiAgICBhYSsKCi9eYSs/XHcvCiAgICBhegogICAgYWFhegogICAgYWEKICAgIGFhYWEKICAgIGFhKwoKL15cZHs4fVx3ezIsfS8KICAgIDEyMzQ1Njc4OTAKICAgIDEyMzQ1Njc4YWIKICAgIDEyMzQ1Njc4X18KICAgICoqKiBGYWlsZXJzCiAgICAxMjM0NTY3CgovXlthZWlvdVxkXXs0LDV9JC8KICAgIHVvaWUKICAgIDEyMzQKICAgIDEyMzQ1CiAgICBhYWFhYQogICAgKioqIEZhaWxlcnMKICAgIDEyMzQ1NgoKL15bYWVpb3VcZF17NCw1fT8vCiAgICB1b2llCiAgICAxMjM0CiAgICAxMjM0NQogICAgYWFhYWEKICAgIDEyMzQ1NgoKL1xBKGFiY3xkZWYpPShcMSl7MiwzfVxaLwogICAgYWJjPWFiY2FiYwogICAgZGVmPWRlZmRlZmRlZgogICAgKioqIEZhaWxlcnMKICAgIGFiYz1kZWZkZWYKCi9eKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspXDExKihcM1w0KVwxKD8jKTIkLwogICAgYWJjZGVmZ2hpamtjZGEyCiAgICBhYmNkZWZnaGlqa2tra2NkYTIKCi8oY2F0KGEocmFjdHx0b25pYyl8ZXJwaWxsYXIpKSBcMSgpMigzKS8KICAgIGNhdGFyYWN0IGNhdGFyYWN0MjMKICAgIGNhdGF0b25pYyBjYXRhdG9uaWMyMwogICAgY2F0ZXJwaWxsYXIgY2F0ZXJwaWxsYXIyMwoKCi9eRnJvbSArKFteIF0rKSArW2EtekEtWl1bYS16QS1aXVthLXpBLVpdICtbYS16QS1aXVthLXpBLVpdW2EtekEtWl0gK1swLTldP1swLTldICtbMC05XVswLTldOlswLTldWzAtOV0vCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwoKL15Gcm9tXHMrXFMrXHMrKFthLXpBLVpdezN9XHMrKXsyfVxkezEsMn1ccytcZFxkOlxkXGQvCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwogICAgRnJvbSBhYmNkICBNb24gU2VwICAxIDEyOjMzOjAyIDE5OTcKICAgICoqKiBGYWlsZXJzCiAgICBGcm9tIGFiY2QgIFNlcCAwMSAxMjozMzowMiAxOTk3CgovXjEyLjM0L3MKICAgIDEyXG4zNAogICAgMTJccjM0CgovXHcrKD89XHQpLwogICAgdGhlIHF1aWNrIGJyb3duXHQgZm94CgovZm9vKD8hYmFyKSguKikvCiAgICBmb29iYXIgaXMgZm9vbGlzaCBzZWU/CgovKD86KD8hZm9vKS4uLnxeLnswLDJ9KWJhciguKikvCiAgICBmb29iYXIgY3Jvd2JhciBldGMKICAgIGJhcnJlbAogICAgMmJhcnJlbAogICAgQSBiYXJyZWwKCi9eKFxEKikoPz1cZCkoPyExMjMpLwogICAgYWJjNDU2CiAgICAqKiogRmFpbGVycwogICAgYWJjMTIzCgovXjEyMzQoPyMgdGVzdCBuZXdsaW5lcwogIGluc2lkZSkvCiAgICAxMjM0CgovXjEyMzQgI2NvbW1lbnQgaW4gZXh0ZW5kZWQgcmUKICAveAogICAgMTIzNAoKLyNyaHViYXJiCiAgYWJjZC94CiAgICBhYmNkCgovXmFiY2Qjcmh1YmFyYi94CiAgICBhYmNkCgovXihhKVwxezIsM30oLikvCiAgICBhYWFiCiAgICBhYWFhYgogICAgYWFhYWFiCiAgICBhYWFhYWFiCgovKD8hXilhYmMvCiAgICB0aGUgYWJjCiAgICAqKiogRmFpbGVycwogICAgYWJjCgovKD89XilhYmMvCiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICB0aGUgYWJjCgovXlthYl17MSwzfShhYip8YikvCiAgICBhYWJiYmJiCgovXlthYl17MSwzfT8oYWIqfGIpLwogICAgYWFiYmJiYgoKL15bYWJdezEsM30/KGFiKj98YikvCiAgICBhYWJiYmJiCgovXlthYl17MSwzfShhYio/fGIpLwogICAgYWFiYmJiYgoKLyAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvcHRpb25hbCBsZWFkaW5nIGNvbW1lbnQKKD86ICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICAgICAgICAgICAgICAgICAgICMgaW5pdGlhbCB3b3JkCig/OiAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgXC4gICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8CiIgKD86ICAgICAgICAgICAgICAgICAgICAgICMgb3BlbmluZyBxdW90ZS4uLgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gICAgICAgICAgICAgICAgIyAgIEFueXRoaW5nIGV4Y2VwdCBiYWNrc2xhc2ggYW5kIHF1b3RlCnwgICAgICAgICAgICAgICAgICAgICAjICAgIG9yClxcIFteXHg4MC1ceGZmXSAgICAgICAgICAgIyAgIEVzY2FwZWQgc29tZXRoaW5nIChzb21ldGhpbmcgIT0gQ1IpCikqICIgICMgY2xvc2luZyBxdW90ZQopICApKiAjIGZ1cnRoZXIgb2theSwgaWYgbGVkIGJ5IGEgcGVyaW9kCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIEAgICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaW5pdGlhbCBzdWJkb21haW4KKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgXC4gICAgICAgICAgICAgICAgICAgICAgICAjIGlmIGxlZCBieSBhIHBlcmlvZC4uLgooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICMgICAuLi5mdXJ0aGVyIG9rYXkKKSoKIyBhZGRyZXNzCnwgICAgICAgICAgICAgICAgICAgICAjICBvcgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8CiIgKD86ICAgICAgICAgICAgICAgICAgICAgICMgb3BlbmluZyBxdW90ZS4uLgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gICAgICAgICAgICAgICAgIyAgIEFueXRoaW5nIGV4Y2VwdCBiYWNrc2xhc2ggYW5kIHF1b3RlCnwgICAgICAgICAgICAgICAgICAgICAjICAgIG9yClxcIFteXHg4MC1ceGZmXSAgICAgICAgICAgIyAgIEVzY2FwZWQgc29tZXRoaW5nIChzb21ldGhpbmcgIT0gQ1IpCikqICIgICMgY2xvc2luZyBxdW90ZQopICAgICAgICAgICAgICMgb25lIHdvcmQsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkuLi4uCig/OgpbXigpPD5ALDs6Ii5cXFxbXF1ceDgwLVx4ZmZcMDAwLVwwMTBcMDEyLVwwMzddICB8ICAjIGF0b20gYW5kIHNwYWNlIHBhcnRzLCBvci4uLgpcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgICAgICB8ICAjIGNvbW1lbnRzLCBvci4uLgoKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCiMgcXVvdGVkIHN0cmluZ3MKKSoKPCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAgICAgICAgICAgICAgICAgICMgbGVhZGluZyA8Cig/OiAgQCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHN1YmRvbWFpbgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgbGVkIGJ5IGEgcGVyaW9kLi4uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgIyAgIC4uLmZ1cnRoZXIgb2theQopKgoKKD86ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAsICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBAICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGluaXRpYWwgc3ViZG9tYWluCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIFwuICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiBsZWQgYnkgYSBwZXJpb2QuLi4KKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAjICAgLi4uZnVydGhlciBva2F5CikqCikqICMgZnVydGhlciBva2F5LCBpZiBsZWQgYnkgY29tbWEKOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjbG9zaW5nIGNvbG9uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICk/ICMgICAgICAgb3B0aW9uYWwgcm91dGUKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfAoiICg/OiAgICAgICAgICAgICAgICAgICAgICAjIG9wZW5pbmcgcXVvdGUuLi4KW15cXFx4ODAtXHhmZlxuXDAxNSJdICAgICAgICAgICAgICAgICMgICBBbnl0aGluZyBleGNlcHQgYmFja3NsYXNoIGFuZCBxdW90ZQp8ICAgICAgICAgICAgICAgICAgICAgIyAgICBvcgpcXCBbXlx4ODAtXHhmZl0gICAgICAgICAgICMgICBFc2NhcGVkIHNvbWV0aGluZyAoc29tZXRoaW5nICE9IENSKQopKiAiICAjIGNsb3NpbmcgcXVvdGUKKSAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHdvcmQKKD86ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICkqICMgZnVydGhlciBva2F5LCBpZiBsZWQgYnkgYSBwZXJpb2QKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgQCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHN1YmRvbWFpbgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgbGVkIGJ5IGEgcGVyaW9kLi4uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgIyAgIC4uLmZ1cnRoZXIgb2theQopKgojICAgICAgIGFkZHJlc3Mgc3BlYwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICA+ICMgICAgICAgICAgICAgICAgICB0cmFpbGluZyA+CiMgbmFtZSBhbmQgYWRkcmVzcwopICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnQKL3gKICAgIEFsYW4gT3RoZXIgPHVzZXJcQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KICAgIHVzZXJcQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQogICAgKioqIEZhaWxlcnMKICAgIFRoZSBxdWljayBicm93biBmb3gKCi9bXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIGxlYWRpbmcgY29tbWVudAooPzoKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KIyBBdG9tCnwgICAgICAgICAgICAgICAgICAgICAgICMgIG9yCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCiMgUXVvdGVkIHN0cmluZwopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpcLgpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBhZGRpdGlvbmFsIHdvcmRzCikqCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCiMgYWRkcmVzcwp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICBvcgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKIyBsZWFkaW5nIHdvcmQKW14oKTw+QCw7OiIuXFxcW1xdXHg4MC1ceGZmXDAwMC1cMDEwXDAxMi1cMDM3XSAqICAgICAgICAgICAgICAgIyAibm9ybWFsIiBhdG9tcyBhbmQgb3Igc3BhY2VzCig/OgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQp8CiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCikgIyAic3BlY2lhbCIgY29tbWVudCBvciBxdW90ZWQgc3RyaW5nClteKCk8PkAsOzoiLlxcXFtcXVx4ODAtXHhmZlwwMDAtXDAxMFwwMTItXDAzN10gKiAgICAgICAgICAgICMgIG1vcmUgIm5vcm1hbCIKKSoKPApbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIDwKKD86CkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCig/OiAsCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCikqICAjIGFkZGl0aW9uYWwgZG9tYWlucwo6CltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKT8gICAgICMgICAgICAgb3B0aW9uYWwgcm91dGUKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KIyBBdG9tCnwgICAgICAgICAgICAgICAgICAgICAgICMgIG9yCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCiMgUXVvdGVkIHN0cmluZwopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpcLgpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBhZGRpdGlvbmFsIHdvcmRzCikqCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCiMgICAgICAgYWRkcmVzcyBzcGVjCj4gICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgID4KIyBuYW1lIGFuZCBhZGRyZXNzCikKL3gKICAgIEFsYW4gT3RoZXIgPHVzZXJcQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KICAgIHVzZXJcQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQogICAgKioqIEZhaWxlcnMKICAgIFRoZSBxdWljayBicm93biBmb3gKCi9hYmNcMGRlZlwwMHBxclwwMDB4eXpcMDAwMEFCLwogICAgYWJjXDBkZWZcMDBwcXJcMDAweHl6XDAwMDBBQgogICAgYWJjNDU2IGFiY1wwZGVmXDAwcHFyXDAwMHh5elwwMDAwQUJDREUKCi9hYmNceDBkZWZceDAwcHFyXHgwMDB4eXpceDAwMDBBQi8KICAgIGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCCiAgICBhYmM0NTYgYWJjXHgwZGVmXHgwMHBxclx4MDAweHl6XHgwMDAwQUJDREUKCi9eW1wwMDAtXDAzN10vCiAgICBcMEEKICAgIFwwMUIKICAgIFwwMzdDCgovXDAqLwogICAgXDBcMFwwXDAKCi9BXHgwezIsM31aLwogICAgVGhlIEFceDBceDBaCiAgICBBbiBBXDBceDBcMFoKICAgICoqKiBGYWlsZXJzCiAgICBBXDBaCiAgICBBXDBceDBcMFx4MFoKCi9eKGNvd3wpXDEoYmVsbCkvCiAgICBjb3djb3diZWxsCiAgICBiZWxsCiAgICAqKiogRmFpbGVycwogICAgY293YmVsbAoKL15ccy8KICAgIFwwNDBhYmMKICAgIFx4MGNhYmMKICAgIFxuYWJjCiAgICBccmFiYwogICAgXHRhYmMKICAgICoqKiBGYWlsZXJzCiAgICBhYmMKCi9eYQliCiAgICAMICBjL3gKICAgIGFiYwoKL14oYXwpXDEqYi8KICAgIGFiCiAgICBhYWFhYgogICAgYgogICAgKioqIEZhaWxlcnMKICAgIGFjYgoKL14oYXwpXDErYi8KICAgIGFhYgogICAgYWFhYWIKICAgIGIKICAgICoqKiBGYWlsZXJzCiAgICBhYgoKL14oYXwpXDE/Yi8KICAgIGFiCiAgICBhYWIKICAgIGIKICAgICoqKiBGYWlsZXJzCiAgICBhY2IKCi9eKGF8KVwxezJ9Yi8KICAgIGFhYWIKICAgIGIKICAgICoqKiBGYWlsZXJzCiAgICBhYgogICAgYWFiCiAgICBhYWFhYgoKL14oYXwpXDF7MiwzfWIvCiAgICBhYWFiCiAgICBhYWFhYgogICAgYgogICAgKioqIEZhaWxlcnMKICAgIGFiCiAgICBhYWIKICAgIGFhYWFhYgoKL2FiezEsM31iYy8KICAgIGFiYmJiYwogICAgYWJiYmMKICAgIGFiYmMKICAgICoqKiBGYWlsZXJzCiAgICBhYmMKICAgIGFiYmJiYmMKCi8oW14uXSopXC4oW146XSopOltUIF0rKC4qKS8KICAgIHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKCi8oW14uXSopXC4oW146XSopOltUIF0rKC4qKS9pCiAgICB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCgovKFteLl0qKVwuKFteOl0qKTpbdCBdKyguKikvaQogICAgdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAoKL15bVy1jXSskLwogICAgV1hZX15hYmMKICAgICoqKiBGYWlsZXJzCiAgICB3eHkKCi9eW1ctY10rJC9pCiAgICBXWFlfXmFiYwogICAgd3h5X15BQkMKCi9eW1x4M2YtXHg1Rl0rJC9pCiAgICBXWFlfXmFiYwogICAgd3h5X15BQkMKCi9eYWJjJC9tCiAgICBhYmMKICAgIHFxcVxuYWJjCiAgICBhYmNcbnp6egogICAgcXFxXG5hYmNcbnp6egoKL15hYmMkLwogICAgYWJjCiAgICAqKiogRmFpbGVycwogICAgcXFxXG5hYmMKICAgIGFiY1xuenp6CiAgICBxcXFcbmFiY1xuenp6CgovXEFhYmNcWi9tCiAgICBhYmMKICAgIGFiY1xuIAogICAgKioqIEZhaWxlcnMKICAgIHFxcVxuYWJjCiAgICBhYmNcbnp6egogICAgcXFxXG5hYmNcbnp6egogICAgCi9cQSguKSpcWi9zCiAgICBhYmNcbmRlZgoKL1xBKC4pKlxaL20KICAgICoqKiBGYWlsZXJzCiAgICBhYmNcbmRlZgoKLyg/OmIpfCg/OjorKS8KICAgIGI6OmMKICAgIGM6OmIKCi9bLWF6XSsvCiAgICBhei0KICAgICoqKiBGYWlsZXJzCiAgICBiCgovW2F6LV0rLwogICAgemEtCiAgICAqKiogRmFpbGVycwogICAgYgoKL1thXC16XSsvCiAgICBhLXoKICAgICoqKiBGYWlsZXJzCiAgICBiCgovW2Etel0rLwogICAgYWJjZHh5egoKL1tcZC1dKy8KICAgIDEyLTM0CiAgICAqKiogRmFpbGVycwogICAgYWFhCgovW1xkLXpdKy8KICAgIDEyLTM0egogICAgKioqIEZhaWxlcnMKICAgIGFhYQoKL1x4NWMvCiAgICBcXAoKL1x4MjBaLwogICAgdGhlIFpvbwogICAgKioqIEZhaWxlcnMKICAgIFp1bHUKCi8oYWJjKVwxL2kKICAgIGFiY2FiYwogICAgQUJDYWJjCiAgICBhYmNBQkMKCi9hYnszY2QvCiAgICBhYnszY2QKCi9hYnszLGNkLwogICAgYWJ7MyxjZAoKL2FiezMsNGF9Y2QvCiAgICBhYnszLDRhfWNkCgovezQsNWF9YmMvCiAgICB7NCw1YX1iYwoKL2FiYyQvCiAgICBhYmMKICAgIGFiY1xuCiAgICAqKiogRmFpbGVycwogICAgYWJjXG5kZWYKCi8oYWJjKVwxMjMvCiAgICBhYmNceDUzCgovKGFiYylcMjIzLwogICAgYWJjXHg5MwoKLyhhYmMpXDMyMy8KICAgIGFiY1x4ZDMKCi8oYWJjKVwxMDAvCiAgICBhYmNceDQwCiAgICBhYmNcMTAwCgovKGFiYylcMTAwMC8KICAgIGFiY1x4NDAwCiAgICBhYmNceDQwXHgzMAogICAgYWJjXDEwMDAKICAgIGFiY1wxMDBceDMwCiAgICBhYmNcMTAwXDA2MAogICAgYWJjXDEwMFw2MAoKL2FiY1w4MS8KICAgIGFiY1wwODEKICAgIGFiY1wwXHgzOFx4MzEKCi9hYmNcOTEvCiAgICBhYmNcMDkxCiAgICBhYmNcMFx4MzlceDMxCgovKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspKGwpXDEyXDEyMy8KICAgIGFiY2RlZmdoaWprbGxTCgovKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspXDEyXDEyMy8KICAgIGFiY2RlZmdoaWprXDEyUwoKL2FiXGlkZWYvCiAgICBhYmlkZWYKCi9hezB9YmMvCiAgICBiYwoKLyhhfChiYykpezAsMH0/eHl6LwogICAgeHl6CgovYWJjW1wxMF1kZS8KICAgIGFiY1wwMTBkZQoKL2FiY1tcMV1kZS8KICAgIGFiY1wxZGUKCi8oYWJjKVtcMV1kZS8KICAgIGFiY1wxZGUKCi8oP3MpYS5iLwogICAgYVxuYgoKL14oW15hXSkoW15cYl0pKFteY10qKShbXmRdezMsNH0pLwogICAgYmFOT1RjY2NjZAogICAgYmFOT1RjY2NkCiAgICBiYU5PVGNjZAogICAgYmFjY2NkCiAgICAqKiogRmFpbGVycwogICAgYW55dGhpbmcKICAgIGJcYmMgICAKICAgIGJhY2NkCgovW15hXS8KICAgIEFiYwogIAovW15hXS9pCiAgICBBYmMgCgovW15hXSsvCiAgICBBQUFhQWJjCiAgCi9bXmFdKy9pCiAgICBBQUFhQWJjIAoKL1teYV0rLwogICAgYmJiXG5jY2MKICAgCi9bXmtdJC8KICAgIGFiYwogICAgKioqIEZhaWxlcnMKICAgIGFiayAgIAogICAKL1tea117MiwzfSQvCiAgICBhYmMKICAgIGtiYwogICAga2FiYyAKICAgICoqKiBGYWlsZXJzCiAgICBhYmsKICAgIGFrYgogICAgYWtrIAoKL15cZHs4LH1cQC4rW15rXSQvCiAgICAxMjM0NTY3OFxAYS5iLmMuZAogICAgMTIzNDU2Nzg5XEB4LnkuegogICAgKioqIEZhaWxlcnMKICAgIDEyMzQ1Njc4XEB4LnkudWsKICAgIDEyMzQ1NjdcQGEuYi5jLmQgICAgICAgCgovKGEpXDF7OCx9LwogICAgYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhCiAgICAqKiogRmFpbGVycwogICAgYWFhYWFhYSAgIAoKL1teYV0vCiAgICBhYWFhYmNkCiAgICBhYUFhYmNkIAoKL1teYV0vaQogICAgYWFhYWJjZAogICAgYWFBYWJjZCAKCi9bXmF6XS8KICAgIGFhYWFiY2QKICAgIGFhQWFiY2QgCgovW15hel0vaQogICAgYWFhYWJjZAogICAgYWFBYWJjZCAKCi9cMDAwXDAwMVwwMDJcMDAzXDAwNFwwMDVcMDA2XDAwN1wwMTBcMDExXDAxMlwwMTNcMDE0XDAxNVwwMTZcMDE3XDAyMFwwMjFcMDIyXDAyM1wwMjRcMDI1XDAyNlwwMjdcMDMwXDAzMVwwMzJcMDMzXDAzNFwwMzVcMDM2XDAzN1wwNDBcMDQxXDA0MlwwNDNcMDQ0XDA0NVwwNDZcMDQ3XDA1MFwwNTFcMDUyXDA1M1wwNTRcMDU1XDA1NlwwNTdcMDYwXDA2MVwwNjJcMDYzXDA2NFwwNjVcMDY2XDA2N1wwNzBcMDcxXDA3MlwwNzNcMDc0XDA3NVwwNzZcMDc3XDEwMFwxMDFcMTAyXDEwM1wxMDRcMTA1XDEwNlwxMDdcMTEwXDExMVwxMTJcMTEzXDExNFwxMTVcMTE2XDExN1wxMjBcMTIxXDEyMlwxMjNcMTI0XDEyNVwxMjZcMTI3XDEzMFwxMzFcMTMyXDEzM1wxMzRcMTM1XDEzNlwxMzdcMTQwXDE0MVwxNDJcMTQzXDE0NFwxNDVcMTQ2XDE0N1wxNTBcMTUxXDE1MlwxNTNcMTU0XDE1NVwxNTZcMTU3XDE2MFwxNjFcMTYyXDE2M1wxNjRcMTY1XDE2NlwxNjdcMTcwXDE3MVwxNzJcMTczXDE3NFwxNzVcMTc2XDE3N1wyMDBcMjAxXDIwMlwyMDNcMjA0XDIwNVwyMDZcMjA3XDIxMFwyMTFcMjEyXDIxM1wyMTRcMjE1XDIxNlwyMTdcMjIwXDIyMVwyMjJcMjIzXDIyNFwyMjVcMjI2XDIyN1wyMzBcMjMxXDIzMlwyMzNcMjM0XDIzNVwyMzZcMjM3XDI0MFwyNDFcMjQyXDI0M1wyNDRcMjQ1XDI0NlwyNDdcMjUwXDI1MVwyNTJcMjUzXDI1NFwyNTVcMjU2XDI1N1wyNjBcMjYxXDI2MlwyNjNcMjY0XDI2NVwyNjZcMjY3XDI3MFwyNzFcMjcyXDI3M1wyNzRcMjc1XDI3NlwyNzdcMzAwXDMwMVwzMDJcMzAzXDMwNFwzMDVcMzA2XDMwN1wzMTBcMzExXDMxMlwzMTNcMzE0XDMxNVwzMTZcMzE3XDMyMFwzMjFcMzIyXDMyM1wzMjRcMzI1XDMyNlwzMjdcMzMwXDMzMVwzMzJcMzMzXDMzNFwzMzVcMzM2XDMzN1wzNDBcMzQxXDM0MlwzNDNcMzQ0XDM0NVwzNDZcMzQ3XDM1MFwzNTFcMzUyXDM1M1wzNTRcMzU1XDM1NlwzNTdcMzYwXDM2MVwzNjJcMzYzXDM2NFwzNjVcMzY2XDM2N1wzNzBcMzcxXDM3MlwzNzNcMzc0XDM3NVwzNzZcMzc3LwogXDAwMFwwMDFcMDAyXDAwM1wwMDRcMDA1XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVcMDE2XDAxN1wwMjBcMDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFwwMzFcMDMyXDAzM1wwMzRcMDM1XDAzNlwwMzdcMDQwXDA0MVwwNDJcMDQzXDA0NFwwNDVcMDQ2XDA0N1wwNTBcMDUxXDA1MlwwNTNcMDU0XDA1NVwwNTZcMDU3XDA2MFwwNjFcMDYyXDA2M1wwNjRcMDY1XDA2NlwwNjdcMDcwXDA3MVwwNzJcMDczXDA3NFwwNzVcMDc2XDA3N1wxMDBcMTAxXDEwMlwxMDNcMTA0XDEwNVwxMDZcMTA3XDExMFwxMTFcMTEyXDExM1wxMTRcMTE1XDExNlwxMTdcMTIwXDEyMVwxMjJcMTIzXDEyNFwxMjVcMTI2XDEyN1wxMzBcMTMxXDEzMlwxMzNcMTM0XDEzNVwxMzZcMTM3XDE0MFwxNDFcMTQyXDE0M1wxNDRcMTQ1XDE0NlwxNDdcMTUwXDE1MVwxNTJcMTUzXDE1NFwxNTVcMTU2XDE1N1wxNjBcMTYxXDE2MlwxNjNcMTY0XDE2NVwxNjZcMTY3XDE3MFwxNzFcMTcyXDE3M1wxNzRcMTc1XDE3NlwxNzdcMjAwXDIwMVwyMDJcMjAzXDIwNFwyMDVcMjA2XDIwN1wyMTBcMjExXDIxMlwyMTNcMjE0XDIxNVwyMTZcMjE3XDIyMFwyMjFcMjIyXDIyM1wyMjRcMjI1XDIyNlwyMjdcMjMwXDIzMVwyMzJcMjMzXDIzNFwyMzVcMjM2XDIzN1wyNDBcMjQxXDI0MlwyNDNcMjQ0XDI0NVwyNDZcMjQ3XDI1MFwyNTFcMjUyXDI1M1wyNTRcMjU1XDI1NlwyNTdcMjYwXDI2MVwyNjJcMjYzXDI2NFwyNjVcMjY2XDI2N1wyNzBcMjcxXDI3MlwyNzNcMjc0XDI3NVwyNzZcMjc3XDMwMFwzMDFcMzAyXDMwM1wzMDRcMzA1XDMwNlwzMDdcMzEwXDMxMVwzMTJcMzEzXDMxNFwzMTVcMzE2XDMxN1wzMjBcMzIxXDMyMlwzMjNcMzI0XDMyNVwzMjZcMzI3XDMzMFwzMzFcMzMyXDMzM1wzMzRcMzM1XDMzNlwzMzdcMzQwXDM0MVwzNDJcMzQzXDM0NFwzNDVcMzQ2XDM0N1wzNTBcMzUxXDM1MlwzNTNcMzU0XDM1NVwzNTZcMzU3XDM2MFwzNjFcMzYyXDM2M1wzNjRcMzY1XDM2NlwzNjdcMzcwXDM3MVwzNzJcMzczXDM3NFwzNzVcMzc2XDM3NwoKL1BbXipdVEFJUkVbXipdezEsNn0/TEwvCiAgICB4eHh4eHh4eHh4eFBTVEFJUkVJU0xMeHh4eHh4eHh4CgovUFteKl1UQUlSRVteKl17MSx9P0xMLwogICAgeHh4eHh4eHh4eHhQU1RBSVJFSVNMTHh4eHh4eHh4eAoKLyhcLlxkXGRbMS05XT8pXGQrLwogICAgMS4yMzAwMDM5MzgKICAgIDEuODc1MDAwMjgyICAgCiAgICAxLjIzNSAgCiAgICAgICAgICAgICAgICAgIAovKFwuXGRcZCgoPz0wKXxcZCg/PVxkKSkpLwogICAgMS4yMzAwMDM5MzggICAgICAKICAgIDEuODc1MDAwMjgyCiAgICAqKiogRmFpbGVycyAKICAgIDEuMjM1IAogICAgCi9hKD8pYi8KICAgIGFiIAogCi9cYihmb28pXHMrKFx3KykvaQogICAgRm9vZCBpcyBvbiB0aGUgZm9vIHRhYmxlCiAgICAKL2ZvbyguKiliYXIvCiAgICBUaGUgZm9vZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSBiYXJuLgogICAgCi9mb28oLio/KWJhci8gIAogICAgVGhlIGZvb2QgaXMgdW5kZXIgdGhlIGJhciBpbiB0aGUgYmFybi4KCi8oLiopKFxkKikvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogICAgCi8oLiopKFxkKykvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogCi8oLio/KShcZCopLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKCi8oLio/KShcZCspLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKCi8oLiopKFxkKykkLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKCi8oLio/KShcZCspJC8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qKVxiKFxkKykkLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKCi8oLipcRCkoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwoKL15cRCooPyExMjMpLwogICAgQUJDMTIzCiAgICAgCi9eKFxEKikoPz1cZCkoPyExMjMpLwogICAgQUJDNDQ1CiAgICAqKiogRmFpbGVycwogICAgQUJDMTIzCiAgICAKL15bVy1dNDZdLwogICAgVzQ2XTc4OSAKICAgIC00Nl03ODkKICAgICoqKiBGYWlsZXJzCiAgICBXYWxsCiAgICBaZWJyYQogICAgNDIKICAgIFthYmNkXSAKICAgIF1hYmNkWwogICAgICAgCi9eW1ctXF00Nl0vCiAgICBXNDZdNzg5IAogICAgV2FsbAogICAgWmVicmEKICAgIFh5bG9waG9uZSAgCiAgICA0MgogICAgW2FiY2RdIAogICAgXWFiY2RbCiAgICBcXGJhY2tzbGFzaCAKICAgICoqKiBGYWlsZXJzCiAgICAtNDZdNzg5CiAgICB3ZWxsCiAgICAKL1xkXGRcL1xkXGRcL1xkXGRcZFxkLwogICAgMDEvMDEvMjAwMAoKL3dvcmQgKD86W2EtekEtWjAtOV0rICl7MCwxMH1vdGhlcndvcmQvCiAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayBvdGhlcndvcmQKICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrCgovd29yZCAoPzpbYS16QS1aMC05XSsgKXswLDMwMH1vdGhlcndvcmQvCiAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayB0aGUgcXVpY2sgYnJvd24gZm94IGFuZCB0aGUgbGF6eSBkb2cgYW5kIHNldmVyYWwgb3RoZXIgd29yZHMgZ2V0dGluZyBjbG9zZSB0byB0aGlydHkgYnkgbm93IEkgaG9wZQoKL14oYSl7MCwwfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIgICAgIAoKL14oYSl7MCwxfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIgIAoKL14oYSl7MCwyfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIgIAoKL14oYSl7MCwzfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIKICAgIGFhYSAgIAoKL14oYSl7MCx9LwogICAgYmNkCiAgICBhYmMKICAgIGFhYgogICAgYWFhCiAgICBhYWFhYWFhYSAgICAKCi9eKGEpezEsMX0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAKCi9eKGEpezEsMn0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAKCi9eKGEpezEsM30vCiAgICBiY2QKICAgIGFiYwogICAgYWFiCiAgICBhYWEgICAKCi9eKGEpezEsfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIKICAgIGFhYQogICAgYWFhYWFhYWEgICAgCgovLipcLmdpZi8KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uezAsfVwuZ2lmLwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy4qXC5naWYvbQogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy4qXC5naWYvcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy4qXC5naWYvbXMKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KICAgIAovLiokLwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy4qJC9tCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLiokL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKiQvbXMKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KICAgIAovLiokLwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ub1xuCgovLiokL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgoKLy4qJC9zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KCi8uKiQvbXMKICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgogICAgCi8oLipYfF5CKS8KICAgIGFiY2RlXG4xMjM0WHl6CiAgICBCYXJGb28gCiAgICAqKiogRmFpbGVycwogICAgYWJjZGVcbkJhciAgCgovKC4qWHxeQikvbQogICAgYWJjZGVcbjEyMzRYeXoKICAgIEJhckZvbyAKICAgIGFiY2RlXG5CYXIgIAoKLyguKlh8XkIpL3MKICAgIGFiY2RlXG4xMjM0WHl6CiAgICBCYXJGb28gCiAgICAqKiogRmFpbGVycwogICAgYWJjZGVcbkJhciAgCgovKC4qWHxeQikvbXMKICAgIGFiY2RlXG4xMjM0WHl6CiAgICBCYXJGb28gCiAgICBhYmNkZVxuQmFyICAKCi8oP3MpKC4qWHxeQikvCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIAogICAgKioqIEZhaWxlcnMgCiAgICBhYmNkZVxuQmFyICAKCi8oP3M6LipYfF5CKS8KICAgIGFiY2RlXG4xMjM0WHl6CiAgICBCYXJGb28gCiAgICAqKiogRmFpbGVycyAKICAgIGFiY2RlXG5CYXIgIAoKL14uKkIvCiAgICAqKioqIEZhaWxlcnMKICAgIGFiY1xuQgogICAgIAovKD9zKV4uKkIvCiAgICBhYmNcbkIKCi8oP20pXi4qQi8KICAgIGFiY1xuQgogICAgIAovKD9tcyleLipCLwogICAgYWJjXG5CCgovKD9tcyleQi8KICAgIGFiY1xuQgoKLyg/cylCJC8KICAgIEJcbgoKL15bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV0vCiAgICAxMjM0NTY2NTQzMjEKICAKL15cZFxkXGRcZFxkXGRcZFxkXGRcZFxkXGQvCiAgICAxMjM0NTY2NTQzMjEgCgovXltcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXS8KICAgIDEyMzQ1NjY1NDMyMQogIAovXlthYmNdezEyfS8KICAgIGFiY2FiY2FiY2FiYwogICAgCi9eW2EtY117MTJ9LwogICAgYWJjYWJjYWJjYWJjCiAgICAKL14oYXxifGMpezEyfS8KICAgIGFiY2FiY2FiY2FiYyAKCi9eW2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHkwMTIzNDU2Nzg5XS8KICAgIG4KICAgICoqKiBGYWlsZXJzIAogICAgeiAKCi9hYmNkZXswLDB9LwogICAgYWJjZAogICAgKioqIEZhaWxlcnMKICAgIGFiY2UgIAoKL2FiW2NkXXswLDB9ZS8KICAgIGFiZQogICAgKioqIEZhaWxlcnMKICAgIGFiY2RlIAogICAgCi9hYihjKXswLDB9ZC8KICAgIGFiZAogICAgKioqIEZhaWxlcnMKICAgIGFiY2QgICAKCi9hKGIqKS8KICAgIGEKICAgIGFiCiAgICBhYmJiYgogICAgKioqIEZhaWxlcnMKICAgIGJiYmJiICAgIAogICAgCi9hYlxkezB9ZS8KICAgIGFiZQogICAgKioqIEZhaWxlcnMKICAgIGFiMWUgICAKICAgIAovIihbXlxcIl0rfFxcLikqIi8KICAgIHRoZSBcInF1aWNrXCIgYnJvd24gZm94CiAgICBcInRoZSBcXFwicXVpY2tcXFwiIGJyb3duIGZveFwiIAoKLy4qPy9nKwogICAgYWJjCiAgCi9cYi9nKwogICAgYWJjIAoKL1xiLytnCiAgICBhYmMgCgovL2cKICAgIGFiYwoKLzx0cihbXHdcV1xzXGRdW148Pl17MCx9KT48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcZF17MCx9XC4pKC4qKSgoPEJSPihbXHdcV1xzXGRdW148Pl17MCx9KXxbXHNdezAsfSkpPFwvYT48XC9URD48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcd1xXXHNcZF1bXjw+XXswLH0pPFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxcL1RSPi9pcwogIDxUUiBCR0NPTE9SPScjREJFOUU5Jz48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPjQzLjxhIGhyZWY9J2pvYmxpc3QuY2ZtP0pvYklEPTk0IDY3MzUmS2V5d29yZD0nPldvcmQgUHJvY2Vzc29yPEJSPihOLTEyODYpPC9hPjwvVEQ+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD5MZWdhIGxzdGFmZi5jb208L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+Q0EgLSBTdGF0ZXdpZGU8L1REPjwvVFI+CgovYVteYV1iLwogICAgYWNiCiAgICBhXG5iCiAgICAKL2EuYi8KICAgIGFjYgogICAgKioqIEZhaWxlcnMgCiAgICBhXG5iICAgCiAgICAKL2FbXmFdYi9zCiAgICBhY2IKICAgIGFcbmIgIAogICAgCi9hLmIvcwogICAgYWNiCiAgICBhXG5iICAKCi9eKGIrP3xhKXsxLDJ9P2MvCiAgICBiYWMKICAgIGJiYWMKICAgIGJiYmFjCiAgICBiYmJiYWMKICAgIGJiYmJiYWMgCgovXihiK3xhKXsxLDJ9P2MvCiAgICBiYWMKICAgIGJiYWMKICAgIGJiYmFjCiAgICBiYmJiYWMKICAgIGJiYmJiYWMgCiAgICAKLyg/IVxBKXgvbQogICAgeFxuYlxuCiAgICBhXGJ4XG4gIAogICAgCi9ceDB7YWJ9LwogICAgXDB7YWJ9IAoKLyhBfEIpKj9DRC8KICAgIENEIAogICAgCi8oQXxCKSpDRC8KICAgIENEIAoKLyhBQikqP1wxLwogICAgQUJBQkFCCgovKEFCKSpcMS8KICAgIEFCQUJBQgogICAgCi8oPzwhYmFyKWZvby8KICAgIGZvbwogICAgY2F0Zm9vZAogICAgYXJmb290bGUKICAgIHJmb29zaAogICAgKioqIEZhaWxlcnMKICAgIGJhcmZvbwogICAgdG93YmFyZm9vCgovXHd7M30oPzwhYmFyKWZvby8KICAgIGNhdGZvb2QKICAgICoqKiBGYWlsZXJzCiAgICBmb28KICAgIGJhcmZvbwogICAgdG93YmFyZm9vCgovKD88PShmb28pYSliYXIvCiAgICBmb29hYmFyCiAgICAqKiogRmFpbGVycwogICAgYmFyCiAgICBmb29iYmFyCiAgICAgIAovXEFhYmNcei9tCiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICBhYmNcbiAgIAogICAgcXFxXG5hYmMKICAgIGFiY1xuenp6CiAgICBxcXFcbmFiY1xuenp6CgoiKD8+LiovKWZvbyIKICAgIC90aGlzL2lzL2EvdmVyeS9sb25nL2xpbmUvaW4vZGVlZC93aXRoL3ZlcnkvbWFueS9zbGFzaGVzL2luL2l0L3lvdS9zZWUvCgoiKD8+LiovKWZvbyIKICAgIC90aGlzL2lzL2EvdmVyeS9sb25nL2xpbmUvaW4vZGVlZC93aXRoL3ZlcnkvbWFueS9zbGFzaGVzL2luL2FuZC9mb28KCi8oPz4oXC5cZFxkWzEtOV0/KSlcZCsvCiAgICAxLjIzMDAwMzkzOAogICAgMS44NzUwMDAyODIKICAgICoqKiBGYWlsZXJzIAogICAgMS4yMzUgCgovXigoPz5cdyspfCg/PlxzKykpKiQvCiAgICBub3cgaXMgdGhlIHRpbWUgZm9yIGFsbCBnb29kIG1lbiB0byBjb21lIHRvIHRoZSBhaWQgb2YgdGhlIHBhcnR5CiAgICAqKiogRmFpbGVycwogICAgdGhpcyBpcyBub3QgYSBsaW5lIHdpdGggb25seSB3b3JkcyBhbmQgc3BhY2VzIQogICAgCi8oXGQrKShcdykvCiAgICAxMjM0NWEKICAgIDEyMzQ1KyAKCi8oKD8+XGQrKSkoXHcpLwogICAgMTIzNDVhCiAgICAqKiogRmFpbGVycwogICAgMTIzNDUrIAoKLyg/PmErKWIvCiAgICBhYWFiCgovKCg/PmErKWIpLwogICAgYWFhYgoKLyg/PihhKykpYi8KICAgIGFhYWIKCi8oPz5iKSsvCiAgICBhYWFiYmJjY2MKCi8oPz5hK3xiK3xjKykqYy8KICAgIGFhYWJiYmJjY2NjZAoKLygoPz5bXigpXSspfFwoW14oKV0qXCkpKy8KICAgICgoYWJjKGFkZSl1ZmgoKSgpeAogICAgCi9cKCgoPz5bXigpXSspfFwoW14oKV0rXCkpK1wpLyAKICAgIChhYmMpCiAgICAoYWJjKGRlZil4eXopCiAgICAqKiogRmFpbGVycwogICAgKCgoKWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhICAgCgovYSg/LWkpYi9pCiAgICBhYgogICAgQWIKICAgICoqKiBGYWlsZXJzIAogICAgYUIKICAgIEFCCiAgICAgICAgCi8oYSAoP3gpYiBjKWQgZS8KICAgIGEgYmNkIGUKICAgICoqKiBGYWlsZXJzCiAgICBhIGIgY2QgZQogICAgYWJjZCBlICAgCiAgICBhIGJjZGUgCiAKLyhhIGIoP3gpYyBkICg/LXgpZSBmKS8KICAgIGEgYmNkZSBmCiAgICAqKiogRmFpbGVycwogICAgYWJjZGVmICAKCi8oYSg/aSliKWMvCiAgICBhYmMKICAgIGFCYwogICAgKioqIEZhaWxlcnMKICAgIGFiQwogICAgYUJDICAKICAgIEFiYwogICAgQUJjCiAgICBBQkMKICAgIEFiQwogICAgCi9hKD9pOmIpYy8KICAgIGFiYwogICAgYUJjCiAgICAqKiogRmFpbGVycyAKICAgIEFCQwogICAgYWJDCiAgICBhQkMKICAgIAovYSg/aTpiKSpjLwogICAgYUJjCiAgICBhQkJjCiAgICAqKiogRmFpbGVycyAKICAgIGFCQwogICAgYUJCQwogICAgCi9hKD89Yig/aSljKVx3XHdkLwogICAgYWJjZAogICAgYWJDZAogICAgKioqIEZhaWxlcnMKICAgIGFCQ2QKICAgIGFiY0QgICAgIAogICAgCi8oP3MtaTptb3JlLip0aGFuKS4qbWlsbGlvbi9pCiAgICBtb3JlIHRoYW4gbWlsbGlvbgogICAgbW9yZSB0aGFuIE1JTExJT04KICAgIG1vcmUgXG4gdGhhbiBNaWxsaW9uIAogICAgKioqIEZhaWxlcnMKICAgIE1PUkUgVEhBTiBNSUxMSU9OICAgIAogICAgbW9yZSBcbiB0aGFuIFxuIG1pbGxpb24gCgovKD86KD9zLWkpbW9yZS4qdGhhbikuKm1pbGxpb24vaQogICAgbW9yZSB0aGFuIG1pbGxpb24KICAgIG1vcmUgdGhhbiBNSUxMSU9OCiAgICBtb3JlIFxuIHRoYW4gTWlsbGlvbiAKICAgICoqKiBGYWlsZXJzCiAgICBNT1JFIFRIQU4gTUlMTElPTiAgICAKICAgIG1vcmUgXG4gdGhhbiBcbiBtaWxsaW9uIAogICAgCi8oPz5hKD9pKWIrKStjLyAKICAgIGFiYwogICAgYUJiYwogICAgYUJCYyAKICAgICoqKiBGYWlsZXJzCiAgICBBYmMKICAgIGFiQWIgICAgCiAgICBhYmJDIAogICAgCi8oPz1hKD9pKWIpXHdcd2MvCiAgICBhYmMKICAgIGFCYwogICAgKioqIEZhaWxlcnMKICAgIEFiIAogICAgYWJDCiAgICBhQkMgICAgIAogICAgCi8oPzw9YSg/aSliKShcd1x3KWMvCiAgICBhYnh4YwogICAgYUJ4eGMKICAgICoqKiBGYWlsZXJzCiAgICBBYnh4YwogICAgQUJ4eGMKICAgIGFieHhDICAgICAgCgovKD86KGEpfGIpKD8oMSlBfEIpLwogICAgYUEKICAgIGJCCiAgICAqKiogRmFpbGVycwogICAgYUIKICAgIGJBICAgIAoKL14oYSk/KD8oMSlhfGIpKyQvCiAgICBhYQogICAgYgogICAgYmIgIAogICAgKioqIEZhaWxlcnMKICAgIGFiICAgCgovXig/KD89YWJjKVx3ezN9OnxcZFxkKSQvCiAgICBhYmM6CiAgICAxMgogICAgKioqIEZhaWxlcnMKICAgIDEyMwogICAgeHl6ICAgIAoKL14oPyg/IWFiYylcZFxkfFx3ezN9OikkLwogICAgYWJjOgogICAgMTIKICAgICoqKiBGYWlsZXJzCiAgICAxMjMKICAgIHh5eiAgICAKICAgIAovKD8oPzw9Zm9vKWJhcnxjYXQpLwogICAgZm9vYmFyCiAgICBjYXQKICAgIGZjYXQKICAgIGZvY2F0ICAgCiAgICAqKiogRmFpbGVycwogICAgZm9vY2F0ICAKCi8oPyg/PCFmb28pY2F0fGJhcikvCiAgICBmb29iYXIKICAgIGNhdAogICAgZmNhdAogICAgZm9jYXQgICAKICAgICoqKiBGYWlsZXJzCiAgICBmb29jYXQgIAoKLyggXCggKT8gW14oKV0rICg/KDEpIFwpIHwpIC94CiAgICBhYmNkCiAgICAoYWJjZCkKICAgIHRoZSBxdWljayAoYWJjZCkgZm94CiAgICAoYWJjZCAgIAoKLyggXCggKT8gW14oKV0rICg/KDEpIFwpICkgL3gKICAgIGFiY2QKICAgIChhYmNkKQogICAgdGhlIHF1aWNrIChhYmNkKSBmb3gKICAgIChhYmNkICAgCgovXig/KDIpYXwoMSkoMikpKyQvCiAgICAxMgogICAgMTJhCiAgICAxMmFhCiAgICAqKiogRmFpbGVycwogICAgMTIzNCAgICAKCi8oKD9pKWJsYWgpXHMrXDEvCiAgICBibGFoIGJsYWgKICAgIEJMQUggQkxBSAogICAgQmxhaCBCbGFoCiAgICBibGFIIGJsYUgKICAgICoqKiBGYWlsZXJzCiAgICBibGFoIEJMQUgKICAgIEJsYWggYmxhaCAgICAgIAogICAgYmxhSCBibGFoIAoKLygoP2kpYmxhaClccysoP2k6XDEpLwogICAgYmxhaCBibGFoCiAgICBCTEFIIEJMQUgKICAgIEJsYWggQmxhaAogICAgYmxhSCBibGFICiAgICBibGFoIEJMQUgKICAgIEJsYWggYmxhaCAgICAgIAogICAgYmxhSCBibGFoIAoKLyg/PmEqKSovCiAgICBhCiAgICBhYQogICAgYWFhYQogICAgCi8oYWJjfCkrLwogICAgYWJjCiAgICBhYmNhYmMKICAgIGFiY2FiY2FiYwogICAgeHl6ICAgICAgCgovKFthXSopKi8KICAgIGEKICAgIGFhYWFhIAogCi8oW2FiXSopKi8KICAgIGEKICAgIGIKICAgIGFiYWJhYgogICAgYWFhYWJjZGUKICAgIGJiYmIgICAgCiAKLyhbXmFdKikqLwogICAgYgogICAgYmJiYgogICAgYWFhICAgCiAKLyhbXmFiXSopKi8KICAgIGNjY2MKICAgIGFiYWIgIAogCi8oW2FdKj8pKi8KICAgIGEKICAgIGFhYWEgCiAKLyhbYWJdKj8pKi8KICAgIGEKICAgIGIKICAgIGFiYWIKICAgIGJhYmEgICAKIAovKFteYV0qPykqLwogICAgYgogICAgYmJiYgogICAgYWFhICAgCiAKLyhbXmFiXSo/KSovCiAgICBjCiAgICBjY2NjCiAgICBiYWJhICAgCiAKLyg/PmEqKSovCiAgICBhCiAgICBhYWFiY2RlIAogCi8oKD8+YSopKSovCiAgICBhYWFhYQogICAgYWFiYmFhIAogCi8oKD8+YSo/KSkqLwogICAgYWFhYWEKICAgIGFhYmJhYSAKCi8oPyg/PVteYS16XStbYS16XSkgIFxkezJ9LVthLXpdezN9LVxkezJ9ICB8ICBcZHsyfS1cZHsyfS1cZHsyfSApIC94CiAgICAxMi1zZXAtOTgKICAgIDEyLTA5LTk4CiAgICAqKiogRmFpbGVycwogICAgc2VwLTEyLTk4CiAgICAgICAgCi8oPzw9KGZvbykpYmFyXDEvCiAgICBmb29iYXJmb28KICAgIGZvb2JhcmZvb3RsaW5nIAogICAgKioqIEZhaWxlcnMKICAgIGZvb2JhcgogICAgYmFyZm9vICAgCgovKD9pOnNhdHVyZGF5fHN1bmRheSkvCiAgICBzYXR1cmRheQogICAgc3VuZGF5CiAgICBTYXR1cmRheQogICAgU3VuZGF5CiAgICBTQVRVUkRBWQogICAgU1VOREFZCiAgICBTdW5EYXkKICAgIAovKGEoP2kpYmN8QkIpeC8KICAgIGFiY3gKICAgIGFCQ3gKICAgIGJieAogICAgQkJ4CiAgICAqKiogRmFpbGVycwogICAgYWJjWAogICAgYUJDWAogICAgYmJYCiAgICBCQlggICAgICAgICAgICAgICAKCi9eKFthYl0oP2kpW2NkXXxbZWZdKS8KICAgIGFjCiAgICBhQwogICAgYkQKICAgIGVsZXBoYW50CiAgICBFdXJvcGUgCiAgICBmcm9nCiAgICBGcmFuY2UKICAgICoqKiBGYWlsZXJzCiAgICBBZnJpY2EgICAgIAoKL14oYWJ8YSg/aSlbYi1jXSg/bS1pKWR8eCg/aSl5fHopLwogICAgYWIKICAgIGFCZAogICAgeHkKICAgIHhZCiAgICB6ZWJyYQogICAgWmFtYmVzaQogICAgKioqIEZhaWxlcnMKICAgIGFDRCAgCiAgICBYWSAgCgovKD88PWZvb1xuKV5iYXIvbQogICAgZm9vXG5iYXIKICAgICoqKiBGYWlsZXJzCiAgICBiYXIKICAgIGJhelxuYmFyICAgCgovKD88PSg/PCFmb28pYmFyKWJhei8KICAgIGJhcmJhegogICAgYmFyYmFyYmF6IAogICAga29vYmFyYmF6IAogICAgKioqIEZhaWxlcnMKICAgIGJhegogICAgZm9vYmFyYmF6IAoKL1RoZSBjYXNlcyBvZiBhYWFhIGFuZCBhYWFhYWEgYXJlIG1pc3NlZCBvdXQgYmVsb3cgYmVjYXVzZSBQZXJsIGRvZXMgdGhpbmdzLwovZGlmZmVyZW50bHkuIFdlIGtub3cgdGhhdCBvZGQsIGFuZCBtYXliZSBpbmNvcnJlY3QsIHRoaW5ncyBoYXBwZW4gd2l0aC8KL3JlY3Vyc2l2ZSByZWZlcmVuY2VzIGluIFBlcmwsIGFzIGZhciBhcyA1LjExLjMgLSBzZWUgc29tZSBzdHVmZiBpbiB0ZXN0ICMyLi8KCi9eKGFcMT8pezR9JC8KICAgIGEKICAgIGFhCiAgICBhYWEKICAgIGFhYWFhCiAgICBhYWFhYWFhCiAgICBhYWFhYWFhYQogICAgYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYQogICAgYWFhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYWFhYQogICAgYWFhYWFhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYWFhYWFhICAgICAgICAgICAgICAgCgovXihhXDE/KShhXDE/KShhXDI/KShhXDM/KSQvCiAgICBhCiAgICBhYQogICAgYWFhCiAgICBhYWFhCiAgICBhYWFhYQogICAgYWFhYWFhCiAgICBhYWFhYWFhCiAgICBhYWFhYWFhYQogICAgYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYQogICAgYWFhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYWFhYQogICAgYWFhYWFhYWFhYWFhYWFhCiAgICBhYWFhYWFhYWFhYWFhYWFhICAgICAgICAgICAgICAgCgovVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgdGFrZW4gZnJvbSB0aGUgUGVybCA1LjAwNSB0ZXN0IHN1aXRlOyBzb21lIG9mIHRoZW0vCi9hcmUgY29tcGF0aWJsZSB3aXRoIDUuMDA0LCBidXQgSSdkIHJhdGhlciBub3QgaGF2ZSB0byBzb3J0IHRoZW0gb3V0Li8KCi9hYmMvCiAgICBhYmMKICAgIHhhYmN5CiAgICBhYmFiYwogICAgKioqIEZhaWxlcnMKICAgIHhiYwogICAgYXhjCiAgICBhYngKCi9hYipjLwogICAgYWJjCgovYWIqYmMvCiAgICBhYmMKICAgIGFiYmMKICAgIGFiYmJiYwoKLy57MX0vCiAgICBhYmJiYmMKCi8uezMsNH0vCiAgICBhYmJiYmMKCi9hYnswLH1iYy8KICAgIGFiYmJiYwoKL2FiK2JjLwogICAgYWJiYwogICAgKioqIEZhaWxlcnMKICAgIGFiYwogICAgYWJxCgovYWJ7MSx9YmMvCgovYWIrYmMvCiAgICBhYmJiYmMKCi9hYnsxLH1iYy8KICAgIGFiYmJiYwoKL2FiezEsM31iYy8KICAgIGFiYmJiYwoKL2FiezMsNH1iYy8KICAgIGFiYmJiYwoKL2FiezQsNX1iYy8KICAgICoqKiBGYWlsZXJzCiAgICBhYnEKICAgIGFiYmJiYwoKL2FiP2JjLwogICAgYWJiYwogICAgYWJjCgovYWJ7MCwxfWJjLwogICAgYWJjCgovYWI/YmMvCgovYWI/Yy8KICAgIGFiYwoKL2FiezAsMX1jLwogICAgYWJjCgovXmFiYyQvCiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICBhYmJiYmMKICAgIGFiY2MKCi9eYWJjLwogICAgYWJjYwoKL15hYmMkLwoKL2FiYyQvCiAgICBhYWJjCiAgICAqKiogRmFpbGVycwogICAgYWFiYwogICAgYWFiY2QKCi9eLwogICAgYWJjCgovJC8KICAgIGFiYwoKL2EuYy8KICAgIGFiYwogICAgYXhjCgovYS4qYy8KICAgIGF4eXpjCgovYVtiY11kLwogICAgYWJkCiAgICAqKiogRmFpbGVycwogICAgYXh5emQKICAgIGFiYwoKL2FbYi1kXWUvCiAgICBhY2UKCi9hW2ItZF0vCiAgICBhYWMKCi9hWy1iXS8KICAgIGEtCgovYVtiLV0vCiAgICBhLQoKL2FdLwogICAgYV0KCi9hW11dYi8KICAgIGFdYgoKL2FbXmJjXWQvCiAgICBhZWQKICAgICoqKiBGYWlsZXJzCiAgICBhYmQKICAgIGFiZAoKL2FbXi1iXWMvCiAgICBhZGMKCi9hW15dYl1jLwogICAgYWRjCiAgICAqKiogRmFpbGVycwogICAgYS1jCiAgICBhXWMKCi9cYmFcYi8KICAgIGEtCiAgICAtYQogICAgLWEtCgovXGJ5XGIvCiAgICAqKiogRmFpbGVycwogICAgeHkKICAgIHl6CiAgICB4eXoKCi9cQmFcQi8KICAgICoqKiBGYWlsZXJzCiAgICBhLQogICAgLWEKICAgIC1hLQoKL1xCeVxiLwogICAgeHkKCi9cYnlcQi8KICAgIHl6CgovXEJ5XEIvCiAgICB4eXoKCi9cdy8KICAgIGEKCi9cVy8KICAgIC0KICAgICoqKiBGYWlsZXJzCiAgICAtCiAgICBhCgovYVxzYi8KICAgIGEgYgoKL2FcU2IvCiAgICBhLWIKICAgICoqKiBGYWlsZXJzCiAgICBhLWIKICAgIGEgYgoKL1xkLwogICAgMQoKL1xELwogICAgLQogICAgKioqIEZhaWxlcnMKICAgIC0KICAgIDEKCi9bXHddLwogICAgYQoKL1tcV10vCiAgICAtCiAgICAqKiogRmFpbGVycwogICAgLQogICAgYQoKL2FbXHNdYi8KICAgIGEgYgoKL2FbXFNdYi8KICAgIGEtYgogICAgKioqIEZhaWxlcnMKICAgIGEtYgogICAgYSBiCgovW1xkXS8KICAgIDEKCi9bXERdLwogICAgLQogICAgKioqIEZhaWxlcnMKICAgIC0KICAgIDEKCi9hYnxjZC8KICAgIGFiYwogICAgYWJjZAoKLygpZWYvCiAgICBkZWYKCi8kYi8KCi9hXChiLwogICAgYShiCgovYVwoKmIvCiAgICBhYgogICAgYSgoYgoKL2FcXGIvCiAgICBhXGIKCi8oKGEpKS8KICAgIGFiYwoKLyhhKWIoYykvCiAgICBhYmMKCi9hK2IrYy8KICAgIGFhYmJhYmMKCi9hezEsfWJ7MSx9Yy8KICAgIGFhYmJhYmMKCi9hLis/Yy8KICAgIGFiY2FiYwoKLyhhK3xiKSovCiAgICBhYgoKLyhhK3xiKXswLH0vCiAgICBhYgoKLyhhK3xiKSsvCiAgICBhYgoKLyhhK3xiKXsxLH0vCiAgICBhYgoKLyhhK3xiKT8vCiAgICBhYgoKLyhhK3xiKXswLDF9LwogICAgYWIKCi9bXmFiXSovCiAgICBjZGUKCi9hYmMvCiAgICAqKiogRmFpbGVycwogICAgYgogICAgCgovYSovCiAgICAKCi8oW2FiY10pKmQvCiAgICBhYmJiY2QKCi8oW2FiY10pKmJjZC8KICAgIGFiY2QKCi9hfGJ8Y3xkfGUvCiAgICBlCgovKGF8YnxjfGR8ZSlmLwogICAgZWYKCi9hYmNkKmVmZy8KICAgIGFiY2RlZmcKCi9hYiovCiAgICB4YWJ5YWJiYnoKICAgIHhheWFiYmJ6CgovKGFifGNkKWUvCiAgICBhYmNkZQoKL1thYmhnZWZkY11pai8KICAgIGhpagoKL14oYWJ8Y2QpZS8KCi8oYWJjfCllZi8KICAgIGFiY2RlZgoKLyhhfGIpYypkLwogICAgYWJjZAoKLyhhYnxhYiopYmMvCiAgICBhYmMKCi9hKFtiY10qKWMqLwogICAgYWJjCgovYShbYmNdKikoYypkKS8KICAgIGFiY2QKCi9hKFtiY10rKShjKmQpLwogICAgYWJjZAoKL2EoW2JjXSopKGMrZCkvCiAgICBhYmNkCgovYVtiY2RdKmRjZGNkZS8KICAgIGFkY2RjZGUKCi9hW2JjZF0rZGNkY2RlLwogICAgKioqIEZhaWxlcnMKICAgIGFiY2RlCiAgICBhZGNkY2RlCgovKGFifGEpYipjLwogICAgYWJjCgovKChhKShiKWMpKGQpLwogICAgYWJjZAoKL1thLXpBLVpfXVthLXpBLVowLTlfXSovCiAgICBhbHBoYQoKL15hKGJjK3xiW2VoXSlnfC5oJC8KICAgIGFiaAoKLyhiYytkJHxlZipnLnxoP2koanxrKSkvCiAgICBlZmZnegogICAgaWoKICAgIHJlZmZnegogICAgKioqIEZhaWxlcnMKICAgIGVmZmcKICAgIGJjZGQKCi8oKCgoKCgoKCgoYSkpKSkpKSkpKSkvCiAgICBhCgovKCgoKCgoKCgoKGEpKSkpKSkpKSkpXDEwLwogICAgYWEKCi8oKCgoKCgoKChhKSkpKSkpKSkpLwogICAgYQoKL211bHRpcGxlIHdvcmRzIG9mIHRleHQvCiAgICAqKiogRmFpbGVycwogICAgYWEKICAgIHVoLXVoCgovbXVsdGlwbGUgd29yZHMvCiAgICBtdWx0aXBsZSB3b3JkcywgeWVhaAoKLyguKiljKC4qKS8KICAgIGFiY2RlCgovXCgoLiopLCAoLiopXCkvCiAgICAoYSwgYikKCi9ba10vCgovYWJjZC8KICAgIGFiY2QKCi9hKGJjKWQvCiAgICBhYmNkCgovYVstXT9jLwogICAgYWMKCi8oYWJjKVwxLwogICAgYWJjYWJjCgovKFthLWNdKilcMS8KICAgIGFiY2FiYwoKLyhhKXxcMS8KICAgIGEKICAgICoqKiBGYWlsZXJzCiAgICBhYgogICAgeAoKLygoW2EtY10pYio/XDIpKi8KICAgIGFiYWJiYmNiYwoKLygoW2EtY10pYio/XDIpezN9LwogICAgYWJhYmJiY2JjCgovKChcM3xiKVwyKGEpeCkrLwogICAgYWFheGFiYXhiYWF4YmJheAoKLygoXDN8YilcMihhKSl7Mix9LwogICAgYmJhYWJhYmJhYmFhYWFhYmJhYWFhYmJhCgovYWJjL2kKICAgIEFCQwogICAgWEFCQ1kKICAgIEFCQUJDCiAgICAqKiogRmFpbGVycwogICAgYWF4YWJ4YmF4YmJ4CiAgICBYQkMKICAgIEFYQwogICAgQUJYCgovYWIqYy9pCiAgICBBQkMKCi9hYipiYy9pCiAgICBBQkMKICAgIEFCQkMKCi9hYio/YmMvaQogICAgQUJCQkJDCgovYWJ7MCx9P2JjL2kKICAgIEFCQkJCQwoKL2FiKz9iYy9pCiAgICBBQkJDCgovYWIrYmMvaQogICAgKioqIEZhaWxlcnMKICAgIEFCQwogICAgQUJRCgovYWJ7MSx9YmMvaQoKL2FiK2JjL2kKICAgIEFCQkJCQwoKL2FiezEsfT9iYy9pCiAgICBBQkJCQkMKCi9hYnsxLDN9P2JjL2kKICAgIEFCQkJCQwoKL2FiezMsNH0/YmMvaQogICAgQUJCQkJDCgovYWJ7NCw1fT9iYy9pCiAgICAqKiogRmFpbGVycwogICAgQUJRCiAgICBBQkJCQkMKCi9hYj8/YmMvaQogICAgQUJCQwogICAgQUJDCgovYWJ7MCwxfT9iYy9pCiAgICBBQkMKCi9hYj8/YmMvaQoKL2FiPz9jL2kKICAgIEFCQwoKL2FiezAsMX0/Yy9pCiAgICBBQkMKCi9eYWJjJC9pCiAgICBBQkMKICAgICoqKiBGYWlsZXJzCiAgICBBQkJCQkMKICAgIEFCQ0MKCi9eYWJjL2kKICAgIEFCQ0MKCi9eYWJjJC9pCgovYWJjJC9pCiAgICBBQUJDCgovXi9pCiAgICBBQkMKCi8kL2kKICAgIEFCQwoKL2EuYy9pCiAgICBBQkMKICAgIEFYQwoKL2EuKj9jL2kKICAgIEFYWVpDCgovYS4qYy9pCiAgICAqKiogRmFpbGVycwogICAgQUFCQwogICAgQVhZWkQKCi9hW2JjXWQvaQogICAgQUJECgovYVtiLWRdZS9pCiAgICBBQ0UKICAgICoqKiBGYWlsZXJzCiAgICBBQkMKICAgIEFCRAoKL2FbYi1kXS9pCiAgICBBQUMKCi9hWy1iXS9pCiAgICBBLQoKL2FbYi1dL2kKICAgIEEtCgovYV0vaQogICAgQV0KCi9hW11dYi9pCiAgICBBXUIKCi9hW15iY11kL2kKICAgIEFFRAoKL2FbXi1iXWMvaQogICAgQURDCiAgICAqKiogRmFpbGVycwogICAgQUJECiAgICBBLUMKCi9hW15dYl1jL2kKICAgIEFEQwoKL2FifGNkL2kKICAgIEFCQwogICAgQUJDRAoKLygpZWYvaQogICAgREVGCgovJGIvaQogICAgKioqIEZhaWxlcnMKICAgIEFdQwogICAgQgoKL2FcKGIvaQogICAgQShCCgovYVwoKmIvaQogICAgQUIKICAgIEEoKEIKCi9hXFxiL2kKICAgIEFcQgoKLygoYSkpL2kKICAgIEFCQwoKLyhhKWIoYykvaQogICAgQUJDCgovYStiK2MvaQogICAgQUFCQkFCQwoKL2F7MSx9YnsxLH1jL2kKICAgIEFBQkJBQkMKCi9hLis/Yy9pCiAgICBBQkNBQkMKCi9hLio/Yy9pCiAgICBBQkNBQkMKCi9hLnswLDV9P2MvaQogICAgQUJDQUJDCgovKGErfGIpKi9pCiAgICBBQgoKLyhhK3xiKXswLH0vaQogICAgQUIKCi8oYSt8YikrL2kKICAgIEFCCgovKGErfGIpezEsfS9pCiAgICBBQgoKLyhhK3xiKT8vaQogICAgQUIKCi8oYSt8Yil7MCwxfS9pCiAgICBBQgoKLyhhK3xiKXswLDF9Py9pCiAgICBBQgoKL1teYWJdKi9pCiAgICBDREUKCi9hYmMvaQoKL2EqL2kKICAgIAoKLyhbYWJjXSkqZC9pCiAgICBBQkJCQ0QKCi8oW2FiY10pKmJjZC9pCiAgICBBQkNECgovYXxifGN8ZHxlL2kKICAgIEUKCi8oYXxifGN8ZHxlKWYvaQogICAgRUYKCi9hYmNkKmVmZy9pCiAgICBBQkNERUZHCgovYWIqL2kKICAgIFhBQllBQkJCWgogICAgWEFZQUJCQloKCi8oYWJ8Y2QpZS9pCiAgICBBQkNERQoKL1thYmhnZWZkY11pai9pCiAgICBISUoKCi9eKGFifGNkKWUvaQogICAgQUJDREUKCi8oYWJjfCllZi9pCiAgICBBQkNERUYKCi8oYXxiKWMqZC9pCiAgICBBQkNECgovKGFifGFiKiliYy9pCiAgICBBQkMKCi9hKFtiY10qKWMqL2kKICAgIEFCQwoKL2EoW2JjXSopKGMqZCkvaQogICAgQUJDRAoKL2EoW2JjXSspKGMqZCkvaQogICAgQUJDRAoKL2EoW2JjXSopKGMrZCkvaQogICAgQUJDRAoKL2FbYmNkXSpkY2RjZGUvaQogICAgQURDRENERQoKL2FbYmNkXStkY2RjZGUvaQoKLyhhYnxhKWIqYy9pCiAgICBBQkMKCi8oKGEpKGIpYykoZCkvaQogICAgQUJDRAoKL1thLXpBLVpfXVthLXpBLVowLTlfXSovaQogICAgQUxQSEEKCi9eYShiYyt8YltlaF0pZ3wuaCQvaQogICAgQUJICgovKGJjK2QkfGVmKmcufGg/aShqfGspKS9pCiAgICBFRkZHWgogICAgSUoKICAgIFJFRkZHWgogICAgKioqIEZhaWxlcnMKICAgIEFEQ0RDREUKICAgIEVGRkcKICAgIEJDREQKCi8oKCgoKCgoKCgoYSkpKSkpKSkpKSkvaQogICAgQQoKLygoKCgoKCgoKChhKSkpKSkpKSkpKVwxMC9pCiAgICBBQQoKLygoKCgoKCgoKGEpKSkpKSkpKSkvaQogICAgQQoKLyg/Oig/Oig/Oig/Oig/Oig/Oig/Oig/Oig/OihhKSkpKSkpKSkpKS9pCiAgICBBCgovKD86KD86KD86KD86KD86KD86KD86KD86KD86KGF8YnxjKSkpKSkpKSkpKS9pCiAgICBDCgovbXVsdGlwbGUgd29yZHMgb2YgdGV4dC9pCiAgICAqKiogRmFpbGVycwogICAgQUEKICAgIFVILVVICgovbXVsdGlwbGUgd29yZHMvaQogICAgTVVMVElQTEUgV09SRFMsIFlFQUgKCi8oLiopYyguKikvaQogICAgQUJDREUKCi9cKCguKiksICguKilcKS9pCiAgICAoQSwgQikKCi9ba10vaQoKL2FiY2QvaQogICAgQUJDRAoKL2EoYmMpZC9pCiAgICBBQkNECgovYVstXT9jL2kKICAgIEFDCgovKGFiYylcMS9pCiAgICBBQkNBQkMKCi8oW2EtY10qKVwxL2kKICAgIEFCQ0FCQwoKL2EoPyFiKS4vCiAgICBhYmFkCgovYSg/PWQpLi8KICAgIGFiYWQKCi9hKD89Y3xkKS4vCiAgICBhYmFkCgovYSg/OmJ8Y3xkKSguKS8KICAgIGFjZQoKL2EoPzpifGN8ZCkqKC4pLwogICAgYWNlCgovYSg/OmJ8Y3xkKSs/KC4pLwogICAgYWNlCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCkrKC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezJ9KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezQsNX0oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NCw1fT8oLikvCiAgICBhY2RiY2RiZQoKLygoZm9vKXwoYmFyKSkqLwogICAgZm9vYmFyCgovYSg/OmJ8Y3xkKXs2LDd9KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezYsN30/KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezUsNn0oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NSw2fT8oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NSw3fSguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs1LDd9PyguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8KGN8ZSl7MSwyfT98ZCkrPyguKS8KICAgIGFjZQoKL14oLispP0IvCiAgICBBQgoKL14oW15hLXpdKXwoXF4pJC8KICAgIC4KCi9eWzw+XSYvCiAgICA8Jk9VVAoKL14oYVwxPyl7NH0kLwogICAgYWFhYWFhYWFhYQogICAgKioqIEZhaWxlcnMKICAgIEFCCiAgICBhYWFhYWFhYWEKICAgIGFhYWFhYWFhYWFhCgovXihhKD8oMSlcMSkpezR9JC8KICAgIGFhYWFhYWFhYWEKICAgICoqKiBGYWlsZXJzCiAgICBhYWFhYWFhYWEKICAgIGFhYWFhYWFhYWFhCgovKD86KGYpKG8pKG8pfChiKShhKShyKSkqLwogICAgZm9vYmFyCgovKD88PWEpYi8KICAgIGFiCiAgICAqKiogRmFpbGVycwogICAgY2IKICAgIGIKCi8oPzwhYyliLwogICAgYWIKICAgIGIKICAgIGIKCi8oPzouLikqYS8KICAgIGFiYQoKLyg/Oi4uKSo/YS8KICAgIGFiYQoKL14oPzpifGEoPz0oLikpKSpcMS8KICAgIGFiYwoKL14oKXszLDV9LwogICAgYWJjCgovXihhKykqYXgvCiAgICBhYXgKCi9eKChhfGIpKykqYXgvCiAgICBhYXgKCi9eKChhfGJjKSspKmF4LwogICAgYWF4CgovKGF8eCkqYWIvCiAgICBjYWIKCi8oYSkqYWIvCiAgICBjYWIKCi8oPzooP2kpYSliLwogICAgYWIKCi8oKD9pKWEpYi8KICAgIGFiCgovKD86KD9pKWEpYi8KICAgIEFiCgovKCg/aSlhKWIvCiAgICBBYgoKLyg/Oig/aSlhKWIvCiAgICAqKiogRmFpbGVycwogICAgY2IKICAgIGFCCgovKCg/aSlhKWIvCgovKD9pOmEpYi8KICAgIGFiCgovKCg/aTphKSliLwogICAgYWIKCi8oP2k6YSliLwogICAgQWIKCi8oKD9pOmEpKWIvCiAgICBBYgoKLyg/aTphKWIvCiAgICAqKiogRmFpbGVycwogICAgYUIKICAgIGFCCgovKCg/aTphKSliLwoKLyg/Oig/LWkpYSliL2kKICAgIGFiCgovKCg/LWkpYSliL2kKICAgIGFiCgovKD86KD8taSlhKWIvaQogICAgYUIKCi8oKD8taSlhKWIvaQogICAgYUIKCi8oPzooPy1pKWEpYi9pCiAgICAqKiogRmFpbGVycwogICAgYUIKICAgIEFiCgovKCg/LWkpYSliL2kKCi8oPzooPy1pKWEpYi9pCiAgICBhQgoKLygoPy1pKWEpYi9pCiAgICBhQgoKLyg/Oig/LWkpYSliL2kKICAgICoqKiBGYWlsZXJzCiAgICBBYgogICAgQUIKCi8oKD8taSlhKWIvaQoKLyg/LWk6YSliL2kKICAgIGFiCgovKCg/LWk6YSkpYi9pCiAgICBhYgoKLyg/LWk6YSliL2kKICAgIGFCCgovKCg/LWk6YSkpYi9pCiAgICBhQgoKLyg/LWk6YSliL2kKICAgICoqKiBGYWlsZXJzCiAgICBBQgogICAgQWIKCi8oKD8taTphKSliL2kKCi8oPy1pOmEpYi9pCiAgICBhQgoKLygoPy1pOmEpKWIvaQogICAgYUIKCi8oPy1pOmEpYi9pCiAgICAqKiogRmFpbGVycwogICAgQWIKICAgIEFCCgovKCg/LWk6YSkpYi9pCgovKCg/LWk6YS4pKWIvaQogICAgKioqIEZhaWxlcnMKICAgIEFCCiAgICBhXG5CCgovKCg/cy1pOmEuKSliL2kKICAgIGFcbkIKCi8oPzpjfGQpKD86KSg/OmEoPzopKD86YikoPzpiKD86KSkoPzpiKD86KSg/OmIpKSkvCiAgICBjYWJiYmIKCi8oPzpjfGQpKD86KSg/OmFhYWFhYWFhKD86KSg/OmJiYmJiYmJiKSg/OmJiYmJiYmJiKD86KSkoPzpiYmJiYmJiYig/OikoPzpiYmJiYmJiYikpKS8KICAgIGNhYWFhYWFhYWJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiCgovKGFiKVxkXDEvaQogICAgQWI0YWIKICAgIGFiNEFiCgovZm9vXHcqXGR7NH1iYXovCiAgICBmb29iYXIxMjM0YmF6CgoveCh+fikqKD86KD86Rik/KT8vCiAgICB4fn4KCi9eYSg/I3h4eCl7M31jLwogICAgYWFhYwoKL15hICg/I3h4eCkgKD8jeXl5KSB7M31jL3gKICAgIGFhYWMKCi8oPzwhW2NkXSliLwogICAgKioqIEZhaWxlcnMKICAgIEJcbkIKICAgIGRiY2IKCi8oPzwhW2NkXSlbYWJdLwogICAgZGJhYWNiCgovKD88IShjfGQpKWIvCgovKD88IShjfGQpKVthYl0vCiAgICBkYmFhY2IKCi8oPzwhY2QpW2FiXS8KICAgIGNkYWNjYgoKL14oPzphP2I/KSokLwogICAgXAogICAgYQogICAgYWIKICAgIGFhYSAgIAogICAgKioqIEZhaWxlcnMKICAgIGRiY2IKICAgIGEtLQogICAgYWEtLSAKCi8oKD9zKV5hKC4pKSgoP20pXmIkKS8KICAgIGFcbmJcbmNcbgoKLygoP20pXmIkKS8KICAgIGFcbmJcbmNcbgoKLyg/bSleYi8KICAgIGFcbmJcbgoKLyg/bSleKGIpLwogICAgYVxuYlxuCgovKCg/bSleYikvCiAgICBhXG5iXG4KCi9cbigoP20pXmIpLwogICAgYVxuYlxuCgovKCg/cykuKWMoPyEuKS8KICAgIGFcbmJcbmNcbgogICAgYVxuYlxuY1xuCgovKCg/cyliLiljKD8hLikvCiAgICBhXG5iXG5jXG4KICAgIGFcbmJcbmNcbgoKL15iLwoKLygpXmIvCiAgICAqKiogRmFpbGVycwogICAgYVxuYlxuY1xuCiAgICBhXG5iXG5jXG4KCi8oKD9tKV5iKS8KICAgIGFcbmJcbmNcbgoKLyh4KT8oPygxKWF8YikvCiAgICAqKiogRmFpbGVycwogICAgYQogICAgYQoKLyh4KT8oPygxKWJ8YSkvCiAgICBhCgovKCk/KD8oMSlifGEpLwogICAgYQoKLygpKD8oMSlifGEpLwoKLygpPyg/KDEpYXxiKS8KICAgIGEKCi9eKFwoKT9ibGFoKD8oMSkoXCkpKSQvCiAgICAoYmxhaCkKICAgIGJsYWgKICAgICoqKiBGYWlsZXJzCiAgICBhCiAgICBibGFoKQogICAgKGJsYWgKCi9eKFwoKyk/YmxhaCg/KDEpKFwpKSkkLwogICAgKGJsYWgpCiAgICBibGFoCiAgICAqKiogRmFpbGVycwogICAgYmxhaCkKICAgIChibGFoCgovKD8oPyFhKWF8YikvCgovKD8oPyFhKWJ8YSkvCiAgICBhCgovKD8oPz1hKWJ8YSkvCiAgICAqKiogRmFpbGVycwogICAgYQogICAgYQoKLyg/KD89YSlhfGIpLwogICAgYQoKLyg/PShhKz8pKShcMWFiKS8KICAgIGFhYWIKCi9eKD89KGErPykpXDFhYi8KCi8oXHcrOikrLwogICAgb25lOgoKLyQoPzw9XihhKSkvCiAgICBhCgovKD89KGErPykpKFwxYWIpLwogICAgYWFhYgoKL14oPz0oYSs/KSlcMWFiLwogICAgKioqIEZhaWxlcnMKICAgIGFhYWIKICAgIGFhYWIKCi8oW1x3Ol0rOjopPyhcdyspJC8KICAgIGFiY2QKICAgIHh5Ono6OjphYmNkCgovXlteYmNkXSooYyspLwogICAgYWV4eWNkCgovKGEqKWIrLwogICAgY2FhYgoKLyhbXHc6XSs6Oik/KFx3KykkLwogICAgYWJjZAogICAgeHk6ejo6OmFiY2QKICAgICoqKiBGYWlsZXJzCiAgICBhYmNkOgogICAgYWJjZDoKCi9eW15iY2RdKihjKykvCiAgICBhZXh5Y2QKCi8oPmErKWFiLwoKLyg/PmErKWIvCiAgICBhYWFiCgovKFtbOl0rKS8KICAgIGE6W2JdOgoKLyhbWz1dKykvCiAgICBhPVtiXT0KCi8oW1suXSspLwogICAgYS5bYl0uCgovKCg/PmErKWIpLwogICAgYWFhYgoKLyg/PihhKykpYi8KICAgIGFhYWIKCi8oKD8+W14oKV0rKXxcKFteKCldKlwpKSsvCiAgICAoKGFiYyhhZGUpdWZoKCkoKXgKCi9hXFovCiAgICAqKiogRmFpbGVycwogICAgYWFhYgogICAgYVxuYlxuCgovYlxaLwogICAgYVxuYlxuCgovYlx6LwoKL2JcWi8KICAgIGFcbmIKCi9iXHovCiAgICBhXG5iCiAgICAqKiogRmFpbGVycwogICAgCi9eKD8+KD8oMSlcLnwoKSlbXlxXX10oPz5bYS16MC05LV0qW15cV19dKT8pKyQvCiAgICBhCiAgICBhYmMKICAgIGEtYgogICAgMC05IAogICAgYS5iCiAgICA1LjYuNyAgCiAgICB0aGUucXVpY2suYnJvd24uZm94CiAgICBhMTAwLmIyMDAuMzAwYyAgCiAgICAxMi1hYi4xMjQ1IAogICAgKioqIEZhaWxlcnMKICAgIFwKICAgIC5hCiAgICAtYQogICAgYS0KICAgIGEuICAKICAgIGFfYiAKICAgIGEuLQogICAgYS4uICAKICAgIGFiLi5iYyAKICAgIHRoZS5xdWljay5icm93bi5mb3gtCiAgICB0aGUucXVpY2suYnJvd24uZm94LgogICAgdGhlLnF1aWNrLmJyb3duLmZveF8KICAgIHRoZS5xdWljay5icm93bi5mb3grICAgICAgIAoKLyg/Pi4qKSg/PD0oYWJjZHx3eHl6KSkvCiAgICBhbHBoYWJldGFiY2QKICAgIGVuZGluZ3d4eXoKICAgICoqKiBGYWlsZXJzCiAgICBhIHJhdGhlciBsb25nIHN0cmluZyB0aGF0IGRvZXNuJ3QgZW5kIHdpdGggb25lIG9mIHRoZW0KCi93b3JkICg/Pig/Oig/IW90aGVyd29yZClbYS16QS1aMC05XSsgKXswLDMwfSlvdGhlcndvcmQvCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrIG90aGVyd29yZAogICAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyawogIAovd29yZCAoPz5bYS16QS1aMC05XSsgKXswLDMwfW90aGVyd29yZC8KICAgIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgdGhlIHF1aWNrIGJyb3duIGZveCBhbmQgdGhlIGxhenkgZG9nIGFuZCBzZXZlcmFsIG90aGVyIHdvcmRzIGdldHRpbmcgY2xvc2UgdG8gdGhpcnR5IGJ5IG5vdyBJIGhvcGUKCi8oPzw9XGR7M30oPyE5OTkpKWZvby8KICAgIDk5OWZvbwogICAgMTIzOTk5Zm9vIAogICAgKioqIEZhaWxlcnMKICAgIDEyM2FiY2ZvbwogICAgCi8oPzw9KD8hLi4uOTk5KVxkezN9KWZvby8KICAgIDk5OWZvbwogICAgMTIzOTk5Zm9vIAogICAgKioqIEZhaWxlcnMKICAgIDEyM2FiY2ZvbwoKLyg/PD1cZHszfSg/ITk5OSkuLi4pZm9vLwogICAgMTIzYWJjZm9vCiAgICAxMjM0NTZmb28gCiAgICAqKiogRmFpbGVycwogICAgMTIzOTk5Zm9vICAKICAgIAovKD88PVxkezN9Li4uKSg/PCE5OTkpZm9vLwogICAgMTIzYWJjZm9vICAgCiAgICAxMjM0NTZmb28gCiAgICAqKiogRmFpbGVycwogICAgMTIzOTk5Zm9vICAKCi88YVtcc10raHJlZltcc10qPVtcc10qICAgICAgICAgICMgZmluZCA8YSBocmVmPQogKFtcIlwnXSk/ICAgICAgICAgICAgICAgICAgICAgICAjIGZpbmQgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZQogKD8oMSkgKC4qPylcMSB8IChbXlxzXSspKSAgICAgICAjIGlmIHF1b3RlIGZvdW5kLCBtYXRjaCB1cCB0byBuZXh0IG1hdGNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcXVvdGUsIG90aGVyd2lzZSBtYXRjaCB1cCB0byBuZXh0IHNwYWNlCi9pc3gKICAgIDxhIGhyZWY9YWJjZCB4eXoKICAgIDxhIGhyZWY9XCJhYmNkIHh5eiBwcXJcIiBjYXRzCiAgICA8YSBocmVmPVwnYWJjZCB4eXogcHFyXCcgY2F0cwoKLzxhXHMraHJlZlxzKj1ccyogICAgICAgICAgICAgICAgIyBmaW5kIDxhIGhyZWY9CiAoWyInXSk/ICAgICAgICAgICAgICAgICAgICAgICAgICMgZmluZCBzaW5nbGUgb3IgZG91YmxlIHF1b3RlCiAoPygxKSAoLio/KVwxIHwgKFxTKykpICAgICAgICAgICMgaWYgcXVvdGUgZm91bmQsIG1hdGNoIHVwIHRvIG5leHQgbWF0Y2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBxdW90ZSwgb3RoZXJ3aXNlIG1hdGNoIHVwIHRvIG5leHQgc3BhY2UKL2lzeAogICAgPGEgaHJlZj1hYmNkIHh5egogICAgPGEgaHJlZj1cImFiY2QgeHl6IHBxclwiIGNhdHMKICAgIDxhIGhyZWYgICAgICAgPSAgICAgICBcJ2FiY2QgeHl6IHBxclwnIGNhdHMKCi88YVxzK2hyZWYoPz5ccyopPSg/PlxzKikgICAgICAgICMgZmluZCA8YSBocmVmPQogKFsiJ10pPyAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpbmQgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZQogKD8oMSkgKC4qPylcMSB8IChcUyspKSAgICAgICAgICAjIGlmIHF1b3RlIGZvdW5kLCBtYXRjaCB1cCB0byBuZXh0IG1hdGNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcXVvdGUsIG90aGVyd2lzZSBtYXRjaCB1cCB0byBuZXh0IHNwYWNlCi9pc3gKICAgIDxhIGhyZWY9YWJjZCB4eXoKICAgIDxhIGhyZWY9XCJhYmNkIHh5eiBwcXJcIiBjYXRzCiAgICA8YSBocmVmICAgICAgID0gICAgICAgXCdhYmNkIHh5eiBwcXJcJyBjYXRzCgovKChaKSt8QSkqLwogICAgWkFCQ0RFRkcKCi8oWigpfEEpKi8KICAgIFpBQkNERUZHCgovKFooKCkpfEEpKi8KICAgIFpBQkNERUZHCgovKCg/PlopK3xBKSovCiAgICBaQUJDREVGRwoKLygoPz4pK3xBKSovCiAgICBaQUJDREVGRwoKL2EqL2cKICAgIGFiYmFiCgovXlthLVxkXS8KICAgIGFiY2RlCiAgICAtdGhpbmdzCiAgICAwZGlnaXQKICAgICoqKiBGYWlsZXJzCiAgICBiY2RlZiAgICAKCi9eW1xkLWFdLwogICAgYWJjZGUKICAgIC10aGluZ3MKICAgIDBkaWdpdAogICAgKioqIEZhaWxlcnMKICAgIGJjZGVmICAgIAogICAgCi9bWzpzcGFjZTpdXSsvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogICAgIAovW1s6Ymxhbms6XV0rLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKICAgICAKL1tcc10rLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKICAgICAKL1xzKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAgICAgCi9hC2IveAogICAgYWIKCi8oPyFcQSl4L20KICBhXG54YlxuCgovKD8hXil4L20KICBhXG54YlxuCgovYWJjXFFhYmNcRWFiYy8KICAgIGFiY2FiY2FiYwogICAgCi9hYmNcUSgqK3xcRWFiYy8KICAgIGFiYygqK3xhYmMgCgovICAgYWJjXFEgYWJjXEVhYmMveAogICAgYWJjIGFiY2FiYwogICAgKioqIEZhaWxlcnMKICAgIGFiY2FiY2FiYyAgCiAgICAKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFL3gKICAgIGFiYyNub3QgY29tbWVudFxuICAgIGxpdGVyYWwgICAgIAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbC94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWxcRSAjbW9yZSBjb21tZW50CiAgICAveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCgovYWJjI2NvbW1lbnQKICAgIFxRI25vdCBjb21tZW50CiAgICBsaXRlcmFsXEUgI21vcmUgY29tbWVudC94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKCi9cUWFiY1wkeHl6XEUvCiAgICBhYmNcXFwkeHl6CgovXFFhYmNcRVwkXFF4eXpcRS8KICAgIGFiY1wkeHl6CgovXEdhYmMvCiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICB4eXphYmMgIAoKL1xHYWJjLi9nCiAgICBhYmMxYWJjMnh5emFiYzMKCi9hYmMuL2cKICAgIGFiYzFhYmMyeHl6YWJjMyAKCi9hKD94OiBiIGMgKWQvCiAgICBYYWJjZFkKICAgICoqKiBGYWlsZXJzIAogICAgWGEgYiBjIGQgWSAKCi8oKD94KXggeSB6IHwgYSBiIGMpLwogICAgWGFiY1kKICAgIEF4eXpCIAoKLyg/aSlBQig/LWkpQy8KICAgIFhhYkNZCiAgICAqKiogRmFpbGVycwogICAgWGFiY1kgIAoKLygoP2kpQUIoPy1pKUN8RClFLwogICAgYWJDRQogICAgREUKICAgICoqKiBGYWlsZXJzCiAgICBhYmNFCiAgICBhYkNlICAKICAgIGRFCiAgICBEZSAgICAKCi8oLiopXGQrXDEvCiAgICBhYmMxMjNhYmMKICAgIGFiYzEyM2JjIAoKLyguKilcZCtcMS9zCiAgICBhYmMxMjNhYmMKICAgIGFiYzEyM2JjIAogICAgCi8oKC4qKSlcZCtcMS8KICAgIGFiYzEyM2FiYwogICAgYWJjMTIzYmMgIAoKLy0tIFRoaXMgdGVzdHMgZm9yIGFuIElQdjYgYWRkcmVzcyBpbiB0aGUgZm9ybSB3aGVyZSBpdCBjYW4gaGF2ZSB1cCB0byAtLS8KLy0tIGVpZ2h0IGNvbXBvbmVudHMsIG9uZSBhbmQgb25seSBvbmUgb2Ygd2hpY2ggaXMgZW1wdHkuIFRoaXMgbXVzdCBiZSAtLS8KLy0tIGFuIGludGVybmFsIGNvbXBvbmVudC4gLS0vCgovXig/ITopICAgICAgICAgICAgICAgICAgICAgICAjIGNvbG9uIGRpc2FsbG93ZWQgYXQgc3RhcnQKICAoPzogICAgICAgICAgICAgICAgICAgICAgICAgIyBzdGFydCBvZiBpdGVtCiAgICAoPzogWzAtOWEtZl17MSw0fSB8ICAgICAgICMgMS00IGhleCBkaWdpdHMgb3IKICAgICg/KDEpMCB8ICgpICkgKSAgICAgICAgICAgIyBpZiBudWxsIHByZXZpb3VzbHkgbWF0Y2hlZCwgZmFpbDsgZWxzZSBudWxsCiAgICA6ICAgICAgICAgICAgICAgICAgICAgICAgICMgZm9sbG93ZWQgYnkgY29sb24KICApezEsN30gICAgICAgICAgICAgICAgICAgICAgIyBlbmQgaXRlbTsgMS03IG9mIHRoZW0gcmVxdWlyZWQgICAgICAgICAgICAgICAKICBbMC05YS1mXXsxLDR9ICQgICAgICAgICAgICAgIyBmaW5hbCBoZXggbnVtYmVyIGF0IGVuZCBvZiBzdHJpbmcKICAoPygxKXwuKSAgICAgICAgICAgICAgICAgICAgIyBjaGVjayB0aGF0IHRoZXJlIHdhcyBhbiBlbXB0eSBjb21wb25lbnQKICAveGkKICAgIGExMjM6OmExMjMKICAgIGExMjM6YjM0Mjo6YWJjZAogICAgYTEyMzpiMzQyOjozMjRlOmFiY2QKICAgIGExMjM6ZGRkZTpiMzQyOjozMjRlOmFiY2QKICAgIGExMjM6ZGRkZTpiMzQyOjozMjRlOmRjYmE6YWJjZAogICAgYTEyMzpkZGRlOjk5OTk6YjM0Mjo6MzI0ZTpkY2JhOmFiY2QKICAgICoqKiBGYWlsZXJzCiAgICAxOjI6Mzo0OjU6Njo3OjgKICAgIGExMjM6YmNlOmRkZGU6OTk5OTpiMzQyOjozMjRlOmRjYmE6YWJjZAogICAgYTEyMzo6OTk5OTpiMzQyOjozMjRlOmRjYmE6YWJjZAogICAgYWJjZGU6MjozOjQ6NTo2Ojc6OAogICAgOjoxCiAgICBhYmNkOmZlZTA6MTIzOjogICAKICAgIDoxCiAgICAxOiAgCgovW3pcUWEtZF1cRV0vCiAgICB6CiAgICBhCiAgICAtCiAgICBkCiAgICBdIAogICAgKioqIEZhaWxlcnMKICAgIGIgICAgIAoKL1tcelxDXS8KICAgIHoKICAgIEMgCiAgICAKL1xNLwogICAgTSAKICAgIAovKGErKSpiLwogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSAKICAgIAovKD9pKXJlZyg/OnVsKD86W2HkXXxhZSlyfGV4KS8KICAgIFJFR3VsYXIKICAgIHJlZ3VsYWVyCiAgICBSZWdleCAgCiAgICByZWd1bORyIAoKL8Xm5eRb4C3/wC3fXSsvCiAgICDF5uXk4AogICAgxebl5P8KICAgIMXm5eTACiAgICDF5uXk3woKLyg/PD1aKVguLwogIFx4ODRYQVpYQgoKL2FiIGNkICg/eCkgZGUgZmcvCiAgICBhYiBjZCBkZWZnCgovYWIgY2QoP3gpIGRlIGZnLwogICAgYWIgY2RkZWZnCiAgICAqKiBGYWlsZXJzIAogICAgYWJjZGRlZmcKCi8oPzwhW15mXW9vKShiYXIpLwogICAgZm9vYmFyWCAKICAgICoqIEZhaWxlcnMgCiAgICBib29iYXJYCgovKD88IVteZl0pWC8KICAgIG9mZlgKICAgICoqIEZhaWxlcnMKICAgIG9ueVggIAoKLyg/PD1bXmZdKVgvCiAgICBvbnlYCiAgICAqKiBGYWlsZXJzCiAgICBvZmZYIAoKL14vbWcKICAgIGFcbmJcbmNcbgogICAgXCAKICAgIAovKD88PUNcbileL21nCiAgICBBXG5DXG5DXG4gCgovKD86KD8oMSlhfGIpKFgpKSsvCiAgICBiWGFYCgovKD86KD8oMSlcMWF8YikoWHxZKSkrLwogICAgYlhYYVlZYVkKICAgIGJYWWFYWGFYICAKCi8oKSgpKCkoKSgpKCkoKSgpKCkoPzooPygxMClcMTBhfGIpKFh8WSkpKy8KICAgIGJYWGFZWWFZCgovW1ssYWJjLF0rXS8KICAgIGFiY10KICAgIGEsYl0KICAgIFthLGIsY10gIAoKLyg/LXg6ICkveAogICAgQVx4MjBCCiAgICAKIig/eCkoPy14OiBccyojXHMqKSIKICAgIEEgIyBCCiAgICAqKiBGYWlsZXJzCiAgICAjICAKCiIoP3gtaXMpKD86KD8taXhzKSBccyojXHMqKSBpbmNsdWRlIgogICAgQSAjaW5jbHVkZQogICAgKiogRmFpbGVycwogICAgQSNpbmNsdWRlICAKICAgIEEgI0luY2x1ZGUKCi9hKmIqXHcvCiAgICBhYWFiYmJiCiAgICBhYWFhCiAgICBhCgovYSpiP1x3LwogICAgYWFhYmJiYgogICAgYWFhYQogICAgYQoKL2EqYnswLDR9XHcvCiAgICBhYWFiYmJiCiAgICBhYWFhCiAgICBhCgovYSpiezAsfVx3LwogICAgYWFhYmJiYgogICAgYWFhYQogICAgYQogICAgCi9hKlxkKlx3LwogICAgMGEKICAgIGEgCiAgICAKL2EqYiAqXHcveAogICAgYSAKCi9hKmIjY29tbWVudAogICpcdy94CiAgICBhIAoKL2EqIGIgKlx3L3gKICAgIGEgCgovXlx3Kz0uKihcXFxuLiopKi8KICAgIGFiYz14eXpcXFxucHFyCgovKD89KFx3KykpXDE6LwogICAgYWJjZDoKCi9eKD89KFx3KykpXDE6LwogICAgYWJjZDoKCi9eXEVhYmMvCiAgICBhYmMKICAgIAovXltcRWFiY10vCiAgICBhCiAgICAqKiBGYWlsZXJzIAogICAgRSAKICAgIAovXlthLVxFY10vCiAgICBiCiAgICAqKiBGYWlsZXJzCiAgICAtCiAgICBFICAgIAoKL15bYVxFXEUtXEVjXS8KICAgIGIKICAgICoqIEZhaWxlcnMKICAgIC0KICAgIEUgICAgCgovXltcRVxRYVxFLVxRelxFXSsvCiAgICBiCiAgICAqKiBGYWlsZXJzCiAgICAtICAKICAgIAovXlthXFFdYmNcRV0vCiAgICBhCiAgICBdCiAgICBjCiAgICAKL15bYS1cUVxFXS8KICAgIGEKICAgIC0gICAgIAoKL14oYSgpKikqLwogICAgYWFhYQoKL14oPzphKD86KD86KSkqKSovCiAgICBhYWFhCgovXihhKCkrKSsvCiAgICBhYWFhCgovXig/OmEoPzooPzopKSspKy8KICAgIGFhYWEKCi8oYSl7MCwzfSg/KDEpYnwoY3wpKSpELwogICAgYWJiRAogICAgY2NjY0QKICAgIEQgIAoKLyhhfCkqXGQvCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhNAoKLyg/PmF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEKICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CgovKD86YXwpKlxkLwogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYTQKCi9cWi9nCiAgYWJjXG4KICAKL14oP3MpKD8+LiopKD88IVxuKS8KICBhYmMKICBhYmNcbiAgCgovXig/IVteXG5dKlxuXHopLwogIGFiYwogIGFiY1xuIAogIAovXHooPzwhXG4pLwogIGFiYwogIGFiY1xuICAKCi8oLiooLik/KSovCiAgICBhYmNkCgovKCAoQSB8ICg/KDEpMHwpICkqICAgKS94CiAgICBhYmNkCgovKCAoICg/KDEpMHwpICkqICAgKS94CiAgICBhYmNkCgovKCAgKD8oMSkwfCkqICAgKS94CiAgICBhYmNkCgovW1s6YWJjZDp4eXpdXS8KICAgIGFdCiAgICA6XSAKICAgIAovW2FiY1s6eFxdcHFyXS8KICAgIGEKICAgIFsKICAgIDoKICAgIF0KICAgIHAgICAgCgovLipbb3BdW3h5el0vCiAgICBmb29hYmNmb28KCi8oPyg/PS4qYilifF4pLwogICBhZGMKICAgYWJjIAoKLyg/KD89Xi4qYilifF4pLwogICBhZGMKICAgYWJjIAoKLyg/KD89LipiKWJ8XikqLwogICBhZGMKICAgYWJjIAoKLyg/KD89LipiKWJ8XikrLwogICBhZGMKICAgYWJjIAoKLyg/KD89YikuKmJ8XmQpLwogICAgYWJjCgovKD8oPz0uKmIpLipifF5kKS8KICAgIGFiYwoKL14lKCg/KD89W2FdKVteJV0pfGIpKiUkLwogICAgJWFiJQoKLyg/aSlhKD8taSlifGMvCiAgICBYYWJYCiAgICBYQWJYCiAgICBDY0MgCiAgICAqKiBGYWlsZXJzCiAgICBYQUJYICAgCgovW1x4MDAtXHhmZlxzXSsvCiAgICBceDBhXHgwYlx4MGNceDBkCgovXlxjfy8KICAgID8KCi8oYWJjKVwxL2kKICAgYWJjCgovKGFiYylcMS8KICAgYWJjCgovW15hXSovaQogICAgMTJhYmMKICAgIDEyQUJDCgovW15hXSorL2kKICAgIDEyYWJjCiAgICAxMkFCQwoKL1teYV0qP1gvaQogICAgKiogRmFpbGVycwogICAgMTJhYmMKICAgIDEyQUJDCiAgICAKL1teYV0rP1gvaSAgIAogICAgKiogRmFpbGVycwogICAgMTJhYmMKICAgIDEyQUJDCgovW15hXT9YL2kKICAgIDEyYVhiY1gKICAgIDEyQVhCQ1gKICAgIEJDWCAKCi9bXmFdPz9YL2kKICAgIDEyYVhiY1gKICAgIDEyQVhCQ1gKICAgIEJDWAogICAgCi9bXmFdPytYL2kKICAgIDEyYVhiY1gKICAgIDEyQVhCQ1gKICAgIEJDWCAKCi9bXmFdezIsM30vaQogICAgYWJjZGVmCiAgICBBQkNERUYgIAoKL1teYV17MiwzfT8vaQogICAgYWJjZGVmCiAgICBBQkNERUYgIAoKL1teYV17MiwzfSsvaQogICAgYWJjZGVmCiAgICBBQkNERUYgIAoKLygoYXwpKykrWi8KICAgIFoKCi8oYSlifChhKWMvCiAgICBhYwoKLyg/PihhKSlifChhKWMvCiAgICBhYwoKLyg/PShhKSlhYnwoYSljLwogICAgYWMKCi8oKD8+KGEpKWJ8KGEpYykvCiAgICBhYwoKLygoPz4oYSkpYnwoYSljKSsrLwogICAgYWMKCi8oPzooPz4oYSkpYnwoYSljKSsrLwogICAgYWMKCi8oPz0oPz4oYSkpYnwoYSljKSguLikvCiAgICBhYwoKLyg/Pig/PihhKSlifChhKWMpLwogICAgYWMKCi8oPzooPz4oW2FiXSkpKSthPS8rCiAgICA9YmE9CgovKD8+KFthYl0pKSthPS8rCiAgICA9YmE9CgovKCg/PihhKyliKSsoYWFiYWIpKS8KICAgIGFhYWFiYWFhYmFhYmFiCgovKD8+YSt8YWIpKz9jLwogICAgYWFiYwoKLyg/PmErfGFiKStjLwogICAgYWFiYwoKLyg/OmErfGFiKStjLwogICAgYWFiYwoKLyg/KD89KGEpKWEpLwogICAgYQoKLyg/KD89KGEpKWEpKGIpLwogICAgYWIKCi9eKD86YXxhYikrK2MvCiAgICBhYWFhYmMKCi9eKD8+YXxhYikrK2MvCiAgICBhYWFhYmMKCi9eKD86YXxhYikrYy8KICAgIGFhYWFiYwoKLyg/PWFiYyl7M31hYmMvKwogICAgYWJjYWJjYWJjCiAgICAqKiBGYWlsZXJzCiAgICB4eXogIAogICAgCi8oPz1hYmMpK2FiYy8rCiAgICBhYmNhYmNhYmMKICAgICoqIEZhaWxlcnMKICAgIHh5eiAgCiAgICAKLyg/PWFiYykrK2FiYy8rCiAgICBhYmNhYmNhYmMKICAgICoqIEZhaWxlcnMKICAgIHh5eiAgCiAgICAKLyg/PWFiYyl7MH14eXovCiAgICB4eXogCgovKD89YWJjKXsxfXh5ei8KICAgICoqIEZhaWxlcnMKICAgIHh5eiAKICAgIAovKD89KGEpKT8uLwogICAgYWIKICAgIGJjCiAgICAgIAovKD89KGEpKT8/Li8KICAgIGFiCiAgICBiYwoKL14oPz0oYSkpezB9Yig/MSkvCiAgICBiYWNrZ2FtbW9uCgovXig/PSg/MSkpP1thel0oW2FiY10pZC8KICAgIGFiZCAKICAgIHpjZHh4IAoKL14oPyFhKXswfVx3Ky8KICAgIGFhYWFhCgovKD88PShhYmMpKT94eXovCiAgICBhYmN4eXoKICAgIHBxcnh5eiAKCi9eW1xnPGE+XSsvCiAgICBnZ2c8PDxhYWE+Pj4KICAgICoqIEZhaWxlcnMKICAgIFxcZ2EgIAogICAgCi9eW1xnYV0rLwogICAgZ2dnYWdhZ2F4eXogCiAgICAKL15bOmFbOmRpZ2l0Ol1dKy8KICAgIGFhYWE0NDQ6OjpaIAoKL15bOmFbOmRpZ2l0Ol06Yl0rLwogICAgYWFhYTQ0NDo6OmJiYlogCgovWzphXXh4eFtiOl0vCiAgICAgOnh4eDoKICAgICAKLyg/PD1hezJ9KWIvaQogICAgeGFhYmMKICAgICoqIEZhaWxlcnMKICAgIHhhYmMgIAoKLyg/PCFhezJ9KWIvaQogICAgeGFiYwogICAgKiogRmFpbGVycwogICAgeGFhYmMgIAoKLyg/PD1hXGgpYy8KICAgIHhhIGMKICAgIAovKD88PVteYV17Mn0pYi8KICAgIGF4eGJjCiAgICBhQUFiYyAKICAgICoqIEZhaWxlcnMKICAgIHhhYWJjICAgIAoKLyg/PD1bXmFdezJ9KWIvaQogICAgYXh4YmMgIAogICAgKiogRmFpbGVycwogICAgYUFBYmMgCiAgICB4YWFiYyAgICAKCi8oPzw9YVxIKWMvCiAgICBhYmMKCi8oPzw9YVxWKWMvCiAgICBhYmMKICAgIAovKD88PWFcdiljLwogICAgYVxuYwoKLyg/KD89YyljfGQpKytZLwogICAgWGNjY2RkWVgKCi8oPyg/PWMpY3xkKSorWS8KICAgIFhjY2NkZFlYCgovXihhezIsM30pezIsfSthLwogICAgYWFhYWFhYQogICAgKiogRmFpbGVycwogICAgYWFhYWFhCiAgICBhYWFhYWFhYWEgCgovXihhezIsM30pKythLwogICAgKiogRmFpbGVycwogICAgYWFhYWFhCgovXihhezIsM30pKithLwogICAgKiogRmFpbGVycwogICAgYWFhYWFhCgovYWJcQ2RlLwogICAgYWJYZGUKICAgIAovKD88PWFiXENkZSlYLwogICAgYWJaZGVYCgovYVtcQ0RdYi8KICAgIGFDYgogICAgYURiIAoKL2FbXEMtWF1iLwogICAgYUpiCgovLS0gRW5kIG9mIHRlc3RpbnB1dDEgLS0vCg==