Ly0tIFRoaXMgc2V0IG9mIHRlc3RzIGNoZWNrIHRoZSBERkEgbWF0Y2hpbmcgZnVuY3Rpb25hbGl0eSBvZiBwY3JlX2RmYV9leGVjKCkuCiAgICBUaGUgLWRmYSBmbGFnIG11c3QgYmUgdXNlZCB3aXRoIHBjcmV0ZXN0IHdoZW4gcnVubmluZyBpdC4gLS0vCiAgICAgCi9hYmMvCiAgICBhYmMKICAgIAovYWIqYy8KICAgIGFiYwogICAgYWJiYmJjCiAgICBhYwogICAgCi9hYitjLwogICAgYWJjCiAgICBhYmJiYmJiYwogICAgKioqIEZhaWxlcnMgCiAgICBhYwogICAgYWIKICAgIAovYSovCiAgICBhCiAgICBhYWFhYWFhYWFhYWFhYWFhYQogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIAogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXEYgCiAgICAKLyhhfGFiY2R8YWZyaWNhbikvCiAgICBhCiAgICBhYmNkCiAgICBhZnJpY2FuCiAgICAKL15hYmMvCiAgICBhYmNkZWYKICAgICoqKiBGYWlsZXJzCiAgICB4eXphYmMKICAgIHh5elxuYWJjICAgIAogICAgCi9eYWJjL20KICAgIGFiY2RlZgogICAgeHl6XG5hYmMgICAgCiAgICAqKiogRmFpbGVycwogICAgeHl6YWJjCiAgICAKL1xBYWJjLwogICAgYWJjZGVmCiAgICAqKiogRmFpbGVycwogICAgeHl6YWJjCiAgICB4eXpcbmFiYyAgICAKICAgIAovXEFhYmMvbQogICAgYWJjZGVmCiAgICAqKiogRmFpbGVycwogICAgeHl6YWJjCiAgICB4eXpcbmFiYyAgICAKICAgIAovXEdhYmMvCiAgICBhYmNkZWYKICAgIHh5emFiY1w+MwogICAgKioqIEZhaWxlcnMKICAgIHh5emFiYyAgICAKICAgIHh5emFiY1w+MiAKICAgIAoveFxkeVxEei8KICAgIHg5eXp6CiAgICB4MHkregogICAgKioqIEZhaWxlcnMKICAgIHh5egogICAgeHh5MHogICAgIAogICAgCi94XHN5XFN6LwogICAgeCB5enoKICAgIHggeSt6CiAgICAqKiogRmFpbGVycwogICAgeHl6CiAgICB4eHl5egogICAgCi94XHd5XFd6LwogICAgeHh5K3oKICAgICoqKiBGYWlsZXJzCiAgICB4eHkwegogICAgeCt5K3ogICAgICAgICAKICAgIAoveC55LwogICAgeCt5CiAgICB4LXkKICAgICoqKiBGYWlsZXJzCiAgICB4XG55CiAgICAKL3gueS9zCiAgICB4K3kKICAgIHgteQogICAgeFxueQoKLyhhLmIoP3MpYy5kfHgueSlwLnEvCiAgICBhK2JjK2RwK3EKICAgIGErYmNcbmRwK3EKICAgIHhcbnlwK3EgCiAgICAqKiogRmFpbGVycyAKICAgIGFcbmJjXG5kcCtxCiAgICBhK2JjXG5kcFxucQogICAgeFxueXBcbnEgCgovYVxkXHovCiAgICBiYTAKICAgICoqKiBGYWlsZXJzCiAgICBiYTBcbgogICAgYmEwXG5jZCAgIAoKL2FcZFx6L20KICAgIGJhMAogICAgKioqIEZhaWxlcnMKICAgIGJhMFxuCiAgICBiYTBcbmNkICAgCgovYVxkXFovCiAgICBiYTAKICAgIGJhMFxuCiAgICAqKiogRmFpbGVycwogICAgYmEwXG5jZCAgIAoKL2FcZFxaL20KICAgIGJhMAogICAgYmEwXG4KICAgICoqKiBGYWlsZXJzCiAgICBiYTBcbmNkICAgCgovYVxkJC8KICAgIGJhMAogICAgYmEwXG4KICAgICoqKiBGYWlsZXJzCiAgICBiYTBcbmNkICAgCgovYVxkJC9tCiAgICBiYTAKICAgIGJhMFxuCiAgICBiYTBcbmNkICAgCiAgICAqKiogRmFpbGVycwoKL2FiYy9pCiAgICBhYmMKICAgIGFCYwogICAgQUJDCiAgICAKL1teYV0vCiAgICBhYmNkCiAgICAKL2FiP1x3LwogICAgYWJ6CiAgICBhYmJ6CiAgICBhenogIAoKL3h7MCwzfXl6LwogICAgYXl6cQogICAgYXh5enEKICAgIGF4eHl6CiAgICBheHh4eXpxCiAgICBheHh4eHl6cQogICAgKioqIEZhaWxlcnMKICAgIGF4CiAgICBheHggICAgIAogICAgICAKL3h7M315ei8KICAgIGF4eHh5enEKICAgIGF4eHh4eXpxCiAgICAqKiogRmFpbGVycwogICAgYXgKICAgIGF4eCAgICAgCiAgICBheXpxCiAgICBheHl6cQogICAgYXh4eXoKICAgICAgCi94ezIsM315ei8KICAgIGF4eHl6CiAgICBheHh4eXpxCiAgICBheHh4eHl6cQogICAgKioqIEZhaWxlcnMKICAgIGF4CiAgICBheHggICAgIAogICAgYXl6cQogICAgYXh5enEKICAgICAgCi9bXmFdKy8KICAgIGJhYwogICAgYmNkZWZheAogICAgKioqIEZhaWxlcnMKICAgIGFhYWFhICAgCgovW15hXSovCiAgICBiYWMKICAgIGJjZGVmYXgKICAgICoqKiBGYWlsZXJzCiAgICBhYWFhYSAgIAogICAgCi9bXmFdezMsNX0vCiAgICB4eXoKICAgIGF3eHl6YQogICAgYWJjZGVmYQogICAgYWJjZGVmZ2hpamsKICAgICoqKiBGYWlsZXJzCiAgICBheHlhCiAgICBheGEKICAgIGFhYWFhICAgICAgICAgCgovXGQqLwogICAgMTIzNGI1NjcKICAgIHh5egogICAgCi9cRCovCiAgICBhMTIzNGI1NjcKICAgIHh5egogICAgIAovXGQrLwogICAgYWIxMjM0YzU2CiAgICAqKiogRmFpbGVycwogICAgeHl6CiAgICAKL1xEKy8KICAgIGFiMTIzYzU2CiAgICAqKiogRmFpbGVycwogICAgNzg5CiAgICAKL1xkP0EvCiAgICAwNDVBQkMKICAgIEFCQwogICAgKioqIEZhaWxlcnMKICAgIFhZWgogICAgCi9cRD9BLwogICAgQUJDCiAgICBCQUMKICAgIDlBQkMgICAgICAgICAgICAgCiAgICAqKiogRmFpbGVycwoKL2ErLwogICAgYWFhYQoKL14uKnh5ei8KICAgIHh5egogICAgZ2dnZ2dnZ2d4eXoKICAgIAovXi4reHl6LwogICAgYWJjZHh5egogICAgYXh5egogICAgKioqIEZhaWxlcnMKICAgIHh5egogICAgCi9eLj94eXovCiAgICB4eXoKICAgIGN4eXogICAgICAgCgovXlxkezIsM31YLwogICAgMTJYCiAgICAxMjNYCiAgICAqKiogRmFpbGVycwogICAgWAogICAgMVgKICAgIDEyMzRYICAgICAKCi9eW2FiY2RdXGQvCiAgICBhNDUKICAgIGI5MwogICAgYzk5egogICAgZDA0CiAgICAqKiogRmFpbGVycwogICAgZTQ1CiAgICBhYmNkICAgICAgCiAgICBhYmNkMTIzNAogICAgMTIzNCAgCgovXlthYmNkXSpcZC8KICAgIGE0NQogICAgYjkzCiAgICBjOTl6CiAgICBkMDQKICAgIGFiY2QxMjM0CiAgICAxMjM0ICAKICAgICoqKiBGYWlsZXJzCiAgICBlNDUKICAgIGFiY2QgICAgICAKCi9eW2FiY2RdK1xkLwogICAgYTQ1CiAgICBiOTMKICAgIGM5OXoKICAgIGQwNAogICAgYWJjZDEyMzQKICAgICoqKiBGYWlsZXJzCiAgICAxMjM0ICAKICAgIGU0NQogICAgYWJjZCAgICAgIAoKL15hK1gvCiAgICBhWAogICAgYWFYIAoKL15bYWJjZF0/XGQvCiAgICBhNDUKICAgIGI5MwogICAgYzk5egogICAgZDA0CiAgICAxMjM0ICAKICAgICoqKiBGYWlsZXJzCiAgICBhYmNkMTIzNAogICAgZTQ1CgovXlthYmNkXXsyLDN9XGQvCiAgICBhYjQ1CiAgICBiY2Q5MwogICAgKioqIEZhaWxlcnMKICAgIDEyMzQgCiAgICBhMzYgCiAgICBhYmNkMTIzNAogICAgZWU0NQoKL14oYWJjKSpcZC8KICAgIGFiYzQ1CiAgICBhYmNhYmNhYmM0NQogICAgNDJ4eXogCiAgICAqKiogRmFpbGVycwoKL14oYWJjKStcZC8KICAgIGFiYzQ1CiAgICBhYmNhYmNhYmM0NQogICAgKioqIEZhaWxlcnMKICAgIDQyeHl6IAoKL14oYWJjKT9cZC8KICAgIGFiYzQ1CiAgICA0Mnh5eiAKICAgICoqKiBGYWlsZXJzCiAgICBhYmNhYmNhYmM0NQoKL14oYWJjKXsyLDN9XGQvCiAgICBhYmNhYmM0NQogICAgYWJjYWJjYWJjNDUKICAgICoqKiBGYWlsZXJzCiAgICBhYmNhYmNhYmNhYmM0NQogICAgYWJjNDUKICAgIDQyeHl6IAoKLzEoYWJjfHh5eikyKD8xKTMvCiAgICAxYWJjMmFiYzM0NTYKICAgIDFhYmMyeHl6MzQ1NiAKCi9eKGEqXHd8YWIpPShhKlx3fGFiKS8KICAgIGFiPWFiCgovXihhKlx3fGFiKT0oPzEpLwogICAgYWI9YWIKCi9eKFteKCldfFwoKD8xKSpcKSkqJC8KICAgIGFiYwogICAgYShiKWMKICAgIGEoYihjKSlkICAKICAgICoqKiBGYWlsZXJzKQogICAgYShiKGMpZCAgCgovXj5hYmM+KFteKCldfFwoKD8xKSpcKSkqPHh5ejwkLwogICAgPmFiYz4xMjM8eHl6PAogICAgPmFiYz4xKDIpMzx4eXo8CiAgICA+YWJjPigxKDIpMyk8eHl6PAoKL14oPz5hKilcZC8KICAgIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhOTg3NgogICAgKioqIEZhaWxlcnMgCiAgICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQoKLzwgKD86ICg/KFIpIFxkKysgIHwgW148Pl0qKykgfCAoP1IpKSAqID4veAogICAgPD4KICAgIDxhYmNkPgogICAgPGFiYyA8MTIzPiBoaWo+CiAgICA8YWJjIDxkZWY+IGhpaj4KICAgIDxhYmM8PmRlZj4gCiAgICA8YWJjPD4gICAgICAKICAgICoqKiBGYWlsZXJzCiAgICA8YWJjCgovXig/KD89YWJjKVx3ezN9OnxcZFxkKSQvICAgICAgICAKICAgIGFiYzogICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgKioqIEZhaWxlcnMgICAgICAgICAgICAgICAgICAgICAKICAgIDEyMyAgICAgICAgICAgICAgICAgICAgICAgCiAgICB4eXogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKL14oPyg/IWFiYylcZFxkfFx3ezN9OikkLyAgICAgIAogICAgYWJjOiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgMTIgICAgICAgICAKICAgICoqKiBGYWlsZXJzCiAgICAxMjMKICAgIHh5eiAgICAKCi9eKD89YWJjKVx3ezV9OiQvICAgICAgICAKICAgIGFiY2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAqKiogRmFpbGVycyAgICAgICAgICAgICAgICAgICAgIAogICAgYWJjLi4gCiAgICAxMjMgICAgICAgICAgICAgICAgICAgICAgIAogICAgdnd4eXogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKL14oPyFhYmMpXGRcZCQvICAgICAgCiAgICAxMiAgICAgICAgIAogICAgKioqIEZhaWxlcnMKICAgIGFiY2RlOgogICAgYWJjLi4gIAogICAgMTIzCiAgICB2d3h5eiAgICAKCi8oPzw9YWJjfHh5KTEyMy8KICAgIGFiYzEyMzQ1CiAgICB3eHkxMjN6CiAgICAqKiogRmFpbGVycwogICAgMTIzYWJjCgovKD88IWFiY3x4eSkxMjMvCiAgICAxMjNhYmMKICAgIG1ubzEyMzQ1NiAKICAgICoqKiBGYWlsZXJzCiAgICBhYmMxMjM0NQogICAgd3h5MTIzegoKL2FiYyg/QzEpeHl6LwogICAgYWJjeHl6CiAgICAxMjNhYmN4eXo5OTkgCgovKGFifGNkKXszLDR9L0MKICBhYmFiYWIKICBhYmNkYWJjZAogIGFiY2RjZGNkY2RjZCAgCgovXmFiYy8KICAgIGFiY2RlZgogICAgKioqIEZhaWxlcnMKICAgIGFiY2RlZlxCICAKCi9eKGEqfHh5eikvCiAgICBiY2QKICAgIGFhYWJjZAogICAgeHl6CiAgICB4eXpcTiAgCiAgICAqKiogRmFpbGVycwogICAgYmNkXE4gICAKICAgIAoveHl6JC8KICAgIHh5egogICAgeHl6XG4KICAgICoqKiBGYWlsZXJzCiAgICB4eXpcWgogICAgeHl6XG5cWiAgICAKICAgIAoveHl6JC9tCiAgICB4eXoKICAgIHh5elxuIAogICAgYWJjeHl6XG5wcXIgCiAgICBhYmN4eXpcbnBxclxaIAogICAgeHl6XG5cWiAgICAKICAgICoqKiBGYWlsZXJzCiAgICB4eXpcWgoKL1xHYWJjLwogICAgYWJjZGVmCiAgICBkZWZhYmN4eXpcPjMgCiAgICAqKiogRmFpbGVycyAKICAgIGRlZmFiY3h5egoKL15hYmNkZWYvCiAgICBhYlxQCiAgICBhYmNkZVxQCiAgICBhYmNkZWZcUAogICAgKioqIEZhaWxlcnMKICAgIGFieFxQICAgIAoKL15hezIsNH1cZCt6LwogICAgYVxQCiAgICBhYVxQCiAgICBhYTJcUCAKICAgIGFhYVxQCiAgICBhYWEyM1xQIAogICAgYWFhYTEyMzQ1XFAKICAgIGFhMHpcUAogICAgYWFhYTQ0NDQ0NDQ0NDQ0NDR6XFAgCiAgICAqKiogRmFpbGVycwogICAgYXpcUCAKICAgIGFhYWFhXFAgCiAgICBhNTZcUCAKCi9eYWJjZGVmLwogICBhYmNcUAogICBkZWZcUiAKICAgCi8oPzw9Zm9vKWJhci8KICAgeHl6Zm9cUCAKICAgZm9vYlxQXD4yIAogICBmb29iYXIuLi5cUlxQXD40IAogICB4eXpmb1xQCiAgIGZvb2Jhclw+MiAgCiAgICoqKiBGYWlsZXJzCiAgIHh5emZvXFAKICAgb2JhclxSICAgCgovKGFiKihjZHxlZikpK1gvCiAgICBhZGZhZGFkYWtsaGxrYWxrYWpobGtqYWhkZmFzZGZhc2RmbGFkc2Zqa2pcUFxaCiAgICBsa2pobGtqaGxramhsa2poYWJiYmJiYmNkYWVmYWJiYmJiYmJlZmFcUFxCXFoKICAgIGNkYWJiYmJiYmJiXFBcUlxCXFoKICAgIGVmYWJiYmJiYmJiYmJiYmJiYmJcUFxSXEJcWgogICAgYmJiYmJiYmJiYmJiY2RYeWFzZGZhZGZcUFxSXEJcWiAgICAKCi8oYXxiKS9TRj50ZXN0c2F2ZWRyZWdleAo8dGVzdHNhdmVkcmVnZXgKICAgIGFiYwogICAgKiogRmFpbGVycwogICAgZGVmICAKICAgIAovdGhlIHF1aWNrIGJyb3duIGZveC8KICAgIHRoZSBxdWljayBicm93biBmb3gKICAgIFRoZSBxdWljayBicm93biBGT1gKICAgIFdoYXQgZG8geW91IGtub3cgYWJvdXQgdGhlIHF1aWNrIGJyb3duIGZveD8KICAgIFdoYXQgZG8geW91IGtub3cgYWJvdXQgVEhFIFFVSUNLIEJST1dOIEZPWD8KCi9UaGUgcXVpY2sgYnJvd24gZm94L2kKICAgIHRoZSBxdWljayBicm93biBmb3gKICAgIFRoZSBxdWljayBicm93biBGT1gKICAgIFdoYXQgZG8geW91IGtub3cgYWJvdXQgdGhlIHF1aWNrIGJyb3duIGZveD8KICAgIFdoYXQgZG8geW91IGtub3cgYWJvdXQgVEhFIFFVSUNLIEJST1dOIEZPWD8KCi9hYmNkXHRcblxyXGZcYVxlXDA3MVx4M2JcJFxcXD9jYXh5ei8KICAgIGFiY2RcdFxuXHJcZlxhXGU5O1wkXFw/Y2F4eXoKCi9hKmFiYz94eXorcHFyezN9YWJ7Mix9eHl7NCw1fXBxezAsNn1BQnswLH16ei8KICAgIGFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcUF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFxQXp6CiAgICBhYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFieHl6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFieHl6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJ4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFieHl6enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYmN4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJjeHl6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJjeHl6enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFhYmN4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQUJ6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cEFCQnp6CiAgICA+Pj5hYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICA+YWFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgID4+Pj5hYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgICoqKiBGYWlsZXJzCiAgICBhYnh5enBxcnJhYmJ4eXl5eXBxQXp6CiAgICBhYnh5enBxcnJycmFiYnh5eXl5cHFBenoKICAgIGFieHl6cHFycnJhYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFxcUF6egoKL14oYWJjKXsxLDJ9enovCiAgICBhYmN6egogICAgYWJjYWJjenoKICAgICoqKiBGYWlsZXJzCiAgICB6egogICAgYWJjYWJjYWJjenoKICAgID4+YWJjenoKCi9eKGIrP3xhKXsxLDJ9P2MvCiAgICBiYwogICAgYmJjCiAgICBiYmJjCiAgICBiYWMKICAgIGJiYWMKICAgIGFhYwogICAgYWJiYmJiYmJiYmJiYwogICAgYmJiYmJiYmJiYmJhYwogICAgKioqIEZhaWxlcnMKICAgIGFhYWMKICAgIGFiYmJiYmJiYmJiYmFjCgovXihiK3xhKXsxLDJ9Yy8KICAgIGJjCiAgICBiYmMKICAgIGJiYmMKICAgIGJhYwogICAgYmJhYwogICAgYWFjCiAgICBhYmJiYmJiYmJiYmJjCiAgICBiYmJiYmJiYmJiYmFjCiAgICAqKiogRmFpbGVycwogICAgYWFhYwogICAgYWJiYmJiYmJiYmJiYWMKCi9eKGIrfGEpezEsMn0/YmMvCiAgICBiYmMKCi9eKGIqfGJhKXsxLDJ9P2JjLwogICAgYmFiYwogICAgYmJhYmMKICAgIGJhYmFiYwogICAgKioqIEZhaWxlcnMKICAgIGJhYmFiYmMKICAgIGJhYmFiYWJjCgovXihiYXxiKil7MSwyfT9iYy8KICAgIGJhYmMKICAgIGJiYWJjCiAgICBiYWJhYmMKICAgICoqKiBGYWlsZXJzCiAgICBiYWJhYmJjCiAgICBiYWJhYmFiYwoKL15cY2FcY0FcY1tcY3tcYzovCiAgICBceDAxXHgwMVxlO3oKCi9eW2FiXF1jZGVdLwogICAgYXRoaW5nCiAgICBidGhpbmcKICAgIF10aGluZwogICAgY3RoaW5nCiAgICBkdGhpbmcKICAgIGV0aGluZwogICAgKioqIEZhaWxlcnMKICAgIGZ0aGluZwogICAgW3RoaW5nCiAgICBcXHRoaW5nCgovXltdY2RlXS8KICAgIF10aGluZwogICAgY3RoaW5nCiAgICBkdGhpbmcKICAgIGV0aGluZwogICAgKioqIEZhaWxlcnMKICAgIGF0aGluZwogICAgZnRoaW5nCgovXlteYWJcXWNkZV0vCiAgICBmdGhpbmcKICAgIFt0aGluZwogICAgXFx0aGluZwogICAgKioqIEZhaWxlcnMKICAgIGF0aGluZwogICAgYnRoaW5nCiAgICBddGhpbmcKICAgIGN0aGluZwogICAgZHRoaW5nCiAgICBldGhpbmcKCi9eW15dY2RlXS8KICAgIGF0aGluZwogICAgZnRoaW5nCiAgICAqKiogRmFpbGVycwogICAgXXRoaW5nCiAgICBjdGhpbmcKICAgIGR0aGluZwogICAgZXRoaW5nCgovXlyBLwogICAggQoKL17/LwogICAg/woKL15bMC05XSskLwogICAgMAogICAgMQogICAgMgogICAgMwogICAgNAogICAgNQogICAgNgogICAgNwogICAgOAogICAgOQogICAgMTAKICAgIDEwMAogICAgKioqIEZhaWxlcnMKICAgIGFiYwoKL14uKm50ZXIvCiAgICBlbnRlcgogICAgaW50ZXIKICAgIHVwb250ZXIKCi9eeHh4WzAtOV0rJC8KICAgIHh4eDAKICAgIHh4eDEyMzQKICAgICoqKiBGYWlsZXJzCiAgICB4eHgKCi9eLitbMC05XVswLTldWzAtOV0kLwogICAgeDEyMwogICAgeHgxMjMKICAgIDEyMzQ1NgogICAgKioqIEZhaWxlcnMKICAgIDEyMwogICAgeDEyMzQKCi9eLis/WzAtOV1bMC05XVswLTldJC8KICAgIHgxMjMKICAgIHh4MTIzCiAgICAxMjM0NTYKICAgICoqKiBGYWlsZXJzCiAgICAxMjMKICAgIHgxMjM0CgovXihbXiFdKykhKC4rKT1hcHF1eHpcLml4clwuenp6XC5hY1wudWskLwogICAgYWJjIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51awogICAgKioqIEZhaWxlcnMKICAgICFwcXI9YXBxdXh6Lml4ci56enouYWMudWsKICAgIGFiYyE9YXBxdXh6Lml4ci56enouYWMudWsKICAgIGFiYyFwcXI9YXBxdXh6Oml4ci56enouYWMudWsKICAgIGFiYyFwcXI9YXBxdXh6Lml4ci56enouYWMudWtrCgovOi8KICAgIFdlbGwsIHdlIG5lZWQgYSBjb2xvbjogc29tZXdoZXJlCiAgICAqKiogRmFpbCBpZiB3ZSBkb24ndAoKLyhbXGRhLWY6XSspJC9pCiAgICAwYWJjCiAgICBhYmMKICAgIGZlZAogICAgRQogICAgOjoKICAgIDVmMDM6MTJDMDo6OTMyZQogICAgZmVkIGRlZgogICAgQW55IG9sZCBzdHVmZgogICAgKioqIEZhaWxlcnMKICAgIDB6enoKICAgIGd6enoKICAgIGZlZFx4MjAKICAgIEFueSBvbGQgcnViYmlzaAoKL14uKlwuKFxkezEsM30pXC4oXGR7MSwzfSlcLihcZHsxLDN9KSQvCiAgICAuMS4yLjMKICAgIEEuMTIuMTIzLjAKICAgICoqKiBGYWlsZXJzCiAgICAuMS4yLjMzMzMKICAgIDEuMi4zCiAgICAxMjM0LjIuMwoKL14oXGQrKVxzK0lOXHMrU09BXHMrKFxTKylccysoXFMrKVxzKlwoXHMqJC8KICAgIDEgSU4gU09BIG5vbi1zcDEgbm9uLXNwMigKICAgIDEgICAgSU4gICAgU09BICAgIG5vbi1zcDEgICAgbm9uLXNwMiAgICgKICAgICoqKiBGYWlsZXJzCiAgICAxSU4gU09BIG5vbi1zcDEgbm9uLXNwMigKCi9eW2EtekEtWlxkXVthLXpBLVpcZFwtXSooXC5bYS16QS1aXGRdW2EtekEtelxkXC1dKikqXC4kLwogICAgYS4KICAgIFouCiAgICAyLgogICAgYWItYy5wcS1yLgogICAgc3hrLnp6ei5hYy51ay4KICAgIHgtLnktLgogICAgKioqIEZhaWxlcnMKICAgIC1hYmMucGVxLgoKL15cKlwuW2Etel0oW2EtelwtXGRdKlthLXpcZF0rKT8oXC5bYS16XShbYS16XC1cZF0qW2EtelxkXSspPykqJC8KICAgICouYQogICAgKi5iMC1hCiAgICAqLmMzLWIuYwogICAgKi5jLWEuYi1jCiAgICAqKiogRmFpbGVycwogICAgKi4wCiAgICAqLmEtCiAgICAqLmEtYi5jLQogICAgKi5jLWEuMC1jCgovXig/PWFiKGRlKSkoYWJkKShlKS8KICAgIGFiZGUKCi9eKD8hKGFiKWRlfHgpKGFiZCkoZikvCiAgICBhYmRmCgovXig/PShhYihjZCkpKShhYikvCiAgICBhYmNkCgovXltcZGEtZl0oXC5bXGRhLWZdKSokL2kKICAgIGEuYi5jLmQKICAgIEEuQi5DLkQKICAgIGEuYi5jLjEuMi4zLkMKCi9eXCIuKlwiXHMqKDsuKik/JC8KICAgIFwiMTIzNFwiCiAgICBcImFiY2RcIiA7CiAgICBcIlwiIDsgcmh1YmFyYgogICAgKioqIEZhaWxlcnMKICAgIFwiMTIzNFwiIDogdGhpbmdzCgovXiQvCiAgICBcCiAgICAqKiogRmFpbGVycwoKLyAgIF4gICAgYSAgICg/IyBiZWdpbnMgd2l0aCBhKSAgYlxzYyAoPyMgdGhlbiBiIGMpICQgKD8jIHRoZW4gZW5kKS94CiAgICBhYiBjCiAgICAqKiogRmFpbGVycwogICAgYWJjCiAgICBhYiBjZGUKCi8oP3gpICAgXiAgICBhICAgKD8jIGJlZ2lucyB3aXRoIGEpICBiXHNjICg/IyB0aGVuIGIgYykgJCAoPyMgdGhlbiBlbmQpLwogICAgYWIgYwogICAgKioqIEZhaWxlcnMKICAgIGFiYwogICAgYWIgY2RlCgovXiAgIGFcIGJbYyBdZCAgICAgICAkL3gKICAgIGEgYmNkCiAgICBhIGIgZAogICAgKioqIEZhaWxlcnMKICAgIGFiY2QKICAgIGFiIGQKCi9eKGEoYihjKSkpKGQoZShmKSkpKGgoaShqKSkpKGsobChtKSkpJC8KICAgIGFiY2RlZmhpamtsbQoKL14oPzphKGIoYykpKSg/OmQoZShmKSkpKD86aChpKGopKSkoPzprKGwobSkpKSQvCiAgICBhYmNkZWZoaWprbG0KCi9eW1x3XVtcV11bXHNdW1xTXVtcZF1bXERdW1xiXVtcbl1bXGNdXVtcMDIyXS8KICAgIGErIFowK1x4MDhcblx4MWRceDEyCgovXlsuXiR8KCkqKz97LH1dKy8KICAgIC5eXCQoKispfHs/LD99CgovXmEqXHcvCiAgICB6CiAgICBhegogICAgYWFhegogICAgYQogICAgYWEKICAgIGFhYWEKICAgIGErCiAgICBhYSsKCi9eYSo/XHcvCiAgICB6CiAgICBhegogICAgYWFhegogICAgYQogICAgYWEKICAgIGFhYWEKICAgIGErCiAgICBhYSsKCi9eYStcdy8KICAgIGF6CiAgICBhYWF6CiAgICBhYQogICAgYWFhYQogICAgYWErCgovXmErP1x3LwogICAgYXoKICAgIGFhYXoKICAgIGFhCiAgICBhYWFhCiAgICBhYSsKCi9eXGR7OH1cd3syLH0vCiAgICAxMjM0NTY3ODkwCiAgICAxMjM0NTY3OGFiCiAgICAxMjM0NTY3OF9fCiAgICAqKiogRmFpbGVycwogICAgMTIzNDU2NwoKL15bYWVpb3VcZF17NCw1fSQvCiAgICB1b2llCiAgICAxMjM0CiAgICAxMjM0NQogICAgYWFhYWEKICAgICoqKiBGYWlsZXJzCiAgICAxMjM0NTYKCi9eW2FlaW91XGRdezQsNX0/LwogICAgdW9pZQogICAgMTIzNAogICAgMTIzNDUKICAgIGFhYWFhCiAgICAxMjM0NTYKCi9eRnJvbSArKFteIF0rKSArW2EtekEtWl1bYS16QS1aXVthLXpBLVpdICtbYS16QS1aXVthLXpBLVpdW2EtekEtWl0gK1swLTldP1swLTldICtbMC05XVswLTldOlswLTldWzAtOV0vCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwoKL15Gcm9tXHMrXFMrXHMrKFthLXpBLVpdezN9XHMrKXsyfVxkezEsMn1ccytcZFxkOlxkXGQvCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwogICAgRnJvbSBhYmNkICBNb24gU2VwICAxIDEyOjMzOjAyIDE5OTcKICAgICoqKiBGYWlsZXJzCiAgICBGcm9tIGFiY2QgIFNlcCAwMSAxMjozMzowMiAxOTk3CgovXjEyLjM0L3MKICAgIDEyXG4zNAogICAgMTJccjM0CgovXHcrKD89XHQpLwogICAgdGhlIHF1aWNrIGJyb3duXHQgZm94CgovZm9vKD8hYmFyKSguKikvCiAgICBmb29iYXIgaXMgZm9vbGlzaCBzZWU/CgovKD86KD8hZm9vKS4uLnxeLnswLDJ9KWJhciguKikvCiAgICBmb29iYXIgY3Jvd2JhciBldGMKICAgIGJhcnJlbAogICAgMmJhcnJlbAogICAgQSBiYXJyZWwKCi9eKFxEKikoPz1cZCkoPyExMjMpLwogICAgYWJjNDU2CiAgICAqKiogRmFpbGVycwogICAgYWJjMTIzCgovXjEyMzQoPyMgdGVzdCBuZXdsaW5lcwogIGluc2lkZSkvCiAgICAxMjM0CgovXjEyMzQgI2NvbW1lbnQgaW4gZXh0ZW5kZWQgcmUKICAveAogICAgMTIzNAoKLyNyaHViYXJiCiAgYWJjZC94CiAgICBhYmNkCgovXmFiY2Qjcmh1YmFyYi94CiAgICBhYmNkCgovKD8hXilhYmMvCiAgICB0aGUgYWJjCiAgICAqKiogRmFpbGVycwogICAgYWJjCgovKD89XilhYmMvCiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICB0aGUgYWJjCgovXlthYl17MSwzfShhYip8YikvCiAgICBhYWJiYmJiCgovXlthYl17MSwzfT8oYWIqfGIpLwogICAgYWFiYmJiYgoKL15bYWJdezEsM30/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+CiAgICA8dXNlclxAZG9tLmFpbj4KICAgIHVzZXJcQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQogICAgKioqIEZhaWxlcnMKICAgIFRoZSBxdWljayBicm93biBmb3gKCi9hYmNcMGRlZlwwMHBxclwwMDB4eXpcMDAwMEFCLwogICAgYWJjXDBkZWZcMDBwcXJcMDAweHl6XDAwMDBBQgogICAgYWJjNDU2IGFiY1wwZGVmXDAwcHFyXDAwMHh5elwwMDAwQUJDREUKCi9hYmNceDBkZWZceDAwcHFyXHgwMDB4eXpceDAwMDBBQi8KICAgIGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCCiAgICBhYmM0NTYgYWJjXHgwZGVmXHgwMHBxclx4MDAweHl6XHgwMDAwQUJDREUKCi9eW1wwMDAtXDAzN10vCiAgICBcMEEKICAgIFwwMUIKICAgIFwwMzdDCgovXDAqLwogICAgXDBcMFwwXDAKCi9BXHgwezIsM31aLwogICAgVGhlIEFceDBceDBaCiAgICBBbiBBXDBceDBcMFoKICAgICoqKiBGYWlsZXJzCiAgICBBXDBaCiAgICBBXDBceDBcMFx4MFoKCi9eXHMvCiAgICBcMDQwYWJjCiAgICBceDBjYWJjCiAgICBcbmFiYwogICAgXHJhYmMKICAgIFx0YWJjCiAgICAqKiogRmFpbGVycwogICAgYWJjCgovXmEJYgogICAgDCAgYy94CiAgICBhYmMKCi9hYnsxLDN9YmMvCiAgICBhYmJiYmMKICAgIGFiYmJjCiAgICBhYmJjCiAgICAqKiogRmFpbGVycwogICAgYWJjCiAgICBhYmJiYmJjCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvCiAgICB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvaQogICAgdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAoKLyhbXi5dKilcLihbXjpdKik6W3QgXSsoLiopL2kKICAgIHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKCi9eW1ctY10rJC8KICAgIFdYWV9eYWJjCiAgICAqKiogRmFpbGVycwogICAgd3h5CgovXltXLWNdKyQvaQogICAgV1hZX15hYmMKICAgIHd4eV9eQUJDCgovXltceDNmLVx4NUZdKyQvaQogICAgV1hZX15hYmMKICAgIHd4eV9eQUJDCgovXmFiYyQvbQogICAgYWJjCiAgICBxcXFcbmFiYwogICAgYWJjXG56enoKICAgIHFxcVxuYWJjXG56enoKCi9eYWJjJC8KICAgIGFiYwogICAgKioqIEZhaWxlcnMKICAgIHFxcVxuYWJjCiAgICBhYmNcbnp6egogICAgcXFxXG5hYmNcbnp6egoKL1xBYWJjXFovbQogICAgYWJjCiAgICBhYmNcbiAKICAgICoqKiBGYWlsZXJzCiAgICBxcXFcbmFiYwogICAgYWJjXG56enoKICAgIHFxcVxuYWJjXG56enoKICAgIAovXEEoLikqXFovcwogICAgYWJjXG5kZWYKCi9cQSguKSpcWi9tCiAgICAqKiogRmFpbGVycwogICAgYWJjXG5kZWYKCi8oPzpiKXwoPzo6KykvCiAgICBiOjpjCiAgICBjOjpiCgovWy1hel0rLwogICAgYXotCiAgICAqKiogRmFpbGVycwogICAgYgoKL1thei1dKy8KICAgIHphLQogICAgKioqIEZhaWxlcnMKICAgIGIKCi9bYVwtel0rLwogICAgYS16CiAgICAqKiogRmFpbGVycwogICAgYgoKL1thLXpdKy8KICAgIGFiY2R4eXoKCi9bXGQtXSsvCiAgICAxMi0zNAogICAgKioqIEZhaWxlcnMKICAgIGFhYQoKL1tcZC16XSsvCiAgICAxMi0zNHoKICAgICoqKiBGYWlsZXJzCiAgICBhYWEKCi9ceDVjLwogICAgXFwKCi9ceDIwWi8KICAgIHRoZSBab28KICAgICoqKiBGYWlsZXJzCiAgICBadWx1CgovYWJ7M2NkLwogICAgYWJ7M2NkCgovYWJ7MyxjZC8KICAgIGFiezMsY2QKCi9hYnszLDRhfWNkLwogICAgYWJ7Myw0YX1jZAoKL3s0LDVhfWJjLwogICAgezQsNWF9YmMKCi9eYS5iLzxsZj4KICAgIGFccmIKICAgICoqKiBGYWlsZXJzCiAgICBhXG5iCgovYWJjJC8KICAgIGFiYwogICAgYWJjXG4KICAgICoqKiBGYWlsZXJzCiAgICBhYmNcbmRlZgoKLyhhYmMpXDEyMy8KICAgIGFiY1x4NTMKCi8oYWJjKVwyMjMvCiAgICBhYmNceDkzCgovKGFiYylcMzIzLwogICAgYWJjXHhkMwoKLyhhYmMpXDEwMC8KICAgIGFiY1x4NDAKICAgIGFiY1wxMDAKCi8oYWJjKVwxMDAwLwogICAgYWJjXHg0MDAKICAgIGFiY1x4NDBceDMwCiAgICBhYmNcMTAwMAogICAgYWJjXDEwMFx4MzAKICAgIGFiY1wxMDBcMDYwCiAgICBhYmNcMTAwXDYwCgovYWJjXDgxLwogICAgYWJjXDA4MQogICAgYWJjXDBceDM4XHgzMQoKL2FiY1w5MS8KICAgIGFiY1wwOTEKICAgIGFiY1wwXHgzOVx4MzEKCi8oYSkoYikoYykoZCkoZSkoZikoZykoaCkoaSkoaikoaylcMTJcMTIzLwogICAgYWJjZGVmZ2hpamtcMTJTCgovYWJcaWRlZi8KICAgIGFiaWRlZgoKL2F7MH1iYy8KICAgIGJjCgovKGF8KGJjKSl7MCwwfT94eXovCiAgICB4eXoKCi9hYmNbXDEwXWRlLwogICAgYWJjXDAxMGRlCgovYWJjW1wxXWRlLwogICAgYWJjXDFkZQoKLyhhYmMpW1wxXWRlLwogICAgYWJjXDFkZQoKLyg/cylhLmIvCiAgICBhXG5iCgovXihbXmFdKShbXlxiXSkoW15jXSopKFteZF17Myw0fSkvCiAgICBiYU5PVGNjY2NkCiAgICBiYU5PVGNjY2QKICAgIGJhTk9UY2NkCiAgICBiYWNjY2QKICAgICoqKiBGYWlsZXJzCiAgICBhbnl0aGluZwogICAgYlxiYyAgIAogICAgYmFjY2QKCi9bXmFdLwogICAgQWJjCiAgCi9bXmFdL2kKICAgIEFiYyAKCi9bXmFdKy8KICAgIEFBQWFBYmMKICAKL1teYV0rL2kKICAgIEFBQWFBYmMgCgovW15hXSsvCiAgICBiYmJcbmNjYwogICAKL1tea10kLwogICAgYWJjCiAgICAqKiogRmFpbGVycwogICAgYWJrICAgCiAgIAovW15rXXsyLDN9JC8KICAgIGFiYwogICAga2JjCiAgICBrYWJjIAogICAgKioqIEZhaWxlcnMKICAgIGFiawogICAgYWtiCiAgICBha2sgCgovXlxkezgsfVxALitbXmtdJC8KICAgIDEyMzQ1Njc4XEBhLmIuYy5kCiAgICAxMjM0NTY3ODlcQHgueS56CiAgICAqKiogRmFpbGVycwogICAgMTIzNDU2NzhcQHgueS51awogICAgMTIzNDU2N1xAYS5iLmMuZCAgICAgICAKCi9bXmFdLwogICAgYWFhYWJjZAogICAgYWFBYWJjZCAKCi9bXmFdL2kKICAgIGFhYWFiY2QKICAgIGFhQWFiY2QgCgovW15hel0vCiAgICBhYWFhYmNkCiAgICBhYUFhYmNkIAoKL1teYXpdL2kKICAgIGFhYWFiY2QKICAgIGFhQWFiY2QgCgovXDAwMFwwMDFcMDAyXDAwM1wwMDRcMDA1XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVcMDE2XDAxN1wwMjBcMDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFwwMzFcMDMyXDAzM1wwMzRcMDM1XDAzNlwwMzdcMDQwXDA0MVwwNDJcMDQzXDA0NFwwNDVcMDQ2XDA0N1wwNTBcMDUxXDA1MlwwNTNcMDU0XDA1NVwwNTZcMDU3XDA2MFwwNjFcMDYyXDA2M1wwNjRcMDY1XDA2NlwwNjdcMDcwXDA3MVwwNzJcMDczXDA3NFwwNzVcMDc2XDA3N1wxMDBcMTAxXDEwMlwxMDNcMTA0XDEwNVwxMDZcMTA3XDExMFwxMTFcMTEyXDExM1wxMTRcMTE1XDExNlwxMTdcMTIwXDEyMVwxMjJcMTIzXDEyNFwxMjVcMTI2XDEyN1wxMzBcMTMxXDEzMlwxMzNcMTM0XDEzNVwxMzZcMTM3XDE0MFwxNDFcMTQyXDE0M1wxNDRcMTQ1XDE0NlwxNDdcMTUwXDE1MVwxNTJcMTUzXDE1NFwxNTVcMTU2XDE1N1wxNjBcMTYxXDE2MlwxNjNcMTY0XDE2NVwxNjZcMTY3XDE3MFwxNzFcMTcyXDE3M1wxNzRcMTc1XDE3NlwxNzdcMjAwXDIwMVwyMDJcMjAzXDIwNFwyMDVcMjA2XDIwN1wyMTBcMjExXDIxMlwyMTNcMjE0XDIxNVwyMTZcMjE3XDIyMFwyMjFcMjIyXDIyM1wyMjRcMjI1XDIyNlwyMjdcMjMwXDIzMVwyMzJcMjMzXDIzNFwyMzVcMjM2XDIzN1wyNDBcMjQxXDI0MlwyNDNcMjQ0XDI0NVwyNDZcMjQ3XDI1MFwyNTFcMjUyXDI1M1wyNTRcMjU1XDI1NlwyNTdcMjYwXDI2MVwyNjJcMjYzXDI2NFwyNjVcMjY2XDI2N1wyNzBcMjcxXDI3MlwyNzNcMjc0XDI3NVwyNzZcMjc3XDMwMFwzMDFcMzAyXDMwM1wzMDRcMzA1XDMwNlwzMDdcMzEwXDMxMVwzMTJcMzEzXDMxNFwzMTVcMzE2XDMxN1wzMjBcMzIxXDMyMlwzMjNcMzI0XDMyNVwzMjZcMzI3XDMzMFwzMzFcMzMyXDMzM1wzMzRcMzM1XDMzNlwzMzdcMzQwXDM0MVwzNDJcMzQzXDM0NFwzNDVcMzQ2XDM0N1wzNTBcMzUxXDM1MlwzNTNcMzU0XDM1NVwzNTZcMzU3XDM2MFwzNjFcMzYyXDM2M1wzNjRcMzY1XDM2NlwzNjdcMzcwXDM3MVwzNzJcMzczXDM3NFwzNzVcMzc2XDM3Ny8KIFwwMDBcMDAxXDAwMlwwMDNcMDA0XDAwNVwwMDZcMDA3XDAxMFwwMTFcMDEyXDAxM1wwMTRcMDE1XDAxNlwwMTdcMDIwXDAyMVwwMjJcMDIzXDAyNFwwMjVcMDI2XDAyN1wwMzBcMDMxXDAzMlwwMzNcMDM0XDAzNVwwMzZcMDM3XDA0MFwwNDFcMDQyXDA0M1wwNDRcMDQ1XDA0NlwwNDdcMDUwXDA1MVwwNTJcMDUzXDA1NFwwNTVcMDU2XDA1N1wwNjBcMDYxXDA2MlwwNjNcMDY0XDA2NVwwNjZcMDY3XDA3MFwwNzFcMDcyXDA3M1wwNzRcMDc1XDA3NlwwNzdcMTAwXDEwMVwxMDJcMTAzXDEwNFwxMDVcMTA2XDEwN1wxMTBcMTExXDExMlwxMTNcMTE0XDExNVwxMTZcMTE3XDEyMFwxMjFcMTIyXDEyM1wxMjRcMTI1XDEyNlwxMjdcMTMwXDEzMVwxMzJcMTMzXDEzNFwxMzVcMTM2XDEzN1wxNDBcMTQxXDE0MlwxNDNcMTQ0XDE0NVwxNDZcMTQ3XDE1MFwxNTFcMTUyXDE1M1wxNTRcMTU1XDE1NlwxNTdcMTYwXDE2MVwxNjJcMTYzXDE2NFwxNjVcMTY2XDE2N1wxNzBcMTcxXDE3MlwxNzNcMTc0XDE3NVwxNzZcMTc3XDIwMFwyMDFcMjAyXDIwM1wyMDRcMjA1XDIwNlwyMDdcMjEwXDIxMVwyMTJcMjEzXDIxNFwyMTVcMjE2XDIxN1wyMjBcMjIxXDIyMlwyMjNcMjI0XDIyNVwyMjZcMjI3XDIzMFwyMzFcMjMyXDIzM1wyMzRcMjM1XDIzNlwyMzdcMjQwXDI0MVwyNDJcMjQzXDI0NFwyNDVcMjQ2XDI0N1wyNTBcMjUxXDI1MlwyNTNcMjU0XDI1NVwyNTZcMjU3XDI2MFwyNjFcMjYyXDI2M1wyNjRcMjY1XDI2NlwyNjdcMjcwXDI3MVwyNzJcMjczXDI3NFwyNzVcMjc2XDI3N1wzMDBcMzAxXDMwMlwzMDNcMzA0XDMwNVwzMDZcMzA3XDMxMFwzMTFcMzEyXDMxM1wzMTRcMzE1XDMxNlwzMTdcMzIwXDMyMVwzMjJcMzIzXDMyNFwzMjVcMzI2XDMyN1wzMzBcMzMxXDMzMlwzMzNcMzM0XDMzNVwzMzZcMzM3XDM0MFwzNDFcMzQyXDM0M1wzNDRcMzQ1XDM0NlwzNDdcMzUwXDM1MVwzNTJcMzUzXDM1NFwzNTVcMzU2XDM1N1wzNjBcMzYxXDM2MlwzNjNcMzY0XDM2NVwzNjZcMzY3XDM3MFwzNzFcMzcyXDM3M1wzNzRcMzc1XDM3NlwzNzcKCi9QW14qXVRBSVJFW14qXXsxLDZ9P0xMLwogICAgeHh4eHh4eHh4eHhQU1RBSVJFSVNMTHh4eHh4eHh4eAoKL1BbXipdVEFJUkVbXipdezEsfT9MTC8KICAgIHh4eHh4eHh4eHh4UFNUQUlSRUlTTEx4eHh4eHh4eHgKCi8oXC5cZFxkWzEtOV0/KVxkKy8KICAgIDEuMjMwMDAzOTM4CiAgICAxLjg3NTAwMDI4MiAgIAogICAgMS4yMzUgIAogICAgICAgICAgICAgICAgICAKLyhcLlxkXGQoKD89MCl8XGQoPz1cZCkpKS8KICAgIDEuMjMwMDAzOTM4ICAgICAgCiAgICAxLjg3NTAwMDI4MgogICAgKioqIEZhaWxlcnMgCiAgICAxLjIzNSAKICAgIAovYSg/KWIvCiAgICBhYiAKIAovXGIoZm9vKVxzKyhcdyspL2kKICAgIEZvb2QgaXMgb24gdGhlIGZvbyB0YWJsZQogICAgCi9mb28oLiopYmFyLwogICAgVGhlIGZvb2QgaXMgdW5kZXIgdGhlIGJhciBpbiB0aGUgYmFybi4KICAgIAovZm9vKC4qPyliYXIvICAKICAgIFRoZSBmb29kIGlzIHVuZGVyIHRoZSBiYXIgaW4gdGhlIGJhcm4uCgovKC4qKShcZCopLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKICAgIAovKC4qKShcZCspLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIAovKC4qPykoXGQqKS8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qPykoXGQrKS8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qKShcZCspJC8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qPykoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwoKLyguKilcYihcZCspJC8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qXEQpKFxkKykkLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKCi9eXEQqKD8hMTIzKS8KICAgIEFCQzEyMwogICAgIAovXihcRCopKD89XGQpKD8hMTIzKS8KICAgIEFCQzQ0NQogICAgKioqIEZhaWxlcnMKICAgIEFCQzEyMwogICAgCi9eW1ctXTQ2XS8KICAgIFc0Nl03ODkgCiAgICAtNDZdNzg5CiAgICAqKiogRmFpbGVycwogICAgV2FsbAogICAgWmVicmEKICAgIDQyCiAgICBbYWJjZF0gCiAgICBdYWJjZFsKICAgICAgIAovXltXLVxdNDZdLwogICAgVzQ2XTc4OSAKICAgIFdhbGwKICAgIFplYnJhCiAgICBYeWxvcGhvbmUgIAogICAgNDIKICAgIFthYmNkXSAKICAgIF1hYmNkWwogICAgXFxiYWNrc2xhc2ggCiAgICAqKiogRmFpbGVycwogICAgLTQ2XTc4OQogICAgd2VsbAogICAgCi9cZFxkXC9cZFxkXC9cZFxkXGRcZC8KICAgIDAxLzAxLzIwMDAKCi93b3JkICg/OlthLXpBLVowLTldKyApezAsMTB9b3RoZXJ3b3JkLwogIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgb3RoZXJ3b3JkCiAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyawoKL3dvcmQgKD86W2EtekEtWjAtOV0rICl7MCwzMDB9b3RoZXJ3b3JkLwogIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgdGhlIHF1aWNrIGJyb3duIGZveCBhbmQgdGhlIGxhenkgZG9nIGFuZCBzZXZlcmFsIG90aGVyIHdvcmRzIGdldHRpbmcgY2xvc2UgdG8gdGhpcnR5IGJ5IG5vdyBJIGhvcGUKCi9eKGEpezAsMH0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAgICAKCi9eKGEpezAsMX0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAKCi9eKGEpezAsMn0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAKCi9eKGEpezAsM30vCiAgICBiY2QKICAgIGFiYwogICAgYWFiCiAgICBhYWEgICAKCi9eKGEpezAsfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIKICAgIGFhYQogICAgYWFhYWFhYWEgICAgCgovXihhKXsxLDF9LwogICAgYmNkCiAgICBhYmMKICAgIGFhYiAgCgovXihhKXsxLDJ9LwogICAgYmNkCiAgICBhYmMKICAgIGFhYiAgCgovXihhKXsxLDN9LwogICAgYmNkCiAgICBhYmMKICAgIGFhYgogICAgYWFhICAgCgovXihhKXsxLH0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiCiAgICBhYWEKICAgIGFhYWFhYWFhICAgIAoKLy4qXC5naWYvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLnswLH1cLmdpZi8KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKlwuZ2lmL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKlwuZ2lmL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKlwuZ2lmL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAgICAKLy4qJC8KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKiQvbQogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy4qJC9zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAgICAKLy4qJC8KICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgoKLy4qJC9tCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KCi8uKiQvcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ub1xuCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KICAgIAovKC4qWHxeQikvCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIAogICAgKioqIEZhaWxlcnMKICAgIGFiY2RlXG5CYXIgIAoKLyguKlh8XkIpL20KICAgIGFiY2RlXG4xMjM0WHl6CiAgICBCYXJGb28gCiAgICBhYmNkZVxuQmFyICAKCi8oLipYfF5CKS9zCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIAogICAgKioqIEZhaWxlcnMKICAgIGFiY2RlXG5CYXIgIAoKLyguKlh8XkIpL21zCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIAogICAgYWJjZGVcbkJhciAgCgovKD9zKSguKlh8XkIpLwogICAgYWJjZGVcbjEyMzRYeXoKICAgIEJhckZvbyAKICAgICoqKiBGYWlsZXJzIAogICAgYWJjZGVcbkJhciAgCgovKD9zOi4qWHxeQikvCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIAogICAgKioqIEZhaWxlcnMgCiAgICBhYmNkZVxuQmFyICAKCi9eLipCLwogICAgKioqKiBGYWlsZXJzCiAgICBhYmNcbkIKICAgICAKLyg/cyleLipCLwogICAgYWJjXG5CCgovKD9tKV4uKkIvCiAgICBhYmNcbkIKICAgICAKLyg/bXMpXi4qQi8KICAgIGFiY1xuQgoKLyg/bXMpXkIvCiAgICBhYmNcbkIKCi8oP3MpQiQvCiAgICBCXG4KCi9eWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldLwogICAgMTIzNDU2NjU0MzIxCiAgCi9eXGRcZFxkXGRcZFxkXGRcZFxkXGRcZFxkLwogICAgMTIzNDU2NjU0MzIxIAoKL15bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF0vCiAgICAxMjM0NTY2NTQzMjEKICAKL15bYWJjXXsxMn0vCiAgICBhYmNhYmNhYmNhYmMKICAgIAovXlthLWNdezEyfS8KICAgIGFiY2FiY2FiY2FiYwogICAgCi9eKGF8YnxjKXsxMn0vCiAgICBhYmNhYmNhYmNhYmMgCgovXlthYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5MDEyMzQ1Njc4OV0vCiAgICBuCiAgICAqKiogRmFpbGVycyAKICAgIHogCgovYWJjZGV7MCwwfS8KICAgIGFiY2QKICAgICoqKiBGYWlsZXJzCiAgICBhYmNlICAKCi9hYltjZF17MCwwfWUvCiAgICBhYmUKICAgICoqKiBGYWlsZXJzCiAgICBhYmNkZSAKICAgIAovYWIoYyl7MCwwfWQvCiAgICBhYmQKICAgICoqKiBGYWlsZXJzCiAgICBhYmNkICAgCgovYShiKikvCiAgICBhCiAgICBhYgogICAgYWJiYmIKICAgICoqKiBGYWlsZXJzCiAgICBiYmJiYiAgICAKICAgIAovYWJcZHswfWUvCiAgICBhYmUKICAgICoqKiBGYWlsZXJzCiAgICBhYjFlICAgCiAgICAKLyIoW15cXCJdK3xcXC4pKiIvCiAgICB0aGUgXCJxdWlja1wiIGJyb3duIGZveAogICAgXCJ0aGUgXFxcInF1aWNrXFxcIiBicm93biBmb3hcIiAKCi8uKj8vZysKICAgIGFiYwogIAovXGIvZysKICAgIGFiYyAKCi9cYi8rZwogICAgYWJjIAoKLy9nCiAgICBhYmMKCi88dHIoW1x3XFdcc1xkXVtePD5dezAsfSk+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXGRdezAsfVwuKSguKikoKDxCUj4oW1x3XFdcc1xkXVtePD5dezAsfSl8W1xzXXswLH0pKTxcL2E+PFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxURChbXHdcV1xzXGRdW148Pl17MCx9KT4oW1x3XFdcc1xkXVtePD5dezAsfSk8XC9URD48XC9UUj4vaXMKICA8VFIgQkdDT0xPUj0nI0RCRTlFOSc+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD40My48YSBocmVmPSdqb2JsaXN0LmNmbT9Kb2JJRD05NCA2NzM1JktleXdvcmQ9Jz5Xb3JkIFByb2Nlc3NvcjxCUj4oTi0xMjg2KTwvYT48L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+TGVnYSBsc3RhZmYuY29tPC9URD48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPkNBIC0gU3RhdGV3aWRlPC9URD48L1RSPgoKL2FbXmFdYi8KICAgIGFjYgogICAgYVxuYgogICAgCi9hLmIvCiAgICBhY2IKICAgICoqKiBGYWlsZXJzIAogICAgYVxuYiAgIAogICAgCi9hW15hXWIvcwogICAgYWNiCiAgICBhXG5iICAKICAgIAovYS5iL3MKICAgIGFjYgogICAgYVxuYiAgCgovXihiKz98YSl7MSwyfT9jLwogICAgYmFjCiAgICBiYmFjCiAgICBiYmJhYwogICAgYmJiYmFjCiAgICBiYmJiYmFjIAoKL14oYit8YSl7MSwyfT9jLwogICAgYmFjCiAgICBiYmFjCiAgICBiYmJhYwogICAgYmJiYmFjCiAgICBiYmJiYmFjIAogICAgCi8oPyFcQSl4L20KICAgIHhcbmJcbgogICAgYVxieFxuICAKICAgIAovXHgwe2FifS8KICAgIFwwe2FifSAKCi8oQXxCKSo/Q0QvCiAgICBDRCAKICAgIAovKEF8QikqQ0QvCiAgICBDRCAKCi8oPzwhYmFyKWZvby8KICAgIGZvbwogICAgY2F0Zm9vZAogICAgYXJmb290bGUKICAgIHJmb29zaAogICAgKioqIEZhaWxlcnMKICAgIGJhcmZvbwogICAgdG93YmFyZm9vCgovXHd7M30oPzwhYmFyKWZvby8KICAgIGNhdGZvb2QKICAgICoqKiBGYWlsZXJzCiAgICBmb28KICAgIGJhcmZvbwogICAgdG93YmFyZm9vCgovKD88PShmb28pYSliYXIvCiAgICBmb29hYmFyCiAgICAqKiogRmFpbGVycwogICAgYmFyCiAgICBmb29iYmFyCiAgICAgIAovXEFhYmNcei9tCiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICBhYmNcbiAgIAogICAgcXFxXG5hYmMKICAgIGFiY1xuenp6CiAgICBxcXFcbmFiY1xuenp6CgoiKD8+LiovKWZvbyIKICAgIC90aGlzL2lzL2EvdmVyeS9sb25nL2xpbmUvaW4vZGVlZC93aXRoL3ZlcnkvbWFueS9zbGFzaGVzL2luL2l0L3lvdS9zZWUvCgoiKD8+LiovKWZvbyIKICAgIC90aGlzL2lzL2EvdmVyeS9sb25nL2xpbmUvaW4vZGVlZC93aXRoL3ZlcnkvbWFueS9zbGFzaGVzL2luL2FuZC9mb28KCi8oPz4oXC5cZFxkWzEtOV0/KSlcZCsvCiAgICAxLjIzMDAwMzkzOAogICAgMS44NzUwMDAyODIKICAgICoqKiBGYWlsZXJzIAogICAgMS4yMzUgCgovXigoPz5cdyspfCg/PlxzKykpKiQvCiAgICBub3cgaXMgdGhlIHRpbWUgZm9yIGFsbCBnb29kIG1lbiB0byBjb21lIHRvIHRoZSBhaWQgb2YgdGhlIHBhcnR5CiAgICAqKiogRmFpbGVycwogICAgdGhpcyBpcyBub3QgYSBsaW5lIHdpdGggb25seSB3b3JkcyBhbmQgc3BhY2VzIQogICAgCi8oXGQrKShcdykvCiAgICAxMjM0NWEKICAgIDEyMzQ1KyAKCi8oKD8+XGQrKSkoXHcpLwogICAgMTIzNDVhCiAgICAqKiogRmFpbGVycwogICAgMTIzNDUrIAoKLyg/PmErKWIvCiAgICBhYWFiCgovKCg/PmErKWIpLwogICAgYWFhYgoKLyg/PihhKykpYi8KICAgIGFhYWIKCi8oPz5iKSsvCiAgICBhYWFiYmJjY2MKCi8oPz5hK3xiK3xjKykqYy8KICAgIGFhYWJiYmJjY2NjZAogICAgCi8oYSt8Yit8YyspKmMvCiAgICBhYWFiYmJiY2NjY2QKCi8oKD8+W14oKV0rKXxcKFteKCldKlwpKSsvCiAgICAoKGFiYyhhZGUpdWZoKCkoKXgKICAgIAovXCgoKD8+W14oKV0rKXxcKFteKCldK1wpKStcKS8gCiAgICAoYWJjKQogICAgKGFiYyhkZWYpeHl6KQogICAgKioqIEZhaWxlcnMKICAgICgoKClhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSAgIAoKL2EoPy1pKWIvaQogICAgYWIKICAgIEFiCiAgICAqKiogRmFpbGVycyAKICAgIGFCCiAgICBBQgogICAgICAgIAovKGEgKD94KWIgYylkIGUvCiAgICBhIGJjZCBlCiAgICAqKiogRmFpbGVycwogICAgYSBiIGNkIGUKICAgIGFiY2QgZSAgIAogICAgYSBiY2RlIAogCi8oYSBiKD94KWMgZCAoPy14KWUgZikvCiAgICBhIGJjZGUgZgogICAgKioqIEZhaWxlcnMKICAgIGFiY2RlZiAgCgovKGEoP2kpYiljLwogICAgYWJjCiAgICBhQmMKICAgICoqKiBGYWlsZXJzCiAgICBhYkMKICAgIGFCQyAgCiAgICBBYmMKICAgIEFCYwogICAgQUJDCiAgICBBYkMKICAgIAovYSg/aTpiKWMvCiAgICBhYmMKICAgIGFCYwogICAgKioqIEZhaWxlcnMgCiAgICBBQkMKICAgIGFiQwogICAgYUJDCiAgICAKL2EoP2k6YikqYy8KICAgIGFCYwogICAgYUJCYwogICAgKioqIEZhaWxlcnMgCiAgICBhQkMKICAgIGFCQkMKICAgIAovYSg/PWIoP2kpYylcd1x3ZC8KICAgIGFiY2QKICAgIGFiQ2QKICAgICoqKiBGYWlsZXJzCiAgICBhQkNkCiAgICBhYmNEICAgICAKICAgIAovKD9zLWk6bW9yZS4qdGhhbikuKm1pbGxpb24vaQogICAgbW9yZSB0aGFuIG1pbGxpb24KICAgIG1vcmUgdGhhbiBNSUxMSU9OCiAgICBtb3JlIFxuIHRoYW4gTWlsbGlvbiAKICAgICoqKiBGYWlsZXJzCiAgICBNT1JFIFRIQU4gTUlMTElPTiAgICAKICAgIG1vcmUgXG4gdGhhbiBcbiBtaWxsaW9uIAoKLyg/Oig/cy1pKW1vcmUuKnRoYW4pLiptaWxsaW9uL2kKICAgIG1vcmUgdGhhbiBtaWxsaW9uCiAgICBtb3JlIHRoYW4gTUlMTElPTgogICAgbW9yZSBcbiB0aGFuIE1pbGxpb24gCiAgICAqKiogRmFpbGVycwogICAgTU9SRSBUSEFOIE1JTExJT04gICAgCiAgICBtb3JlIFxuIHRoYW4gXG4gbWlsbGlvbiAKICAgIAovKD8+YSg/aSliKykrYy8gCiAgICBhYmMKICAgIGFCYmMKICAgIGFCQmMgCiAgICAqKiogRmFpbGVycwogICAgQWJjCiAgICBhYkFiICAgIAogICAgYWJiQyAKICAgIAovKD89YSg/aSliKVx3XHdjLwogICAgYWJjCiAgICBhQmMKICAgICoqKiBGYWlsZXJzCiAgICBBYiAKICAgIGFiQwogICAgYUJDICAgICAKICAgIAovKD88PWEoP2kpYikoXHdcdyljLwogICAgYWJ4eGMKICAgIGFCeHhjCiAgICAqKiogRmFpbGVycwogICAgQWJ4eGMKICAgIEFCeHhjCiAgICBhYnh4QyAgICAgIAoKL14oPyg/PWFiYylcd3szfTp8XGRcZCkkLwogICAgYWJjOgogICAgMTIKICAgICoqKiBGYWlsZXJzCiAgICAxMjMKICAgIHh5eiAgICAKCi9eKD8oPyFhYmMpXGRcZHxcd3szfTopJC8KICAgIGFiYzoKICAgIDEyCiAgICAqKiogRmFpbGVycwogICAgMTIzCiAgICB4eXogICAgCiAgICAKLyg/KD88PWZvbyliYXJ8Y2F0KS8KICAgIGZvb2JhcgogICAgY2F0CiAgICBmY2F0CiAgICBmb2NhdCAgIAogICAgKioqIEZhaWxlcnMKICAgIGZvb2NhdCAgCgovKD8oPzwhZm9vKWNhdHxiYXIpLwogICAgZm9vYmFyCiAgICBjYXQKICAgIGZjYXQKICAgIGZvY2F0ICAgCiAgICAqKiogRmFpbGVycwogICAgZm9vY2F0ICAKCi8oPz5hKikqLwogICAgYQogICAgYWEKICAgIGFhYWEKICAgIAovKGFiY3wpKy8KICAgIGFiYwogICAgYWJjYWJjCiAgICBhYmNhYmNhYmMKICAgIHh5eiAgICAgIAoKLyhbYV0qKSovCiAgICBhCiAgICBhYWFhYSAKIAovKFthYl0qKSovCiAgICBhCiAgICBiCiAgICBhYmFiYWIKICAgIGFhYWFiY2RlCiAgICBiYmJiICAgIAogCi8oW15hXSopKi8KICAgIGIKICAgIGJiYmIKICAgIGFhYSAgIAogCi8oW15hYl0qKSovCiAgICBjY2NjCiAgICBhYmFiICAKIAovKFthXSo/KSovCiAgICBhCiAgICBhYWFhIAogCi8oW2FiXSo/KSovCiAgICBhCiAgICBiCiAgICBhYmFiCiAgICBiYWJhICAgCiAKLyhbXmFdKj8pKi8KICAgIGIKICAgIGJiYmIKICAgIGFhYSAgIAogCi8oW15hYl0qPykqLwogICAgYwogICAgY2NjYwogICAgYmFiYSAgIAogCi8oPz5hKikqLwogICAgYQogICAgYWFhYmNkZSAKIAovKCg/PmEqKSkqLwogICAgYWFhYWEKICAgIGFhYmJhYSAKIAovKCg/PmEqPykpKi8KICAgIGFhYWFhCiAgICBhYWJiYWEgCgovKD8oPz1bXmEtel0rW2Etel0pICBcZHsyfS1bYS16XXszfS1cZHsyfSAgfCAgXGR7Mn0tXGR7Mn0tXGR7Mn0gKSAveAogICAgMTItc2VwLTk4CiAgICAxMi0wOS05OAogICAgKioqIEZhaWxlcnMKICAgIHNlcC0xMi05OAogICAgICAgIAovKD9pOnNhdHVyZGF5fHN1bmRheSkvCiAgICBzYXR1cmRheQogICAgc3VuZGF5CiAgICBTYXR1cmRheQogICAgU3VuZGF5CiAgICBTQVRVUkRBWQogICAgU1VOREFZCiAgICBTdW5EYXkKICAgIAovKGEoP2kpYmN8QkIpeC8KICAgIGFiY3gKICAgIGFCQ3gKICAgIGJieAogICAgQkJ4CiAgICAqKiogRmFpbGVycwogICAgYWJjWAogICAgYUJDWAogICAgYmJYCiAgICBCQlggICAgICAgICAgICAgICAKCi9eKFthYl0oP2kpW2NkXXxbZWZdKS8KICAgIGFjCiAgICBhQwogICAgYkQKICAgIGVsZXBoYW50CiAgICBFdXJvcGUgCiAgICBmcm9nCiAgICBGcmFuY2UKICAgICoqKiBGYWlsZXJzCiAgICBBZnJpY2EgICAgIAoKL14oYWJ8YSg/aSlbYi1jXSg/bS1pKWR8eCg/aSl5fHopLwogICAgYWIKICAgIGFCZAogICAgeHkKICAgIHhZCiAgICB6ZWJyYQogICAgWmFtYmVzaQogICAgKioqIEZhaWxlcnMKICAgIGFDRCAgCiAgICBYWSAgCgovKD88PWZvb1xuKV5iYXIvbQogICAgZm9vXG5iYXIKICAgICoqKiBGYWlsZXJzCiAgICBiYXIKICAgIGJhelxuYmFyICAgCgovKD88PSg/PCFmb28pYmFyKWJhei8KICAgIGJhcmJhegogICAgYmFyYmFyYmF6IAogICAga29vYmFyYmF6IAogICAgKioqIEZhaWxlcnMKICAgIGJhegogICAgZm9vYmFyYmF6IAoKL1RoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIHRha2VuIGZyb20gdGhlIFBlcmwgNS4wMDUgdGVzdCBzdWl0ZTsgc29tZSBvZiB0aGVtLwovYXJlIGNvbXBhdGlibGUgd2l0aCA1LjAwNCwgYnV0IEknZCByYXRoZXIgbm90IGhhdmUgdG8gc29ydCB0aGVtIG91dC4vCgovYWJjLwogICAgYWJjCiAgICB4YWJjeQogICAgYWJhYmMKICAgICoqKiBGYWlsZXJzCiAgICB4YmMKICAgIGF4YwogICAgYWJ4CgovYWIqYy8KICAgIGFiYwoKL2FiKmJjLwogICAgYWJjCiAgICBhYmJjCiAgICBhYmJiYmMKCi8uezF9LwogICAgYWJiYmJjCgovLnszLDR9LwogICAgYWJiYmJjCgovYWJ7MCx9YmMvCiAgICBhYmJiYmMKCi9hYitiYy8KICAgIGFiYmMKICAgICoqKiBGYWlsZXJzCiAgICBhYmMKICAgIGFicQoKL2FiK2JjLwogICAgYWJiYmJjCgovYWJ7MSx9YmMvCiAgICBhYmJiYmMKCi9hYnsxLDN9YmMvCiAgICBhYmJiYmMKCi9hYnszLDR9YmMvCiAgICBhYmJiYmMKCi9hYns0LDV9YmMvCiAgICAqKiogRmFpbGVycwogICAgYWJxCiAgICBhYmJiYmMKCi9hYj9iYy8KICAgIGFiYmMKICAgIGFiYwoKL2FiezAsMX1iYy8KICAgIGFiYwoKL2FiP2JjLwoKL2FiP2MvCiAgICBhYmMKCi9hYnswLDF9Yy8KICAgIGFiYwoKL15hYmMkLwogICAgYWJjCiAgICAqKiogRmFpbGVycwogICAgYWJiYmJjCiAgICBhYmNjCgovXmFiYy8KICAgIGFiY2MKCi9eYWJjJC8KCi9hYmMkLwogICAgYWFiYwogICAgKioqIEZhaWxlcnMKICAgIGFhYmMKICAgIGFhYmNkCgovXi8KICAgIGFiYwoKLyQvCiAgICBhYmMKCi9hLmMvCiAgICBhYmMKICAgIGF4YwoKL2EuKmMvCiAgICBheHl6YwoKL2FbYmNdZC8KICAgIGFiZAogICAgKioqIEZhaWxlcnMKICAgIGF4eXpkCiAgICBhYmMKCi9hW2ItZF1lLwogICAgYWNlCgovYVtiLWRdLwogICAgYWFjCgovYVstYl0vCiAgICBhLQoKL2FbYi1dLwogICAgYS0KCi9hXS8KICAgIGFdCgovYVtdXWIvCiAgICBhXWIKCi9hW15iY11kLwogICAgYWVkCiAgICAqKiogRmFpbGVycwogICAgYWJkCiAgICBhYmQKCi9hW14tYl1jLwogICAgYWRjCgovYVteXWJdYy8KICAgIGFkYwogICAgKioqIEZhaWxlcnMKICAgIGEtYwogICAgYV1jCgovXGJhXGIvCiAgICBhLQogICAgLWEKICAgIC1hLQoKL1xieVxiLwogICAgKioqIEZhaWxlcnMKICAgIHh5CiAgICB5egogICAgeHl6CgovXEJhXEIvCiAgICAqKiogRmFpbGVycwogICAgYS0KICAgIC1hCiAgICAtYS0KCi9cQnlcYi8KICAgIHh5CgovXGJ5XEIvCiAgICB5egoKL1xCeVxCLwogICAgeHl6CgovXHcvCiAgICBhCgovXFcvCiAgICAtCiAgICAqKiogRmFpbGVycwogICAgLQogICAgYQoKL2Fcc2IvCiAgICBhIGIKCi9hXFNiLwogICAgYS1iCiAgICAqKiogRmFpbGVycwogICAgYS1iCiAgICBhIGIKCi9cZC8KICAgIDEKCi9cRC8KICAgIC0KICAgICoqKiBGYWlsZXJzCiAgICAtCiAgICAxCgovW1x3XS8KICAgIGEKCi9bXFddLwogICAgLQogICAgKioqIEZhaWxlcnMKICAgIC0KICAgIGEKCi9hW1xzXWIvCiAgICBhIGIKCi9hW1xTXWIvCiAgICBhLWIKICAgICoqKiBGYWlsZXJzCiAgICBhLWIKICAgIGEgYgoKL1tcZF0vCiAgICAxCgovW1xEXS8KICAgIC0KICAgICoqKiBGYWlsZXJzCiAgICAtCiAgICAxCgovYWJ8Y2QvCiAgICBhYmMKICAgIGFiY2QKCi8oKWVmLwogICAgZGVmCgovJGIvCgovYVwoYi8KICAgIGEoYgoKL2FcKCpiLwogICAgYWIKICAgIGEoKGIKCi9hXFxiLwogICAgYVxiCgovKChhKSkvCiAgICBhYmMKCi8oYSliKGMpLwogICAgYWJjCgovYStiK2MvCiAgICBhYWJiYWJjCgovYXsxLH1iezEsfWMvCiAgICBhYWJiYWJjCgovYS4rP2MvCiAgICBhYmNhYmMKCi8oYSt8YikqLwogICAgYWIKCi8oYSt8Yil7MCx9LwogICAgYWIKCi8oYSt8YikrLwogICAgYWIKCi8oYSt8Yil7MSx9LwogICAgYWIKCi8oYSt8Yik/LwogICAgYWIKCi8oYSt8Yil7MCwxfS8KICAgIGFiCgovW15hYl0qLwogICAgY2RlCgovYWJjLwogICAgKioqIEZhaWxlcnMKICAgIGIKICAgIAoKL2EqLwogICAgCgovKFthYmNdKSpkLwogICAgYWJiYmNkCgovKFthYmNdKSpiY2QvCiAgICBhYmNkCgovYXxifGN8ZHxlLwogICAgZQoKLyhhfGJ8Y3xkfGUpZi8KICAgIGVmCgovYWJjZCplZmcvCiAgICBhYmNkZWZnCgovYWIqLwogICAgeGFieWFiYmJ6CiAgICB4YXlhYmJiegoKLyhhYnxjZCllLwogICAgYWJjZGUKCi9bYWJoZ2VmZGNdaWovCiAgICBoaWoKCi9eKGFifGNkKWUvCgovKGFiY3wpZWYvCiAgICBhYmNkZWYKCi8oYXxiKWMqZC8KICAgIGFiY2QKCi8oYWJ8YWIqKWJjLwogICAgYWJjCgovYShbYmNdKiljKi8KICAgIGFiYwoKL2EoW2JjXSopKGMqZCkvCiAgICBhYmNkCgovYShbYmNdKykoYypkKS8KICAgIGFiY2QKCi9hKFtiY10qKShjK2QpLwogICAgYWJjZAoKL2FbYmNkXSpkY2RjZGUvCiAgICBhZGNkY2RlCgovYVtiY2RdK2RjZGNkZS8KICAgICoqKiBGYWlsZXJzCiAgICBhYmNkZQogICAgYWRjZGNkZQoKLyhhYnxhKWIqYy8KICAgIGFiYwoKLygoYSkoYiljKShkKS8KICAgIGFiY2QKCi9bYS16QS1aX11bYS16QS1aMC05X10qLwogICAgYWxwaGEKCi9eYShiYyt8YltlaF0pZ3wuaCQvCiAgICBhYmgKCi8oYmMrZCR8ZWYqZy58aD9pKGp8aykpLwogICAgZWZmZ3oKICAgIGlqCiAgICByZWZmZ3oKICAgICoqKiBGYWlsZXJzCiAgICBlZmZnCiAgICBiY2RkCgovKCgoKCgoKCgoKGEpKSkpKSkpKSkpLwogICAgYQoKLygoKCgoKCgoKGEpKSkpKSkpKSkvCiAgICBhCgovbXVsdGlwbGUgd29yZHMgb2YgdGV4dC8KICAgICoqKiBGYWlsZXJzCiAgICBhYQogICAgdWgtdWgKCi9tdWx0aXBsZSB3b3Jkcy8KICAgIG11bHRpcGxlIHdvcmRzLCB5ZWFoCgovKC4qKWMoLiopLwogICAgYWJjZGUKCi9cKCguKiksICguKilcKS8KICAgIChhLCBiKQoKL1trXS8KCi9hYmNkLwogICAgYWJjZAoKL2EoYmMpZC8KICAgIGFiY2QKCi9hWy1dP2MvCiAgICBhYwoKL2FiYy9pCiAgICBBQkMKICAgIFhBQkNZCiAgICBBQkFCQwogICAgKioqIEZhaWxlcnMKICAgIGFheGFieGJheGJieAogICAgWEJDCiAgICBBWEMKICAgIEFCWAoKL2FiKmMvaQogICAgQUJDCgovYWIqYmMvaQogICAgQUJDCiAgICBBQkJDCgovYWIqP2JjL2kKICAgIEFCQkJCQwoKL2FiezAsfT9iYy9pCiAgICBBQkJCQkMKCi9hYis/YmMvaQogICAgQUJCQwoKL2FiK2JjL2kKICAgICoqKiBGYWlsZXJzCiAgICBBQkMKICAgIEFCUQoKL2FiezEsfWJjL2kKCi9hYitiYy9pCiAgICBBQkJCQkMKCi9hYnsxLH0/YmMvaQogICAgQUJCQkJDCgovYWJ7MSwzfT9iYy9pCiAgICBBQkJCQkMKCi9hYnszLDR9P2JjL2kKICAgIEFCQkJCQwoKL2FiezQsNX0/YmMvaQogICAgKioqIEZhaWxlcnMKICAgIEFCUQogICAgQUJCQkJDCgovYWI/P2JjL2kKICAgIEFCQkMKICAgIEFCQwoKL2FiezAsMX0/YmMvaQogICAgQUJDCgovYWI/P2JjL2kKCi9hYj8/Yy9pCiAgICBBQkMKCi9hYnswLDF9P2MvaQogICAgQUJDCgovXmFiYyQvaQogICAgQUJDCiAgICAqKiogRmFpbGVycwogICAgQUJCQkJDCiAgICBBQkNDCgovXmFiYy9pCiAgICBBQkNDCgovXmFiYyQvaQoKL2FiYyQvaQogICAgQUFCQwoKL14vaQogICAgQUJDCgovJC9pCiAgICBBQkMKCi9hLmMvaQogICAgQUJDCiAgICBBWEMKCi9hLio/Yy9pCiAgICBBWFlaQwoKL2EuKmMvaQogICAgKioqIEZhaWxlcnMKICAgIEFBQkMKICAgIEFYWVpECgovYVtiY11kL2kKICAgIEFCRAoKL2FbYi1kXWUvaQogICAgQUNFCiAgICAqKiogRmFpbGVycwogICAgQUJDCiAgICBBQkQKCi9hW2ItZF0vaQogICAgQUFDCgovYVstYl0vaQogICAgQS0KCi9hW2ItXS9pCiAgICBBLQoKL2FdL2kKICAgIEFdCgovYVtdXWIvaQogICAgQV1CCgovYVteYmNdZC9pCiAgICBBRUQKCi9hW14tYl1jL2kKICAgIEFEQwogICAgKioqIEZhaWxlcnMKICAgIEFCRAogICAgQS1DCgovYVteXWJdYy9pCiAgICBBREMKCi9hYnxjZC9pCiAgICBBQkMKICAgIEFCQ0QKCi8oKWVmL2kKICAgIERFRgoKLyRiL2kKICAgICoqKiBGYWlsZXJzCiAgICBBXUMKICAgIEIKCi9hXChiL2kKICAgIEEoQgoKL2FcKCpiL2kKICAgIEFCCiAgICBBKChCCgovYVxcYi9pCiAgICBBXEIKCi8oKGEpKS9pCiAgICBBQkMKCi8oYSliKGMpL2kKICAgIEFCQwoKL2ErYitjL2kKICAgIEFBQkJBQkMKCi9hezEsfWJ7MSx9Yy9pCiAgICBBQUJCQUJDCgovYS4rP2MvaQogICAgQUJDQUJDCgovYS4qP2MvaQogICAgQUJDQUJDCgovYS57MCw1fT9jL2kKICAgIEFCQ0FCQwoKLyhhK3xiKSovaQogICAgQUIKCi8oYSt8Yil7MCx9L2kKICAgIEFCCgovKGErfGIpKy9pCiAgICBBQgoKLyhhK3xiKXsxLH0vaQogICAgQUIKCi8oYSt8Yik/L2kKICAgIEFCCgovKGErfGIpezAsMX0vaQogICAgQUIKCi8oYSt8Yil7MCwxfT8vaQogICAgQUIKCi9bXmFiXSovaQogICAgQ0RFCgovYWJjL2kKCi9hKi9pCiAgICAKCi8oW2FiY10pKmQvaQogICAgQUJCQkNECgovKFthYmNdKSpiY2QvaQogICAgQUJDRAoKL2F8YnxjfGR8ZS9pCiAgICBFCgovKGF8YnxjfGR8ZSlmL2kKICAgIEVGCgovYWJjZCplZmcvaQogICAgQUJDREVGRwoKL2FiKi9pCiAgICBYQUJZQUJCQloKICAgIFhBWUFCQkJaCgovKGFifGNkKWUvaQogICAgQUJDREUKCi9bYWJoZ2VmZGNdaWovaQogICAgSElKCgovXihhYnxjZCllL2kKICAgIEFCQ0RFCgovKGFiY3wpZWYvaQogICAgQUJDREVGCgovKGF8YiljKmQvaQogICAgQUJDRAoKLyhhYnxhYiopYmMvaQogICAgQUJDCgovYShbYmNdKiljKi9pCiAgICBBQkMKCi9hKFtiY10qKShjKmQpL2kKICAgIEFCQ0QKCi9hKFtiY10rKShjKmQpL2kKICAgIEFCQ0QKCi9hKFtiY10qKShjK2QpL2kKICAgIEFCQ0QKCi9hW2JjZF0qZGNkY2RlL2kKICAgIEFEQ0RDREUKCi9hW2JjZF0rZGNkY2RlL2kKCi8oYWJ8YSliKmMvaQogICAgQUJDCgovKChhKShiKWMpKGQpL2kKICAgIEFCQ0QKCi9bYS16QS1aX11bYS16QS1aMC05X10qL2kKICAgIEFMUEhBCgovXmEoYmMrfGJbZWhdKWd8LmgkL2kKICAgIEFCSAoKLyhiYytkJHxlZipnLnxoP2koanxrKSkvaQogICAgRUZGR1oKICAgIElKCiAgICBSRUZGR1oKICAgICoqKiBGYWlsZXJzCiAgICBBRENEQ0RFCiAgICBFRkZHCiAgICBCQ0RECgovKCgoKCgoKCgoKGEpKSkpKSkpKSkpL2kKICAgIEEKCi8oKCgoKCgoKChhKSkpKSkpKSkpL2kKICAgIEEKCi8oPzooPzooPzooPzooPzooPzooPzooPzooPzooYSkpKSkpKSkpKSkvaQogICAgQQoKLyg/Oig/Oig/Oig/Oig/Oig/Oig/Oig/Oig/OihhfGJ8YykpKSkpKSkpKSkvaQogICAgQwoKL211bHRpcGxlIHdvcmRzIG9mIHRleHQvaQogICAgKioqIEZhaWxlcnMKICAgIEFBCiAgICBVSC1VSAoKL211bHRpcGxlIHdvcmRzL2kKICAgIE1VTFRJUExFIFdPUkRTLCBZRUFICgovKC4qKWMoLiopL2kKICAgIEFCQ0RFCgovXCgoLiopLCAoLiopXCkvaQogICAgKEEsIEIpCgovW2tdL2kKCi9hYmNkL2kKICAgIEFCQ0QKCi9hKGJjKWQvaQogICAgQUJDRAoKL2FbLV0/Yy9pCiAgICBBQwoKL2EoPyFiKS4vCiAgICBhYmFkCgovYSg/PWQpLi8KICAgIGFiYWQKCi9hKD89Y3xkKS4vCiAgICBhYmFkCgovYSg/OmJ8Y3xkKSguKS8KICAgIGFjZQoKL2EoPzpifGN8ZCkqKC4pLwogICAgYWNlCgovYSg/OmJ8Y3xkKSs/KC4pLwogICAgYWNlCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCkrKC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezJ9KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezQsNX0oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NCw1fT8oLikvCiAgICBhY2RiY2RiZQoKLygoZm9vKXwoYmFyKSkqLwogICAgZm9vYmFyCgovYSg/OmJ8Y3xkKXs2LDd9KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezYsN30/KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezUsNn0oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NSw2fT8oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NSw3fSguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs1LDd9PyguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8KGN8ZSl7MSwyfT98ZCkrPyguKS8KICAgIGFjZQoKL14oLispP0IvCiAgICBBQgoKL14oW15hLXpdKXwoXF4pJC8KICAgIC4KCi9eWzw+XSYvCiAgICA8Jk9VVAoKLyg/OihmKShvKShvKXwoYikoYSkocikpKi8KICAgIGZvb2JhcgoKLyg/PD1hKWIvCiAgICBhYgogICAgKioqIEZhaWxlcnMKICAgIGNiCiAgICBiCgovKD88IWMpYi8KICAgIGFiCiAgICBiCiAgICBiCgovKD86Li4pKmEvCiAgICBhYmEKCi8oPzouLikqP2EvCiAgICBhYmEKCi9eKCl7Myw1fS8KICAgIGFiYwoKL14oYSspKmF4LwogICAgYWF4CgovXigoYXxiKSspKmF4LwogICAgYWF4CgovXigoYXxiYykrKSpheC8KICAgIGFheAoKLyhhfHgpKmFiLwogICAgY2FiCgovKGEpKmFiLwogICAgY2FiCgovKD86KD9pKWEpYi8KICAgIGFiCgovKCg/aSlhKWIvCiAgICBhYgoKLyg/Oig/aSlhKWIvCiAgICBBYgoKLygoP2kpYSliLwogICAgQWIKCi8oPzooP2kpYSliLwogICAgKioqIEZhaWxlcnMKICAgIGNiCiAgICBhQgoKLygoP2kpYSliLwoKLyg/aTphKWIvCiAgICBhYgoKLygoP2k6YSkpYi8KICAgIGFiCgovKD9pOmEpYi8KICAgIEFiCgovKCg/aTphKSliLwogICAgQWIKCi8oP2k6YSliLwogICAgKioqIEZhaWxlcnMKICAgIGFCCiAgICBhQgoKLygoP2k6YSkpYi8KCi8oPzooPy1pKWEpYi9pCiAgICBhYgoKLygoPy1pKWEpYi9pCiAgICBhYgoKLyg/Oig/LWkpYSliL2kKICAgIGFCCgovKCg/LWkpYSliL2kKICAgIGFCCgovKD86KD8taSlhKWIvaQogICAgKioqIEZhaWxlcnMKICAgIGFCCiAgICBBYgoKLygoPy1pKWEpYi9pCgovKD86KD8taSlhKWIvaQogICAgYUIKCi8oKD8taSlhKWIvaQogICAgYUIKCi8oPzooPy1pKWEpYi9pCiAgICAqKiogRmFpbGVycwogICAgQWIKICAgIEFCCgovKCg/LWkpYSliL2kKCi8oPy1pOmEpYi9pCiAgICBhYgoKLygoPy1pOmEpKWIvaQogICAgYWIKCi8oPy1pOmEpYi9pCiAgICBhQgoKLygoPy1pOmEpKWIvaQogICAgYUIKCi8oPy1pOmEpYi9pCiAgICAqKiogRmFpbGVycwogICAgQUIKICAgIEFiCgovKCg/LWk6YSkpYi9pCgovKD8taTphKWIvaQogICAgYUIKCi8oKD8taTphKSliL2kKICAgIGFCCgovKD8taTphKWIvaQogICAgKioqIEZhaWxlcnMKICAgIEFiCiAgICBBQgoKLygoPy1pOmEpKWIvaQoKLygoPy1pOmEuKSliL2kKICAgICoqKiBGYWlsZXJzCiAgICBBQgogICAgYVxuQgoKLygoP3MtaTphLikpYi9pCiAgICBhXG5CCgovKD86Y3xkKSg/OikoPzphKD86KSg/OmIpKD86Yig/OikpKD86Yig/OikoPzpiKSkpLwogICAgY2FiYmJiCgovKD86Y3xkKSg/OikoPzphYWFhYWFhYSg/OikoPzpiYmJiYmJiYikoPzpiYmJiYmJiYig/OikpKD86YmJiYmJiYmIoPzopKD86YmJiYmJiYmIpKSkvCiAgICBjYWFhYWFhYWFiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYgoKL2Zvb1x3KlxkezR9YmF6LwogICAgZm9vYmFyMTIzNGJhegoKL3gofn4pKig/Oig/OkYpPyk/LwogICAgeH5+CgovXmEoPyN4eHgpezN9Yy8KICAgIGFhYWMKCi9eYSAoPyN4eHgpICg/I3l5eSkgezN9Yy94CiAgICBhYWFjCgovKD88IVtjZF0pYi8KICAgICoqKiBGYWlsZXJzCiAgICBCXG5CCiAgICBkYmNiCgovKD88IVtjZF0pW2FiXS8KICAgIGRiYWFjYgoKLyg/PCEoY3xkKSliLwoKLyg/PCEoY3xkKSlbYWJdLwogICAgZGJhYWNiCgovKD88IWNkKVthYl0vCiAgICBjZGFjY2IKCi9eKD86YT9iPykqJC8KICAgICoqKiBGYWlsZXJzCiAgICBkYmNiCiAgICBhLS0KCi8oKD9zKV5hKC4pKSgoP20pXmIkKS8KICAgIGFcbmJcbmNcbgoKLygoP20pXmIkKS8KICAgIGFcbmJcbmNcbgoKLyg/bSleYi8KICAgIGFcbmJcbgoKLyg/bSleKGIpLwogICAgYVxuYlxuCgovKCg/bSleYikvCiAgICBhXG5iXG4KCi9cbigoP20pXmIpLwogICAgYVxuYlxuCgovKCg/cykuKWMoPyEuKS8KICAgIGFcbmJcbmNcbgogICAgYVxuYlxuY1xuCgovKCg/cyliLiljKD8hLikvCiAgICBhXG5iXG5jXG4KICAgIGFcbmJcbmNcbgoKL15iLwoKLygpXmIvCiAgICAqKiogRmFpbGVycwogICAgYVxuYlxuY1xuCiAgICBhXG5iXG5jXG4KCi8oKD9tKV5iKS8KICAgIGFcbmJcbmNcbgoKLyg/KD8hYSlhfGIpLwoKLyg/KD8hYSlifGEpLwogICAgYQoKLyg/KD89YSlifGEpLwogICAgKioqIEZhaWxlcnMKICAgIGEKICAgIGEKCi8oPyg/PWEpYXxiKS8KICAgIGEKCi8oXHcrOikrLwogICAgb25lOgoKLyQoPzw9XihhKSkvCiAgICBhCgovKFtcdzpdKzo6KT8oXHcrKSQvCiAgICBhYmNkCiAgICB4eTp6Ojo6YWJjZAoKL15bXmJjZF0qKGMrKS8KICAgIGFleHljZAoKLyhhKiliKy8KICAgIGNhYWIKCi8oW1x3Ol0rOjopPyhcdyspJC8KICAgIGFiY2QKICAgIHh5Ono6OjphYmNkCiAgICAqKiogRmFpbGVycwogICAgYWJjZDoKICAgIGFiY2Q6CgovXlteYmNkXSooYyspLwogICAgYWV4eWNkCgovKD5hKylhYi8KCi8oPz5hKyliLwogICAgYWFhYgoKLyhbWzpdKykvCiAgICBhOltiXToKCi8oW1s9XSspLwogICAgYT1bYl09CgovKFtbLl0rKS8KICAgIGEuW2JdLgoKLygoPz5hKyliKS8KICAgIGFhYWIKCi8oPz4oYSspKWIvCiAgICBhYWFiCgovKCg/PlteKCldKyl8XChbXigpXSpcKSkrLwogICAgKChhYmMoYWRlKXVmaCgpKCl4CgovYVxaLwogICAgKioqIEZhaWxlcnMKICAgIGFhYWIKICAgIGFcbmJcbgoKL2JcWi8KICAgIGFcbmJcbgoKL2Jcei8KCi9iXFovCiAgICBhXG5iCgovYlx6LwogICAgYVxuYgogICAgKioqIEZhaWxlcnMKICAgIAovKD8+LiopKD88PShhYmNkfHd4eXopKS8KICAgIGFscGhhYmV0YWJjZAogICAgZW5kaW5nd3h5egogICAgKioqIEZhaWxlcnMKICAgIGEgcmF0aGVyIGxvbmcgc3RyaW5nIHRoYXQgZG9lc24ndCBlbmQgd2l0aCBvbmUgb2YgdGhlbQoKL3dvcmQgKD8+KD86KD8hb3RoZXJ3b3JkKVthLXpBLVowLTldKyApezAsMzB9KW90aGVyd29yZC8KICAgIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgb3RoZXJ3b3JkCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrCiAgCi93b3JkICg/PlthLXpBLVowLTldKyApezAsMzB9b3RoZXJ3b3JkLwogICAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayB0aGUgcXVpY2sgYnJvd24gZm94IGFuZCB0aGUgbGF6eSBkb2cgYW5kIHNldmVyYWwgb3RoZXIgd29yZHMgZ2V0dGluZyBjbG9zZSB0byB0aGlydHkgYnkgbm93IEkgaG9wZQoKLyg/PD1cZHszfSg/ITk5OSkpZm9vLwogICAgOTk5Zm9vCiAgICAxMjM5OTlmb28gCiAgICAqKiogRmFpbGVycwogICAgMTIzYWJjZm9vCiAgICAKLyg/PD0oPyEuLi45OTkpXGR7M30pZm9vLwogICAgOTk5Zm9vCiAgICAxMjM5OTlmb28gCiAgICAqKiogRmFpbGVycwogICAgMTIzYWJjZm9vCgovKD88PVxkezN9KD8hOTk5KS4uLilmb28vCiAgICAxMjNhYmNmb28KICAgIDEyMzQ1NmZvbyAKICAgICoqKiBGYWlsZXJzCiAgICAxMjM5OTlmb28gIAogICAgCi8oPzw9XGR7M30uLi4pKD88ITk5OSlmb28vCiAgICAxMjNhYmNmb28gICAKICAgIDEyMzQ1NmZvbyAKICAgICoqKiBGYWlsZXJzCiAgICAxMjM5OTlmb28gIAoKLygoWikrfEEpKi8KICAgIFpBQkNERUZHCgovKFooKXxBKSovCiAgICBaQUJDREVGRwoKLyhaKCgpKXxBKSovCiAgICBaQUJDREVGRwoKLygoPz5aKSt8QSkqLwogICAgWkFCQ0RFRkcKCi8oKD8+KSt8QSkqLwogICAgWkFCQ0RFRkcKCi9hKi9nCiAgICBhYmJhYgoKL15bYS1cZF0vCiAgICBhYmNkZQogICAgLXRoaW5ncwogICAgMGRpZ2l0CiAgICAqKiogRmFpbGVycwogICAgYmNkZWYgICAgCgovXltcZC1hXS8KICAgIGFiY2RlCiAgICAtdGhpbmdzCiAgICAwZGlnaXQKICAgICoqKiBGYWlsZXJzCiAgICBiY2RlZiAgICAKICAgIAovW1s6c3BhY2U6XV0rLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKICAgICAKL1tbOmJsYW5rOl1dKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAgICAgCi9bXHNdKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAgICAgCi9ccysvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogICAgIAovYQtiL3gKICAgIGFiCgovKD8hXEEpeC9tCiAgYVxueGJcbgoKLyg/IV4peC9tCiAgYVxueGJcbgoKL2FiY1xRYWJjXEVhYmMvCiAgICBhYmNhYmNhYmMKICAgIAovYWJjXFEoKit8XEVhYmMvCiAgICBhYmMoKit8YWJjIAoKLyAgIGFiY1xRIGFiY1xFYWJjL3gKICAgIGFiYyBhYmNhYmMKICAgICoqKiBGYWlsZXJzCiAgICBhYmNhYmNhYmMgIAogICAgCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWxcRS94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWwveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCgovYWJjI2NvbW1lbnQKICAgIFxRI25vdCBjb21tZW50CiAgICBsaXRlcmFsXEUgI21vcmUgY29tbWVudAogICAgL3gKICAgIGFiYyNub3QgY29tbWVudFxuICAgIGxpdGVyYWwgICAgIAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFICNtb3JlIGNvbW1lbnQveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCgovXFFhYmNcJHh5elxFLwogICAgYWJjXFxcJHh5egoKL1xRYWJjXEVcJFxReHl6XEUvCiAgICBhYmNcJHh5egoKL1xHYWJjLwogICAgYWJjCiAgICAqKiogRmFpbGVycwogICAgeHl6YWJjICAKCi9cR2FiYy4vZwogICAgYWJjMWFiYzJ4eXphYmMzCgovYWJjLi9nCiAgICBhYmMxYWJjMnh5emFiYzMgCgovYSg/eDogYiBjIClkLwogICAgWGFiY2RZCiAgICAqKiogRmFpbGVycyAKICAgIFhhIGIgYyBkIFkgCgovKCg/eCl4IHkgeiB8IGEgYiBjKS8KICAgIFhhYmNZCiAgICBBeHl6QiAKCi8oP2kpQUIoPy1pKUMvCiAgICBYYWJDWQogICAgKioqIEZhaWxlcnMKICAgIFhhYmNZICAKCi8oKD9pKUFCKD8taSlDfEQpRS8KICAgIGFiQ0UKICAgIERFCiAgICAqKiogRmFpbGVycwogICAgYWJjRQogICAgYWJDZSAgCiAgICBkRQogICAgRGUgICAgCgovW3pcUWEtZF1cRV0vCiAgICB6CiAgICBhCiAgICAtCiAgICBkCiAgICBdIAogICAgKioqIEZhaWxlcnMKICAgIGIgICAgIAoKL1tcelxDXS8KICAgIHoKICAgIEMgCiAgICAKL1xNLwogICAgTSAKICAgIAovKGErKSpiLwogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSAKICAgIAovKD9pKXJlZyg/OnVsKD86W2HkXXxhZSlyfGV4KS8KICAgIFJFR3VsYXIKICAgIHJlZ3VsYWVyCiAgICBSZWdleCAgCiAgICByZWd1bORyIAoKL8Xm5eRb4C3/wC3fXSsvCiAgICDF5uXk4AogICAgxebl5P8KICAgIMXm5eTACiAgICDF5uXk3woKLyg/PD1aKVguLwogICAgXHg4NFhBWlhCCgovXig/KDIpYXwoMSkoMikpKyQvCiAgICAxMjNhCgovKD88PWF8YmJiYiljLwogICAgYWMKICAgIGJiYmJjCgovYWJjL1NTPnRlc3RzYXZlZHJlZ2V4Cjx0ZXN0c2F2ZWRyZWdleAogICAgYWJjCiAgICAqKiogRmFpbGVycwogICAgYmNhCiAgICAKL2FiYy9GU1M+dGVzdHNhdmVkcmVnZXgKPHRlc3RzYXZlZHJlZ2V4CiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICBiY2EKCi8oYXxiKS9TPnRlc3RzYXZlZHJlZ2V4Cjx0ZXN0c2F2ZWRyZWdleAogICAgYWJjCiAgICAqKiogRmFpbGVycwogICAgZGVmICAKICAgIAovKGF8YikvU0Y+dGVzdHNhdmVkcmVnZXgKPHRlc3RzYXZlZHJlZ2V4CiAgICBhYmMKICAgICoqKiBGYWlsZXJzCiAgICBkZWYgIAogICAgCi9saW5lXG5icmVhay8KICAgIHRoaXMgaXMgYSBsaW5lXG5icmVhawogICAgbGluZSBvbmVcbnRoaXMgaXMgYSBsaW5lXG5icmVhayBpbiB0aGUgc2Vjb25kIGxpbmUgCgovbGluZVxuYnJlYWsvZgogICAgdGhpcyBpcyBhIGxpbmVcbmJyZWFrCiAgICAqKiBGYWlsZXJzIAogICAgbGluZSBvbmVcbnRoaXMgaXMgYSBsaW5lXG5icmVhayBpbiB0aGUgc2Vjb25kIGxpbmUgCgovbGluZVxuYnJlYWsvbWYKICAgIHRoaXMgaXMgYSBsaW5lXG5icmVhawogICAgKiogRmFpbGVycyAKICAgIGxpbmUgb25lXG50aGlzIGlzIGEgbGluZVxuYnJlYWsgaW4gdGhlIHNlY29uZCBsaW5lIAoKLzEyMzQvCiAgICAxMjNcUAogICAgYTRcUFxSCgovMTIzNC8KICAgIDEyM1xQCiAgICA0XFBcUgoKL14vbWcKICAgIGFcbmJcbmNcbgogICAgXCAKICAgIAovKD88PUNcbileL21nCiAgICBBXG5DXG5DXG4gCgovKD9zKUE/Qi8KICAgIEFCCiAgICBhQiAgCgovKD9zKUEqQi8KICAgIEFCCiAgICBhQiAgCgovKD9tKUE/Qi8KICAgIEFCCiAgICBhQiAgCgovKD9tKUEqQi8KICAgIEFCCiAgICBhQiAgCgovQ29udGVudC1UeXBlXHgzQVteXHJcbl17Nix9LwogICAgQ29udGVudC1UeXBlOnh4eHh4eXl5IAoKL0NvbnRlbnQtVHlwZVx4M0FbXlxyXG5dezYsfXovCiAgICBDb250ZW50LVR5cGU6eHh4eHh5eXl6CgovQ29udGVudC1UeXBlXHgzQVteYV17Nix9LwogICAgQ29udGVudC1UeXBlOnh4eHl5eSAKCi9Db250ZW50LVR5cGVceDNBW15hXXs2LH16LwogICAgQ29udGVudC1UeXBlOnh4eHl5eXoKCi9eYWJjL20KICAgIHh5elxuYWJjCiAgICB4eXpcbmFiY1w8bGY+CiAgICB4eXpcclxuYWJjXDxsZj4KICAgIHh5elxyYWJjXDxjcj4KICAgIHh5elxyXG5hYmNcPGNybGY+CiAgICAqKiBGYWlsZXJzIAogICAgeHl6XG5hYmNcPGNyPgogICAgeHl6XHJcbmFiY1w8Y3I+CiAgICB4eXpcbmFiY1w8Y3JsZj4KICAgIHh5elxyYWJjXDxjcmxmPgogICAgeHl6XHJhYmNcPGxmPgogICAgCi9hYmMkL208bGY+CiAgICB4eXphYmMKICAgIHh5emFiY1xuIAogICAgeHl6YWJjXG5wcXIgCiAgICB4eXphYmNcclw8Y3I+IAogICAgeHl6YWJjXHJwcXJcPGNyPiAKICAgIHh5emFiY1xyXG5cPGNybGY+IAogICAgeHl6YWJjXHJcbnBxclw8Y3JsZj4gCiAgICAqKiBGYWlsZXJzCiAgICB4eXphYmNcciAKICAgIHh5emFiY1xycHFyIAogICAgeHl6YWJjXHJcbiAKICAgIHh5emFiY1xyXG5wcXIgCiAgICAKL15hYmMvbTxjcj4KICAgIHh5elxyYWJjZGVmCiAgICB4eXpcbmFiY2RlZlw8bGY+CiAgICAqKiBGYWlsZXJzICAKICAgIHh5elxuYWJjZGVmCiAgICAgICAKL15hYmMvbTxsZj4KICAgIHh5elxuYWJjZGVmCiAgICB4eXpccmFiY2RlZlw8Y3I+CiAgICAqKiBGYWlsZXJzICAKICAgIHh5elxyYWJjZGVmCiAgICAgICAKL15hYmMvbTxjcmxmPgogICAgeHl6XHJcbmFiY2RlZgogICAgeHl6XHJhYmNkZWZcPGNyPgogICAgKiogRmFpbGVycyAgCiAgICB4eXpccmFiY2RlZgogICAgCi8uKi88bGY+CiAgICBhYmNcbmRlZgogICAgYWJjXHJkZWYKICAgIGFiY1xyXG5kZWYKICAgIFw8Y3I+YWJjXG5kZWYKICAgIFw8Y3I+YWJjXHJkZWYKICAgIFw8Y3I+YWJjXHJcbmRlZgogICAgXDxjcmxmPmFiY1xuZGVmCiAgICBcPGNybGY+YWJjXHJkZWYKICAgIFw8Y3JsZj5hYmNcclxuZGVmCgovXHcrKC4pKC4pP2RlZi9zCiAgICBhYmNcbmRlZgogICAgYWJjXHJkZWYKICAgIGFiY1xyXG5kZWYKCi9eXHcrPS4qKFxcXG4uKikqLwogICAgYWJjPXh5elxcXG5wcXIKCi9eKGEoKSopKi8KICAgIGFhYWEKCi9eKD86YSg/Oig/OikpKikqLwogICAgYWFhYQoKL14oYSgpKykrLwogICAgYWFhYQoKL14oPzphKD86KD86KSkrKSsvCiAgICBhYWFhCgovKGF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEKICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CgovKD8+YXwpKlxkLwogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYTQKCi8oPzphfCkqXGQvCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhNAoKL15hLmIvPGxmPgogICAgYVxyYgogICAgYVxuYlw8Y3I+IAogICAgKiogRmFpbGVycwogICAgYVxuYgogICAgYVxuYlw8YW55PgogICAgYVxyYlw8Y3I+ICAgCiAgICBhXHJiXDxhbnk+ICAgCgovXmFiYy4vbWd4PGFueT4KICAgIGFiYzEgXHgwYWFiYzIgXHgwYmFiYzN4eCBceDBjYWJjNCBceDBkYWJjNXh4IFx4MGRceDBhYWJjNiBceDg1YWJjNyBKVU5LCgovYWJjLiQvbWd4PGFueT4KICAgIGFiYzFceDBhIGFiYzJceDBiIGFiYzNceDBjIGFiYzRceDBkIGFiYzVceDBkXHgwYSBhYmM2XHg4NSBhYmM5CgovXmFcUmIvPGJzcl91bmljb2RlPgogICAgYVxuYgogICAgYVxyYgogICAgYVxyXG5iCiAgICBhXHgwYmIKICAgIGFceDBjYgogICAgYVx4ODViICAgCiAgICAqKiBGYWlsZXJzCiAgICBhXG5ccmIgICAgCgovXmFcUipiLzxic3JfdW5pY29kZT4KICAgIGFiCiAgICBhXG5iCiAgICBhXHJiCiAgICBhXHJcbmIKICAgIGFceDBiYgogICAgYVx4MGNiCiAgICBhXHg4NWIgICAKICAgIGFcblxyYiAgICAKICAgIGFcblxyXHg4NVx4MGNiIAoKL15hXFIrYi88YnNyX3VuaWNvZGU+CiAgICBhXG5iCiAgICBhXHJiCiAgICBhXHJcbmIKICAgIGFceDBiYgogICAgYVx4MGNiCiAgICBhXHg4NWIgICAKICAgIGFcblxyYiAgICAKICAgIGFcblxyXHg4NVx4MGNiIAogICAgKiogRmFpbGVycwogICAgYWIgIAogICAgCi9eYVxSezEsM31iLzxic3JfdW5pY29kZT4KICAgIGFcbmIKICAgIGFcblxyYgogICAgYVxuXHJceDg1YgogICAgYVxyXG5cclxuYiAKICAgIGFcclxuXHJcblxyXG5iIAogICAgYVxuXHJcblxyYgogICAgYVxuXG5cclxuYiAKICAgICoqIEZhaWxlcnMKICAgIGFcblxuXG5ccmIKICAgIGFccgoKL15hW1xSXWIvPGJzcl91bmljb2RlPgogICAgYVJiCiAgICAqKiBGYWlsZXJzCiAgICBhXG5iICAKCi8uK2Zvby8KICAgIGFmb28KICAgICoqIEZhaWxlcnMgCiAgICBcclxuZm9vIAogICAgXG5mb28gCgovLitmb28vPGNybGY+CiAgICBhZm9vCiAgICBcbmZvbyAKICAgICoqIEZhaWxlcnMgCiAgICBcclxuZm9vIAoKLy4rZm9vLzxhbnk+CiAgICBhZm9vCiAgICAqKiBGYWlsZXJzIAogICAgXG5mb28gCiAgICBcclxuZm9vIAoKLy4rZm9vL3MKICAgIGFmb28KICAgIFxyXG5mb28gCiAgICBcbmZvbyAKCi9eJC9tZzxhbnk+CiAgICBhYmNcclxyeHl6CiAgICBhYmNcblxyeHl6ICAKICAgICoqIEZhaWxlcnMgCiAgICBhYmNcclxueHl6CgovXlgvbQogICAgWEFCQwogICAgKiogRmFpbGVycyAKICAgIFhBQkNcQgoKLyg/bSleJC88YW55PmcrCiAgICBhYmNcclxuXHJcbgoKLyg/bSleJHxeXHJcbi88YW55PmcrIAogICAgYWJjXHJcblxyXG4KICAgIAovKD9tKSQvPGFueT5nKyAKICAgIGFiY1xyXG5cclxuCgovKD98KGFiYyl8KHh5eikpLwogICA+YWJjPAogICA+eHl6PCAKCi8oeCkoP3woYWJjKXwoeHl6KSkoeCkvCiAgICB4YWJjeAogICAgeHh5enggCgovKHgpKD98KGFiYykocHFyKXwoeHl6KSkoeCkvCiAgICB4YWJjcHFyeAogICAgeHh5enggCgovKD98KGFiYyl8KHh5eikpKD8xKS8KICAgIGFiY2FiYwogICAgeHl6YWJjIAogICAgKiogRmFpbGVycyAKICAgIHh5enh5eiAKIAovXEhcaFxWXHYvCiAgICBYIFhceDBhCiAgICBYXHgwOVhceDBiCiAgICAqKiBGYWlsZXJzCiAgICBceGEwIFhceDBhICAgCiAgICAKL1xIKlxoK1xWP1x2ezMsNH0vIAogICAgXHgwOVx4MjBceGEwWFx4MGFceDBiXHgwY1x4MGRceDBhCiAgICBceDA5XHgyMFx4YTBceDBhXHgwYlx4MGNceDBkXHgwYQogICAgXHgwOVx4MjBceGEwXHgwYVx4MGJceDBjCiAgICAqKiBGYWlsZXJzIAogICAgXHgwOVx4MjBceGEwXHgwYVx4MGIKICAgICAKL1xIezMsNH0vCiAgICBYWSAgQUJDREUKICAgIFhZICBQUVIgU1QgCiAgICAKLy5caHszLDR9Li8KICAgIFhZICBBQiAgICBQUVJTCgovXGgqWFxoP1xIK1lcSD9aLwogICAgPlhOTk5ZWgogICAgPiAgWCBOWVFaCiAgICAqKiBGYWlsZXJzCiAgICA+WFlaICAgCiAgICA+ICBYIE5ZIFoKCi9cdipYXHY/WVx2K1pcVipceDBhXFYrXHgwYlxWezIsM31ceDBjLwogICAgPlhZXHgwYVpceDBhQVx4MGJOTlx4MGMKICAgID5ceDBhXHgwZFhceDBhWVx4MGFceDBiWlpaXHgwYUFBQVx4MGJOTk5ceDBjCgovLitBLzxjcmxmPgogICAgXHJcbkEKICAgIAovXG5BLzxjcmxmPgogICAgXHJcbkEgCgovW1xyXG5dQS88Y3JsZj4KICAgIFxyXG5BIAoKLyhccnxcbilBLzxjcmxmPgogICAgXHJcbkEgCgovYVxSYi9JPGJzcl9hbnljcmxmPgogICAgYVxyYgogICAgYVxuYgogICAgYVxyXG5iCiAgICAqKiBGYWlsZXJzCiAgICBhXHg4NWIKICAgIGFceDBiYiAgICAgCgovYVxSYi9JPGJzcl91bmljb2RlPgogICAgYVxyYgogICAgYVxuYgogICAgYVxyXG5iCiAgICBhXHg4NWIKICAgIGFceDBiYiAgICAgCiAgICAqKiBGYWlsZXJzIAogICAgYVx4ODViXDxic3JfYW55Y3JsZj4KICAgIGFceDBiYlw8YnNyX2FueWNybGY+CiAgICAKL2FcUj9iL0k8YnNyX2FueWNybGY+CiAgICBhXHJiCiAgICBhXG5iCiAgICBhXHJcbmIKICAgICoqIEZhaWxlcnMKICAgIGFceDg1YgogICAgYVx4MGJiICAgICAKCi9hXFI/Yi9JPGJzcl91bmljb2RlPgogICAgYVxyYgogICAgYVxuYgogICAgYVxyXG5iCiAgICBhXHg4NWIKICAgIGFceDBiYiAgICAgCiAgICAqKiBGYWlsZXJzIAogICAgYVx4ODViXDxic3JfYW55Y3JsZj4KICAgIGFceDBiYlw8YnNyX2FueWNybGY+CiAgICAKL2FcUnsyLDR9Yi9JPGJzcl9hbnljcmxmPgogICAgYVxyXG5cbmIKICAgIGFcblxyXHJiCiAgICBhXHJcblxyXG5cclxuXHJcbmIKICAgICoqIEZhaWxlcnMKICAgIGFceDg1XDg1YgogICAgYVx4MGJcMGJiICAgICAKCi9hXFJ7Miw0fWIvSTxic3JfdW5pY29kZT4KICAgIGFcclxyYgogICAgYVxuXG5cbmIKICAgIGFcclxuXG5cclxyYgogICAgYVx4ODVcODViCiAgICBhXHgwYlwwYmIgICAgIAogICAgKiogRmFpbGVycyAKICAgIGFcclxyXHJcclxyYiAKICAgIGFceDg1XDg1Ylw8YnNyX2FueWNybGY+CiAgICBhXHgwYlwwYmJcPGJzcl9hbnljcmxmPgogICAgCi9hKD8hKXxcd2JjLwogICAgYWJjIAoKL2FbXWIvPEpTPgogICAgKiogRmFpbGVycwogICAgYWIKCi9hW10rYi88SlM+CiAgICAqKiBGYWlsZXJzCiAgICBhYiAKCi9hW10qK2IvPEpTPgogICAgKiogRmFpbGVycwogICAgYWIgCgovYVteXWIvPEpTPgogICAgYVhiCiAgICBhXG5iIAogICAgKiogRmFpbGVycwogICAgYWIgIAogICAgCi9hW15dK2IvPEpTPiAKICAgIGFYYgogICAgYVxuWFxuWGIgCiAgICAqKiBGYWlsZXJzCiAgICBhYiAgCgovWCQvRQogICAgWAogICAgKiogRmFpbGVycyAKICAgIFhcbiAKCi9YJC8KICAgIFgKICAgIFhcbiAKCi94eXovQwogIHh5eiAKICBhYmN4eXogCiAgYWJjeHl6XFkKICAqKiBGYWlsZXJzIAogIGFiYwogIGFiY1xZCiAgYWJjeHlwcXIgIAogIGFiY3h5cHFyXFkgIAoKLygqTk9fU1RBUlRfT1BUKXh5ei9DCiAgYWJjeHl6IAogIAovKD9DKWFiLwogIGFiCiAgXEMtYWIKICAKL2FiL0MKICBhYgogIFxDLWFiICAgIAoKL14iKCg/KD89W2FdKVteIl0pfGIpKiIkL0MKICAgICJhYiIKICAgIFxDLSJhYiIKCi9cZCtYfDkrWS8KICAgICsrKysxMjM5OTlcUAogICAgKysrKzEyMzk5OVlcUAoKL1ooKkYpLwogICAgWlxQCiAgICBaQVxQIAogICAgCi9aKD8hKS8KICAgIFpcUCAKICAgIFpBXFAgCgovZG9nKHNib2R5KT8vCiAgICBkb2dzXFAKICAgIGRvZ3NcUFxQIAogICAgCi9kb2coc2JvZHkpPz8vCiAgICBkb2dzXFAKICAgIGRvZ3NcUFxQIAoKL2RvZ3xkb2dzYm9keS8KICAgIGRvZ3NcUAogICAgZG9nc1xQXFAgCiAKL2RvZ3Nib2R5fGRvZy8KICAgIGRvZ3NcUAogICAgZG9nc1xQXFAgCgovWigqRilRfFpYWS8KICAgIFpcUAogICAgWkFcUCAKICAgIFhcUCAKCi9cYnRoZSBjYXRcYi8KICAgIHRoZSBjYXRcUAogICAgdGhlIGNhdFxQXFAKCi9kb2coc2JvZHkpPy8KICAgIGRvZ3NcRFxQCiAgICBib2R5XERcUgoKL2RvZyhzYm9keSk/LwogICAgZG9nc1xEXFBcUAogICAgYm9keVxEXFIKCi9hYmMvCiAgIGFiY1xQCiAgIGFiY1xQXFAKCi9hYmNcSzEyMy8KICAgIHh5emFiYzEyM3BxcgogICAgCi8oPzw9YWJjKTEyMy8KICAgIHh5emFiYzEyM3BxciAKICAgIHh5emFiYzEyXFAKICAgIHh5emFiYzEyXFBcUAoKL1xiYWJjXGIvCiAgICArKythYmMrKysKICAgICsrK2FiXFAKICAgICsrK2FiXFBcUCAgCgovKD89QykvZysKICAgIEFCQ0RFQ0JBCgovKGFiY3xkZWZ8eHl6KS9JCiAgICB0ZXJoams7YWJjZGFhZHNmZQogICAgdGhlIHF1aWNrIHh5eiBicm93biBmb3ggCiAgICBcWXRlcmhqazthYmNkYWFkc2ZlCiAgICBcWXRoZSBxdWljayB4eXogYnJvd24gZm94IAogICAgKiogRmFpbGVycwogICAgdGhlams7YWRsZmogYWVuamw7ZmRhIGFzZGZhc2QgZWhqO2tqeHlhc2l1cGQKICAgIFxZdGhlams7YWRsZmogYWVuamw7ZmRhIGFzZGZhc2QgZWhqO2tqeHlhc2l1cGQKCi8oYWJjfGRlZnx4eXopL1NJCiAgICB0ZXJoams7YWJjZGFhZHNmZQogICAgdGhlIHF1aWNrIHh5eiBicm93biBmb3ggCiAgICBcWXRlcmhqazthYmNkYWFkc2ZlCiAgICBcWXRoZSBxdWljayB4eXogYnJvd24gZm94IAogICAgKiogRmFpbGVycwogICAgdGhlams7YWRsZmogYWVuamw7ZmRhIGFzZGZhc2QgZWhqO2tqeHlhc2l1cGQKICAgIFxZdGhlams7YWRsZmogYWVuamw7ZmRhIGFzZGZhc2QgZWhqO2tqeHlhc2l1cGQKCi9hYmNkKi8rCiAgICB4eHh4YWJjZFxQCiAgICB4eHh4YWJjZFxQXFAKICAgIGRkZHh4eFxSIAogICAgeHh4eGFiY2RcUFxQCiAgICB4eHhcUiAKCi9hYmNkKi9pCiAgICB4eHh4YWJjZFxQCiAgICB4eHh4YWJjZFxQXFAKICAgIFhYWFhBQkNEXFAKICAgIFhYWFhBQkNEXFBcUAoKL2FiY1xkKi8KICAgIHh4eHhhYmMxXFAKICAgIHh4eHhhYmMxXFBcUAoKL2FiY1tkZV0qLwogICAgeHh4eGFiY2RlXFAKICAgIHh4eHhhYmNkZVxQXFAKCi8oPzooPzEpfEIpKEEoKkYpfEMpLwogICAgQUJDRAogICAgQ0NECiAgICAqKiBGYWlsZXJzCiAgICBDQUQgICAKCi9eKD86KD8xKXxCKShBKCpGKXxDKS8KICAgIENDRAogICAgQkNEIAogICAgKiogRmFpbGVycwogICAgQUJDRAogICAgQ0FECiAgICBCQUQgICAgCgovXig/IWEoKlNLSVApYikvCiAgICBhYwogICAgCi9eKD89YSgqU0tJUClifGFjKS8KICAgICoqIEZhaWxlcnMKICAgIGFjCiAgICAKL14oPz1hKCpUSEVOKWJ8YWMpLwogICAgYWMKICAgIAovXig/PWEoKlBSVU5FKWIpLwogICAgYWIgIAogICAgKiogRmFpbGVycyAKICAgIGFjCgovXig/KD8hYSgqU0tJUCliKSkvCiAgICBhYwoKLyg/PD1hYmMpZGVmLwogICAgYWJjXFBcUAoKL2FiYyQvCiAgICBhYmMKICAgIGFiY1xQCiAgICBhYmNcUFxQCgovYWJjJC9tCiAgICBhYmMKICAgIGFiY1xuCiAgICBhYmNcUFxQCiAgICBhYmNcblxQXFAgCiAgICBhYmNcUAogICAgYWJjXG5cUAoKL2FiY1x6LwogICAgYWJjCiAgICBhYmNcUAogICAgYWJjXFBcUAoKL2FiY1xaLwogICAgYWJjCiAgICBhYmNcUAogICAgYWJjXFBcUAoKL2FiY1xiLwogICAgYWJjCiAgICBhYmNcUAogICAgYWJjXFBcUAoKL2FiY1xCLwogICAgYWJjCiAgICBhYmNcUAogICAgYWJjXFBcUAoKLy4rLwogICAgYWJjXD4wCiAgICBhYmNcPjEKICAgIGFiY1w+MgogICAgYWJjXD4zCiAgICBhYmNcPjQKICAgIGFiY1w+LTQgCgovXig/OmEpKytcdy8KICAgICBhYWFhYgogICAgICoqIEZhaWxlcnMgCiAgICAgYWFhYSAKICAgICBiYmIgCgovXig/OmFhfCg/OmEpKytcdykvCiAgICAgYWFhYWIKICAgICBhYWFhIAogICAgICoqIEZhaWxlcnMgCiAgICAgYmJiIAoKL14oPzphKSorXHcvCiAgICAgYWFhYWIKICAgICBiYmIgCiAgICAgKiogRmFpbGVycyAKICAgICBhYWFhIAoKL14oYSkrK1x3LwogICAgIGFhYWFiCiAgICAgKiogRmFpbGVycyAKICAgICBhYWFhIAogICAgIGJiYiAKCi9eKGF8KSsrXHcvCiAgICAgYWFhYWIKICAgICAqKiBGYWlsZXJzIAogICAgIGFhYWEgCiAgICAgYmJiIAoKLyg/PWFiYyl7M31hYmMvKwogICAgYWJjYWJjYWJjCiAgICAqKiBGYWlsZXJzCiAgICB4eXogIAogICAgCi8oPz1hYmMpK2FiYy8rCiAgICBhYmNhYmNhYmMKICAgICoqIEZhaWxlcnMKICAgIHh5eiAgCiAgICAKLyg/PWFiYykrK2FiYy8rCiAgICBhYmNhYmNhYmMKICAgICoqIEZhaWxlcnMKICAgIHh5eiAgCiAgICAKLyg/PWFiYyl7MH14eXovCiAgICB4eXogCgovKD89YWJjKXsxfXh5ei8KICAgICoqIEZhaWxlcnMKICAgIHh5eiAKICAgIAovKD89KGEpKT8uLwogICAgYWIKICAgIGJjCiAgICAgIAovKD89KGEpKT8/Li8KICAgIGFiCiAgICBiYwoKL14oPz0oYSkpezB9Yig/MSkvCiAgICBiYWNrZ2FtbW9uCgovXig/PSg/MSkpP1thel0oW2FiY10pZC8KICAgIGFiZCAKICAgIHpjZHh4IAoKL14oPyFhKXswfVx3Ky8KICAgIGFhYWFhCgovKD88PShhYmMpKT94eXovCiAgICBhYmN4eXoKICAgIHBxcnh5eiAKCi8oKD8yKSkoKD8xKSkvCiAgICBhYmMKCi8oPyhSKWErfCg/UiliKS8KICAgIGFhYWFiY2RlCgovKD8oUilhK3woKD9SKSliKS8KICAgIGFhYWFiY2RlCgovKCg/KFIpYSt8KD8xKWIpKS8KICAgIGFhYWFiY2RlCgovKCg/KFIyKWErfCg/MSliKSkvCiAgICBhYWFhYmNkZQoKLyg/KFIpYSooPzEpfCgoP1IpKWIpLwogICAgYWFhYWJjZGUKCi8oYSspLwogICAgXE82YWFhYQogICAgXE84YWFhYQoKL2FiXENkZS8KICAgIGFiWGRlCiAgICAKLyg/PD1hYlxDZGUpWC8KICAgIGFiWmRlWAoKLy0tIEVuZCBvZiB0ZXN0aW5wdXQ3IC0tLwo=