# The game of strife.
Game of Strife is a tiny soap opera with rules, and a sideways riff on [Conway's Game of Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life). Conway's version gets surprising complexity out of very simple local rules: a cell lives, dies, or appears based on what's happening in the squares around it. This does the same basic trick, but swaps biology for social discomfort. Instead of birth and death, the state changes are crushes, rejection, defense, heartbreak, recovery, and the occasional ill-advised sprint across town.
The result is a little system that keeps producing recognizable messes. Someone gets bored. Someone gets brave. Someone gets their heart broken in public. Someone charges across the board to defend what they thought was settled. Then, a few ticks later, everyone dusts themselves off and starts acting normal again, or at least normal enough for this particular town. It's not trying to model love. It's more like a wind-up toy for jealousy, loyalty, bad timing, and recovery.
The Strife button gives the system a poke. It picks someone eligible, points them at someone they probably should not be thinking about, and lets the local rules take over from there. Sometimes nothing much happens. Sometimes it becomes a small civic incident.
🥰 With their SO • 💋 Seeking someone else • 😡 Defending their relationship • 😭 Lost to another • ☠️ Wandering eyes failed
<div id="game-of-strife-root" data-game-of-strife-payload-selector=".game-of-strife-payload"></div>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="0" data-payload="PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8dGl0bGU+R2FtZSBvZiBTdHJpZmU8L3RpdGxlPgogICAgPHN0eWxlPgo6cm9vdCB7CiAgY29sb3Itc2NoZW1lOiBsaWdodDsKICAtLWJnOiAjZjRmN2Y2OwogIC0taW5rOiAjMWYyNTI4OwogIC0tbXV0ZWQ6ICM2NDcwNmU7CiAgLS1saW5lOiAjYjljNmMzOwogIC0tY2VsbDogI2ZmZmZmZjsKICAtLWFjY2VudDogI2NmNGQzODsKICAtLWFjY2VudC0yOiAjMmQ3Zjc0OwogIC0tYWNjZW50LTM6ICM0YTZmYjM7CiAgLS1yb21hbmNlOiAjZmY3N2FkOwogIC0tcGFuZWw6ICNmZmZmZmY7CiAgLS1zaGFkb3c6IDAgMjBweCA1NXB4IHJnYmEoMzEsIDM3LCA0MCwgMC4xNCk7Cn0KCiogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KCmJvZHkgewogIG1hcmdpbjogMDsKICBtaW4taGVpZ2h0OiAxMDB2aDsKICBiYWNrZ3JvdW5kOgogICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg0NSwgMTI3LCAxMTYsIDAuMTYpLCB0cmFuc3BhcmVudCAzNiUpLAogICAgbGluZWFyLWdyYWRpZW50KDMxNWRlZywgcmdiYSg3NCwgMTExLCAxNzksIDAuMTIpLCB0cmFuc3BhcmVudCA0MiUpLAogICAgdmFyKC0tYmcpOwogIGNvbG9yOiB2YXIoLS1pbmspOwogIGZvbnQtZmFtaWx5OiBJbnRlciwgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIHNhbnMtc2VyaWY7Cn0KCi5hcHAtc2hlbGwgewogIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgbWFyZ2luOiAwIGF1dG87CiAgcGFkZGluZzogMjhweCAwOwp9CgoudG9wYmFyIHsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogIGFsaWduLWl0ZW1zOiBzdGFydDsKICBnYXA6IDhweDsKICBtYXJnaW4tYm90dG9tOiAxOHB4OwogIGp1c3RpZnktaXRlbXM6IGNlbnRlcjsKfQoKLnRpdGxlLWJsb2NrIHsKICBtaW4td2lkdGg6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouaGVhZGVyLXNpZGUgewogIGRpc3BsYXk6IGdyaWQ7CiAgbWluLXdpZHRoOiAwOwogIGp1c3RpZnktaXRlbXM6IGNlbnRlcjsKfQoKLmhlYWRlci1jb250cm9scyB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDhweDsKfQoKLmNvbnRyb2wtcGlsbCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiAycHg7CiAgcGFkZGluZzogNHB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAwLCAxMTIsIDExMCwgMC4yMik7CiAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwogIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgzMSwgMzcsIDQwLCAwLjA2KTsKfQoKLmhlYWRlci1jb250cm9scyBsYWJlbCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDZweDsKICBwYWRkaW5nOiA0cHggOHB4OwogIGNvbG9yOiB2YXIoLS1tdXRlZCk7CiAgZm9udC1zaXplOiAwLjc4cmVtOwp9CgouaGVhZGVyLWNvbnRyb2xzIGJ1dHRvbiwKLmhlYWRlci1jb250cm9scyBzZWxlY3QgewogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAwLCAxMTIsIDExMCwgMC4yMik7CiAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwogIGNvbG9yOiB2YXIoLS1pbmspOwogIGZvbnQ6IGluaGVyaXQ7CiAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDMxLCAzNywgNDAsIDAuMDYpOwp9CgouY29udHJvbC1waWxsIGJ1dHRvbiwKLmNvbnRyb2wtcGlsbCBzZWxlY3QgewogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi5oZWFkZXItY29udHJvbHMgYnV0dG9uIHsKICBwYWRkaW5nOiA0cHggMTJweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7Cn0KCi5oZWFkZXItY29udHJvbHMgc2VsZWN0IHsKICBwYWRkaW5nOiA0cHggMjhweCA0cHggMTBweDsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtaW1hZ2U6CiAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDUwJSwgdmFyKC0tbXV0ZWQpIDUwJSksCiAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1tdXRlZCkgNTAlLCB0cmFuc3BhcmVudCA1MCUpOwogIGJhY2tncm91bmQtcG9zaXRpb246CiAgICBjYWxjKDEwMCUgLSAxNnB4KSBjYWxjKDUwJSAtIDJweCksCiAgICBjYWxjKDEwMCUgLSAxMXB4KSBjYWxjKDUwJSAtIDJweCk7CiAgYmFja2dyb3VuZC1zaXplOiA1cHggNXB4LCA1cHggNXB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5oZWFkZXItY29udHJvbHMgYnV0dG9uOmhvdmVyLAouaGVhZGVyLWNvbnRyb2xzIGJ1dHRvbjpmb2N1cy12aXNpYmxlLAouaGVh"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="1" data-payload="ZGVyLWNvbnRyb2xzIHNlbGVjdDpmb2N1cy12aXNpYmxlIHsKICBib3JkZXItY29sb3I6IHJnYmEoNzQsIDExMSwgMTc5LCAwLjQ1KTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTYpOwp9CgouaGVhZGVyLWNvbnRyb2xzIGJ1dHRvbjpob3ZlciwKLmhlYWRlci1jb250cm9scyBidXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwp9CgoucGFuZWwta2lja2VyIHsKICBtYXJnaW46IDAgMCA2cHg7CiAgY29sb3I6IHZhcigtLWFjY2VudCk7CiAgZm9udC1zaXplOiAwLjc2cmVtOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbGV0dGVyLXNwYWNpbmc6IDA7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmVtb2ppLWtleSB7CiAgbWFyZ2luOiAwOwogIGNvbG9yOiB2YXIoLS1tdXRlZCk7CiAgZm9udC1zaXplOiAwLjhyZW07CiAgbGluZS1oZWlnaHQ6IDEuMzU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouZ2FtZS1kZXNjcmlwdGlvbiB7CiAgbWF4LXdpZHRoOiA4MjBweDsKICBtYXJnaW46IDE4cHggYXV0byAwOwogIGNvbG9yOiB2YXIoLS1pbmspOwogIGZvbnQtc2l6ZTogMC45cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjQ4Owp9CgouZ2FtZS1kZXNjcmlwdGlvbiBwIHsKICBtYXJnaW46IDA7Cn0KCi5nYW1lLWRlc2NyaXB0aW9uIHAgKyBwIHsKICBtYXJnaW4tdG9wOiAxMHB4Owp9CgouZ2FtZS1kZXNjcmlwdGlvbiBhIHsKICBjb2xvcjogdmFyKC0tYWNjZW50LTMpOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4OwogIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4Owp9CgouZm9vdGVyLWtleSB7CiAgbWFyZ2luLXRvcDogMTRweDsKfQoKaDEsCmgyIHsKICBtYXJnaW46IDA7CiAgbGV0dGVyLXNwYWNpbmc6IDA7Cn0KCmgxIHsKICBmb250LXNpemU6IDEuOXJlbTsKICBsaW5lLWhlaWdodDogMTsKfQoKaDIgewogIGZvbnQtc2l6ZTogMS4zNXJlbTsKfQoKLmdhbWUtbGF5b3V0IHsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogIGdhcDogMThweDsKICBhbGlnbi1pdGVtczogc3RyZXRjaDsKfQoKLmJvYXJkLXdyYXAgewogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7CiAgbWluLXdpZHRoOiAwOwp9CgouYm9hcmQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDE1LCBtaW5tYXgoMjRweCwgMWZyKSk7CiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAsIG1pbm1heCgyNHB4LCAxZnIpKTsKICB3aWR0aDogMTAwJTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgYXNwZWN0LXJhdGlvOiAxNSAvIDEwOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOwp9CgoubW92ZW1lbnQtbGluZS1vdmVybGF5LAoudHJ5c3QtbGluZS1vdmVybGF5IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgaW5zZXQ6IDA7CiAgei1pbmRleDogMTsKICBvdmVyZmxvdzogdmlzaWJsZTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLm1vdmVtZW50LWxpbmUgewogIHN0cm9rZTogcmdiYSgzMSwgMzcsIDQwLCAwLjQyKTsKICBzdHJva2Utd2lkdGg6IDIuNTsKICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgc3Ryb2tlLWRhc2hhcnJheTogNiA2OwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkpOwp9CgoubW92ZW1lbnQtbGluZS5pcy1oaWRkZW4gewogIG9wYWNpdHk6IDA7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwp9CgoudHJ5c3QtbGluZSB7CiAgc3Ryb2tlOiByZ2JhKDIxNSwgMjUsIDMyLCAwLjQyKTsKICBzdHJva2Utd2lkdGg6IDI7CiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkpOwp9CgouY2VsbCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGdyaWQ7CiAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKICBtaW4td2lkdGg6IDA7CiAgbWluLWhlaWdodDogMDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGluZSk7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOwogIHBhZGRpbmc6IDA7CiAgYmFja2dyb3VuZDogdmFyKC0tY2VsbCk7CiAgY29sb3I6IGluaGVyaXQ7CiAgZm9udDogaW5oZXJpdDsKfQoKLmNlbGwub2NjdXBpZWQgewogIGN1cnNvcjogaGVscDsKfQoKLmNlbGwucm9tYW50aWMtaGlnaGxpZ2h0IHsKfQoKLmNlbGwubmVhci1zdHJhbmdlciB7Cn0KCi5jZWxsLm5lYXItc3BvdXNlIHsKfQoKLmNlbGwub2NjdXBpZWQ6Zm9jdXMtdmlzaWJsZSB7CiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudC0zKTsKICBvdXRsaW5lLW9mZnNldDogLTNweDsKfQoKLnBlcnNvbi10b2tlbiB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGluc2V0OiAwOwogIHotaW5kZXg6IDI7CiAgZGlzcGxheTogZ3JpZDsKICBwbGFjZS1pdGVtczogY2VudGVyOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMjBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLjgsIDAuMiwgMSk7"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="2" data-payload="CiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKfQoKLnBlcnNvbi10b2tlbi5zbGlkaW5nIHsKICB6LWluZGV4OiA1OwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoucGVyc29uLXRva2VuLnByZXBhcmluZy1tb3ZlIC5hdmF0YXIgewogIGFuaW1hdGlvbjogbW92ZS1mbGFzaCA1MDBtcyBlYXNlLWluLW91dCAxOwp9CgouYXZhdGFyLWJhY2tkcm9wIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogMDsKICB3aWR0aDogY2xhbXAoMjRweCwgNzYlLCA0NXB4KTsKICBhc3BlY3QtcmF0aW86IDE7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7CiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMzEsIDM3LCA0MCwgMC4xMik7CiAgb3BhY2l0eTogMDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnBlcnNvbi10b2tlbi5oYXMtZmFjZS1iYWNrZHJvcCAuYXZhdGFyLWJhY2tkcm9wIHsKICBvcGFjaXR5OiAxOwp9CgouYXZhdGFyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMTsKICBkaXNwbGF5OiBncmlkOwogIHBsYWNlLWl0ZW1zOiBjZW50ZXI7CiAgd2lkdGg6IGNsYW1wKDIycHgsIDcyJSwgNDJweCk7CiAgYXNwZWN0LXJhdGlvOiAxOwogIGJvcmRlcjogMDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogdmFyKC0tcGVyc29uLWZpbGwsIHZhcigtLXBlcnNvbi1jb2xvcikpOwogIGNvbG9yOiAjZmZmOwogIGZvbnQtZmFtaWx5OiAiQXJpYWwgTmFycm93IiwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiBjbGFtcCgwLjQ4cmVtLCAxLjE1dncsIDAuNzJyZW0pOwogIGZvbnQtc3RyZXRjaDogY29uZGVuc2VkOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgbGluZS1oZWlnaHQ6IDE7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDMxLCAzNywgNDAsIDAuMzIpOwogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIC0xMXB4IDE4cHggcmdiYSgzMSwgMzcsIDQwLCAwLjE2KSwKICAgIDAgMnB4IDRweCByZ2JhKDMxLCAzNywgNDAsIDAuMTgpLAogICAgMCA4cHggMTZweCByZ2JhKDMxLCAzNywgNDAsIDAuMjQpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDE2MG1zIGVhc2U7CiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKfQoKLnNwb3VzZS1wb2ludGVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogdmFyKC0tc3BvdXNlLXBvaW50ZXIteCwgNTAlKTsKICB0b3A6IHZhcigtLXNwb3VzZS1wb2ludGVyLXksIDAlKTsKICB6LWluZGV4OiAyOwogIHdpZHRoOiAwOwogIGhlaWdodDogMDsKICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1ib3R0b206IDlweCBzb2xpZCAjZDcxOTIwOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMzEsIDM3LCA0MCwgMC4zKSk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKHZhcigtLXNwb3VzZS1hbmdsZSwgMGRlZykpOwogIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgb3BhY2l0eTogMDsKfQoKLnBlcnNvbi10b2tlbi5zZWVraW5nLXNwb3VzZSAuc3BvdXNlLXBvaW50ZXIgewogIG9wYWNpdHk6IDE7Cn0KCi5zdGF0dXMtZW1vamkgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiB2YXIoLS1zdGF0dXMtZW1vamkteCwgNjglKTsKICB0b3A6IHZhcigtLXN0YXR1cy1lbW9qaS15LCAyNCUpOwogIHotaW5kZXg6IDM7CiAgZm9udC1zaXplOiBjbGFtcCgwLjg3cmVtLCAyLjF2dywgMS4zNXJlbSk7CiAgbGluZS1oZWlnaHQ6IDE7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7Cn0KCi5zcGVlY2gtYnViYmxlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogNTAlOwogIGJvdHRvbTogY2FsYygxMDAlIC0gMnB4KTsKICB6LWluZGV4OiA2OwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiBtYXgtY29udGVudDsKICBtYXgtd2lkdGg6IG1pbihjbGFtcCgxODRweCwgMzJ2dywgMzUycHgpLCBjYWxjKDEwMHZ3IC0gMjRweCkpOwogIHBhZGRpbmc6IDVweCA3cHg7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzMSwgMzcsIDQwLCAwLjIpOwogIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTsKICBjb2xvcjogdmFyKC0taW5rKTsKICBmb250LXNpemU6IGNsYW1wKDAuNDhyZW0sIDAuOHZ3LCAwLjY4cmVtKTsKICBmb250LXdlaWdodDogNjAwOwogIGxpbmUtaGVpZ2h0OiAxLjI7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgzMSwgMzcsIDQwLCAwLjE0KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnNwZWVjaC1idWJibGVbaGlkZGVuXSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLnNwZWVjaC1idWJibGU6OmFmdGVyIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogNTAl"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="3" data-payload="OwogIHRvcDogY2FsYygxMDAlIC0gMXB4KTsKICB3aWR0aDogMTBweDsKICBoZWlnaHQ6IDEwcHg7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzMSwgMzcsIDQwLCAwLjIpOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDMxLCAzNywgNDAsIDAuMik7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTsKfQoKLmNlbGwub2NjdXBpZWQ6aG92ZXIgLmF2YXRhciwKLmNlbGwub2NjdXBpZWQ6Zm9jdXMtdmlzaWJsZSAuYXZhdGFyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgc2NhbGUoMS4wOCk7Cn0KCkBrZXlmcmFtZXMgbW92ZS1mbGFzaCB7CiAgMCUsCiAgMTAwJSB7CiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIH0KCiAgNTAlIHsKICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjQ1KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xOCk7CiAgfQp9CgouZGV0YWlsLXBhbmVsIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAxNnB4OwogIGxlZnQ6IDE2cHg7CiAgei1pbmRleDogMTA7CiAgd2lkdGg6IG1pbigxOTBweCwgY2FsYygxMDB2dyAtIDI0cHgpKTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwMCwgMTEyLCAxMTAsIDAuMTgpOwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40OCk7CiAgcGFkZGluZzogN3B4IDlweDsKICBvcGFjaXR5OiAwOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMzEsIDM3LCA0MCwgMC4xMik7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgc2NhbGUoMC45OCk7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTIwbXMgZWFzZTsKICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7Cn0KCi5kZXRhaWwtcGFuZWwudmlzaWJsZSB7CiAgb3BhY2l0eTogMTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7Cn0KCi5kZXRhaWwtcGFuZWwgLnBhbmVsLWtpY2tlciB7CiAgbWFyZ2luOiA2cHggMCAwIDA7CiAgY29sb3I6IHZhcigtLW11dGVkKTsKICBmb250LXNpemU6IDAuNjZyZW07CiAgZm9udC13ZWlnaHQ6IDYwMDsKICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKfQoKLmRldGFpbC1wYW5lbCBoMiB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGdhcDogOHB4OwogIGZvbnQtc2l6ZTogMC44NnJlbTsKICBsaW5lLWhlaWdodDogMS4xOwp9CgouZGV0YWlsLWVtb2ppIHsKICBmb250LXNpemU6IDEuNzJyZW07CiAgbGluZS1oZWlnaHQ6IDE7Cn0KCi5kZXRhaWwtbGlzdCB7CiAgZGlzcGxheTogZ3JpZDsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICBtYXJnaW46IDVweCAwIDA7Cn0KCi5kZXRhaWwtbGlzdCBkaXYgewogIHBhZGRpbmc6IDNweCAwOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEwMCwgMTEyLCAxMTAsIDAuMTIpOwp9CgouZGV0YWlsLWxpc3QgZGQgewogIG1hcmdpbjogMDsKICBmb250LXNpemU6IDAuNzJyZW07CiAgbGluZS1oZWlnaHQ6IDEuMjI7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkgewogIC50b3BiYXIgewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgfQoKICAuaGVhZGVyLWNvbnRyb2xzIHsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICB9CgogIC5nYW1lLWxheW91dCB7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkgewogIC5hcHAtc2hlbGwgewogICAgd2lkdGg6IG1pbigxMDB2dyAtIDE4cHgsIDExODBweCk7CiAgICBwYWRkaW5nOiAxNHB4IDA7CiAgfQoKICBoMSB7CiAgICBmb250LXNpemU6IDEuOHJlbTsKICB9CgogIC5ib2FyZC13cmFwIHsKICAgIHBhZGRpbmc6IDdweDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWluLXdpZHRoOiAwOwogIH0KCiAgLmJvYXJkIHsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDE1LCBtaW5tYXgoMTZweCwgMWZyKSk7CiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMCwgbWlubWF4KDE2cHgsIDFmcikpOwogIH0KCiAgLmF2YXRhciB7CiAgICB3aWR0aDogODglOwogICAgZm9udC1zaXplOiAwLjUycmVtOwogIH0KfQoKPC9zdHlsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8bWFpbiBjbGFzcz0iYXBwLXNoZWxsIj4KICAgICAgPGhlYWRlciBjbGFzcz0idG9wYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1ibG9jayI+CiAgICAgICAgICA8aDE+QmlsbCBXZXN0ZXJtYW4ncyBHYW1lIG9mIFN0cmlmZTwvaDE+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXNpZGUiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWNvbnRyb2xzIiBhcmlhLWxhYmVsPSJTaW11bGF0aW9uIGNvbnRyb2xzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1waWxsIj4KICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJwZW9wbGUtc2VsZWN0IiBhcmlhLWxhYmVsPSJQZW9wbGUiPjwvc2VsZWN0PgogICAgICAgICAgICAgIDxzZWxlY3QgaWQ9IndpZHRoLXNlbGVjdCIgYXJpYS1sYWJlbD0iV2lkdGgiPjwvc2VsZWN0PgogICAgICAg"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="4" data-payload="ICAgICAgIDxzZWxlY3QgaWQ9ImhlaWdodC1zZWxlY3QiIGFyaWEtbGFiZWw9IkhlaWdodCI+PC9zZWxlY3Q+CiAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0icmVzZXQtYnV0dG9uIiB0eXBlPSJidXR0b24iPlJlc2V0PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uIGlkPSJzdHJpZmUtYnV0dG9uIiB0eXBlPSJidXR0b24iPlN0cmlmZTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvaGVhZGVyPgoKICAgICAgPHNlY3Rpb24gY2xhc3M9ImdhbWUtbGF5b3V0IiBhcmlhLWxhYmVsPSJHYW1lIGJvYXJkIGFuZCBzZWxlY3RlZCBwZXJzb24gZGV0YWlscyI+CiAgICAgICAgPGRpdiBjbGFzcz0iYm9hcmQtd3JhcCI+CiAgICAgICAgICA8ZGl2IGlkPSJib2FyZCIgY2xhc3M9ImJvYXJkIiByb2xlPSJncmlkIiBhcmlhLWxhYmVsPSIxNSBieSAxMCBHYW1lIG9mIFN0cmlmZSBib2FyZCI+PC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxhc2lkZSBjbGFzcz0iZGV0YWlsLXBhbmVsIiBhcmlhLWxpdmU9InBvbGl0ZSI+CiAgICAgICAgICA8aDIgaWQ9ImRldGFpbC1uYW1lIj5ObyBvbmUgc2VsZWN0ZWQ8L2gyPgogICAgICAgICAgPGRsIGlkPSJkZXRhaWwtbGlzdCIgY2xhc3M9ImRldGFpbC1saXN0Ij4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8ZGQ+TW92ZSBvdmVyIGFuIG9jY3VwaWVkIHNxdWFyZSB0byBpbnNwZWN0IGEgcGVyc29uLjwvZGQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kbD4KICAgICAgICAgIDxwIGNsYXNzPSJwYW5lbC1raWNrZXIiPkhvdmVyIGEgc3F1YXJlPC9wPgogICAgICAgIDwvYXNpZGU+CiAgICAgIDwvc2VjdGlvbj4KICAgIDwvbWFpbj4KCiAgICA8c2NyaXB0Pgpjb25zdCBib2FyZENvbHMgPSBOdW1iZXIucGFyc2VJbnQobG9jYWxTdG9yYWdlLmdldEl0ZW0oImdhbWVfb2Zfc3RyaWZlX3dpZHRoIikgPz8gIjEyIiwgMTApOwpjb25zdCBib2FyZFJvd3MgPSBOdW1iZXIucGFyc2VJbnQobG9jYWxTdG9yYWdlLmdldEl0ZW0oImdhbWVfb2Zfc3RyaWZlX2hlaWdodCIpID8/ICIxMiIsIDEwKTsKY29uc3QgZGVmYXVsdEJvYXJkQ29scyA9IDEyOwpjb25zdCBkZWZhdWx0Qm9hcmRSb3dzID0gMTI7CmNvbnN0IGRlZmF1bHRQZW9wbGVDb3VudCA9IDIwOwpjb25zdCBhY3RpdmVQZW9wbGVDb3VudCA9IE51bWJlci5wYXJzZUludChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiZ2FtZV9vZl9zdHJpZmVfcGVvcGxlIikgPz8gU3RyaW5nKGRlZmF1bHRQZW9wbGVDb3VudCksIDEwKTsKY29uc3Qgc2ltU3BlZWQgPSA0Owpjb25zdCBtb3ZlQW5pbWF0aW9uTXMgPSAzMjA7CmNvbnN0IG1vdmVGbGFzaE1zID0gNTAwOwpjb25zdCBtb3ZlU2VxdWVuY2VHYXBNcyA9IDkwOwpjb25zdCByZWNlbnRNb3ZlTWVtb3J5ID0gNjsKY29uc3QgY3Jvd2RlZE1vdmVQcmVmZXJlbmNlID0gMC41NTsKY29uc3QgbW92ZW1lbnRMaW5lSGlkZU1zID0gbW92ZUFuaW1hdGlvbk1zICsgODA7CmNvbnN0IHRyeXN0UmVzcG9uc2VUdXJucyA9IDI7CmNvbnN0IHRyeXN0QmxvY2tlclR1cm5zID0gMTsKY29uc3Qgc2hvcnRBZnRlcm1hdGhUaWNrcyA9IDI7CmNvbnN0IGxvbmdBZnRlcm1hdGhUaWNrcyA9IDQ7CmNvbnN0IG1heFVzZXJUcnlzdHNGb3JSYW5kb21UcnlzdCA9IDE7CmNvbnN0IHJlY292ZXJ5RmFkZVRpY2tzID0gNTsKY29uc3QgcmVjb3ZlcnlTdGF0ZVRpY2tzID0gcmVjb3ZlcnlGYWRlVGlja3MgKyAxOwoKY29uc3QgZmVlbGluZ3MgPSBbCiAgeyBuYW1lOiAiSm95ZnVsIiwgZW1vamk6ICLwn5iEIiwgbWluSGFwcGluZXNzOiA4MiB9LAogIHsgbmFtZTogIkNvbnRlbnQiLCBlbW9qaTogIvCfmYIiLCBtaW5IYXBwaW5lc3M6IDY2IH0sCiAgeyBuYW1lOiAiSG9wZWZ1bCIsIGVtb2ppOiAi8J+MpO+4jyIsIG1pbkhhcHBpbmVzczogNTAgfSwKICB7IG5hbWU6ICJHdWFyZGVkIiwgZW1vamk6ICLwn5iQIiwgbWluSGFwcGluZXNzOiAzNCB9LAogIHsgbmFtZTogIldvcnJpZWQiLCBlbW9qaTogIvCfmJ8iLCBtaW5IYXBwaW5lc3M6IDE4IH0sCiAgeyBuYW1lOiAiTG9uZWx5IiwgZW1vamk6ICLwn5iUIiwgbWluSGFwcGluZXNzOiAwIH0sCl07CgpmdW5jdGlvbiBwaHJhc2VHcmlkKG9wZW5lcnMsIGNsb3NlcnMpIHsKICBjb25zdCBwaHJhc2VzID0gW107CgogIGZvciAoY29uc3Qgb3BlbmVyIG9mIG9wZW5lcnMpIHsKICAgIGZvciAoY29uc3QgY2xvc2VyIG9mIGNsb3NlcnMpIHsKICAgICAgcGhyYXNlcy5wdXNoKGAke29wZW5lcn0gJHtjbG9zZXJ9YCk7CiAgICB9CiAgfQoKICByZXR1cm4gcGhyYXNlczsKfQoKZnVuY3Rpb24gcmFuZG9tUGhyYXNlKHBocmFzZXMpIHsKICByZXR1cm4gcGhyYXNlc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBwaHJhc2VzLmxlbmd0aCldOwp9CgpmdW5jdGlvbiBwaHJhc2VGb3Ioa2luZCwgdmFycyA9IHt9KSB7CiAgY29uc3QgcG9vbHMgPSB7CiAgICBiYW5pc2hlZF9leHBsYWluZXI6IHBocmFzZUdyaWQoCiAgICAgIFsiQmFuaXNoZWQiLCAiRHJpdmVuIG9mZiIsICJDYXN0IG91dCIsICJTZW50IGF3YXkiLCAiTWFyY2hlZCBvZmYiXSwKICAgICAgWyJ0byB0aGUgZnVydGhlc3QgY29ybmVyLiIsICJ0byB0aGUgZmFyIGNvcm5lci4iLCAidG8gYSBsb25lbHkgY29ybmVyLiIsICJ0byB0aGUgZWRnZSBvZiB0aGUgYm9hcmQu"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="5" data-payload="IiwgInRvIHRoZSBvdXRlciBjb3JuZXIuIl0KICAgICksCiAgICBoZWFydGJyb2tlbl9leHBsYWluZXI6IHBocmFzZUdyaWQoCiAgICAgIFtgSGVhcnRicm9rZW4gYWZ0ZXIgbG9zaW5nICR7dmFycy50YXJnZXR9LmAsIGBTaGF0dGVyZWQgYWZ0ZXIgbG9zaW5nICR7dmFycy50YXJnZXR9LmAsIGBDcnVzaGVkIGFmdGVyIGxvc2luZyAke3ZhcnMudGFyZ2V0fS5gLCBgRGV2YXN0YXRlZCBhZnRlciBsb3NpbmcgJHt2YXJzLnRhcmdldH0uYCwgYExlZnQgcmVlbGluZyBhZnRlciBsb3NpbmcgJHt2YXJzLnRhcmdldH0uYF0sCiAgICAgIFsiIiwgIiIsICIiLCAiIiwgIiJdCiAgICApLm1hcCgocGhyYXNlKSA9PiBwaHJhc2UudHJpbSgpKSwKICAgIHBhbmljX2V4cGxhaW5lcjogcGhyYXNlR3JpZCgKICAgICAgW2BQYW5pY2tpbmcgYmVjYXVzZSAke3ZhcnMuY2hhc2VyfSBpcyBjaGFzaW5nICR7dmFycy50YXJnZXR9LmAsIGBBbnhpb3VzIGJlY2F1c2UgJHt2YXJzLmNoYXNlcn0gaXMgY2hhc2luZyAke3ZhcnMudGFyZ2V0fS5gLCBgQWxhcm1lZCBiZWNhdXNlICR7dmFycy5jaGFzZXJ9IGlzIGNoYXNpbmcgJHt2YXJzLnRhcmdldH0uYCwgYFJhdHRsZWQgYmVjYXVzZSAke3ZhcnMuY2hhc2VyfSBpcyBjaGFzaW5nICR7dmFycy50YXJnZXR9LmAsIGBVcHNldCBiZWNhdXNlICR7dmFycy5jaGFzZXJ9IGlzIGNoYXNpbmcgJHt2YXJzLnRhcmdldH0uYF0sCiAgICAgIFsiIiwgIiIsICIiLCAiIiwgIiJdCiAgICApLm1hcCgocGhyYXNlKSA9PiBwaHJhc2UudHJpbSgpKSwKICAgIHRlbXB0ZWRfZXhwbGFpbmVyOiBwaHJhc2VHcmlkKAogICAgICBbYFRlbXB0ZWQgYXdheSBieSAke3ZhcnMudGFyZ2V0fS5gLCBgUHVsbGVkIHRvd2FyZCAke3ZhcnMudGFyZ2V0fS5gLCBgRGlzdHJhY3RlZCBieSAke3ZhcnMudGFyZ2V0fS5gLCBgRHJhd24gdG93YXJkICR7dmFycy50YXJnZXR9LmAsIGBUdXJuaW5nIHRvd2FyZCAke3ZhcnMudGFyZ2V0fS5gXSwKICAgICAgWyIiLCAiIiwgIiIsICIiLCAiIl0KICAgICkubWFwKChwaHJhc2UpID0+IHBocmFzZS50cmltKCkpLAogICAgaGFwcHlfZXhwbGFpbmVyOiBwaHJhc2VHcmlkKAogICAgICBbYEhhcHB5IGJlY2F1c2UgdGhleSdyZSBjbG9zZSB0byAke3ZhcnMudGFyZ2V0fS5gLCBgR2xhZCBiZWNhdXNlIHRoZXkncmUgY2xvc2UgdG8gJHt2YXJzLnRhcmdldH0uYCwgYENoZWVyZWQgYmVjYXVzZSB0aGV5J3JlIGNsb3NlIHRvICR7dmFycy50YXJnZXR9LmAsIGBCcmlnaHQgYmVjYXVzZSB0aGV5J3JlIGNsb3NlIHRvICR7dmFycy50YXJnZXR9LmAsIGBXYXJtIGJlY2F1c2UgdGhleSdyZSBjbG9zZSB0byAke3ZhcnMudGFyZ2V0fS5gXSwKICAgICAgWyIiLCAiIiwgIiIsICIiLCAiIl0KICAgICkubWFwKChwaHJhc2UpID0+IHBocmFzZS50cmltKCkpLAogICAgb2theV9leHBsYWluZXI6IHBocmFzZUdyaWQoCiAgICAgIFtgT2theSBiZWNhdXNlICR7dmFycy50YXJnZXR9IGlzIHN0aWxsIG5lYXJieS5gLCBgRmluZSBiZWNhdXNlICR7dmFycy50YXJnZXR9IGlzIHN0aWxsIG5lYXJieS5gLCBgU2V0dGxlZCBiZWNhdXNlICR7dmFycy50YXJnZXR9IGlzIHN0aWxsIG5lYXJieS5gLCBgQ2FsbSBiZWNhdXNlICR7dmFycy50YXJnZXR9IGlzIHN0aWxsIG5lYXJieS5gLCBgU3RlYWR5IGJlY2F1c2UgJHt2YXJzLnRhcmdldH0gaXMgc3RpbGwgbmVhcmJ5LmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBzYWRfZXhwbGFpbmVyOiBwaHJhc2VHcmlkKAogICAgICBbYFNhZCBiZWNhdXNlIHRoZXkncmUgZmFyIGF3YXkgZnJvbSAke3ZhcnMudGFyZ2V0fS5gLCBgTG93IGJlY2F1c2UgdGhleSdyZSBmYXIgYXdheSBmcm9tICR7dmFycy50YXJnZXR9LmAsIGBCbHVlIGJlY2F1c2UgdGhleSdyZSBmYXIgYXdheSBmcm9tICR7dmFycy50YXJnZXR9LmAsIGBMb25lbHkgYmVjYXVzZSB0aGV5J3JlIGZhciBhd2F5IGZyb20gJHt2YXJzLnRhcmdldH0uYCwgYERvd25jYXN0IGJlY2F1c2UgdGhleSdyZSBmYXIgYXdheSBmcm9tICR7dmFycy50YXJnZXR9LmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBiYW5pc2hlZF9tb3ZlOiBwaHJhc2VHcmlkKAogICAgICBbYCR7dmFycy5uYW1lfSBoYXMgYmVlbiBiYW5pc2hlZC5gLCBgJHt2YXJzLm5hbWV9IGlzIGJhbmlzaGVkIG5vdy5gLCBgJHt2YXJzLm5hbWV9IGlzIG91dGNhc3QuYCwgYCR7dmFycy5uYW1lfSBoYXMgYmVlbiBjYXN0IG91dC5gLCBgJHt2YXJzLm5hbWV9IGlzIGdvbmUgZnJvbSBmYXZvci5gXSwKICAgICAgWyIiLCAiIiwgIiIsICIiLCAiIl0KICAgICkubWFwKChwaHJhc2UpID0+IHBocmFzZS50cmltKCkpLAogICAgZXhpbGluZ19tb3ZlOiBwaHJhc2VHcmlkKAogICAgICBbYCR7dmFycy5uYW1lfSBpcyBydW5uaW5nIGF3YXkgaW4gZGlzZ3JhY2UuYCwgYCR7dmFycy5uYW1lfSBpcyBmbGVlaW5nIGluIGRpc2dyYWNlLmAsIGAke3ZhcnMubmFtZX0gaXMgc2NyYW1ibGluZyBhd2F5IGluIHNoYW1lLmAsIGAke3ZhcnMubmFtZX0gaXMgaHVycnlpbmcgdG93YXJkIGV4aWxlLmAsIGAke3ZhcnMubmFtZX0gaXMgcmFjaW5nIGZvciB0aGUgY29ybmVyLmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkg"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="6" data-payload="PT4gcGhyYXNlLnRyaW0oKSksCiAgICBjaGFzaW5nX21vdmU6IHBocmFzZUdyaWQoCiAgICAgIFtgJHt2YXJzLm5hbWV9IGlzIGNoYXNpbmcgJHt2YXJzLnRhcmdldH0uYCwgYCR7dmFycy5uYW1lfSBpcyBnb2luZyBhZnRlciAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIG1ha2luZyBmb3IgJHt2YXJzLnRhcmdldH0uYCwgYCR7dmFycy5uYW1lfSBpcyBtb3ZpbmcgdG93YXJkICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMubmFtZX0gaXMgZHJhd24gdG93YXJkICR7dmFycy50YXJnZXR9LmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBtYWRfbW92ZTogcGhyYXNlR3JpZCgKICAgICAgW2Ake3ZhcnMubmFtZX0gaXMgbWFkIHRoYXQgJHt2YXJzLmNoYXNlcn0gaXMgY2hhc2luZyAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGhhdGVzIHRoYXQgJHt2YXJzLmNoYXNlcn0gaXMgY2hhc2luZyAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIHVwc2V0IHRoYXQgJHt2YXJzLmNoYXNlcn0gaXMgY2hhc2luZyAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIGJyaXN0bGluZyBiZWNhdXNlICR7dmFycy5jaGFzZXJ9IGlzIGNoYXNpbmcgJHt2YXJzLnRhcmdldH0uYCwgYCR7dmFycy5uYW1lfSBpcyBmdW1pbmcgdGhhdCAke3ZhcnMuY2hhc2VyfSBpcyBjaGFzaW5nICR7dmFycy50YXJnZXR9LmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICByZXVuaXRlZF9tb3ZlOiBwaHJhc2VHcmlkKAogICAgICBbYCR7dmFycy5uYW1lfSBpcyBiYWNrIHdpdGggJHt2YXJzLnRhcmdldH0uYCwgYCR7dmFycy5uYW1lfSBpcyB3aXRoICR7dmFycy50YXJnZXR9IGFnYWluLmAsIGAke3ZhcnMubmFtZX0gaGFzIHJldHVybmVkIHRvICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMubmFtZX0gaXMgYmVzaWRlICR7dmFycy50YXJnZXR9IGFnYWluLmAsIGAke3ZhcnMubmFtZX0gbWFkZSBpdCBiYWNrIHRvICR7dmFycy50YXJnZXR9LmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICB0b3dhcmRfbW92ZTogcGhyYXNlR3JpZCgKICAgICAgW2Ake3ZhcnMubmFtZX0gaXMgZ29pbmcgdG93YXJkcyAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIGhlYWRpbmcgdG93YXJkICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMubmFtZX0gaXMgb24gdGhlIHdheSB0byAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIG1ha2luZyB0aGVpciB3YXkgdG8gJHt2YXJzLnRhcmdldH0uYCwgYCR7dmFycy5uYW1lfSBpcyBjbG9zaW5nIHRoZSBkaXN0YW5jZSB0byAke3ZhcnMudGFyZ2V0fS5gXSwKICAgICAgWyIiLCAiIiwgIiIsICIiLCAiIl0KICAgICkubWFwKChwaHJhc2UpID0+IHBocmFzZS50cmltKCkpLAogICAgY2xvc2VfbW92ZTogcGhyYXNlR3JpZCgKICAgICAgW2Ake3ZhcnMubmFtZX0gaXMgY2xvc2luZyBpbiBvbiAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIGdldHRpbmcgY2xvc2VyIHRvICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMubmFtZX0gaXMgc3RheWluZyBuZWFyICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMubmFtZX0gaXMgZWRnaW5nIHRvd2FyZCAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIGRyYXdpbmcgY2xvc2VyIHRvICR7dmFycy50YXJnZXR9LmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICByZXR1cm5fbW92ZTogcGhyYXNlR3JpZCgKICAgICAgW2Ake3ZhcnMubmFtZX0gaXMgaGVhZGluZyBiYWNrIHRvICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMubmFtZX0gaXMgd29ya2luZyBiYWNrIHRvd2FyZCAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLm5hbWV9IGlzIGZpbmRpbmcgdGhlIHdheSBiYWNrIHRvICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMubmFtZX0gaXMgZHJpZnRpbmcgYmFjayB0b3dhcmQgJHt2YXJzLnRhcmdldH0uYCwgYCR7dmFycy5uYW1lfSBpcyB0dXJuaW5nIGJhY2sgdG8gJHt2YXJzLnRhcmdldH0uYF0sCiAgICAgIFsiIiwgIiIsICIiLCAiIiwgIiJdCiAgICApLm1hcCgocGhyYXNlKSA9PiBwaHJhc2UudHJpbSgpKSwKICAgIHJvYW1pbmdfbW92ZTogcGhyYXNlR3JpZCgKICAgICAgW2Ake3ZhcnMubmFtZX0gaXMgbW92aW5nIGFjcm9zcyB0aGUgYm9hcmQuYCwgYCR7dmFycy5uYW1lfSBpcyByb2FtaW5nIHRoZSBib2FyZC5gLCBgJHt2YXJzLm5hbWV9IGlzIHdhbmRlcmluZyBhY3Jvc3MgdGhlIGJvYXJkLmAsIGAke3ZhcnMubmFtZX0gaXMgZHJpZnRpbmcgYXJvdW5kIHRoZSBib2FyZC5gLCBgJHt2YXJzLm5hbWV9IGlzIHBhY2luZyBhY3Jvc3MgdGhlIGJvYXJkLmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBhY2NlcHRlZF9ldmVudDogcGhyYXNlR3JpZCgKICAgICAgW2Ake3ZhcnMudGFyZ2V0fSBpcyBvcGVuIHRvICR7dmFycy5jaGFzZXJ9IGNoYXNpbmcgdGhlbS5gLCBgJHt2YXJzLnRhcmdldH0gd2VsY29tZXMgJHt2YXJzLmNo"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="7" data-payload="YXNlcn0ncyBhdHRlbnRpb24uYCwgYCR7dmFycy50YXJnZXR9IGxldHMgJHt2YXJzLmNoYXNlcn0gY29tZSBjbG9zZXIuYCwgYCR7dmFycy50YXJnZXR9IGdpdmVzIGluIHRvICR7dmFycy5jaGFzZXJ9LmAsIGAke3ZhcnMudGFyZ2V0fSByZXR1cm5zICR7dmFycy5jaGFzZXJ9J3MgaW50ZXJlc3QuYF0sCiAgICAgIFtgJHt2YXJzLnJpdmFsfSBpcyBoZWFydGJyb2tlbi5gLCBgJHt2YXJzLnJpdmFsfSBpcyBsZWZ0IGhlYXJ0YnJva2VuLmAsIGAke3ZhcnMucml2YWx9IGxvc2VzIHRoZW0uYCwgYCR7dmFycy5yaXZhbH0gaXMgbGVmdCBiZWhpbmQuYCwgYCR7dmFycy5yaXZhbH0gdGFrZXMgdGhlIGJsb3cuYF0KICAgICksCiAgICByZWplY3RlZF9ldmVudDogcGhyYXNlR3JpZCgKICAgICAgW2Ake3ZhcnMudGFyZ2V0fSBkb2VzIG5vdCB3YW50ICR7dmFycy5jaGFzZXJ9LmAsIGAke3ZhcnMudGFyZ2V0fSB0dXJucyAke3ZhcnMuY2hhc2VyfSBhd2F5LmAsIGAke3ZhcnMudGFyZ2V0fSByZWplY3RzICR7dmFycy5jaGFzZXJ9LmAsIGAke3ZhcnMudGFyZ2V0fSB3b24ndCBoYXZlICR7dmFycy5jaGFzZXJ9LmAsIGAke3ZhcnMudGFyZ2V0fSByZWZ1c2VzICR7dmFycy5jaGFzZXJ9LmBdLAogICAgICBbYCR7dmFycy5jaGFzZXJ9IHJ1bnMgZm9yIHRoZSBjb3JuZXIuYCwgYCR7dmFycy5jaGFzZXJ9IGZsZWVzIGluIHNoYW1lLmAsIGAke3ZhcnMuY2hhc2VyfSBib2x0cyB0b3dhcmQgZXhpbGUuYCwgYCR7dmFycy5jaGFzZXJ9IHJldHJlYXRzIGluIGRpc2dyYWNlLmAsIGAke3ZhcnMuY2hhc2VyfSBydXNoZXMgYXdheS5gXQogICAgKSwKICAgIGJsb2NrZWRfZXZlbnQ6IHBocmFzZUdyaWQoCiAgICAgIFtgJHt2YXJzLmJsb2NrZXJ9IHN0b3BwZWQgJHt2YXJzLmNoYXNlcn0gZnJvbSBjaGFzaW5nICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMuYmxvY2tlcn0gZ290IHRoZXJlIGJlZm9yZSAke3ZhcnMuY2hhc2VyfS5gLCBgJHt2YXJzLmJsb2NrZXJ9IGN1dCAke3ZhcnMuY2hhc2VyfSBvZmYgZnJvbSAke3ZhcnMudGFyZ2V0fS5gLCBgJHt2YXJzLmJsb2NrZXJ9IGJsb2NrZWQgJHt2YXJzLmNoYXNlcn0ncyBwYXRoIHRvICR7dmFycy50YXJnZXR9LmAsIGAke3ZhcnMuYmxvY2tlcn0ga2VwdCAke3ZhcnMuY2hhc2VyfSBmcm9tICR7dmFycy50YXJnZXR9LmBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBjb3JuZXJfZXZlbnQ6IHBocmFzZUdyaWQoCiAgICAgIFtgJHt2YXJzLm5hbWV9IHJlYWNoZWQgdGhlIGNvcm5lciBhbmQgd2FzIGJhbmlzaGVkLmAsIGAke3ZhcnMubmFtZX0gbWFkZSBpdCB0byB0aGUgY29ybmVyIGFuZCB3YXMgYmFuaXNoZWQuYCwgYCR7dmFycy5uYW1lfSBoaXQgdGhlIGNvcm5lciBhbmQgd2FzIGJhbmlzaGVkLmAsIGAke3ZhcnMubmFtZX0gcmVhY2hlZCBleGlsZSBhdCB0aGUgY29ybmVyLmAsIGAke3ZhcnMubmFtZX0gZW5kZWQgdXAgYmFuaXNoZWQgaW4gdGhlIGNvcm5lci5gXSwKICAgICAgWyIiLCAiIiwgIiIsICIiLCAiIl0KICAgICkubWFwKChwaHJhc2UpID0+IHBocmFzZS50cmltKCkpLAogIH07CgogIHJldHVybiByYW5kb21QaHJhc2UocG9vbHNba2luZF0pOwp9CgpmdW5jdGlvbiBzcGVlY2hQaHJhc2VGb3Ioa2luZCwgdmFycyA9IHt9KSB7CiAgY29uc3QgcG9vbHMgPSB7CiAgICBzdHJheV9jaGFzZXI6IHBocmFzZUdyaWQoCiAgICAgIFtgSSB3YW50ICR7dmFycy50YXJnZXR9LmBdLAogICAgICBbIiJdCiAgICApLm1hcCgocGhyYXNlKSA9PiBwaHJhc2UudHJpbSgpKSwKICAgIHN0cmF5X2Jsb2NrZXI6IHBocmFzZUdyaWQoCiAgICAgIFtgT2ggbm8geW91IGRvbid0LCAke3ZhcnMuY2hhc2VyfS5gXSwKICAgICAgWyIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBzdHJheV90YXJnZXRfYWNjZXB0aW5nOiBwaHJhc2VHcmlkKAogICAgICBbYFNvdW5kcyBuaWNlLCAke3ZhcnMuY2hhc2VyfS5gXSwKICAgICAgWyIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBzdHJheV90YXJnZXRfcmVqZWN0aW5nOiBwaHJhc2VHcmlkKAogICAgICBbYEdvIGF3YXksICR7dmFycy5jaGFzZXJ9LmBdLAogICAgICBbIiJdCiAgICApLm1hcCgocGhyYXNlKSA9PiBwaHJhc2UudHJpbSgpKSwKICAgIGppbHRlZF9sb3NzOiBwaHJhc2VHcmlkKAogICAgICBbYEkgbG9zdCAke3ZhcnMudGFyZ2V0fSB0byAke3ZhcnMuY2hhc2VyfS5gXSwKICAgICAgWyIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgICBkZWZlbmRlcl93aW46IHBocmFzZUdyaWQoCiAgICAgIFtgWW91IGxvc2UsICR7dmFycy5jaGFzZXJ9IWBdLAogICAgICBbIiIsICIiLCAiIiwgIiIsICIiXQogICAgKS5tYXAoKHBocmFzZSkgPT4gcGhyYXNlLnRyaW0oKSksCiAgfTsKCiAgcmV0dXJuIHJhbmRvbVBocmFzZShwb29sc1traW5kXSk7Cn0KCmNvbnN0IHBlb3BsZSA9IFsKICB7CiAgICBpZDogIm1hcmEtdmFsZSIsCiAgICBuYW1lOiAiTWFyYSIsCiAgICBhZ2U6IDM0LAogICAgZ2VuZGVyOiAiV29tYW4iLAogICAgbWFycmllZDogdHJ1ZSwKICAgIHJlbGF0aW9uc2hpcDogIk1hcnJpZWQgdG8gT3dlbiIsCiAgICBvY2N1cGF0aW9uOiAiTWVkaWF0b3IiLAogICAgdGVtcGVyYW1lbnQ6ICJQYXRpZW50LCB3YXRjaGZ1"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="8" data-payload="bCIsCiAgICBoYXBwaW5lc3M6IDYyLAogICAgY29sb3I6ICIjZTExZDQ4IiwKICB9LAogIHsKICAgIGlkOiAib3JyaW4tdmFsZSIsCiAgICBuYW1lOiAiT3dlbiIsCiAgICBhZ2U6IDM3LAogICAgZ2VuZGVyOiAiTWFuIiwKICAgIG1hcnJpZWQ6IHRydWUsCiAgICByZWxhdGlvbnNoaXA6ICJNYXJyaWVkIHRvIE1hcmEiLAogICAgb2NjdXBhdGlvbjogIkNhcnBlbnRlciIsCiAgICB0ZW1wZXJhbWVudDogIlN0ZWFkeSwgcHJpdmF0ZSIsCiAgICBoYXBwaW5lc3M6IDQ4LAogICAgY29sb3I6ICIjZTExZDQ4IiwKICB9LAogIHsKICAgIGlkOiAianVuby1waWtlIiwKICAgIG5hbWU6ICJKdW5vIiwKICAgIGFnZTogMjIsCiAgICBnZW5kZXI6ICJOb25iaW5hcnkiLAogICAgbWFycmllZDogZmFsc2UsCiAgICByZWxhdGlvbnNoaXA6ICJEYXRpbmcgVGVzcyIsCiAgICBvY2N1cGF0aW9uOiAiQ291cmllciIsCiAgICB0ZW1wZXJhbWVudDogIlJlc3RsZXNzLCBmdW5ueSIsCiAgICBoYXBwaW5lc3M6IDcwLAogICAgY29sb3I6ICIjMjU2M2ViIiwKICB9LAogIHsKICAgIGlkOiAidGVzc2Etcm93YW4iLAogICAgbmFtZTogIlRlc3MiLAogICAgYWdlOiAyNCwKICAgIGdlbmRlcjogIldvbWFuIiwKICAgIG1hcnJpZWQ6IGZhbHNlLAogICAgcmVsYXRpb25zaGlwOiAiRGF0aW5nIEp1bm8iLAogICAgb2NjdXBhdGlvbjogIkFyY2hpdmlzdCIsCiAgICB0ZW1wZXJhbWVudDogIkN1cmlvdXMsIGV4YWN0aW5nIiwKICAgIGhhcHBpbmVzczogNTYsCiAgICBjb2xvcjogIiMyNTYzZWIiLAogIH0sCiAgewogICAgaWQ6ICJzaWxhcy13cmVuIiwKICAgIG5hbWU6ICJTYXVsIiwKICAgIGFnZTogNTgsCiAgICBnZW5kZXI6ICJNYW4iLAogICAgbWFycmllZDogZmFsc2UsCiAgICByZWxhdGlvbnNoaXA6ICJEYXRpbmcgRWxsYSIsCiAgICBvY2N1cGF0aW9uOiAiUGh5c2ljaWFuIiwKICAgIHRlbXBlcmFtZW50OiAiRHJ5LCBnZW5lcm91cyIsCiAgICBoYXBwaW5lc3M6IDQyLAogICAgY29sb3I6ICIjZjk3MzE2IiwKICB9LAogIHsKICAgIGlkOiAiZWxlbmEtY3Jvc3MiLAogICAgbmFtZTogIkVsbGEiLAogICAgYWdlOiA0MSwKICAgIGdlbmRlcjogIldvbWFuIiwKICAgIG1hcnJpZWQ6IGZhbHNlLAogICAgcmVsYXRpb25zaGlwOiAiRGF0aW5nIFNhdWwiLAogICAgb2NjdXBhdGlvbjogIkd1YXJkIGNhcHRhaW4iLAogICAgdGVtcGVyYW1lbnQ6ICJEaXJlY3QsIGxveWFsIiwKICAgIGhhcHBpbmVzczogMzYsCiAgICBjb2xvcjogIiNmOTczMTYiLAogIH0sCiAgewogICAgaWQ6ICJuaWtvLXNhYmxlIiwKICAgIG5hbWU6ICJOaWtvIiwKICAgIGFnZTogMjksCiAgICBnZW5kZXI6ICJNYW4iLAogICAgbWFycmllZDogZmFsc2UsCiAgICByZWxhdGlvbnNoaXA6ICJEYXRpbmcgQXNoYSIsCiAgICBvY2N1cGF0aW9uOiAiQ29vayIsCiAgICB0ZW1wZXJhbWVudDogIldhcm0sIGltcHVsc2l2ZSIsCiAgICBoYXBwaW5lc3M6IDc0LAogICAgY29sb3I6ICIjZGIyNzc3IiwKICB9LAogIHsKICAgIGlkOiAiYXNoYS1iZWxsIiwKICAgIG5hbWU6ICJBc2hhIiwKICAgIGFnZTogMzEsCiAgICBnZW5kZXI6ICJXb21hbiIsCiAgICBtYXJyaWVkOiBmYWxzZSwKICAgIHJlbGF0aW9uc2hpcDogIkRhdGluZyBOaWtvIiwKICAgIG9jY3VwYXRpb246ICJNYXNvbiIsCiAgICB0ZW1wZXJhbWVudDogIlByYWN0aWNhbCwgYm9sZCIsCiAgICBoYXBwaW5lc3M6IDU4LAogICAgY29sb3I6ICIjZGIyNzc3IiwKICB9LAogIHsKICAgIGlkOiAicmVuLWFzaGZvcmQiLAogICAgbmFtZTogIlJlbiIsCiAgICBhZ2U6IDE5LAogICAgZ2VuZGVyOiAiTm9uYmluYXJ5IiwKICAgIG1hcnJpZWQ6IGZhbHNlLAogICAgcmVsYXRpb25zaGlwOiAiRGF0aW5nIFpvZSIsCiAgICBvY2N1cGF0aW9uOiAiQXBwcmVudGljZSIsCiAgICB0ZW1wZXJhbWVudDogIkJyaWdodCwgd2FyeSIsCiAgICBoYXBwaW5lc3M6IDMwLAogICAgY29sb3I6ICIjY2E4YTA0IiwKICB9LAogIHsKICAgIGlkOiAibHlyYS1tb3R0IiwKICAgIG5hbWU6ICJMeXJhIiwKICAgIGFnZTogNDcsCiAgICBnZW5kZXI6ICJXb21hbiIsCiAgICBtYXJyaWVkOiBmYWxzZSwKICAgIHJlbGF0aW9uc2hpcDogIkRhdGluZyBJdmFuIiwKICAgIG9jY3VwYXRpb246ICJUcmFkZXIiLAogICAgdGVtcGVyYW1lbnQ6ICJDaGFybWluZywgY2FsY3VsYXRpbmciLAogICAgaGFwcGluZXNzOiAyNCwKICAgIGNvbG9yOiAiIzQ3NTU2OSIsCiAgfSwKICB7CiAgICBpZDogImFkYW0tcmVlZCIsCiAgICBuYW1lOiAiQWRhbSIsCiAgICBhZ2U6IDQ1LAogICAgZ2VuZGVyOiAiTWFuIiwKICAgIG1hcnJpZWQ6IHRydWUsCiAgICByZWxhdGlvbnNoaXA6ICJNYXJyaWVkIHRvIEV2ZSIsCiAgICBvY2N1cGF0aW9uOiAiVGVhY2hlciIsCiAgICB0ZW1wZXJhbWVudDogIkdlbnRsZSwgYW5hbHl0aWNhbCIsCiAgICBoYXBwaW5lc3M6IDU0LAogICAgY29sb3I6ICIjN2MzYWVkIiwKICB9LAogIHsKICAgIGlkOiAiZXZlLXJlZWQiLAogICAgbmFtZTogIkV2ZSIsCiAgICBhZ2U6IDQzLAogICAgZ2VuZGVyOiAiV29tYW4iLAogICAgbWFycmllZDogdHJ1ZSwKICAgIHJlbGF0aW9uc2hpcDogIk1hcnJpZWQgdG8gQWRhbSIsCiAgICBvY2N1cGF0aW9uOiAiTnVyc2UiLAogICAgdGVtcGVyYW1lbnQ6ICJDYWxtLCB3cnkiLAogICAgaGFwcGluZXNzOiA2MCwKICAgIGNvbG9yOiAiIzdjM2FlZCIsCiAgfSwKICB7"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="9" data-payload="CiAgICBpZDogImxpYW0tZm94IiwKICAgIG5hbWU6ICJMaWFtIiwKICAgIGFnZTogMjcsCiAgICBnZW5kZXI6ICJNYW4iLAogICAgbWFycmllZDogZmFsc2UsCiAgICByZWxhdGlvbnNoaXA6ICJEYXRpbmcgTWlhIiwKICAgIG9jY3VwYXRpb246ICJNZWNoYW5pYyIsCiAgICB0ZW1wZXJhbWVudDogIkJyYXNoLCBsb3lhbCIsCiAgICBoYXBwaW5lc3M6IDUyLAogICAgY29sb3I6ICIjYjQ1MzA5IiwKICB9LAogIHsKICAgIGlkOiAibWlhLWZveCIsCiAgICBuYW1lOiAiTWlhIiwKICAgIGFnZTogMjYsCiAgICBnZW5kZXI6ICJXb21hbiIsCiAgICBtYXJyaWVkOiBmYWxzZSwKICAgIHJlbGF0aW9uc2hpcDogIkRhdGluZyBMaWFtIiwKICAgIG9jY3VwYXRpb246ICJBcnRpc3QiLAogICAgdGVtcGVyYW1lbnQ6ICJQbGF5ZnVsLCBpbnRlbnNlIiwKICAgIGhhcHBpbmVzczogNjQsCiAgICBjb2xvcjogIiNiNDUzMDkiLAogIH0sCiAgewogICAgaWQ6ICJub2FoLWtpbSIsCiAgICBuYW1lOiAiTm9haCIsCiAgICBhZ2U6IDMzLAogICAgZ2VuZGVyOiAiTWFuIiwKICAgIG1hcnJpZWQ6IGZhbHNlLAogICAgcmVsYXRpb25zaGlwOiAiRGF0aW5nIE5pbmEiLAogICAgb2NjdXBhdGlvbjogIkZhcm1lciIsCiAgICB0ZW1wZXJhbWVudDogIlF1aWV0LCBzdHViYm9ybiIsCiAgICBoYXBwaW5lc3M6IDQwLAogICAgY29sb3I6ICIjMDU5NjY5IiwKICB9LAogIHsKICAgIGlkOiAiem9lLWtpbSIsCiAgICBuYW1lOiAiWm9lIiwKICAgIGFnZTogMTgsCiAgICBnZW5kZXI6ICJXb21hbiIsCiAgICBtYXJyaWVkOiBmYWxzZSwKICAgIHJlbGF0aW9uc2hpcDogIkRhdGluZyBSZW4iLAogICAgb2NjdXBhdGlvbjogIlN0dWRlbnQiLAogICAgdGVtcGVyYW1lbnQ6ICJTaGFycCwgcmVzdGxlc3MiLAogICAgaGFwcGluZXNzOiA0NCwKICAgIGNvbG9yOiAiI2NhOGEwNCIsCiAgfSwKICB7CiAgICBpZDogIml2YW4tZ3JheSIsCiAgICBuYW1lOiAiSXZhbiIsCiAgICBhZ2U6IDUyLAogICAgZ2VuZGVyOiAiTWFuIiwKICAgIG1hcnJpZWQ6IGZhbHNlLAogICAgcmVsYXRpb25zaGlwOiAiRGF0aW5nIEx5cmEiLAogICAgb2NjdXBhdGlvbjogIkp1ZGdlIiwKICAgIHRlbXBlcmFtZW50OiAiU3Rlcm4sIGZhaXIiLAogICAgaGFwcGluZXNzOiAzNCwKICAgIGNvbG9yOiAiIzQ3NTU2OSIsCiAgfSwKICB7CiAgICBpZDogIm5pbmEtZ3JheSIsCiAgICBuYW1lOiAiTmluYSIsCiAgICBhZ2U6IDQ5LAogICAgZ2VuZGVyOiAiV29tYW4iLAogICAgbWFycmllZDogZmFsc2UsCiAgICByZWxhdGlvbnNoaXA6ICJEYXRpbmcgTm9haCIsCiAgICBvY2N1cGF0aW9uOiAiQmFrZXIiLAogICAgdGVtcGVyYW1lbnQ6ICJXYXJtLCBndWFyZGVkIiwKICAgIGhhcHBpbmVzczogNTAsCiAgICBjb2xvcjogIiMwNTk2NjkiLAogIH0sCiAgewogICAgaWQ6ICJvbWFyLWhhcnQiLAogICAgbmFtZTogIk9tYXIiLAogICAgYWdlOiAyMSwKICAgIGdlbmRlcjogIk1hbiIsCiAgICBtYXJyaWVkOiBmYWxzZSwKICAgIHJlbGF0aW9uc2hpcDogIkRhdGluZyBSdWJ5IiwKICAgIG9jY3VwYXRpb246ICJNdXNpY2lhbiIsCiAgICB0ZW1wZXJhbWVudDogIkRyZWFteSwga2luZCIsCiAgICBoYXBwaW5lc3M6IDQ2LAogICAgY29sb3I6ICIjMDg5MWIyIiwKICB9LAogIHsKICAgIGlkOiAicnVieS1oYXJ0IiwKICAgIG5hbWU6ICJSdWJ5IiwKICAgIGFnZTogMjAsCiAgICBnZW5kZXI6ICJXb21hbiIsCiAgICBtYXJyaWVkOiBmYWxzZSwKICAgIHJlbGF0aW9uc2hpcDogIkRhdGluZyBPbWFyIiwKICAgIG9jY3VwYXRpb246ICJEYW5jZXIiLAogICAgdGVtcGVyYW1lbnQ6ICJCb2xkLCBtYWduZXRpYyIsCiAgICBoYXBwaW5lc3M6IDY4LAogICAgY29sb3I6ICIjMDg5MWIyIiwKICB9LApdOwoKY29uc3QgY2xvc2VUaWVzID0gewogICJtYXJhLXZhbGUiOiBbeyBpZDogIm9ycmluLXZhbGUiLCBsYWJlbDogIlNwb3VzZSIsIHR5cGU6ICJyb21hbnRpYyIgfV0sCiAgIm9ycmluLXZhbGUiOiBbeyBpZDogIm1hcmEtdmFsZSIsIGxhYmVsOiAiU3BvdXNlIiwgdHlwZTogInJvbWFudGljIiB9XSwKICAianVuby1waWtlIjogW3sgaWQ6ICJ0ZXNzYS1yb3dhbiIsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV0sCiAgInRlc3NhLXJvd2FuIjogW3sgaWQ6ICJqdW5vLXBpa2UiLCBsYWJlbDogIlBhcnRuZXIiLCB0eXBlOiAicm9tYW50aWMiIH1dLAogICJzaWxhcy13cmVuIjogW3sgaWQ6ICJlbGVuYS1jcm9zcyIsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV0sCiAgImVsZW5hLWNyb3NzIjogW3sgaWQ6ICJzaWxhcy13cmVuIiwgbGFiZWw6ICJQYXJ0bmVyIiwgdHlwZTogInJvbWFudGljIiB9XSwKICAibmlrby1zYWJsZSI6IFt7IGlkOiAiYXNoYS1iZWxsIiwgbGFiZWw6ICJQYXJ0bmVyIiwgdHlwZTogInJvbWFudGljIiB9XSwKICAiYXNoYS1iZWxsIjogW3sgaWQ6ICJuaWtvLXNhYmxlIiwgbGFiZWw6ICJQYXJ0bmVyIiwgdHlwZTogInJvbWFudGljIiB9XSwKICAicmVuLWFzaGZvcmQiOiBbeyBpZDogInpvZS1raW0iLCBsYWJlbDogIlBhcnRuZXIiLCB0eXBlOiAicm9tYW50aWMiIH1dLAogICJ6b2Uta2ltIjogW3sgaWQ6ICJyZW4tYXNoZm9yZCIsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV0sCiAgImx5cmEtbW90dCI6IFt7IGlkOiAiaXZhbi1ncmF5IiwgbGFiZWw6ICJQYXJ0bmVy"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="10" data-payload="IiwgdHlwZTogInJvbWFudGljIiB9XSwKICAiaXZhbi1ncmF5IjogW3sgaWQ6ICJseXJhLW1vdHQiLCBsYWJlbDogIlBhcnRuZXIiLCB0eXBlOiAicm9tYW50aWMiIH1dLAogICJhZGFtLXJlZWQiOiBbeyBpZDogImV2ZS1yZWVkIiwgbGFiZWw6ICJTcG91c2UiLCB0eXBlOiAicm9tYW50aWMiIH1dLAogICJldmUtcmVlZCI6IFt7IGlkOiAiYWRhbS1yZWVkIiwgbGFiZWw6ICJTcG91c2UiLCB0eXBlOiAicm9tYW50aWMiIH1dLAogICJsaWFtLWZveCI6IFt7IGlkOiAibWlhLWZveCIsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV0sCiAgIm1pYS1mb3giOiBbeyBpZDogImxpYW0tZm94IiwgbGFiZWw6ICJQYXJ0bmVyIiwgdHlwZTogInJvbWFudGljIiB9XSwKICAibm9haC1raW0iOiBbeyBpZDogIm5pbmEtZ3JheSIsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV0sCiAgIm5pbmEtZ3JheSI6IFt7IGlkOiAibm9haC1raW0iLCBsYWJlbDogIlBhcnRuZXIiLCB0eXBlOiAicm9tYW50aWMiIH1dLAogICJvbWFyLWhhcnQiOiBbeyBpZDogInJ1YnktaGFydCIsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV0sCiAgInJ1YnktaGFydCI6IFt7IGlkOiAib21hci1oYXJ0IiwgbGFiZWw6ICJQYXJ0bmVyIiwgdHlwZTogInJvbWFudGljIiB9XSwKfTsKCmNvbnN0IGFkZGl0aW9uYWxQYWlyU2VlZHMgPSBbCiAgewogICAgY29sb3I6ICIjMGY3NjZlIiwKICAgIHBlb3BsZTogWwogICAgICB7IGlkOiAia2VpcmEtc3RvbmUiLCBuYW1lOiAiS2VpcmEiLCBhZ2U6IDI4LCBnZW5kZXI6ICJXb21hbiIsIG9jY3VwYXRpb246ICJDYXJ0b2dyYXBoZXIiLCB0ZW1wZXJhbWVudDogIkNvb2wsIG9ic2VydmFudCIsIGhhcHBpbmVzczogNjYgfSwKICAgICAgeyBpZDogIm1hdHRlby1zdG9uZSIsIG5hbWU6ICJNYXR0ZW8iLCBhZ2U6IDMwLCBnZW5kZXI6ICJNYW4iLCBvY2N1cGF0aW9uOiAiU3VydmV5b3IiLCB0ZW1wZXJhbWVudDogIkdlbnRsZSwgcHJlY2lzZSIsIGhhcHBpbmVzczogNTQgfSwKICAgIF0sCiAgfSwKICB7CiAgICBjb2xvcjogIiM0ZjQ2ZTUiLAogICAgcGVvcGxlOiBbCiAgICAgIHsgaWQ6ICJzbG9hbmUtdmFsZSIsIG5hbWU6ICJTbG9hbmUiLCBhZ2U6IDM1LCBnZW5kZXI6ICJXb21hbiIsIG9jY3VwYXRpb246ICJTdHJhdGVnaXN0IiwgdGVtcGVyYW1lbnQ6ICJQb2lzZWQsIHNoYXJwIiwgaGFwcGluZXNzOiA1OCB9LAogICAgICB7IGlkOiAiZGV2LXZhbGUiLCBuYW1lOiAiRGV2IiwgYWdlOiAzNiwgZ2VuZGVyOiAiTWFuIiwgb2NjdXBhdGlvbjogIkFyY2hpdGVjdCIsIHRlbXBlcmFtZW50OiAiRHJ5LCBwYXRpZW50IiwgaGFwcGluZXNzOiA0NCB9LAogICAgXSwKICB9LAogIHsKICAgIGNvbG9yOiAiI2JlMTIzYyIsCiAgICBwZW9wbGU6IFsKICAgICAgeyBpZDogInByaXlhLXNpbmdoIiwgbmFtZTogIlByaXlhIiwgYWdlOiAyNSwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiUHJpbnRlciIsIHRlbXBlcmFtZW50OiAiQnJpZ2h0LCBzdHViYm9ybiIsIGhhcHBpbmVzczogNjIgfSwKICAgICAgeyBpZDogImNhbC1yaXZlciIsIG5hbWU6ICJDYWwiLCBhZ2U6IDI2LCBnZW5kZXI6ICJNYW4iLCBvY2N1cGF0aW9uOiAiQnJld2VyIiwgdGVtcGVyYW1lbnQ6ICJXYXJtLCBpbXB1bHNpdmUiLCBoYXBwaW5lc3M6IDQ4IH0sCiAgICBdLAogIH0sCiAgewogICAgY29sb3I6ICIjMDM2OWExIiwKICAgIHBlb3BsZTogWwogICAgICB7IGlkOiAiaW1hbmktY3Jvc3MiLCBuYW1lOiAiSW1hbmkiLCBhZ2U6IDQyLCBnZW5kZXI6ICJXb21hbiIsIG9jY3VwYXRpb246ICJNYWdpc3RyYXRlIiwgdGVtcGVyYW1lbnQ6ICJDYWxtLCBkaXJlY3QiLCBoYXBwaW5lc3M6IDUwIH0sCiAgICAgIHsgaWQ6ICJyYWZlLWNyb3NzIiwgbmFtZTogIlJhZmUiLCBhZ2U6IDQwLCBnZW5kZXI6ICJNYW4iLCBvY2N1cGF0aW9uOiAiQWR2b2NhdGUiLCB0ZW1wZXJhbWVudDogIldpdHR5LCBndWFyZGVkIiwgaGFwcGluZXNzOiA2MCB9LAogICAgXSwKICB9LAogIHsKICAgIGNvbG9yOiAiIzkzMzNlYSIsCiAgICBwZW9wbGU6IFsKICAgICAgeyBpZDogImNvcmEtbGFuZSIsIG5hbWU6ICJDb3JhIiwgYWdlOiAyMywgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiVGFpbG9yIiwgdGVtcGVyYW1lbnQ6ICJFeGFjdCwgZHJlYW15IiwgaGFwcGluZXNzOiA3MiB9LAogICAgICB7IGlkOiAianVuLWxhbmUiLCBuYW1lOiAiSnVuIiwgYWdlOiAyNCwgZ2VuZGVyOiAiTm9uYmluYXJ5Iiwgb2NjdXBhdGlvbjogIkdsYXNzd29ya2VyIiwgdGVtcGVyYW1lbnQ6ICJRdWlldCwgaW50ZW5zZSIsIGhhcHBpbmVzczogNTIgfSwKICAgIF0sCiAgfSwKICB7CiAgICBjb2xvcjogIiNjMjQxMGMiLAogICAgcGVvcGxlOiBbCiAgICAgIHsgaWQ6ICJlbGlzZS1tYXIiLCBuYW1lOiAiRWxpc2UiLCBhZ2U6IDM4LCBnZW5kZXI6ICJXb21hbiIsIG9jY3VwYXRpb246ICJJbm5rZWVwZXIiLCB0ZW1wZXJhbWVudDogIkJ1c3ksIGdlbmVyb3VzIiwgaGFwcGluZXNzOiA0NiB9LAogICAgICB7IGlkOiAibWFyY28tbWFyIiwgbmFtZTogIk1hcmNvIiwgYWdlOiAzOSwgZ2VuZGVyOiAiTWFuIiwgb2NjdXBhdGlvbjogIkNvb2siLCB0ZW1wZXJhbWVudDogIkJvbGQsIHRoZWF0cmljYWwiLCBoYXBwaW5lc3M6IDY0IH0sCiAgICBdLAogIH0sCiAgewogICAgY29sb3I6ICIj"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="11" data-payload="MTU4MDNkIiwKICAgIHBlb3BsZTogWwogICAgICB7IGlkOiAidGhlby13ZWxscyIsIG5hbWU6ICJUaGVvIiwgYWdlOiAzMiwgZ2VuZGVyOiAiTWFuIiwgb2NjdXBhdGlvbjogIlNjcmliZSIsIHRlbXBlcmFtZW50OiAiTmVydnksIGNsZXZlciIsIGhhcHBpbmVzczogNDAgfSwKICAgICAgeyBpZDogImxhbmEtd2VsbHMiLCBuYW1lOiAiTGFuYSIsIGFnZTogMzEsIGdlbmRlcjogIldvbWFuIiwgb2NjdXBhdGlvbjogIkJvb2tiaW5kZXIiLCB0ZW1wZXJhbWVudDogIlN0ZWFkeSwga2luZCIsIGhhcHBpbmVzczogNTYgfSwKICAgIF0sCiAgfSwKICB7CiAgICBjb2xvcjogIiNhMjFjYWYiLAogICAgcGVvcGxlOiBbCiAgICAgIHsgaWQ6ICJhbWFyYS12YWxlIiwgbmFtZTogIkFtYXJhIiwgYWdlOiAyOSwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiU2luZ2VyIiwgdGVtcGVyYW1lbnQ6ICJNYWduZXRpYywgcmVzdGxlc3MiLCBoYXBwaW5lc3M6IDY4IH0sCiAgICAgIHsgaWQ6ICJxdWlubi12YWxlIiwgbmFtZTogIlF1aW5uIiwgYWdlOiAyNywgZ2VuZGVyOiAiTm9uYmluYXJ5Iiwgb2NjdXBhdGlvbjogIlN0YWdlaGFuZCIsIHRlbXBlcmFtZW50OiAiU29mdCwgZnVubnkiLCBoYXBwaW5lc3M6IDQyIH0sCiAgICBdLAogIH0sCiAgewogICAgY29sb3I6ICIjMGU3NDkwIiwKICAgIHBlb3BsZTogWwogICAgICB7IGlkOiAidmVyYS1ub3J0aCIsIG5hbWU6ICJWZXJhIiwgYWdlOiA1MSwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiSGFyYm9yIG1hc3RlciIsIHRlbXBlcmFtZW50OiAiU3Rlcm4sIGxveWFsIiwgaGFwcGluZXNzOiAzOCB9LAogICAgICB7IGlkOiAibWlsZXMtbm9ydGgiLCBuYW1lOiAiTWlsZXMiLCBhZ2U6IDUzLCBnZW5kZXI6ICJNYW4iLCBvY2N1cGF0aW9uOiAiTmF2aWdhdG9yIiwgdGVtcGVyYW1lbnQ6ICJQYXRpZW50LCBoYXVudGVkIiwgaGFwcGluZXNzOiA1MCB9LAogICAgXSwKICB9LAogIHsKICAgIGNvbG9yOiAiIzg1NGQwZSIsCiAgICBwZW9wbGU6IFsKICAgICAgeyBpZDogInNvcmVuLXBpa2UiLCBuYW1lOiAiU29yZW4iLCBhZ2U6IDQ0LCBnZW5kZXI6ICJNYW4iLCBvY2N1cGF0aW9uOiAiQXBvdGhlY2FyeSIsIHRlbXBlcmFtZW50OiAiQ2FyZWZ1bCwgcHJvdWQiLCBoYXBwaW5lc3M6IDUyIH0sCiAgICAgIHsgaWQ6ICJuYWRpYS1waWtlIiwgbmFtZTogIk5hZGlhIiwgYWdlOiA0MywgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiSGVyYmFsaXN0IiwgdGVtcGVyYW1lbnQ6ICJQcmFjdGljYWwsIHNseSIsIGhhcHBpbmVzczogNTggfSwKICAgIF0sCiAgfSwKICB7CiAgICBjb2xvcjogIiMxZDRlZDgiLAogICAgcGVvcGxlOiBbCiAgICAgIHsgaWQ6ICJoYXplbC1tb29uIiwgbmFtZTogIkhhemVsIiwgYWdlOiAyMCwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiU3R1ZGVudCIsIHRlbXBlcmFtZW50OiAiRWFnZXIsIGFueGlvdXMiLCBoYXBwaW5lc3M6IDY0IH0sCiAgICAgIHsgaWQ6ICJlenJhLW1vb24iLCBuYW1lOiAiRXpyYSIsIGFnZTogMjEsIGdlbmRlcjogIk1hbiIsIG9jY3VwYXRpb246ICJDbG9ja21ha2VyIiwgdGVtcGVyYW1lbnQ6ICJQYXRpZW50LCBvZGQiLCBoYXBwaW5lc3M6IDQ4IH0sCiAgICBdLAogIH0sCiAgewogICAgY29sb3I6ICIjMDQ3ODU3IiwKICAgIHBlb3BsZTogWwogICAgICB7IGlkOiAiaXJpcy1mb3giLCBuYW1lOiAiSXJpcyIsIGFnZTogMzMsIGdlbmRlcjogIldvbWFuIiwgb2NjdXBhdGlvbjogIkdhcmRlbmVyIiwgdGVtcGVyYW1lbnQ6ICJHZW50bGUsIHN0dWJib3JuIiwgaGFwcGluZXNzOiA2MCB9LAogICAgICB7IGlkOiAia2FpLWZveCIsIG5hbWU6ICJLYWkiLCBhZ2U6IDM0LCBnZW5kZXI6ICJOb25iaW5hcnkiLCBvY2N1cGF0aW9uOiAiRmFsY29uZXIiLCB0ZW1wZXJhbWVudDogIldhdGNoZnVsLCBicmlnaHQiLCBoYXBwaW5lc3M6IDQ2IH0sCiAgICBdLAogIH0sCiAgewogICAgY29sb3I6ICIjZGMyNjI2IiwKICAgIHBlb3BsZTogWwogICAgICB7IGlkOiAiZnJleWEtcmVkIiwgbmFtZTogIkZyZXlhIiwgYWdlOiAzNywgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiQmxhY2tzbWl0aCIsIHRlbXBlcmFtZW50OiAiQmx1bnQsIGxveWFsIiwgaGFwcGluZXNzOiA1NCB9LAogICAgICB7IGlkOiAibm9sYW4tcmVkIiwgbmFtZTogIk5vbGFuIiwgYWdlOiAzNSwgZ2VuZGVyOiAiTWFuIiwgb2NjdXBhdGlvbjogIk1pbmVyIiwgdGVtcGVyYW1lbnQ6ICJXYXJtLCB3YXJ5IiwgaGFwcGluZXNzOiA0MCB9LAogICAgXSwKICB9LAogIHsKICAgIGNvbG9yOiAiIzQzMzhjYSIsCiAgICBwZW9wbGU6IFsKICAgICAgeyBpZDogIndyZW4tYmVsbCIsIG5hbWU6ICJXcmVuIiwgYWdlOiAyNiwgZ2VuZGVyOiAiTm9uYmluYXJ5Iiwgb2NjdXBhdGlvbjogIk1lc3NlbmdlciIsIHRlbXBlcmFtZW50OiAiRmFzdCwgZXZhc2l2ZSIsIGhhcHBpbmVzczogNzAgfSwKICAgICAgeyBpZDogImFueWEtYmVsbCIsIG5hbWU6ICJBbnlhIiwgYWdlOiAyOCwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiSGVhbGVyIiwgdGVtcGVyYW1lbnQ6ICJLaW5kLCBzZXZlcmUiLCBoYXBwaW5lc3M6IDU2IH0sCiAgICBdLAogIH0sCiAgewogICAgY29sb3I6ICIjYjkxYzFjIiwKICAgIHBlb3BsZTogWwogICAgICB7IGlkOiAiZGFobGlhLXJlZWQiLCBuYW1lOiAiRGFobGlhIiwgYWdlOiA0OCwgZ2Vu"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="12" data-payload="ZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiV2luZW1ha2VyIiwgdGVtcGVyYW1lbnQ6ICJFbGVnYW50LCBjdXR0aW5nIiwgaGFwcGluZXNzOiA0MiB9LAogICAgICB7IGlkOiAicm93YW4tcmVlZCIsIG5hbWU6ICJSb3dhbiIsIGFnZTogNTAsIGdlbmRlcjogIk1hbiIsIG9jY3VwYXRpb246ICJDb29wZXIiLCB0ZW1wZXJhbWVudDogIlBhdGllbnQsIHJ1ZWZ1bCIsIGhhcHBpbmVzczogNjIgfSwKICAgIF0sCiAgfSwKICB7CiAgICBjb2xvcjogIiM3ZTIyY2UiLAogICAgcGVvcGxlOiBbCiAgICAgIHsgaWQ6ICJsaWxhLWFzaCIsIG5hbWU6ICJMaWxhIiwgYWdlOiAyNCwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiSmV3ZWxlciIsIHRlbXBlcmFtZW50OiAiRGFyaW5nLCBleGFjdCIsIGhhcHBpbmVzczogNjYgfSwKICAgICAgeyBpZDogImNhc3MtYXNoIiwgbmFtZTogIkNhc3MiLCBhZ2U6IDI1LCBnZW5kZXI6ICJNYW4iLCBvY2N1cGF0aW9uOiAiTG9ja3NtaXRoIiwgdGVtcGVyYW1lbnQ6ICJGdW5ueSwgc2VjcmV0aXZlIiwgaGFwcGluZXNzOiA0NCB9LAogICAgXSwKICB9LAogIHsKICAgIGNvbG9yOiAiIzBmNzY2ZSIsCiAgICBwZW9wbGU6IFsKICAgICAgeyBpZDogIm1hZXZlLXZhbGUiLCBuYW1lOiAiTWFldmUiLCBhZ2U6IDM5LCBnZW5kZXI6ICJXb21hbiIsIG9jY3VwYXRpb246ICJQb2V0IiwgdGVtcGVyYW1lbnQ6ICJUZW5kZXIsIGRyYW1hdGljIiwgaGFwcGluZXNzOiA1OCB9LAogICAgICB7IGlkOiAiYXJsby12YWxlIiwgbmFtZTogIkFybG8iLCBhZ2U6IDQxLCBnZW5kZXI6ICJNYW4iLCBvY2N1cGF0aW9uOiAiUHJpbnRlciIsIHRlbXBlcmFtZW50OiAiTWlsZCwgamVhbG91cyIsIGhhcHBpbmVzczogMzYgfSwKICAgIF0sCiAgfSwKICB7CiAgICBjb2xvcjogIiMyNTYzZWIiLAogICAgcGVvcGxlOiBbCiAgICAgIHsgaWQ6ICJzZWxlbmUtZHVzayIsIG5hbWU6ICJTZWxlbmUiLCBhZ2U6IDQ1LCBnZW5kZXI6ICJXb21hbiIsIG9jY3VwYXRpb246ICJBc3Ryb25vbWVyIiwgdGVtcGVyYW1lbnQ6ICJEaXN0YW50LCBwcmVjaXNlIiwgaGFwcGluZXNzOiA1MCB9LAogICAgICB7IGlkOiAiamFzcGVyLWR1c2siLCBuYW1lOiAiSmFzcGVyIiwgYWdlOiA0NywgZ2VuZGVyOiAiTWFuIiwgb2NjdXBhdGlvbjogIkxlbnMgZ3JpbmRlciIsIHRlbXBlcmFtZW50OiAiUGF0aWVudCwgZGV2b3RlZCIsIGhhcHBpbmVzczogNjggfSwKICAgIF0sCiAgfSwKICB7CiAgICBjb2xvcjogIiNiZTE4NWQiLAogICAgcGVvcGxlOiBbCiAgICAgIHsgaWQ6ICJ0YWxpYS13cmVuIiwgbmFtZTogIlRhbGlhIiwgYWdlOiAyMiwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiRGFuY2VyIiwgdGVtcGVyYW1lbnQ6ICJQbGF5ZnVsLCBwcm91ZCIsIGhhcHBpbmVzczogNzQgfSwKICAgICAgeyBpZDogImJlY2std3JlbiIsIG5hbWU6ICJCZWNrIiwgYWdlOiAyMywgZ2VuZGVyOiAiTWFuIiwgb2NjdXBhdGlvbjogIkRydW1tZXIiLCB0ZW1wZXJhbWVudDogIkxvdWQsIGxveWFsIiwgaGFwcGluZXNzOiA1MiB9LAogICAgXSwKICB9LAogIHsKICAgIGNvbG9yOiAiIzA4OTFiMiIsCiAgICBwZW9wbGU6IFsKICAgICAgeyBpZDogIm1pcmEtaGFydCIsIG5hbWU6ICJNaXJhIiwgYWdlOiAzMCwgZ2VuZGVyOiAiV29tYW4iLCBvY2N1cGF0aW9uOiAiU2FpbG1ha2VyIiwgdGVtcGVyYW1lbnQ6ICJCcmlzaywgY2xldmVyIiwgaGFwcGluZXNzOiA0OCB9LAogICAgICB7IGlkOiAib3Jpb24taGFydCIsIG5hbWU6ICJPcmlvbiIsIGFnZTogMzEsIGdlbmRlcjogIk1hbiIsIG9jY3VwYXRpb246ICJQaWxvdCIsIHRlbXBlcmFtZW50OiAiQm9sZCwgc2VudGltZW50YWwiLCBoYXBwaW5lc3M6IDYwIH0sCiAgICBdLAogIH0sCl07Cgpmb3IgKGNvbnN0IHBhaXIgb2YgYWRkaXRpb25hbFBhaXJTZWVkcykgewogIGNvbnN0IFtwZXJzb25BLCBwZXJzb25CXSA9IHBhaXIucGVvcGxlOwoKICBwZW9wbGUucHVzaCgKICAgIHsKICAgICAgLi4ucGVyc29uQSwKICAgICAgbWFycmllZDogZmFsc2UsCiAgICAgIHJlbGF0aW9uc2hpcDogYERhdGluZyAke3BlcnNvbkIubmFtZX1gLAogICAgICBjb2xvcjogcGFpci5jb2xvciwKICAgIH0sCiAgICB7CiAgICAgIC4uLnBlcnNvbkIsCiAgICAgIG1hcnJpZWQ6IGZhbHNlLAogICAgICByZWxhdGlvbnNoaXA6IGBEYXRpbmcgJHtwZXJzb25BLm5hbWV9YCwKICAgICAgY29sb3I6IHBhaXIuY29sb3IsCiAgICB9CiAgKTsKCiAgY2xvc2VUaWVzW3BlcnNvbkEuaWRdID0gW3sgaWQ6IHBlcnNvbkIuaWQsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV07CiAgY2xvc2VUaWVzW3BlcnNvbkIuaWRdID0gW3sgaWQ6IHBlcnNvbkEuaWQsIGxhYmVsOiAiUGFydG5lciIsIHR5cGU6ICJyb21hbnRpYyIgfV07Cn0KCmNvbnN0IG1heFBlb3BsZUNvdW50ID0gcGVvcGxlLmxlbmd0aDsKY29uc3QgYm9hcmRDYXBhY2l0eSA9IGJvYXJkQ29scyAqIGJvYXJkUm93czsKY29uc3QgbWF4Qm9hcmRQZW9wbGVDb3VudCA9IE1hdGgubWluKG1heFBlb3BsZUNvdW50LCBib2FyZENhcGFjaXR5KTsKY29uc3QgYm91bmRlZFBlb3BsZUNvdW50ID0gTWF0aC5taW4oTWF0aC5tYXgoYWN0aXZlUGVvcGxlQ291bnQsIDIpLCBtYXhCb2FyZFBlb3BsZUNvdW50KTsKcGVvcGxlLmxlbmd0aCA9IGJvdW5kZWRQZW9wbGVDb3VudDsKCmNvbnN0IGFjdGl2ZVBlcnNvbklkcyA9"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="13" data-payload="IG5ldyBTZXQocGVvcGxlLm1hcCgocGVyc29uKSA9PiBwZXJzb24uaWQpKTsKCmZvciAoY29uc3QgcGVyc29uIG9mIHBlb3BsZSkgewogIGNvbnN0IHJvbWFudGljVGllID0gKGNsb3NlVGllc1twZXJzb24uaWRdID8/IFtdKS5maW5kKCh0aWUpID0+IHRpZS50eXBlID09PSAicm9tYW50aWMiKTsKCiAgaWYgKHJvbWFudGljVGllICYmICFhY3RpdmVQZXJzb25JZHMuaGFzKHJvbWFudGljVGllLmlkKSkgewogICAgY2xlYXJSb21hbnRpY1RpZShwZXJzb24uaWQpOwogICAgcGVyc29uLnJlbGF0aW9uc2hpcCA9ICJObyBjdXJyZW50IHBhcnRuZXIiOwogIH0KfQoKY29uc3QgYm9hcmQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYm9hcmQiKTsKY29uc3QgYm9hcmRXcmFwID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmJvYXJkLXdyYXAiKTsKY29uc3QgZGV0YWlsUGFuZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZGV0YWlsLXBhbmVsIik7CmNvbnN0IGRldGFpbEtpY2tlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5kZXRhaWwtcGFuZWwgLnBhbmVsLWtpY2tlciIpOwpjb25zdCBkZXRhaWxOYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2RldGFpbC1uYW1lIik7CmNvbnN0IGRldGFpbExpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZGV0YWlsLWxpc3QiKTsKY29uc3QgcmVzZXRCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcmVzZXQtYnV0dG9uIik7CmNvbnN0IHdpZHRoU2VsZWN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3dpZHRoLXNlbGVjdCIpOwpjb25zdCBoZWlnaHRTZWxlY3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaGVpZ2h0LXNlbGVjdCIpOwpjb25zdCBwZW9wbGVTZWxlY3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVvcGxlLXNlbGVjdCIpOwpjb25zdCBzdHJpZmVCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc3RyaWZlLWJ1dHRvbiIpOwpjb25zdCBwZW9wbGVCeUlkID0gbmV3IE1hcChwZW9wbGUubWFwKChwZXJzb24pID0+IFtwZXJzb24uaWQsIHBlcnNvbl0pKTsKY29uc3Qgb2NjdXBpZWRDZWxsc0J5SWQgPSBuZXcgTWFwKCk7CmNvbnN0IGNlbGxzQnlQb3NpdGlvbiA9IG5ldyBNYXAoKTsKY29uc3QgcmVjZW50TW92ZUNhbmRpZGF0ZUlkcyA9IFtdOwpjb25zdCBhdHRyYWN0aW9uT3ZlcnJpZGVzID0gbmV3IE1hcCgpOwpjb25zdCB0cnlzdFBsYW5zID0gbmV3IE1hcCgpOwpjb25zdCBpbW1vYmlsaXplZFBlb3BsZSA9IG5ldyBTZXQoKTsKY29uc3QgYmFuaXNoZWRQZW9wbGUgPSBuZXcgU2V0KCk7CmNvbnN0IGZhaWxlZFN0cmF5ZXJzID0gbmV3IFNldCgpOwpjb25zdCBqaWx0ZWRMb3NzZXMgPSBuZXcgTWFwKCk7CmNvbnN0IGNyeVJlY292ZXJ5VGlja3MgPSBuZXcgTWFwKCk7CmNvbnN0IGRlYWRSZWNvdmVyeVRpY2tzID0gbmV3IE1hcCgpOwpjb25zdCBzcGVlY2hCdWJibGVzID0gbmV3IE1hcCgpOwpsZXQgYWN0aXZlUGVyc29uSWQgPSBudWxsOwpsZXQgaXNTaW1QYXVzZWQgPSBmYWxzZTsKbGV0IGlzTW92ZVNlcXVlbmNlUnVubmluZyA9IGZhbHNlOwpsZXQgbW92ZW1lbnRMaW5lSGlkZVRpbWVyID0gbnVsbDsKCmZ1bmN0aW9uIHBvcHVsYXRlU2VsZWN0KHNlbGVjdCwgdmFsdWVzLCBzZWxlY3RlZFZhbHVlLCBwcmVmaXgsIGRlZmF1bHRWYWx1ZSkgewogIGlmICghc2VsZWN0KSB7CiAgICByZXR1cm47CiAgfQoKICBjb25zdCBwbGFjZWhvbGRlclNlbGVjdGVkID0gc2VsZWN0ZWRWYWx1ZSA9PT0gZGVmYXVsdFZhbHVlID8gIiBzZWxlY3RlZCIgOiAiIjsKICBjb25zdCBvcHRpb25zID0gW2A8b3B0aW9uIHZhbHVlPSIiJHtwbGFjZWhvbGRlclNlbGVjdGVkfT4ke3ByZWZpeH08L29wdGlvbj5gXTsKCiAgb3B0aW9ucy5wdXNoKC4uLnZhbHVlcy5tYXAoKHZhbHVlKSA9PiB7CiAgICBjb25zdCBzZWxlY3RlZCA9IHZhbHVlID09PSBzZWxlY3RlZFZhbHVlID8gIiBzZWxlY3RlZCIgOiAiIjsKICAgIHJldHVybiBgPG9wdGlvbiB2YWx1ZT0iJHt2YWx1ZX0iJHtzZWxlY3RlZH0+JHt2YWx1ZX08L29wdGlvbj5gOwogIH0pKTsKCiAgc2VsZWN0LmlubmVySFRNTCA9IG9wdGlvbnMuam9pbigiIik7Cn0KCmZ1bmN0aW9uIGFwcGx5U2V0dGluZ3NBbmRSZWxvYWQoKSB7CiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oImdhbWVfb2Zfc3RyaWZlX3dpZHRoIiwgU3RyaW5nKHdpZHRoU2VsZWN0Py52YWx1ZSB8fCBkZWZhdWx0Qm9hcmRDb2xzKSk7CiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oImdhbWVfb2Zfc3RyaWZlX2hlaWdodCIsIFN0cmluZyhoZWlnaHRTZWxlY3Q/LnZhbHVlIHx8IGRlZmF1bHRCb2FyZFJvd3MpKTsKICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiZ2FtZV9vZl9zdHJpZmVfcGVvcGxlIiwgU3RyaW5nKHBlb3BsZVNlbGVjdD8udmFsdWUgfHwgZGVmYXVsdFBlb3BsZUNvdW50KSk7CiAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwp9CgpmdW5jdGlvbiBzaHVmZmxlZENlbGxzKCkgewogIGNvbnN0IGNlbGxzID0gW107CgogIGZvciAobGV0IHJvdyA9IDE7IHJvdyA8PSBib2FyZFJvd3M7IHJvdyArPSAxKSB7CiAgICBmb3IgKGxldCBjb2wgPSAxOyBjb2wgPD0gYm9hcmRDb2xzOyBjb2wgKz0gMSkgewogICAgICBjZWxscy5wdXNoKHsgcm93LCBjb2wgfSk7CiAgICB9CiAgfQoKICByZXR1cm4gY2VsbHMuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0g"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="14" data-payload="MC41KTsKfQoKZnVuY3Rpb24gcmFuZG9taXplU3RhcnRpbmdMb2NhdGlvbnMoKSB7CiAgY29uc3QgY2VsbHMgPSBzaHVmZmxlZENlbGxzKCk7CgogIHBlb3BsZS5mb3JFYWNoKChwZXJzb24sIGluZGV4KSA9PiB7CiAgICBpZiAoIWNlbGxzW2luZGV4XSkgewogICAgICByZXR1cm47CiAgICB9CgogICAgcGVyc29uLnJvdyA9IGNlbGxzW2luZGV4XS5yb3c7CiAgICBwZXJzb24uY29sID0gY2VsbHNbaW5kZXhdLmNvbDsKICB9KTsKfQoKcmFuZG9taXplU3RhcnRpbmdMb2NhdGlvbnMoKTsKCmNvbnN0IHBlb3BsZUJ5UG9zaXRpb24gPSBuZXcgTWFwKAogIHBlb3BsZS5tYXAoKHBlcnNvbikgPT4gW2Ake3BlcnNvbi5yb3d9LSR7cGVyc29uLmNvbH1gLCBwZXJzb25dKQopOwoKZnVuY3Rpb24gcG9zaXRpb25LZXkocm93LCBjb2wpIHsKICByZXR1cm4gYCR7cm93fS0ke2NvbH1gOwp9CgpmdW5jdGlvbiBmZWVsaW5nRm9yKHBlcnNvbikgewogIGNvbnN0IHJvbWFudGljVGllSXNOZWFyID0gZ3JpZFRpZXNGb3IocGVyc29uKS5zb21lKCh0aWUpID0+IHsKICAgIGNvbnN0IG90aGVyUGVyc29uID0gcGVvcGxlQnlJZC5nZXQodGllLmlkKTsKICAgIHJldHVybiB0aWUudHlwZSA9PT0gInJvbWFudGljIiAmJiBvdGhlclBlcnNvbiAmJiBkaXN0YW5jZUJldHdlZW4oCiAgICAgIHBlcnNvbi5yb3csCiAgICAgIHBlcnNvbi5jb2wsCiAgICAgIG90aGVyUGVyc29uLnJvdywKICAgICAgb3RoZXJQZXJzb24uY29sCiAgICApIDw9IDI7CiAgfSk7CgogIGlmIChyb21hbnRpY1RpZUlzTmVhciAmJiBwZXJzb24uaGFwcGluZXNzID49IDYwKSB7CiAgICByZXR1cm4geyBuYW1lOiAiUm9tYW50aWMiLCBlbW9qaTogIvCfpbAiIH07CiAgfQoKICByZXR1cm4gZmVlbGluZ3MuZmluZCgoZmVlbGluZykgPT4gcGVyc29uLmhhcHBpbmVzcyA+PSBmZWVsaW5nLm1pbkhhcHBpbmVzcykgPz8gZmVlbGluZ3MuYXQoLTEpOwp9CgpmdW5jdGlvbiB5ZXNObyh2YWx1ZSkgewogIHJldHVybiB2YWx1ZSA/ICJZZXMiIDogIk5vIjsKfQoKZnVuY3Rpb24gdG9rZW5MYWJlbChuYW1lKSB7CiAgcmV0dXJuIG5hbWUuc2xpY2UoMCwgNCkudG9VcHBlckNhc2UoKTsKfQoKZnVuY3Rpb24gaXNPbkdyaWQocGVyc29uSWQpIHsKICByZXR1cm4gb2NjdXBpZWRDZWxsc0J5SWQuaGFzKHBlcnNvbklkKTsKfQoKZnVuY3Rpb24gZGVmYXVsdFJvbWFudGljVGllRm9yKHBlcnNvbikgewogIHJldHVybiAoY2xvc2VUaWVzW3BlcnNvbi5pZF0gPz8gW10pLmZpbmQoKHRpZSkgPT4gdGllLnR5cGUgPT09ICJyb21hbnRpYyIpID8/IG51bGw7Cn0KCmZ1bmN0aW9uIGN1cnJlbnRSb21hbnRpY1RhcmdldElkKHBlcnNvbikgewogIHJldHVybiBhdHRyYWN0aW9uT3ZlcnJpZGVzLmdldChwZXJzb24uaWQpID8/IGRlZmF1bHRSb21hbnRpY1RpZUZvcihwZXJzb24pPy5pZCA/PyBudWxsOwp9CgpmdW5jdGlvbiBjdXJyZW50Um9tYW50aWNMYWJlbEZvcihwZXJzb24pIHsKICByZXR1cm4gZGVmYXVsdFJvbWFudGljVGllRm9yKHBlcnNvbik/LmxhYmVsID8/IChwZXJzb24ubWFycmllZCA/ICJTcG91c2UiIDogIlBhcnRuZXIiKTsKfQoKZnVuY3Rpb24gaGFzQWN0aXZlVHJ5c3RQbGFuKHBlcnNvbklkKSB7CiAgcmV0dXJuIHRyeXN0UGxhbnMuaGFzKHBlcnNvbklkKTsKfQoKZnVuY3Rpb24gdHJ5c3RQbGFuRm9yUml2YWwocGVyc29uSWQpIHsKICBmb3IgKGNvbnN0IHBsYW4gb2YgdHJ5c3RQbGFucy52YWx1ZXMoKSkgewogICAgaWYgKHBsYW4uc3RhdGUgPT09ICJyYWNpbmciICYmIHBsYW4udGFyZ2V0UGFydG5lcklkID09PSBwZXJzb25JZCkgewogICAgICByZXR1cm4gcGxhbjsKICAgIH0KICB9CgogIHJldHVybiBudWxsOwp9CgpmdW5jdGlvbiB0cnlzdFBsYW5JbnZvbHZpbmcocGVyc29uSWQpIHsKICBmb3IgKGNvbnN0IHBsYW4gb2YgdHJ5c3RQbGFucy52YWx1ZXMoKSkgewogICAgaWYgKAogICAgICBwbGFuLmlsbGljaXRQZXJzb25JZCA9PT0gcGVyc29uSWQgfHwKICAgICAgcGxhbi50YXJnZXRJZCA9PT0gcGVyc29uSWQgfHwKICAgICAgcGxhbi50YXJnZXRQYXJ0bmVySWQgPT09IHBlcnNvbklkCiAgICApIHsKICAgICAgcmV0dXJuIHBsYW47CiAgICB9CiAgfQoKICByZXR1cm4gbnVsbDsKfQoKZnVuY3Rpb24gdHJ5c3RQbGFuVGFyZ2V0aW5nKHBlcnNvbklkKSB7CiAgZm9yIChjb25zdCBwbGFuIG9mIHRyeXN0UGxhbnMudmFsdWVzKCkpIHsKICAgIGlmIChwbGFuLnRhcmdldElkID09PSBwZXJzb25JZCkgewogICAgICByZXR1cm4gcGxhbjsKICAgIH0KICB9CgogIHJldHVybiBudWxsOwp9CgpmdW5jdGlvbiB1c2VySW5pdGlhdGVkVHJ5c3RDb3VudCgpIHsKICByZXR1cm4gQXJyYXkuZnJvbSh0cnlzdFBsYW5zLnZhbHVlcygpKQogICAgLmZpbHRlcigocGxhbikgPT4gcGxhbi5pbml0aWF0ZWRCeSA9PT0gInVzZXIiKQogICAgLmxlbmd0aDsKfQoKZnVuY3Rpb24gaXNJbW1vYmlsZShwZXJzb24pIHsKICBpZiAoIXBlcnNvbikgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgcmV0dXJuIGltbW9iaWxpemVkUGVvcGxlLmhhcyhwZXJzb24uaWQpIHx8IGJhbmlzaGVkUGVvcGxlLmhhcyhwZXJzb24uaWQpOwp9CgpmdW5jdGlvbiBjbGVhclJvbWFudGljVGllKHBlcnNvbklkKSB7CiAgY2xvc2VUaWVzW3BlcnNvbklkXSA9IChjbG9zZVRpZXNbcGVyc29uSWRdID8/IFtdKS5maWx0ZXIoKHRpZSkgPT4gdGllLnR5cGUgIT09"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="15" data-payload="ICJyb21hbnRpYyIpOwp9CgpmdW5jdGlvbiBzeW5jQ291cGxlQ29sb3IocGVyc29uSWQsIHRhcmdldElkKSB7CiAgY29uc3QgcGVyc29uID0gcGVvcGxlQnlJZC5nZXQocGVyc29uSWQpOwogIGNvbnN0IHRhcmdldCA9IHBlb3BsZUJ5SWQuZ2V0KHRhcmdldElkKTsKCiAgaWYgKCFwZXJzb24gfHwgIXRhcmdldCkgewogICAgcmV0dXJuOwogIH0KCiAgdGFyZ2V0LmNvbG9yID0gcGVyc29uLmNvbG9yOwp9CgpmdW5jdGlvbiBzZXRSb21hbnRpY1RpZShwZXJzb25JZCwgdGFyZ2V0SWQsIGxhYmVsID0gIlBhcnRuZXIiKSB7CiAgY29uc3Qgbm9uUm9tYW50aWNUaWVzID0gKGNsb3NlVGllc1twZXJzb25JZF0gPz8gW10pLmZpbHRlcigodGllKSA9PiB0aWUudHlwZSAhPT0gInJvbWFudGljIik7CiAgY2xvc2VUaWVzW3BlcnNvbklkXSA9IFsKICAgIC4uLm5vblJvbWFudGljVGllcywKICAgIHsgaWQ6IHRhcmdldElkLCBsYWJlbCwgdHlwZTogInJvbWFudGljIiB9LAogIF07Cn0KCmZ1bmN0aW9uIHRhcmdldElzRnJlZUZvclRyeXN0KHRhcmdldElkLCBpbGxpY2l0UGVyc29uSWQsIG9yaWdpbmFsUGFydG5lcklkKSB7CiAgaWYgKHRhcmdldElkID09PSBpbGxpY2l0UGVyc29uSWQgfHwgdGFyZ2V0SWQgPT09IG9yaWdpbmFsUGFydG5lcklkKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBpZiAodHJ5c3RQbGFuVGFyZ2V0aW5nKHRhcmdldElkKSkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgaWYgKHRyeXN0UGxhbkludm9sdmluZyh0YXJnZXRJZCkpIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIHJldHVybiAhaW1tb2JpbGl6ZWRQZW9wbGUuaGFzKHRhcmdldElkKSAmJiAhYmFuaXNoZWRQZW9wbGUuaGFzKHRhcmdldElkKTsKfQoKZnVuY3Rpb24gZWxpZ2libGVTdHJheWVycygpIHsKICByZXR1cm4gcGVvcGxlLmZpbHRlcigocGVyc29uKSA9PiB7CiAgICBjb25zdCBvcmlnaW5hbFBhcnRuZXJJZCA9IGRlZmF1bHRSb21hbnRpY1RpZUZvcihwZXJzb24pPy5pZDsKCiAgICByZXR1cm4gQm9vbGVhbihvcmlnaW5hbFBhcnRuZXJJZCkgJiYKICAgICAgIWlzSW1tb2JpbGUocGVyc29uKSAmJgogICAgICAhdHJ5c3RQbGFuSW52b2x2aW5nKHBlcnNvbi5pZCkgJiYKICAgICAgIXRyeXN0UGxhbkludm9sdmluZyhvcmlnaW5hbFBhcnRuZXJJZCkgJiYKICAgICAgIWlzSW1tb2JpbGUocGVvcGxlQnlJZC5nZXQob3JpZ2luYWxQYXJ0bmVySWQpKTsKICB9KTsKfQoKZnVuY3Rpb24gc3RhcnRBdHRyYWN0aW9uT3ZlcnJpZGUocGVyc29uLCBpbml0aWF0ZWRCeSA9ICJyYW5kb20iKSB7CiAgaWYgKCFwZXJzb24pIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGNvbnN0IG9yaWdpbmFsUGFydG5lcklkID0gZGVmYXVsdFJvbWFudGljVGllRm9yKHBlcnNvbik/LmlkOwogIGNvbnN0IGN1cnJlbnRUYXJnZXRJZCA9IGN1cnJlbnRSb21hbnRpY1RhcmdldElkKHBlcnNvbik7CiAgY29uc3QgYWx0ZXJuYXRlVGFyZ2V0cyA9IHBlb3BsZS5maWx0ZXIoKGNhbmRpZGF0ZSkgPT4gewogICAgcmV0dXJuIGNhbmRpZGF0ZS5pZCAhPT0gcGVyc29uLmlkICYmCiAgICAgIGNhbmRpZGF0ZS5pZCAhPT0gY3VycmVudFRhcmdldElkICYmCiAgICAgIHRhcmdldElzRnJlZUZvclRyeXN0KGNhbmRpZGF0ZS5pZCwgcGVyc29uLmlkLCBvcmlnaW5hbFBhcnRuZXJJZCk7CiAgfSk7CgogIGlmIChhbHRlcm5hdGVUYXJnZXRzLmxlbmd0aCA9PT0gMCkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgY29uc3QgdGFyZ2V0SWQgPSByYW5kb21Gcm9tKGFsdGVybmF0ZVRhcmdldHMpLmlkOwogIGNvbnN0IHRhcmdldCA9IHBlb3BsZUJ5SWQuZ2V0KHRhcmdldElkKTsKICBjb25zdCB0YXJnZXROYW1lID0gdGFyZ2V0Py5uYW1lID8/ICJzb21lb25lIjsKICBjb25zdCB0YXJnZXRQYXJ0bmVySWQgPSB0YXJnZXQgPyBkZWZhdWx0Um9tYW50aWNUaWVGb3IodGFyZ2V0KT8uaWQgPz8gbnVsbCA6IG51bGw7CiAgY29uc3QgdGFyZ2V0UmVzcG9uc2UgPSBNYXRoLnJhbmRvbSgpIDwgMC41ID8gImFjY2VwdCIgOiAicmVqZWN0IjsKICBjb25zdCB0cnlzdElkID0gcGVyc29uLmlkOwoKICBhdHRyYWN0aW9uT3ZlcnJpZGVzLnNldChwZXJzb24uaWQsIHRhcmdldElkKTsKICB0cnlzdFBsYW5zLnNldCh0cnlzdElkLCB7CiAgICBpbGxpY2l0UGVyc29uSWQ6IHBlcnNvbi5pZCwKICAgIG9yaWdpbmFsUGFydG5lcklkLAogICAgY2hhc2VyUGFydG5lcklkOiBvcmlnaW5hbFBhcnRuZXJJZCwKICAgIHRhcmdldElkLAogICAgdGFyZ2V0UGFydG5lcklkLAogICAgZXhpbGVDb3JuZXI6IG51bGwsCiAgICBzdGF0ZTogImludGVyZXN0IiwKICAgIHRhcmdldFJlc3BvbnNlLAogICAgcmVzcG9uc2VUdXJuc1JlbWFpbmluZzogdHJ5c3RSZXNwb25zZVR1cm5zLAogICAgYmxvY2tlclR1cm5zUmVtYWluaW5nOiB0cnlzdEJsb2NrZXJUdXJucywKICAgIGluaXRpYXRlZEJ5LAogIH0pOwoKICBzZXRTcGVlY2hCdWJibGUocGVyc29uLmlkLCBzcGVlY2hQaHJhc2VGb3IoInN0cmF5X2NoYXNlciIsIHsgdGFyZ2V0OiB0YXJnZXROYW1lIH0pLCAzLCB0cnlzdElkKTsKICB1cGRhdGVUcnlzdExpbmVzKCk7CgogIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBoYXNBdHRyYWN0aW9uT3ZlcnJpZGUocGVyc29uKSB7CiAgcmV0dXJuIGF0dHJhY3Rpb25PdmVycmlkZXMuaGFzKHBlcnNvbi5pZCk7Cn0KCmZ1bmN0aW9uIGlzRXhpbGluZyhw"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="16" data-payload="ZXJzb24pIHsKICByZXR1cm4gdHJ5c3RQbGFucy5nZXQocGVyc29uLmlkKT8uc3RhdGUgPT09ICJleGlsaW5nIjsKfQoKZnVuY3Rpb24gc2V0U3BlZWNoQnViYmxlKHBlcnNvbklkLCB0ZXh0LCB0aWNrcyA9IDMsIHRyeXN0SWQgPSBudWxsKSB7CiAgaWYgKCFwZXJzb25JZCB8fCAhdGV4dCkgewogICAgcmV0dXJuOwogIH0KCiAgc3BlZWNoQnViYmxlcy5zZXQocGVyc29uSWQsIHsgdGV4dCwgdGlja3NSZW1haW5pbmc6IHRpY2tzLCB0cnlzdElkIH0pOwogIGNvbnN0IHBlcnNvbiA9IHBlb3BsZUJ5SWQuZ2V0KHBlcnNvbklkKTsKCiAgaWYgKHBlcnNvbikgewogICAgdXBkYXRlUGVyc29uQ2VsbChwZXJzb24pOwogIH0KfQoKZnVuY3Rpb24gY2xlYXJTcGVlY2hCdWJibGUocGVyc29uSWQpIHsKICBzcGVlY2hCdWJibGVzLmRlbGV0ZShwZXJzb25JZCk7Cn0KCmZ1bmN0aW9uIHN0YXJ0Q3J5UmVjb3ZlcnkocGVyc29uSWQpIHsKICBpZiAoIXBlcnNvbklkKSB7CiAgICByZXR1cm47CiAgfQoKICBpbW1vYmlsaXplZFBlb3BsZS5hZGQocGVyc29uSWQpOwogIGNyeVJlY292ZXJ5VGlja3Muc2V0KHBlcnNvbklkLCByZWNvdmVyeVN0YXRlVGlja3MpOwp9CgpmdW5jdGlvbiBzdGFydERlYWRSZWNvdmVyeShwZXJzb25JZCkgewogIGlmICghcGVyc29uSWQpIHsKICAgIHJldHVybjsKICB9CgogIGZhaWxlZFN0cmF5ZXJzLmFkZChwZXJzb25JZCk7CiAgYmFuaXNoZWRQZW9wbGUuYWRkKHBlcnNvbklkKTsKICBkZWFkUmVjb3ZlcnlUaWNrcy5zZXQocGVyc29uSWQsIHJlY292ZXJ5U3RhdGVUaWNrcyk7Cn0KCmZ1bmN0aW9uIGFnZVJlY292ZXJ5VGlja3MocmVjb3ZlcnlUaWNrcywgY2xlYXJSZWNvdmVyZWRTdGF0ZSkgewogIGZvciAoY29uc3QgW3BlcnNvbklkLCB0aWNrc1JlbWFpbmluZ10gb2YgcmVjb3ZlcnlUaWNrcy5lbnRyaWVzKCkpIHsKICAgIGNvbnN0IG5leHRUaWNrc1JlbWFpbmluZyA9IHRpY2tzUmVtYWluaW5nIC0gMTsKCiAgICBpZiAobmV4dFRpY2tzUmVtYWluaW5nIDw9IDApIHsKICAgICAgcmVjb3ZlcnlUaWNrcy5kZWxldGUocGVyc29uSWQpOwogICAgICBjbGVhclJlY292ZXJlZFN0YXRlKHBlcnNvbklkKTsKICAgICAgdXBkYXRlUGVyc29uQ2VsbChwZW9wbGVCeUlkLmdldChwZXJzb25JZCkpOwogICAgfSBlbHNlIHsKICAgICAgcmVjb3ZlcnlUaWNrcy5zZXQocGVyc29uSWQsIG5leHRUaWNrc1JlbWFpbmluZyk7CiAgICAgIHVwZGF0ZVBlcnNvbkNlbGwocGVvcGxlQnlJZC5nZXQocGVyc29uSWQpKTsKICAgIH0KICB9Cn0KCmZ1bmN0aW9uIGFnZUNyeVJlY292ZXJ5KCkgewogIGFnZVJlY292ZXJ5VGlja3MoY3J5UmVjb3ZlcnlUaWNrcywgKHBlcnNvbklkKSA9PiB7CiAgICBpbW1vYmlsaXplZFBlb3BsZS5kZWxldGUocGVyc29uSWQpOwogIH0pOwp9CgpmdW5jdGlvbiBhZ2VEZWFkUmVjb3ZlcnkoKSB7CiAgYWdlUmVjb3ZlcnlUaWNrcyhkZWFkUmVjb3ZlcnlUaWNrcywgKHBlcnNvbklkKSA9PiB7CiAgICBmYWlsZWRTdHJheWVycy5kZWxldGUocGVyc29uSWQpOwogICAgYmFuaXNoZWRQZW9wbGUuZGVsZXRlKHBlcnNvbklkKTsKICB9KTsKfQoKZnVuY3Rpb24gcmVjb3ZlcnlPcGFjaXR5Rm9yKHBlcnNvbklkKSB7CiAgY29uc3QgdGlja3NSZW1haW5pbmcgPSBjcnlSZWNvdmVyeVRpY2tzLmdldChwZXJzb25JZCkgPz8gZGVhZFJlY292ZXJ5VGlja3MuZ2V0KHBlcnNvbklkKTsKCiAgaWYgKHRpY2tzUmVtYWluaW5nID09PSB1bmRlZmluZWQpIHsKICAgIHJldHVybiBudWxsOwogIH0KCiAgY29uc3QgcHJvZ3Jlc3MgPSAocmVjb3ZlcnlTdGF0ZVRpY2tzIC0gdGlja3NSZW1haW5pbmcpIC8gcmVjb3ZlcnlGYWRlVGlja3M7CiAgcmV0dXJuIDAuMSArIHByb2dyZXNzICogMC45Owp9CgpmdW5jdGlvbiBjbGVhclRyeXN0U3BlZWNoQnViYmxlcyh0cnlzdElkKSB7CiAgZm9yIChjb25zdCBbcGVyc29uSWQsIGJ1YmJsZV0gb2Ygc3BlZWNoQnViYmxlcy5lbnRyaWVzKCkpIHsKICAgIGlmIChidWJibGUudHJ5c3RJZCA9PT0gdHJ5c3RJZCkgewogICAgICBzcGVlY2hCdWJibGVzLmRlbGV0ZShwZXJzb25JZCk7CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBhZ2VTcGVlY2hCdWJibGVzKCkgewogIGZvciAoY29uc3QgW3BlcnNvbklkLCBidWJibGVdIG9mIHNwZWVjaEJ1YmJsZXMuZW50cmllcygpKSB7CiAgICBpZiAoYnViYmxlLnRyeXN0SWQgJiYgdHJ5c3RQbGFucy5oYXMoYnViYmxlLnRyeXN0SWQpKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAgIGJ1YmJsZS50aWNrc1JlbWFpbmluZyAtPSAxOwoKICAgIGlmIChidWJibGUudGlja3NSZW1haW5pbmcgPD0gMCkgewogICAgICBzcGVlY2hCdWJibGVzLmRlbGV0ZShwZXJzb25JZCk7CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBhZ2VUcnlzdEFmdGVybWF0aCgpIHsKICBmb3IgKGNvbnN0IFt0cnlzdElkLCBwbGFuXSBvZiB0cnlzdFBsYW5zLmVudHJpZXMoKSkgewogICAgaWYgKCFbInJlamVjdGVkIiwgImRlZmVuZGVkIiwgIndvbl9hZnRlcm1hdGgiXS5pbmNsdWRlcyhwbGFuLnN0YXRlKSkgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBwbGFuLnRpY2tzUmVtYWluaW5nIC09IDE7CgogICAgaWYgKHBsYW4udGlja3NSZW1haW5pbmcgPD0gMCkgewogICAgICBjbGVhclRyeXN0U3BlZWNoQnViYmxlcyh0cnlzdElkKTsKICAgICAgdHJ5c3RQbGFucy5kZWxldGUodHJ5c3RJZCk7CiAgICB9CiAgfQp9"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="17" data-payload="CgpmdW5jdGlvbiByb21hbnRpY1RhcmdldERpc3RhbmNlKHBlcnNvbikgewogIGNvbnN0IHRhcmdldElkID0gY3VycmVudFJvbWFudGljVGFyZ2V0SWQocGVyc29uKTsKICBjb25zdCB0YXJnZXQgPSB0YXJnZXRJZCA/IHBlb3BsZUJ5SWQuZ2V0KHRhcmdldElkKSA6IG51bGw7CgogIGlmICghdGFyZ2V0KSB7CiAgICByZXR1cm4gbnVsbDsKICB9CgogIHJldHVybiBkaXN0YW5jZUJldHdlZW4ocGVyc29uLnJvdywgcGVyc29uLmNvbCwgdGFyZ2V0LnJvdywgdGFyZ2V0LmNvbCk7Cn0KCmZ1bmN0aW9uIGlzVHJ5c3RUYXJnZXQocGVyc29uKSB7CiAgZm9yIChjb25zdCB0YXJnZXRJZCBvZiBhdHRyYWN0aW9uT3ZlcnJpZGVzLnZhbHVlcygpKSB7CiAgICBpZiAodGFyZ2V0SWQgPT09IHBlcnNvbi5pZCkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9CgogIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gbWF5YmVDcmVhdGVBdHRyYWN0aW9uT3ZlcnJpZGUoKSB7CiAgaWYgKE1hdGgucmFuZG9tKCkgPj0gMC4wMikgewogICAgcmV0dXJuOwogIH0KCiAgaWYgKHVzZXJJbml0aWF0ZWRUcnlzdENvdW50KCkgPiBtYXhVc2VyVHJ5c3RzRm9yUmFuZG9tVHJ5c3QpIHsKICAgIHJldHVybjsKICB9CgogIGNvbnN0IGVsaWdpYmxlUGVvcGxlID0gZWxpZ2libGVTdHJheWVycygpOwoKICBpZiAoZWxpZ2libGVQZW9wbGUubGVuZ3RoID09PSAwKSB7CiAgICByZXR1cm47CiAgfQoKICBzdGFydEF0dHJhY3Rpb25PdmVycmlkZShyYW5kb21Gcm9tKGVsaWdpYmxlUGVvcGxlKSk7CiAgdXBkYXRlVHJ5c3RMaW5lcygpOwp9CgpmdW5jdGlvbiBncmlkVGllc0ZvcihwZXJzb24pIHsKICByZXR1cm4gKGNsb3NlVGllc1twZXJzb24uaWRdID8/IFtdKQogICAgLm1hcCgodGllKSA9PiB7CiAgICAgIGlmICh0aWUudHlwZSAhPT0gInJvbWFudGljIikgewogICAgICAgIHJldHVybiB0aWU7CiAgICAgIH0KCiAgICAgIGNvbnN0IHRhcmdldElkID0gY3VycmVudFJvbWFudGljVGFyZ2V0SWQocGVyc29uKTsKCiAgICAgIHJldHVybiB0YXJnZXRJZCA/IHsKICAgICAgICAuLi50aWUsCiAgICAgICAgaWQ6IHRhcmdldElkLAogICAgICAgIGxhYmVsOiBoYXNBdHRyYWN0aW9uT3ZlcnJpZGUocGVyc29uKSA/ICJBdHRyYWN0ZWQgdG8iIDogdGllLmxhYmVsLAogICAgICB9IDogbnVsbDsKICAgIH0pCiAgICAuZmlsdGVyKEJvb2xlYW4pCiAgICAuZmlsdGVyKCh0aWUpID0+IGlzT25HcmlkKHRpZS5pZCkpOwp9CgpmdW5jdGlvbiBjbG9zZVRpZUxhYmVscyhwZXJzb24pIHsKICBjb25zdCB0aWVzID0gZ3JpZFRpZXNGb3IocGVyc29uKTsKCiAgaWYgKHRpZXMubGVuZ3RoID09PSAwKSB7CiAgICByZXR1cm4gIk5vIGNvdXBsZSBvbiBncmlkIjsKICB9CgogIHJldHVybiB0aWVzCiAgICAubWFwKCh0aWUpID0+IGAke3Blb3BsZUJ5SWQuZ2V0KHRpZS5pZCk/Lm5hbWUgPz8gIlVua25vd24ifSAoJHt0aWUubGFiZWx9KWApCiAgICAuam9pbigiLCAiKTsKfQoKZnVuY3Rpb24gcmVsYXRpb25zaGlwU3RhdHVzKHBlcnNvbikgewogIGlmIChmYWlsZWRTdHJheWVycy5oYXMocGVyc29uLmlkKSkgewogICAgcmV0dXJuICJHYXZlIHVwIGFmdGVyIGJlaW5nIHJlamVjdGVkIjsKICB9CgogIGlmIChiYW5pc2hlZFBlb3BsZS5oYXMocGVyc29uLmlkKSkgewogICAgcmV0dXJuICJCYW5pc2hlZCB0byB0aGUgY29ybmVyIjsKICB9CgogIGlmIChpc0V4aWxpbmcocGVyc29uKSkgewogICAgcmV0dXJuICJSZWplY3RlZCBhbmQgcnVubmluZyB0b3dhcmQgZXhpbGUiOwogIH0KCiAgaWYgKGltbW9iaWxpemVkUGVvcGxlLmhhcyhwZXJzb24uaWQpKSB7CiAgICByZXR1cm4gIkhlYXJ0YnJva2VuIGFuZCBmcm96ZW4gaW4gcGxhY2UiOwogIH0KCiAgaWYgKCFkZWZhdWx0Um9tYW50aWNUaWVGb3IocGVyc29uKSkgewogICAgcmV0dXJuICJObyBjdXJyZW50IHBhcnRuZXIiOwogIH0KCiAgaWYgKCFoYXNBdHRyYWN0aW9uT3ZlcnJpZGUocGVyc29uKSkgewogICAgcmV0dXJuIHBlcnNvbi5yZWxhdGlvbnNoaXA7CiAgfQoKICBjb25zdCB0YXJnZXROYW1lID0gcGVvcGxlQnlJZC5nZXQoY3VycmVudFJvbWFudGljVGFyZ2V0SWQocGVyc29uKSk/Lm5hbWUgPz8gInNvbWVvbmUgZWxzZSI7CiAgcmV0dXJuIGAke3BlcnNvbi5yZWxhdGlvbnNoaXB9IOKAoiBub3cgYXR0cmFjdGVkIHRvICR7dGFyZ2V0TmFtZX1gOwp9CgpmdW5jdGlvbiBwb3NpdGlvbkRldGFpbFBhbmVsKGNlbGwpIHsKICBjb25zdCBjZWxsQm94ID0gY2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICBjb25zdCBwYW5lbEJveCA9IGRldGFpbFBhbmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogIGNvbnN0IGdhcCA9IDEyOwogIGxldCBsZWZ0ID0gY2VsbEJveC5yaWdodCArIGdhcDsKICBsZXQgdG9wID0gY2VsbEJveC50b3AgKyBjZWxsQm94LmhlaWdodCAvIDIgLSBwYW5lbEJveC5oZWlnaHQgLyAyOwoKICBpZiAobGVmdCArIHBhbmVsQm94LndpZHRoID4gd2luZG93LmlubmVyV2lkdGggLSBnYXApIHsKICAgIGxlZnQgPSBjZWxsQm94LmxlZnQgLSBwYW5lbEJveC53aWR0aCAtIGdhcDsKICB9CgogIGlmIChsZWZ0IDwgZ2FwKSB7CiAgICBsZWZ0ID0gZ2FwOwogIH0KCiAgaWYgKHRvcCArIHBhbmVsQm94LmhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCAtIGdhcCkgewogICAgdG9wID0gd2luZG93LmlubmVySGVpZ2h0IC0gcGFuZWxCb3gu"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="18" data-payload="aGVpZ2h0IC0gZ2FwOwogIH0KCiAgaWYgKHRvcCA8IGdhcCkgewogICAgdG9wID0gZ2FwOwogIH0KCiAgZGV0YWlsUGFuZWwuc3R5bGUubGVmdCA9IGAke2xlZnR9cHhgOwogIGRldGFpbFBhbmVsLnN0eWxlLnRvcCA9IGAke3RvcH1weGA7Cn0KCmZ1bmN0aW9uIGNsZWFyUmVsYXRpb25zaGlwSGlnaGxpZ2h0cygpIHsKICBmb3IgKGNvbnN0IGNlbGwgb2Ygb2NjdXBpZWRDZWxsc0J5SWQudmFsdWVzKCkpIHsKICAgIGNlbGwuY2xhc3NMaXN0LnJlbW92ZSgicm9tYW50aWMtaGlnaGxpZ2h0Iik7CiAgfQp9CgpmdW5jdGlvbiBhcHBseVJlbGF0aW9uc2hpcEhpZ2hsaWdodHMocGVyc29uKSB7CiAgY2xlYXJSZWxhdGlvbnNoaXBIaWdobGlnaHRzKCk7CgogIGZvciAoY29uc3QgdGllIG9mIGdyaWRUaWVzRm9yKHBlcnNvbikpIHsKICAgIGNvbnN0IHJlbGF0ZWRDZWxsID0gb2NjdXBpZWRDZWxsc0J5SWQuZ2V0KHRpZS5pZCk7CgogICAgaWYgKCFyZWxhdGVkQ2VsbCkgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBpZiAodGllLnR5cGUgPT09ICJyb21hbnRpYyIpIHsKICAgICAgcmVsYXRlZENlbGwuY2xhc3NMaXN0LmFkZCgicm9tYW50aWMtaGlnaGxpZ2h0Iik7CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBwYXJ0bmVyTmFtZUZvcihwZXJzb24pIHsKICBjb25zdCBwYXJ0bmVySWQgPSBkZWZhdWx0Um9tYW50aWNUaWVGb3IocGVyc29uKT8uaWQ7CiAgcmV0dXJuIHBhcnRuZXJJZCA/IChwZW9wbGVCeUlkLmdldChwYXJ0bmVySWQpPy5uYW1lID8/ICJVbmtub3duIikgOiAiTm8gcGFydG5lciI7Cn0KCmZ1bmN0aW9uIHBpbmluZ1RhcmdldE5hbWVGb3IocGVyc29uKSB7CiAgaWYgKCFoYXNBdHRyYWN0aW9uT3ZlcnJpZGUocGVyc29uKSkgewogICAgcmV0dXJuIG51bGw7CiAgfQoKICBjb25zdCB0YXJnZXRJZCA9IGN1cnJlbnRSb21hbnRpY1RhcmdldElkKHBlcnNvbik7CiAgcmV0dXJuIHRhcmdldElkID8gKHBlb3BsZUJ5SWQuZ2V0KHRhcmdldElkKT8ubmFtZSA/PyAiVW5rbm93biIpIDogbnVsbDsKfQoKZnVuY3Rpb24gcHVyc3VlcnNPZihwZXJzb25JZCwgZXhjbHVkZWRQZXJzb25JZCA9IG51bGwpIHsKICBjb25zdCBwdXJzdWVycyA9IFtdOwoKICBmb3IgKGNvbnN0IHBsYW4gb2YgdHJ5c3RQbGFucy52YWx1ZXMoKSkgewogICAgaWYgKHBsYW4udGFyZ2V0SWQgIT09IHBlcnNvbklkIHx8IHBsYW4uaWxsaWNpdFBlcnNvbklkID09PSBleGNsdWRlZFBlcnNvbklkKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAgIHB1cnN1ZXJzLnB1c2gocGVvcGxlQnlJZC5nZXQocGxhbi5pbGxpY2l0UGVyc29uSWQpPy5uYW1lID8/ICJVbmtub3duIik7CiAgfQoKICByZXR1cm4gcHVyc3VlcnM7Cn0KCmZ1bmN0aW9uIHB1cnN1aXRTdW1tYXJ5Rm9yKHBlcnNvbikgewogIGNvbnN0IHN1bW1hcmllcyA9IFtdOwogIGNvbnN0IGRpcmVjdFB1cnN1ZXJzID0gcHVyc3VlcnNPZihwZXJzb24uaWQsIHBlcnNvbi5pZCk7CiAgY29uc3QgcGFydG5lcklkID0gZGVmYXVsdFJvbWFudGljVGllRm9yKHBlcnNvbik/LmlkOwogIGNvbnN0IHBhcnRuZXJQdXJzdWVycyA9IHBhcnRuZXJJZCA/IHB1cnN1ZXJzT2YocGFydG5lcklkLCBwZXJzb24uaWQpIDogW107CgogIGlmIChkaXJlY3RQdXJzdWVycy5sZW5ndGggPiAwKSB7CiAgICBzdW1tYXJpZXMucHVzaChgJHtkaXJlY3RQdXJzdWVycy5qb2luKCIsICIpfSBhZnRlciB0aGVtYCk7CiAgfQoKICBpZiAocGFydG5lclB1cnN1ZXJzLmxlbmd0aCA+IDApIHsKICAgIHN1bW1hcmllcy5wdXNoKGAke3BhcnRuZXJQdXJzdWVycy5qb2luKCIsICIpfSBhZnRlciAke3BhcnRuZXJOYW1lRm9yKHBlcnNvbil9YCk7CiAgfQoKICByZXR1cm4gc3VtbWFyaWVzLmxlbmd0aCA+IDAgPyBzdW1tYXJpZXMuam9pbigiIOKAoiAiKSA6IG51bGw7Cn0KCmZ1bmN0aW9uIHN0YXR1c0V4cGxhbmF0aW9uRm9yKHBlcnNvbikgewogIGlmIChmYWlsZWRTdHJheWVycy5oYXMocGVyc29uLmlkKSkgewogICAgcmV0dXJuICJSZWplY3RlZCBhbmQgZG9uZSBjaGFzaW5nLiI7CiAgfQoKICBpZiAoYmFuaXNoZWRQZW9wbGUuaGFzKHBlcnNvbi5pZCkpIHsKICAgIHJldHVybiBwaHJhc2VGb3IoImJhbmlzaGVkX2V4cGxhaW5lciIpOwogIH0KCiAgaWYgKGlzRXhpbGluZyhwZXJzb24pKSB7CiAgICByZXR1cm4gcGhyYXNlRm9yKCJleGlsaW5nX21vdmUiLCB7IG5hbWU6IHBlcnNvbi5uYW1lIH0pOwogIH0KCiAgaWYgKGltbW9iaWxpemVkUGVvcGxlLmhhcyhwZXJzb24uaWQpKSB7CiAgICBjb25zdCBsb3NzID0gamlsdGVkTG9zc2VzLmdldChwZXJzb24uaWQpOwoKICAgIGlmIChsb3NzKSB7CiAgICAgIHJldHVybiBzcGVlY2hQaHJhc2VGb3IoImppbHRlZF9sb3NzIiwgbG9zcyk7CiAgICB9CgogICAgcmV0dXJuIHBocmFzZUZvcigiaGVhcnRicm9rZW5fZXhwbGFpbmVyIiwgeyB0YXJnZXQ6IHBhcnRuZXJOYW1lRm9yKHBlcnNvbikgfSk7CiAgfQoKICBjb25zdCByaXZhbFBsYW4gPSB0cnlzdFBsYW5Gb3JSaXZhbChwZXJzb24uaWQpOwoKICBpZiAocml2YWxQbGFuPy5zdGF0ZSA9PT0gInJhY2luZyIpIHsKICAgIGNvbnN0IGlsbGljaXROYW1lID0gcGVvcGxlQnlJZC5nZXQocml2YWxQbGFuLmlsbGljaXRQZXJzb25JZCk/Lm5hbWUgPz8gIlNvbWVvbmUiOwogICAgY29uc3QgdGFyZ2V0TmFtZSA9IHBlb3BsZUJ5SWQuZ2V0KHJpdmFsUGxhbi50YXJnZXRJZCk/Lm5h"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="19" data-payload="bWUgPz8gInNvbWVvbmUiOwogICAgcmV0dXJuIHBocmFzZUZvcigicGFuaWNfZXhwbGFpbmVyIiwgeyBjaGFzZXI6IGlsbGljaXROYW1lLCB0YXJnZXQ6IHRhcmdldE5hbWUgfSk7CiAgfQoKICBpZiAoaGFzQXR0cmFjdGlvbk92ZXJyaWRlKHBlcnNvbikpIHsKICAgIGNvbnN0IHRhcmdldE5hbWUgPSBwaW5pbmdUYXJnZXROYW1lRm9yKHBlcnNvbikgPz8gInNvbWVvbmUgZWxzZSI7CiAgICByZXR1cm4gcGhyYXNlRm9yKCJ0ZW1wdGVkX2V4cGxhaW5lciIsIHsgdGFyZ2V0OiB0YXJnZXROYW1lIH0pOwogIH0KCiAgY29uc3QgdGFyZ2V0TmFtZSA9IHBhcnRuZXJOYW1lRm9yKHBlcnNvbik7CiAgY29uc3QgdGFyZ2V0RGlzdGFuY2UgPSByb21hbnRpY1RhcmdldERpc3RhbmNlKHBlcnNvbik7CgogIGlmICh0YXJnZXREaXN0YW5jZSAhPT0gbnVsbCAmJiB0YXJnZXREaXN0YW5jZSA8PSAyKSB7CiAgICByZXR1cm4gcGhyYXNlRm9yKCJoYXBweV9leHBsYWluZXIiLCB7IHRhcmdldDogdGFyZ2V0TmFtZSB9KTsKICB9CgogIGlmICh0YXJnZXREaXN0YW5jZSAhPT0gbnVsbCAmJiB0YXJnZXREaXN0YW5jZSA8PSA0KSB7CiAgICByZXR1cm4gcGhyYXNlRm9yKCJva2F5X2V4cGxhaW5lciIsIHsgdGFyZ2V0OiB0YXJnZXROYW1lIH0pOwogIH0KCiAgaWYgKHRhcmdldERpc3RhbmNlICE9PSBudWxsICYmIHRhcmdldERpc3RhbmNlID4gNCkgewogICAgcmV0dXJuIHBocmFzZUZvcigic2FkX2V4cGxhaW5lciIsIHsgdGFyZ2V0OiB0YXJnZXROYW1lIH0pOwogIH0KCiAgcmV0dXJuIHJlbGF0aW9uc2hpcFN0YXR1cyhwZXJzb24pOwp9CgpmdW5jdGlvbiBtb3ZlU3VtbWFyeUZvcihwZXJzb24pIHsKICBpZiAoZmFpbGVkU3RyYXllcnMuaGFzKHBlcnNvbi5pZCkpIHsKICAgIHJldHVybiBgJHtwZXJzb24ubmFtZX0gZ2F2ZSB1cCBhZnRlciBiZWluZyByZWplY3RlZC5gOwogIH0KCiAgaWYgKGJhbmlzaGVkUGVvcGxlLmhhcyhwZXJzb24uaWQpKSB7CiAgICByZXR1cm4gcGhyYXNlRm9yKCJiYW5pc2hlZF9tb3ZlIiwgeyBuYW1lOiBwZXJzb24ubmFtZSB9KTsKICB9CgogIGNvbnN0IGFjdGl2ZVBsYW4gPSB0cnlzdFBsYW5zLmdldChwZXJzb24uaWQpOwoKICBpZiAoYWN0aXZlUGxhbj8uc3RhdGUgPT09ICJleGlsaW5nIikgewogICAgcmV0dXJuIHBocmFzZUZvcigiZXhpbGluZ19tb3ZlIiwgeyBuYW1lOiBwZXJzb24ubmFtZSB9KTsKICB9CgogIGlmIChhY3RpdmVQbGFuPy5zdGF0ZSA9PT0gInJhY2luZyIpIHsKICAgIGNvbnN0IHRhcmdldE5hbWUgPSBwZW9wbGVCeUlkLmdldChhY3RpdmVQbGFuLnRhcmdldElkKT8ubmFtZSA/PyAidGhlaXIgdGFyZ2V0IjsKICAgIHJldHVybiBwaHJhc2VGb3IoImNoYXNpbmdfbW92ZSIsIHsgbmFtZTogcGVyc29uLm5hbWUsIHRhcmdldDogdGFyZ2V0TmFtZSB9KTsKICB9CgogIGNvbnN0IHJpdmFsUGxhbiA9IHRyeXN0UGxhbkZvclJpdmFsKHBlcnNvbi5pZCk7CgogIGlmIChyaXZhbFBsYW4/LnN0YXRlID09PSAicmFjaW5nIikgewogICAgY29uc3QgaWxsaWNpdE5hbWUgPSBwZW9wbGVCeUlkLmdldChyaXZhbFBsYW4uaWxsaWNpdFBlcnNvbklkKT8ubmFtZSA/PyAic29tZW9uZSI7CiAgICBjb25zdCB0YXJnZXROYW1lID0gcGVvcGxlQnlJZC5nZXQocml2YWxQbGFuLnRhcmdldElkKT8ubmFtZSA/PyAic29tZW9uZSI7CiAgICByZXR1cm4gcGhyYXNlRm9yKCJtYWRfbW92ZSIsIHsgbmFtZTogcGVyc29uLm5hbWUsIGNoYXNlcjogaWxsaWNpdE5hbWUsIHRhcmdldDogdGFyZ2V0TmFtZSB9KTsKICB9CgogIGNvbnN0IHRhcmdldElkID0gY3VycmVudFJvbWFudGljVGFyZ2V0SWQocGVyc29uKTsKICBjb25zdCB0YXJnZXROYW1lID0gdGFyZ2V0SWQgPyAocGVvcGxlQnlJZC5nZXQodGFyZ2V0SWQpPy5uYW1lID8/ICJ0aGVpciBwYXJ0bmVyIikgOiBudWxsOwoKICBpZiAodGFyZ2V0TmFtZSkgewogICAgY29uc3QgZGlzdGFuY2UgPSByb21hbnRpY1RhcmdldERpc3RhbmNlKHBlcnNvbik7CgogICAgaWYgKGRpc3RhbmNlID09PSAxKSB7CiAgICAgIHJldHVybiBwaHJhc2VGb3IoInJldW5pdGVkX21vdmUiLCB7IG5hbWU6IHBlcnNvbi5uYW1lLCB0YXJnZXQ6IHRhcmdldE5hbWUgfSk7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlICE9PSBudWxsICYmIGRpc3RhbmNlIDw9IDMpIHsKICAgICAgcmV0dXJuIHBocmFzZUZvcigidG93YXJkX21vdmUiLCB7IG5hbWU6IHBlcnNvbi5uYW1lLCB0YXJnZXQ6IHRhcmdldE5hbWUgfSk7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlICE9PSBudWxsICYmIGRpc3RhbmNlIDw9IDUpIHsKICAgICAgcmV0dXJuIHBocmFzZUZvcigiY2xvc2VfbW92ZSIsIHsgbmFtZTogcGVyc29uLm5hbWUsIHRhcmdldDogdGFyZ2V0TmFtZSB9KTsKICAgIH0KCiAgICBpZiAoZGlzdGFuY2UgIT09IG51bGwpIHsKICAgICAgcmV0dXJuIHBocmFzZUZvcigicmV0dXJuX21vdmUiLCB7IG5hbWU6IHBlcnNvbi5uYW1lLCB0YXJnZXQ6IHRhcmdldE5hbWUgfSk7CiAgICB9CiAgfQoKICByZXR1cm4gcGhyYXNlRm9yKCJyb2FtaW5nX21vdmUiLCB7IG5hbWU6IHBlcnNvbi5uYW1lIH0pOwp9CgpmdW5jdGlvbiBzaG93UGVyc29uKHBlcnNvbiwgY2VsbCA9IG9jY3VwaWVkQ2VsbHNCeUlkLmdldChwZXJzb24uaWQpKSB7CiAgaXNTaW1QYXVzZWQgPSB0cnVlOwogIGFjdGl2ZVBlcnNvbklkID0gcGVyc29uLmlkOwogIGRldGFpbEtpY2tlci50"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="20" data-payload="ZXh0Q29udGVudCA9IHN0YXR1c0V4cGxhbmF0aW9uRm9yKHBlcnNvbik7CiAgZGV0YWlsTmFtZS5pbm5lckhUTUwgPSBgCiAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWVtb2ppIj4ke3N0YXR1c0Vtb2ppRm9yKHBlcnNvbikgfHwgIj8ifTwvc3Bhbj4KICAgIDxzcGFuPiR7cGVyc29uLm5hbWV9PC9zcGFuPgogIGA7CiAgZGV0YWlsTGlzdC5pbm5lckhUTUwgPSBgCiAgICA8ZGl2PgogICAgICA8ZGQ+JHtyZWxhdGlvbnNoaXBTdGF0dXMocGVyc29uKX08L2RkPgogICAgPC9kaXY+CiAgYDsKCiAgZGV0YWlsUGFuZWwuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpOwogIGFwcGx5UmVsYXRpb25zaGlwSGlnaGxpZ2h0cyhwZXJzb24pOwoKICBpZiAoY2VsbCkgewogICAgcG9zaXRpb25EZXRhaWxQYW5lbChjZWxsKTsKICB9Cn0KCmZ1bmN0aW9uIGNsZWFyUGVyc29uKCkgewogIGlzU2ltUGF1c2VkID0gZmFsc2U7CiAgYWN0aXZlUGVyc29uSWQgPSBudWxsOwogIGRldGFpbFBhbmVsLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKTsKICBjbGVhclJlbGF0aW9uc2hpcEhpZ2hsaWdodHMoKTsKICBkZXRhaWxLaWNrZXIudGV4dENvbnRlbnQgPSAiSG92ZXIgYSBzcXVhcmUiOwogIGRldGFpbE5hbWUudGV4dENvbnRlbnQgPSAiTm8gb25lIHNlbGVjdGVkIjsKICBkZXRhaWxMaXN0LmlubmVySFRNTCA9IGAKICAgIDxkaXY+CiAgICAgIDxkZD5Nb3ZlIG92ZXIgYW4gb2NjdXBpZWQgc3F1YXJlIHRvIGluc3BlY3QgYSBwZXJzb24uPC9kZD4KICAgIDwvZGl2PgogIGA7Cn0KCmZ1bmN0aW9uIHN0YXR1c0Vtb2ppRm9yKHBlcnNvbikgewogIGlmIChiYW5pc2hlZFBlb3BsZS5oYXMocGVyc29uLmlkKSkgewogICAgcmV0dXJuICLimKDvuI8iOwogIH0KCiAgaWYgKGlzRXhpbGluZyhwZXJzb24pKSB7CiAgICByZXR1cm4gIuKYoO+4jyI7CiAgfQoKICBpZiAoaW1tb2JpbGl6ZWRQZW9wbGUuaGFzKHBlcnNvbi5pZCkpIHsKICAgIHJldHVybiAi8J+YrSI7CiAgfQoKICBpZiAodHJ5c3RQbGFuRm9yUml2YWwocGVyc29uLmlkKT8uc3RhdGUgPT09ICJyYWNpbmciKSB7CiAgICByZXR1cm4gIvCfmKEiOwogIH0KCiAgaWYgKGhhc0F0dHJhY3Rpb25PdmVycmlkZShwZXJzb24pKSB7CiAgICByZXR1cm4gIvCfkosiOwogIH0KCiAgY29uc3QgdGFyZ2V0RGlzdGFuY2UgPSByb21hbnRpY1RhcmdldERpc3RhbmNlKHBlcnNvbik7CgogIGlmICh0YXJnZXREaXN0YW5jZSA9PT0gMSkgewogICAgcmV0dXJuICLwn6WwIjsKICB9CgogIHJldHVybiAiIjsKfQoKZnVuY3Rpb24gc3RhdHVzRW1vamlQb3NpdGlvbihwZXJzb24pIHsKICBjb25zdCB0YXJnZXRJZCA9IGN1cnJlbnRSb21hbnRpY1RhcmdldElkKHBlcnNvbik7CiAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0SWQgPyBwZW9wbGVCeUlkLmdldCh0YXJnZXRJZCkgOiBudWxsOwoKICBpZiAoIXRhcmdldCkgewogICAgcmV0dXJuIG51bGw7CiAgfQoKICBjb25zdCBkZWx0YVJvdyA9IHRhcmdldC5yb3cgLSBwZXJzb24ucm93OwogIGNvbnN0IGRlbHRhQ29sID0gdGFyZ2V0LmNvbCAtIHBlcnNvbi5jb2w7CiAgY29uc3QgbWF4RGVsdGEgPSBNYXRoLm1heChNYXRoLmFicyhkZWx0YUNvbCksIE1hdGguYWJzKGRlbHRhUm93KSk7CgogIGlmIChtYXhEZWx0YSA9PT0gMCkgewogICAgcmV0dXJuIHsgeDogNjgsIHk6IDI0IH07CiAgfQoKICBjb25zdCByYWRpdXNTY2FsZSA9IDAuMjYgLyBtYXhEZWx0YTsKICBjb25zdCB4ID0gNTAgKyBkZWx0YUNvbCAqIHJhZGl1c1NjYWxlICogMTAwOwogIGNvbnN0IHkgPSA1MCArIGRlbHRhUm93ICogcmFkaXVzU2NhbGUgKiAxMDA7CgogIHJldHVybiB7IHgsIHkgfTsKfQoKZnVuY3Rpb24gdXBkYXRlUGVyc29uQ2VsbChwZXJzb24pIHsKICBjb25zdCBjZWxsID0gb2NjdXBpZWRDZWxsc0J5SWQuZ2V0KHBlcnNvbi5pZCk7CiAgY29uc3QgZmVlbGluZyA9IGZlZWxpbmdGb3IocGVyc29uKTsKCiAgaWYgKCFjZWxsKSB7CiAgICByZXR1cm47CiAgfQoKICBjb25zdCBhdmF0YXIgPSBjZWxsLnF1ZXJ5U2VsZWN0b3IoIi5hdmF0YXIiKTsKICBjb25zdCBhdmF0YXJCYWNrZHJvcCA9IGNlbGwucXVlcnlTZWxlY3RvcigiLmF2YXRhci1iYWNrZHJvcCIpOwogIGNvbnN0IHN0YXR1c0Vtb2ppID0gY2VsbC5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWVtb2ppIik7CiAgY29uc3Qgc3BlZWNoQnViYmxlID0gY2VsbC5xdWVyeVNlbGVjdG9yKCIuc3BlZWNoLWJ1YmJsZSIpOwogIGNvbnN0IHRva2VuID0gY2VsbC5xdWVyeVNlbGVjdG9yKCIucGVyc29uLXRva2VuIik7CgogIGNlbGwuZGF0YXNldC5uYW1lID0gcGVyc29uLm5hbWU7CiAgY2VsbC5zZXRBdHRyaWJ1dGUoCiAgICAiYXJpYS1sYWJlbCIsCiAgICBgJHtwZXJzb24ubmFtZX0sIGZlZWxpbmcgJHtmZWVsaW5nLm5hbWV9LCByb3cgJHtwZXJzb24ucm93fSwgY29sdW1uICR7cGVyc29uLmNvbH1gCiAgKTsKCiAgaWYgKGF2YXRhciAmJiB0b2tlbikgewogICAgY29uc3Qgc3BvdXNlRGlyZWN0aW9uID0gcm9tYW50aWNUaWVEaXJlY3Rpb24ocGVyc29uKTsKICAgIGNvbnN0IGVtb2ppUG9zaXRpb24gPSBzdGF0dXNFbW9qaVBvc2l0aW9uKHBlcnNvbik7CgogICAgdG9rZW4uY2xhc3NMaXN0LnRvZ2dsZSgic2Vla2luZy1zcG91c2UiLCBCb29sZWFuKHNwb3VzZURpcmVjdGlvbikpOwogICAgYXZhdGFyLmNsYXNzTGlzdC50b2dnbGUoImF0dHJhY3Rpb24tb3ZlcnJpZGUiLCBo"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="21" data-payload="YXNBdHRyYWN0aW9uT3ZlcnJpZGUocGVyc29uKSk7CiAgICBhdmF0YXIuY2xhc3NMaXN0LnRvZ2dsZSgidHJ5c3QtdGFyZ2V0IiwgaXNUcnlzdFRhcmdldChwZXJzb24pKTsKCiAgICBpZiAoc3BvdXNlRGlyZWN0aW9uKSB7CiAgICAgIHRva2VuLnN0eWxlLnNldFByb3BlcnR5KCItLXNwb3VzZS1hbmdsZSIsIGAke3Nwb3VzZURpcmVjdGlvbi5hbmdsZX1kZWdgKTsKICAgICAgdG9rZW4uc3R5bGUuc2V0UHJvcGVydHkoIi0tc3BvdXNlLXBvaW50ZXIteCIsIGAke3Nwb3VzZURpcmVjdGlvbi54fSVgKTsKICAgICAgdG9rZW4uc3R5bGUuc2V0UHJvcGVydHkoIi0tc3BvdXNlLXBvaW50ZXIteSIsIGAke3Nwb3VzZURpcmVjdGlvbi55fSVgKTsKICAgIH0gZWxzZSB7CiAgICAgIHRva2VuLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLXNwb3VzZS1hbmdsZSIpOwogICAgICB0b2tlbi5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1zcG91c2UtcG9pbnRlci14Iik7CiAgICAgIHRva2VuLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLXNwb3VzZS1wb2ludGVyLXkiKTsKICAgIH0KCiAgICBjb25zdCByZWNvdmVyeU9wYWNpdHkgPSByZWNvdmVyeU9wYWNpdHlGb3IocGVyc29uLmlkKTsKICAgIHRva2VuLmNsYXNzTGlzdC50b2dnbGUoImhhcy1mYWNlLWJhY2tkcm9wIiwgcmVjb3ZlcnlPcGFjaXR5ICE9PSBudWxsKTsKICAgIGlmIChyZWNvdmVyeU9wYWNpdHkgIT09IG51bGwpIHsKICAgICAgYXZhdGFyLnN0eWxlLm9wYWNpdHkgPSBTdHJpbmcocmVjb3ZlcnlPcGFjaXR5KTsKICAgIH0gZWxzZSB7CiAgICAgIGF2YXRhci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgib3BhY2l0eSIpOwogICAgfQoKICAgIGF2YXRhckJhY2tkcm9wPy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKTsKICAgIGF2YXRhci5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1wZXJzb24tZmlsbCIsIHBlcnNvbi5jb2xvcik7CiAgICBhdmF0YXIudGV4dENvbnRlbnQgPSB0b2tlbkxhYmVsKHBlcnNvbi5uYW1lKTsKICAgIGF2YXRhci5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBwZXJzb24ubmFtZSk7CiAgICBpZiAoc3RhdHVzRW1vamkpIHsKICAgICAgaWYgKGVtb2ppUG9zaXRpb24pIHsKICAgICAgICBzdGF0dXNFbW9qaS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zdGF0dXMtZW1vamkteCIsIGAke2Vtb2ppUG9zaXRpb24ueH0lYCk7CiAgICAgICAgc3RhdHVzRW1vamkuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3RhdHVzLWVtb2ppLXkiLCBgJHtlbW9qaVBvc2l0aW9uLnl9JWApOwogICAgICB9IGVsc2UgewogICAgICAgIHN0YXR1c0Vtb2ppLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLXN0YXR1cy1lbW9qaS14Iik7CiAgICAgICAgc3RhdHVzRW1vamkuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tc3RhdHVzLWVtb2ppLXkiKTsKICAgICAgfQogICAgICBzdGF0dXNFbW9qaS50ZXh0Q29udGVudCA9IHN0YXR1c0Vtb2ppRm9yKHBlcnNvbik7CiAgICB9CiAgICBpZiAoc3BlZWNoQnViYmxlKSB7CiAgICAgIGNvbnN0IGJ1YmJsZSA9IHNwZWVjaEJ1YmJsZXMuZ2V0KHBlcnNvbi5pZCk7CiAgICAgIHNwZWVjaEJ1YmJsZS50ZXh0Q29udGVudCA9IGJ1YmJsZT8udGV4dCA/PyAiIjsKICAgICAgc3BlZWNoQnViYmxlLmhpZGRlbiA9ICFidWJibGU7CiAgICB9CiAgICBjZWxsLmNsYXNzTGlzdC50b2dnbGUoIm5lYXItc3BvdXNlIiwgaXNTaWRlQnlTaWRlV2l0aFJvbWFudGljVGllKHBlcnNvbikpOwogICAgY2VsbC5jbGFzc0xpc3QudG9nZ2xlKCJuZWFyLXN0cmFuZ2VyIiwgbmVhcmJ5VW5rbm93blBlb3BsZShwZXJzb24pLmxlbmd0aCA+PSAyKTsKICB9Cn0KCmZ1bmN0aW9uIHBlcnNvbkZyb21DZWxsKGNlbGwpIHsKICByZXR1cm4gcGVvcGxlQnlJZC5nZXQoY2VsbC5kYXRhc2V0LnBlcnNvbklkKTsKfQoKZnVuY3Rpb24gdXBkYXRlQWxsUGVyc29uQ2VsbHMoKSB7CiAgZm9yIChjb25zdCBwZXJzb24gb2YgcGVvcGxlKSB7CiAgICB1cGRhdGVQZXJzb25DZWxsKHBlcnNvbik7CiAgfQp9CgpmdW5jdGlvbiBlbnN1cmVNb3ZlbWVudExpbmVPdmVybGF5KCkgewogIGxldCBvdmVybGF5ID0gYm9hcmQucXVlcnlTZWxlY3RvcigiLm1vdmVtZW50LWxpbmUtb3ZlcmxheSIpOwoKICBpZiAoIW92ZXJsYXkpIHsKICAgIG92ZXJsYXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInN2ZyIpOwogICAgb3ZlcmxheS5jbGFzc0xpc3QuYWRkKCJtb3ZlbWVudC1saW5lLW92ZXJsYXkiKTsKICAgIG92ZXJsYXkuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsICJ0cnVlIik7CiAgICBvdmVybGF5LmlubmVySFRNTCA9IGA8bGluZSBjbGFzcz0ibW92ZW1lbnQtbGluZSBpcy1oaWRkZW4iPjwvbGluZT5gOwogICAgYm9hcmQucHJlcGVuZChvdmVybGF5KTsKICB9CgogIHJldHVybiBvdmVybGF5Owp9CgpmdW5jdGlvbiBlbnN1cmVUcnlzdExpbmVPdmVybGF5KCkgewogIGxldCBvdmVybGF5ID0gYm9hcmQucXVlcnlTZWxlY3RvcigiLnRyeXN0LWxpbmUtb3ZlcmxheSIpOwoKICBpZiAoIW92ZXJsYXkpIHsKICAgIG92ZXJsYXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInN2ZyIpOwogICAgb3ZlcmxheS5jbGFzc0xpc3QuYWRkKCJ0cnlzdC1saW5lLW92ZXJsYXkiKTsKICAgIG92ZXJsYXkuc2V0QXR0cmlidXRl"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="22" data-payload="KCJhcmlhLWhpZGRlbiIsICJ0cnVlIik7CiAgICBib2FyZC5wcmVwZW5kKG92ZXJsYXkpOwogIH0KCiAgcmV0dXJuIG92ZXJsYXk7Cn0KCmZ1bmN0aW9uIGNlbnRlck9mQ2VsbChjZWxsLCBib2FyZEJveCkgewogIGNvbnN0IGNlbGxCb3ggPSBjZWxsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwoKICByZXR1cm4gewogICAgeDogY2VsbEJveC5sZWZ0IC0gYm9hcmRCb3gubGVmdCArIGNlbGxCb3gud2lkdGggLyAyLAogICAgeTogY2VsbEJveC50b3AgLSBib2FyZEJveC50b3AgKyBjZWxsQm94LmhlaWdodCAvIDIsCiAgfTsKfQoKZnVuY3Rpb24gdHJ5c3RMaW5lRW5kcG9pbnRzKHBsYW4pIHsKICBpZiAocGxhbi5zdGF0ZSA9PT0gInJlamVjdGVkIikgewogICAgY29uc3Qgc2Vla2VyQ2VsbCA9IG9jY3VwaWVkQ2VsbHNCeUlkLmdldChwbGFuLmlsbGljaXRQZXJzb25JZCk7CiAgICBjb25zdCB0YXJnZXRDZWxsID0gb2NjdXBpZWRDZWxsc0J5SWQuZ2V0KHBsYW4udGFyZ2V0SWQpOwoKICAgIHJldHVybiBzZWVrZXJDZWxsICYmIHRhcmdldENlbGwgPyBbW3NlZWtlckNlbGwsIHRhcmdldENlbGxdXSA6IFtdOwogIH0KCiAgaWYgKHBsYW4uc3RhdGUgPT09ICJpbnRlcmVzdCIgfHwgcGxhbi5zdGF0ZSA9PT0gImFjY2VwdGVkX3dhaXRpbmdfYmxvY2tlciIpIHsKICAgIGNvbnN0IHNlZWtlckNlbGwgPSBvY2N1cGllZENlbGxzQnlJZC5nZXQocGxhbi5pbGxpY2l0UGVyc29uSWQpOwogICAgY29uc3QgdGFyZ2V0Q2VsbCA9IG9jY3VwaWVkQ2VsbHNCeUlkLmdldChwbGFuLnRhcmdldElkKTsKICAgIGNvbnN0IHBhcnRuZXJDZWxsID0gb2NjdXBpZWRDZWxsc0J5SWQuZ2V0KHBsYW4udGFyZ2V0UGFydG5lcklkKTsKCiAgICBpZiAoIXNlZWtlckNlbGwgfHwgIXRhcmdldENlbGwpIHsKICAgICAgcmV0dXJuIFtdOwogICAgfQoKICAgIHJldHVybiBwYXJ0bmVyQ2VsbAogICAgICA/IFtbc2Vla2VyQ2VsbCwgdGFyZ2V0Q2VsbF0sIFt0YXJnZXRDZWxsLCBwYXJ0bmVyQ2VsbF1dCiAgICAgIDogW1tzZWVrZXJDZWxsLCB0YXJnZXRDZWxsXV07CiAgfQoKICBpZiAocGxhbi5zdGF0ZSA9PT0gImRlZmVuZGVkIikgewogICAgY29uc3QgdGFyZ2V0Q2VsbCA9IG9jY3VwaWVkQ2VsbHNCeUlkLmdldChwbGFuLnRhcmdldElkKTsKICAgIGNvbnN0IGppbHRlZENlbGwgPSBvY2N1cGllZENlbGxzQnlJZC5nZXQocGxhbi50YXJnZXRQYXJ0bmVySWQpOwoKICAgIHJldHVybiB0YXJnZXRDZWxsICYmIGppbHRlZENlbGwgPyBbW3RhcmdldENlbGwsIGppbHRlZENlbGxdXSA6IFtdOwogIH0KCiAgaWYgKHBsYW4uc3RhdGUgIT09ICJyYWNpbmciICYmIHBsYW4uc3RhdGUgIT09ICJ3b25fYWZ0ZXJtYXRoIikgewogICAgcmV0dXJuIFtdOwogIH0KCiAgY29uc3Qgc2Vla2VyQ2VsbCA9IG9jY3VwaWVkQ2VsbHNCeUlkLmdldChwbGFuLmlsbGljaXRQZXJzb25JZCk7CiAgY29uc3QgdGFyZ2V0Q2VsbCA9IG9jY3VwaWVkQ2VsbHNCeUlkLmdldChwbGFuLnRhcmdldElkKTsKICBjb25zdCBqaWx0ZWRDZWxsID0gb2NjdXBpZWRDZWxsc0J5SWQuZ2V0KHBsYW4udGFyZ2V0UGFydG5lcklkKTsKCiAgaWYgKCFzZWVrZXJDZWxsIHx8ICF0YXJnZXRDZWxsIHx8ICFqaWx0ZWRDZWxsKSB7CiAgICByZXR1cm4gW107CiAgfQoKICByZXR1cm4gWwogICAgW3NlZWtlckNlbGwsIHRhcmdldENlbGxdLAogICAgW3RhcmdldENlbGwsIGppbHRlZENlbGxdLAogIF07Cn0KCmZ1bmN0aW9uIHVwZGF0ZVRyeXN0TGluZXMoKSB7CiAgY29uc3Qgb3ZlcmxheSA9IGVuc3VyZVRyeXN0TGluZU92ZXJsYXkoKTsKICBjb25zdCBib2FyZEJveCA9IGJvYXJkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogIGNvbnN0IGxpbmVFbmRwb2ludHMgPSBBcnJheS5mcm9tKHRyeXN0UGxhbnMudmFsdWVzKCkpLmZsYXRNYXAodHJ5c3RMaW5lRW5kcG9pbnRzKTsKCiAgb3ZlcmxheS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLCBgMCAwICR7Ym9hcmRCb3gud2lkdGh9ICR7Ym9hcmRCb3guaGVpZ2h0fWApOwogIG92ZXJsYXkucmVwbGFjZUNoaWxkcmVuKCk7CgogIGZvciAoY29uc3QgW2Zyb21DZWxsLCB0b0NlbGxdIG9mIGxpbmVFbmRwb2ludHMpIHsKICAgIGNvbnN0IGZyb21Qb2ludCA9IGNlbnRlck9mQ2VsbChmcm9tQ2VsbCwgYm9hcmRCb3gpOwogICAgY29uc3QgdG9Qb2ludCA9IGNlbnRlck9mQ2VsbCh0b0NlbGwsIGJvYXJkQm94KTsKICAgIGNvbnN0IGxpbmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgImxpbmUiKTsKCiAgICBsaW5lLmNsYXNzTGlzdC5hZGQoInRyeXN0LWxpbmUiKTsKICAgIGxpbmUuc2V0QXR0cmlidXRlKCJ4MSIsIGZyb21Qb2ludC54KTsKICAgIGxpbmUuc2V0QXR0cmlidXRlKCJ5MSIsIGZyb21Qb2ludC55KTsKICAgIGxpbmUuc2V0QXR0cmlidXRlKCJ4MiIsIHRvUG9pbnQueCk7CiAgICBsaW5lLnNldEF0dHJpYnV0ZSgieTIiLCB0b1BvaW50LnkpOwogICAgb3ZlcmxheS5hcHBlbmQobGluZSk7CiAgfQp9CgpmdW5jdGlvbiBoaWRlTW92ZW1lbnRMaW5lKCkgewogIGNvbnN0IGxpbmUgPSBib2FyZC5xdWVyeVNlbGVjdG9yKCIubW92ZW1lbnQtbGluZSIpOwoKICBpZiAobW92ZW1lbnRMaW5lSGlkZVRpbWVyKSB7CiAgICBjbGVhclRpbWVvdXQobW92ZW1lbnRMaW5lSGlkZVRpbWVyKTsKICAgIG1vdmVtZW50TGluZUhpZGVUaW1lciA9IG51bGw7"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="23" data-payload="CiAgfQoKICBpZiAobGluZSkgewogICAgbGluZS5jbGFzc0xpc3QuYWRkKCJpcy1oaWRkZW4iKTsKICAgIGxpbmUuc3R5bGUub3BhY2l0eSA9ICIwIjsKICAgIGxpbmUuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogIH0KfQoKZnVuY3Rpb24gc2hvd01vdmVtZW50TGluZShmcm9tUGVyc29uLCB0b1BlcnNvbikgewogIGNvbnN0IGZyb21DZWxsID0gb2NjdXBpZWRDZWxsc0J5SWQuZ2V0KGZyb21QZXJzb24/LmlkKTsKICBjb25zdCB0b0NlbGwgPSBvY2N1cGllZENlbGxzQnlJZC5nZXQodG9QZXJzb24/LmlkKTsKCiAgaWYgKCFmcm9tQ2VsbCB8fCAhdG9DZWxsIHx8IGZyb21DZWxsID09PSB0b0NlbGwpIHsKICAgIGhpZGVNb3ZlbWVudExpbmUoKTsKICAgIHJldHVybiBudWxsOwogIH0KCiAgY29uc3Qgb3ZlcmxheSA9IGVuc3VyZU1vdmVtZW50TGluZU92ZXJsYXkoKTsKICBjb25zdCBsaW5lID0gb3ZlcmxheS5xdWVyeVNlbGVjdG9yKCIubW92ZW1lbnQtbGluZSIpOwogIGNvbnN0IGJvYXJkQm94ID0gYm9hcmQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgY29uc3QgZnJvbVBvaW50ID0gY2VudGVyT2ZDZWxsKGZyb21DZWxsLCBib2FyZEJveCk7CiAgY29uc3QgdG9Qb2ludCA9IGNlbnRlck9mQ2VsbCh0b0NlbGwsIGJvYXJkQm94KTsKCiAgb3ZlcmxheS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLCBgMCAwICR7Ym9hcmRCb3gud2lkdGh9ICR7Ym9hcmRCb3guaGVpZ2h0fWApOwogIGxpbmUuc2V0QXR0cmlidXRlKCJ4MSIsIGZyb21Qb2ludC54KTsKICBsaW5lLnNldEF0dHJpYnV0ZSgieTEiLCBmcm9tUG9pbnQueSk7CiAgbGluZS5zZXRBdHRyaWJ1dGUoIngyIiwgdG9Qb2ludC54KTsKICBsaW5lLnNldEF0dHJpYnV0ZSgieTIiLCB0b1BvaW50LnkpOwogIGxpbmUuY2xhc3NMaXN0LnJlbW92ZSgiaXMtaGlkZGVuIik7CiAgbGluZS5zdHlsZS5vcGFjaXR5ID0gIjEiOwogIGxpbmUuc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKCiAgaWYgKG1vdmVtZW50TGluZUhpZGVUaW1lcikgewogICAgY2xlYXJUaW1lb3V0KG1vdmVtZW50TGluZUhpZGVUaW1lcik7CiAgfQoKICBtb3ZlbWVudExpbmVIaWRlVGltZXIgPSBzZXRUaW1lb3V0KGhpZGVNb3ZlbWVudExpbmUsIG1vdmVtZW50TGluZUhpZGVNcyk7CiAgcmV0dXJuIHsgYm9hcmRCb3gsIGZyb21Qb2ludCwgbGluZSwgb3ZlcmxheSB9Owp9CgpmdW5jdGlvbiBlYXNlTW92ZW1lbnRMaW5lKHByb2dyZXNzKSB7CiAgcmV0dXJuIDEgLSBNYXRoLnBvdygxIC0gcHJvZ3Jlc3MsIDMpOwp9CgpmdW5jdGlvbiBhbmltYXRlTW92ZW1lbnRMaW5lRW5kcG9pbnQobGluZVN0YXRlLCB0b0NlbGwpIHsKICBpZiAoIWxpbmVTdGF0ZSB8fCAhdG9DZWxsKSB7CiAgICByZXR1cm47CiAgfQoKICBjb25zdCB7IGJvYXJkQm94LCBmcm9tUG9pbnQsIGxpbmUgfSA9IGxpbmVTdGF0ZTsKICBjb25zdCB0b1BvaW50ID0gY2VudGVyT2ZDZWxsKHRvQ2VsbCwgYm9hcmRCb3gpOwogIGNvbnN0IHN0YXJ0ZWRBdCA9IHBlcmZvcm1hbmNlLm5vdygpOwoKICBmdW5jdGlvbiBkcmF3RnJhbWUobm93KSB7CiAgICBpZiAobGluZS5jbGFzc0xpc3QuY29udGFpbnMoImlzLWhpZGRlbiIpKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBjb25zdCBwcm9ncmVzcyA9IE1hdGgubWluKChub3cgLSBzdGFydGVkQXQpIC8gbW92ZUFuaW1hdGlvbk1zLCAxKTsKICAgIGNvbnN0IGVhc2VkUHJvZ3Jlc3MgPSBlYXNlTW92ZW1lbnRMaW5lKHByb2dyZXNzKTsKICAgIGNvbnN0IHggPSBmcm9tUG9pbnQueCArICh0b1BvaW50LnggLSBmcm9tUG9pbnQueCkgKiBlYXNlZFByb2dyZXNzOwogICAgY29uc3QgeSA9IGZyb21Qb2ludC55ICsgKHRvUG9pbnQueSAtIGZyb21Qb2ludC55KSAqIGVhc2VkUHJvZ3Jlc3M7CgogICAgbGluZS5zZXRBdHRyaWJ1dGUoIngxIiwgeCk7CiAgICBsaW5lLnNldEF0dHJpYnV0ZSgieTEiLCB5KTsKCiAgICBpZiAocHJvZ3Jlc3MgPCAxKSB7CiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShkcmF3RnJhbWUpOwogICAgfSBlbHNlIHsKICAgICAgaGlkZU1vdmVtZW50TGluZSgpOwogICAgfQogIH0KCiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRyYXdGcmFtZSk7Cn0KCmZ1bmN0aW9uIG1vdmVtZW50VGFyZ2V0Rm9yKHBlcnNvbikgewogIGNvbnN0IGFjdGl2ZVBsYW4gPSB0cnlzdFBsYW5zLmdldChwZXJzb24uaWQpOwoKICBpZiAoWyJpbnRlcmVzdCIsICJhY2NlcHRlZF93YWl0aW5nX2Jsb2NrZXIiLCAicmFjaW5nIl0uaW5jbHVkZXMoYWN0aXZlUGxhbj8uc3RhdGUpKSB7CiAgICByZXR1cm4gcGVvcGxlQnlJZC5nZXQoYWN0aXZlUGxhbi50YXJnZXRJZCkgPz8gbnVsbDsKICB9CgogIGNvbnN0IHJpdmFsUGxhbiA9IHRyeXN0UGxhbkZvclJpdmFsKHBlcnNvbi5pZCk7CgogIGlmIChyaXZhbFBsYW4/LnN0YXRlID09PSAicmFjaW5nIikgewogICAgcmV0dXJuIHBlb3BsZUJ5SWQuZ2V0KHJpdmFsUGxhbi50YXJnZXRJZCkgPz8gbnVsbDsKICB9CgogIGNvbnN0IHRhcmdldElkID0gY3VycmVudFJvbWFudGljVGFyZ2V0SWQocGVyc29uKTsKICBjb25zdCB0YXJnZXQgPSB0YXJnZXRJZCA/IHBlb3BsZUJ5SWQuZ2V0KHRhcmdldElkKSA/PyBudWxsIDogbnVsbDsKICByZXR1cm4gdGFyZ2V0ICYmICFpc0ltbW9iaWxlKHRhcmdldCkgPyB0YXJnZXQgOiBudWxsOwp9CgpmdW5jdGlvbiB3YWl0KG1zKSB7CiAgcmV0dXJu"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="24" data-payload="IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKTsKICB9KTsKfQoKZnVuY3Rpb24gY2xlYXJDZWxsKGNlbGwsIHJvdywgY29sKSB7CiAgY2VsbC5jbGFzc0xpc3QucmVtb3ZlKCJvY2N1cGllZCIsICJyb21hbnRpYy1oaWdobGlnaHQiLCAibmVhci1zcG91c2UiLCAibmVhci1zdHJhbmdlciIpOwogIGNlbGwucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW5hbWUiKTsKICBjZWxsLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1wZXJzb24taWQiKTsKICBjZWxsLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKTsKICBjZWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGBFbXB0eSBzcXVhcmUsIHJvdyAke3Jvd30sIGNvbHVtbiAke2NvbH1gKTsKICBjZWxsLnRhYkluZGV4ID0gLTE7CiAgY2VsbC50ZXh0Q29udGVudCA9ICIiOwp9CgpmdW5jdGlvbiBwbGFjZVBlcnNvbihjZWxsLCBwZXJzb24pIHsKICBjb25zdCB0b2tlbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICBjb25zdCBhdmF0YXJCYWNrZHJvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICBjb25zdCBhdmF0YXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgY29uc3QgcG9pbnRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICBjb25zdCBzdGF0dXNFbW9qaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICBjb25zdCBzcGVlY2hCdWJibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CgogIGNlbGwuY2xhc3NMaXN0LmFkZCgib2NjdXBpZWQiKTsKICBjZWxsLmRhdGFzZXQucGVyc29uSWQgPSBwZXJzb24uaWQ7CiAgY2VsbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1wZXJzb24tY29sb3IiLCBwZXJzb24uY29sb3IpOwogIGNlbGwudGFiSW5kZXggPSAwOwoKICB0b2tlbi5jbGFzc05hbWUgPSAicGVyc29uLXRva2VuIjsKICBhdmF0YXJCYWNrZHJvcC5jbGFzc05hbWUgPSAiYXZhdGFyLWJhY2tkcm9wIjsKICBhdmF0YXIuY2xhc3NOYW1lID0gImF2YXRhciI7CiAgcG9pbnRlci5jbGFzc05hbWUgPSAic3BvdXNlLXBvaW50ZXIiOwogIHN0YXR1c0Vtb2ppLmNsYXNzTmFtZSA9ICJzdGF0dXMtZW1vamkiOwogIHNwZWVjaEJ1YmJsZS5jbGFzc05hbWUgPSAic3BlZWNoLWJ1YmJsZSI7CiAgYXZhdGFyQmFja2Ryb3Auc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsICJ0cnVlIik7CiAgcG9pbnRlci5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKTsKICBzdGF0dXNFbW9qaS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKTsKICBzcGVlY2hCdWJibGUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsICJ0cnVlIik7CiAgdG9rZW4uYXBwZW5kKHNwZWVjaEJ1YmJsZSwgYXZhdGFyQmFja2Ryb3AsIGF2YXRhciwgcG9pbnRlciwgc3RhdHVzRW1vamkpOwogIGNlbGwudGV4dENvbnRlbnQgPSAiIjsKICBjZWxsLmFwcGVuZCh0b2tlbik7CiAgb2NjdXBpZWRDZWxsc0J5SWQuc2V0KHBlcnNvbi5pZCwgY2VsbCk7CiAgdXBkYXRlUGVyc29uQ2VsbChwZXJzb24pOwoKICByZXR1cm4gdG9rZW47Cn0KCmZ1bmN0aW9uIHNpemVCb2FyZFRvVmlld3BvcnQoKSB7CiAgaWYgKCFib2FyZFdyYXApIHsKICAgIHJldHVybjsKICB9CgogIGNvbnN0IGF2YWlsYWJsZVdpZHRoID0gYm9hcmRXcmFwLmNsaWVudFdpZHRoOwogIGNvbnN0IGdhcFNpemUgPSAxOwogIGNvbnN0IG1heENlbGxXaWR0aCA9IE1hdGguZmxvb3IoKGF2YWlsYWJsZVdpZHRoIC0gZ2FwU2l6ZSAqIChib2FyZENvbHMgLSAxKSkgLyBib2FyZENvbHMpOwogIGNvbnN0IGNlbGxTaXplID0gTWF0aC5tYXgobWF4Q2VsbFdpZHRoLCAwKTsKICBjb25zdCBib2FyZFdpZHRoID0gYm9hcmRDb2xzICogY2VsbFNpemUgKyBnYXBTaXplICogKGJvYXJkQ29scyAtIDEpOwogIGNvbnN0IGJvYXJkSGVpZ2h0ID0gYm9hcmRSb3dzICogY2VsbFNpemUgKyBnYXBTaXplICogKGJvYXJkUm93cyAtIDEpOwoKICBib2FyZC5zdHlsZS5ncmlkVGVtcGxhdGVDb2x1bW5zID0gYHJlcGVhdCgke2JvYXJkQ29sc30sICR7Y2VsbFNpemV9cHgpYDsKICBib2FyZC5zdHlsZS5ncmlkVGVtcGxhdGVSb3dzID0gYHJlcGVhdCgke2JvYXJkUm93c30sICR7Y2VsbFNpemV9cHgpYDsKICBib2FyZC5zdHlsZS53aWR0aCA9IGAke2JvYXJkV2lkdGh9cHhgOwogIGJvYXJkLnN0eWxlLmhlaWdodCA9IGAke2JvYXJkSGVpZ2h0fXB4YDsKfQoKYXN5bmMgZnVuY3Rpb24gZmxhc2hQZXJzb25Nb3ZlKHBlcnNvbikgewogIGNvbnN0IHRva2VuID0gb2NjdXBpZWRDZWxsc0J5SWQuZ2V0KHBlcnNvbi5pZCk/LnF1ZXJ5U2VsZWN0b3IoIi5wZXJzb24tdG9rZW4iKTsKCiAgaWYgKCF0b2tlbikgewogICAgcmV0dXJuOwogIH0KCiAgdG9rZW4uY2xhc3NMaXN0LmFkZCgicHJlcGFyaW5nLW1vdmUiKTsKICBhd2FpdCB3YWl0KG1vdmVGbGFzaE1zKTsKICB0b2tlbi5jbGFzc0xpc3QucmVtb3ZlKCJwcmVwYXJpbmctbW92ZSIpOwp9CgpmdW5jdGlvbiBhbmltYXRlUGVyc29uTW92ZShvbGRUb2tlblJlY3QsIHRva2VuKSB7CiAgaWYgKCFvbGRUb2tlblJlY3QgfHwgIXRva2VuKSB7CiAgICByZXR1cm47CiAgfQoKICBjb25zdCBuZXdUb2tlblJlY3QgPSB0b2tlbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICBjb25zdCBkZWx0YVggPSBvbGRUb2tl"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="25" data-payload="blJlY3QubGVmdCAtIG5ld1Rva2VuUmVjdC5sZWZ0OwogIGNvbnN0IGRlbHRhWSA9IG9sZFRva2VuUmVjdC50b3AgLSBuZXdUb2tlblJlY3QudG9wOwoKICBpZiAoTWF0aC5hYnMoZGVsdGFYKSA8IDEgJiYgTWF0aC5hYnMoZGVsdGFZKSA8IDEpIHsKICAgIHJldHVybjsKICB9CgogIHRva2VuLmNsYXNzTGlzdC5hZGQoInNsaWRpbmciKTsKICB0b2tlbi5zdHlsZS50cmFuc2l0aW9uID0gIm5vbmUiOwogIHRva2VuLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHtkZWx0YVh9cHgsICR7ZGVsdGFZfXB4KWA7CiAgdG9rZW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CgogIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CiAgICBjb25zdCBmaW5pc2hTbGlkZSA9ICgpID0+IHsKICAgICAgdG9rZW4uY2xhc3NMaXN0LnJlbW92ZSgic2xpZGluZyIpOwogICAgICB0b2tlbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIiwgZmluaXNoU2xpZGUpOwogICAgfTsKCiAgICB0b2tlbi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIiwgZmluaXNoU2xpZGUpOwogICAgdG9rZW4uc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKTsKICAgIHRva2VuLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2Zvcm0iKTsKICB9KTsKfQoKZnVuY3Rpb24gY2xhbXAodmFsdWUsIG1pbiwgbWF4KSB7CiAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBtaW4pLCBtYXgpOwp9CgpmdW5jdGlvbiB1cGRhdGVIYXBwaW5lc3MoKSB7CiAgaWYgKGlzU2ltUGF1c2VkKSB7CiAgICByZXR1cm47CiAgfQoKICBtYXliZUNyZWF0ZUF0dHJhY3Rpb25PdmVycmlkZSgpOwoKICBmb3IgKGNvbnN0IHBlcnNvbiBvZiBwZW9wbGUpIHsKICAgIGlmIChpc0ltbW9iaWxlKHBlcnNvbikpIHsKICAgICAgdXBkYXRlUGVyc29uQ2VsbChwZXJzb24pOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBjb25zdCB0aWVzID0gZ3JpZFRpZXNGb3IocGVyc29uKTsKCiAgICBpZiAodGllcy5sZW5ndGggPT09IDApIHsKICAgICAgcGVyc29uLmhhcHBpbmVzcyA9IGNsYW1wKHBlcnNvbi5oYXBwaW5lc3MgLSAxLCAwLCAxMDApOwogICAgICB1cGRhdGVQZXJzb25DZWxsKHBlcnNvbik7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAgIGNvbnN0IGF2ZXJhZ2VEaXN0YW5jZSA9IHRpZXMucmVkdWNlKCh0b3RhbERpc3RhbmNlLCB0aWUpID0+IHsKICAgICAgY29uc3Qgb3RoZXJQZXJzb24gPSBwZW9wbGVCeUlkLmdldCh0aWUuaWQpOwogICAgICByZXR1cm4gdG90YWxEaXN0YW5jZSArIGRpc3RhbmNlQmV0d2VlbihwZXJzb24ucm93LCBwZXJzb24uY29sLCBvdGhlclBlcnNvbi5yb3csIG90aGVyUGVyc29uLmNvbCk7CiAgICB9LCAwKSAvIHRpZXMubGVuZ3RoOwoKICAgIGlmIChhdmVyYWdlRGlzdGFuY2UgPD0gMikgewogICAgICBwZXJzb24uaGFwcGluZXNzID0gY2xhbXAocGVyc29uLmhhcHBpbmVzcyArIDQsIDAsIDEwMCk7CiAgICB9IGVsc2UgaWYgKGF2ZXJhZ2VEaXN0YW5jZSA8PSA0KSB7CiAgICAgIHBlcnNvbi5oYXBwaW5lc3MgPSBjbGFtcChwZXJzb24uaGFwcGluZXNzICsgMSwgMCwgMTAwKTsKICAgIH0gZWxzZSBpZiAoYXZlcmFnZURpc3RhbmNlIDw9IDcpIHsKICAgICAgcGVyc29uLmhhcHBpbmVzcyA9IGNsYW1wKHBlcnNvbi5oYXBwaW5lc3MgLSAxLCAwLCAxMDApOwogICAgfSBlbHNlIHsKICAgICAgcGVyc29uLmhhcHBpbmVzcyA9IGNsYW1wKHBlcnNvbi5oYXBwaW5lc3MgLSA0LCAwLCAxMDApOwogICAgfQoKICAgIHVwZGF0ZVBlcnNvbkNlbGwocGVyc29uKTsKICB9CgogIGlmIChhY3RpdmVQZXJzb25JZCkgewogICAgc2hvd1BlcnNvbihwZW9wbGVCeUlkLmdldChhY3RpdmVQZXJzb25JZCkpOwogIH0KfQoKZnVuY3Rpb24gaXNJbnNpZGVCb2FyZChyb3csIGNvbCkgewogIHJldHVybiByb3cgPj0gMSAmJiByb3cgPD0gYm9hcmRSb3dzICYmIGNvbCA+PSAxICYmIGNvbCA8PSBib2FyZENvbHM7Cn0KCmZ1bmN0aW9uIHNodWZmbGVkRGlyZWN0aW9ucygpIHsKICByZXR1cm4gWwogICAgeyByb3c6IC0xLCBjb2w6IDAgfSwKICAgIHsgcm93OiAxLCBjb2w6IDAgfSwKICAgIHsgcm93OiAwLCBjb2w6IC0xIH0sCiAgICB7IHJvdzogMCwgY29sOiAxIH0sCiAgXS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpOwp9CgpmdW5jdGlvbiBkaXN0YW5jZUJldHdlZW4ocm93QSwgY29sQSwgcm93QiwgY29sQikgewogIHJldHVybiBNYXRoLmFicyhyb3dBIC0gcm93QikgKyBNYXRoLmFicyhjb2xBIC0gY29sQik7Cn0KCmZ1bmN0aW9uIGtub3duUGVyc29uSWRzKHBlcnNvbikgewogIHJldHVybiBuZXcgU2V0KGdyaWRUaWVzRm9yKHBlcnNvbikubWFwKCh0aWUpID0+IHRpZS5pZCkpOwp9CgpmdW5jdGlvbiBuZWFyYnlVbmtub3duUGVvcGxlKHBlcnNvbiwgcm93ID0gcGVyc29uLnJvdywgY29sID0gcGVyc29uLmNvbCkgewogIGNvbnN0IGtub3duSWRzID0ga25vd25QZXJzb25JZHMocGVyc29uKTsKCiAgcmV0dXJuIHBlb3BsZS5maWx0ZXIoKG90aGVyUGVyc29uKSA9PiB7CiAgICBpZiAob3RoZXJQZXJzb24uaWQgPT09IHBlcnNvbi5pZCB8fCBrbm93bklkcy5oYXMob3RoZXJQZXJzb24uaWQpKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICByZXR1cm4gZGlzdGFuY2VCZXR3ZWVuKHJvdywgY29sLCBvdGhlclBlcnNvbi5yb3csIG90"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="26" data-payload="aGVyUGVyc29uLmNvbCkgPD0gMjsKICB9KTsKfQoKZnVuY3Rpb24gaXNTaWRlQnlTaWRlV2l0aFJvbWFudGljVGllKHBlcnNvbikgewogIHJldHVybiBncmlkVGllc0ZvcihwZXJzb24pLnNvbWUoKHRpZSkgPT4gewogICAgY29uc3Qgb3RoZXJQZXJzb24gPSBwZW9wbGVCeUlkLmdldCh0aWUuaWQpOwoKICAgIHJldHVybiB0aWUudHlwZSA9PT0gInJvbWFudGljIiAmJgogICAgICBvdGhlclBlcnNvbiAmJgogICAgICBkaXN0YW5jZUJldHdlZW4ocGVyc29uLnJvdywgcGVyc29uLmNvbCwgb3RoZXJQZXJzb24ucm93LCBvdGhlclBlcnNvbi5jb2wpID09PSAxOwogIH0pOwp9CgpmdW5jdGlvbiBhZGphY2VuY3lTY29yZVRvKHJvdywgY29sLCB0YXJnZXRSb3csIHRhcmdldENvbCkgewogIGNvbnN0IHJvd0Rpc3RhbmNlID0gTWF0aC5hYnMocm93IC0gdGFyZ2V0Um93KTsKICBjb25zdCBjb2xEaXN0YW5jZSA9IE1hdGguYWJzKGNvbCAtIHRhcmdldENvbCk7CgogIGlmIChyb3dEaXN0YW5jZSArIGNvbERpc3RhbmNlID09PSAxKSB7CiAgICByZXR1cm4gMDsKICB9CgogIHJldHVybiBNYXRoLm1pbigKICAgIE1hdGguYWJzKHJvd0Rpc3RhbmNlIC0gMSkgKyBjb2xEaXN0YW5jZSwKICAgIHJvd0Rpc3RhbmNlICsgTWF0aC5hYnMoY29sRGlzdGFuY2UgLSAxKQogICk7Cn0KCmZ1bmN0aW9uIHJvbWFudGljQWRqYWNlbmN5U2NvcmUocGVyc29uLCByb3csIGNvbCkgewogIGNvbnN0IHJvbWFudGljVGllcyA9IGdyaWRUaWVzRm9yKHBlcnNvbikKICAgIC5maWx0ZXIoKHRpZSkgPT4gdGllLnR5cGUgPT09ICJyb21hbnRpYyIpCiAgICAubWFwKCh0aWUpID0+IHBlb3BsZUJ5SWQuZ2V0KHRpZS5pZCkpCiAgICAuZmlsdGVyKEJvb2xlYW4pOwoKICBpZiAocm9tYW50aWNUaWVzLmxlbmd0aCA9PT0gMCkgewogICAgcmV0dXJuIDA7CiAgfQoKICByZXR1cm4gTWF0aC5taW4oLi4ucm9tYW50aWNUaWVzLm1hcCgob3RoZXJQZXJzb24pID0+CiAgICBhZGphY2VuY3lTY29yZVRvKHJvdywgY29sLCBvdGhlclBlcnNvbi5yb3csIG90aGVyUGVyc29uLmNvbCkKICApKTsKfQoKZnVuY3Rpb24gcm9tYW50aWNUaWVEaXJlY3Rpb24ocGVyc29uKSB7CiAgY29uc3Qgcm9tYW50aWNUaWVzID0gZ3JpZFRpZXNGb3IocGVyc29uKQogICAgLmZpbHRlcigodGllKSA9PiB0aWUudHlwZSA9PT0gInJvbWFudGljIikKICAgIC5tYXAoKHRpZSkgPT4gcGVvcGxlQnlJZC5nZXQodGllLmlkKSkKICAgIC5maWx0ZXIoQm9vbGVhbikKICAgIC5zb3J0KChwZXJzb25BLCBwZXJzb25CKSA9PiB7CiAgICAgIHJldHVybiBhZGphY2VuY3lTY29yZVRvKHBlcnNvbi5yb3csIHBlcnNvbi5jb2wsIHBlcnNvbkEucm93LCBwZXJzb25BLmNvbCkgLQogICAgICAgIGFkamFjZW5jeVNjb3JlVG8ocGVyc29uLnJvdywgcGVyc29uLmNvbCwgcGVyc29uQi5yb3csIHBlcnNvbkIuY29sKTsKICAgIH0pOwoKICBjb25zdCB0YXJnZXQgPSByb21hbnRpY1RpZXNbMF07CgogIGlmICghdGFyZ2V0IHx8IGlzU2lkZUJ5U2lkZVdpdGhSb21hbnRpY1RpZShwZXJzb24pKSB7CiAgICByZXR1cm4gbnVsbDsKICB9CgogIGNvbnN0IGRlbHRhUm93ID0gdGFyZ2V0LnJvdyAtIHBlcnNvbi5yb3c7CiAgY29uc3QgZGVsdGFDb2wgPSB0YXJnZXQuY29sIC0gcGVyc29uLmNvbDsKICBjb25zdCBhbmdsZSA9IE1hdGguYXRhbjIoZGVsdGFDb2wsIC1kZWx0YVJvdykgKiAoMTgwIC8gTWF0aC5QSSk7CiAgY29uc3QgYXZhdGFyRWRnZVNjYWxlID0gMC4zOCAvIE1hdGgubWF4KE1hdGguYWJzKGRlbHRhQ29sKSwgTWF0aC5hYnMoZGVsdGFSb3cpKTsKICBjb25zdCB4ID0gNTAgKyBkZWx0YUNvbCAqIGF2YXRhckVkZ2VTY2FsZSAqIDEwMDsKICBjb25zdCB5ID0gNTAgKyBkZWx0YVJvdyAqIGF2YXRhckVkZ2VTY2FsZSAqIDEwMDsKCiAgcmV0dXJuIHsgYW5nbGUsIHgsIHkgfTsKfQoKZnVuY3Rpb24gbW92ZVRvd2FyZFBvc2l0aW9uKG9wdGlvbnMsIHRhcmdldFJvdywgdGFyZ2V0Q29sKSB7CiAgcmV0dXJuIG9wdGlvbnMKICAgIC5tYXAoKG9wdGlvbikgPT4gKHsKICAgICAgLi4ub3B0aW9uLAogICAgICBkaXN0YW5jZTogZGlzdGFuY2VCZXR3ZWVuKG9wdGlvbi5yb3csIG9wdGlvbi5jb2wsIHRhcmdldFJvdywgdGFyZ2V0Q29sKSwKICAgIH0pKQogICAgLnNvcnQoKG9wdGlvbkEsIG9wdGlvbkIpID0+IG9wdGlvbkEuZGlzdGFuY2UgLSBvcHRpb25CLmRpc3RhbmNlKVswXSA/PyBudWxsOwp9CgpmdW5jdGlvbiBmdXJ0aGVzdENvcm5lckZvcihwZXJzb24pIHsKICBjb25zdCBjb3JuZXJzID0gWwogICAgeyByb3c6IDEsIGNvbDogMSB9LAogICAgeyByb3c6IDEsIGNvbDogYm9hcmRDb2xzIH0sCiAgICB7IHJvdzogYm9hcmRSb3dzLCBjb2w6IDEgfSwKICAgIHsgcm93OiBib2FyZFJvd3MsIGNvbDogYm9hcmRDb2xzIH0sCiAgXTsKCiAgcmV0dXJuIGNvcm5lcnMuc29ydCgoY29ybmVyQSwgY29ybmVyQikgPT4gewogICAgY29uc3QgZGlzdGFuY2VBID0gZGlzdGFuY2VCZXR3ZWVuKHBlcnNvbi5yb3csIHBlcnNvbi5jb2wsIGNvcm5lckEucm93LCBjb3JuZXJBLmNvbCk7CiAgICBjb25zdCBkaXN0YW5jZUIgPSBkaXN0YW5jZUJldHdlZW4ocGVyc29uLnJvdywgcGVyc29uLmNvbCwgY29ybmVyQi5yb3csIGNvcm5lckIuY29sKTsKICAgIHJldHVybiBkaXN0YW5jZUIgLSBkaXN0YW5jZUE7CiAgfSlbMF07Cn0KCmZ1bmN0aW9uIGppbHRQZXJzb24ocGVy"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="27" data-payload="c29uLCBsb3N0UGVyc29uLCBuZXdQYXJ0bmVyKSB7CiAgaWYgKCFwZXJzb24gfHwgIWxvc3RQZXJzb24gfHwgIW5ld1BhcnRuZXIpIHsKICAgIHJldHVybjsKICB9CgogIGNsZWFyUm9tYW50aWNUaWUocGVyc29uLmlkKTsKICBwZXJzb24ucmVsYXRpb25zaGlwID0gIk5vIGN1cnJlbnQgcGFydG5lciI7CiAgcGVyc29uLmhhcHBpbmVzcyA9IDA7CiAgc3RhcnRDcnlSZWNvdmVyeShwZXJzb24uaWQpOwogIGppbHRlZExvc3Nlcy5zZXQocGVyc29uLmlkLCB7CiAgICB0YXJnZXQ6IGxvc3RQZXJzb24ubmFtZSwKICAgIGNoYXNlcjogbmV3UGFydG5lci5uYW1lLAogIH0pOwogIHNldFNwZWVjaEJ1YmJsZShwZXJzb24uaWQsIHNwZWVjaFBocmFzZUZvcigiamlsdGVkX2xvc3MiLCB7CiAgICB0YXJnZXQ6IGxvc3RQZXJzb24ubmFtZSwKICAgIGNoYXNlcjogbmV3UGFydG5lci5uYW1lLAogIH0pLCBsb25nQWZ0ZXJtYXRoVGlja3MpOwp9CgpmdW5jdGlvbiBtYWtlU2luZ2xlU2lsZW50bHkocGVyc29uKSB7CiAgaWYgKCFwZXJzb24pIHsKICAgIHJldHVybjsKICB9CgogIGNsZWFyUm9tYW50aWNUaWUocGVyc29uLmlkKTsKICBwZXJzb24ucmVsYXRpb25zaGlwID0gIk5vIGN1cnJlbnQgcGFydG5lciI7Cn0KCmZ1bmN0aW9uIHJlc29sdmVBY2NlcHRlZFRyeXN0KHBsYW4pIHsKICBjb25zdCBpbGxpY2l0UGVyc29uID0gcGVvcGxlQnlJZC5nZXQocGxhbi5pbGxpY2l0UGVyc29uSWQpOwogIGNvbnN0IG9yaWdpbmFsUGFydG5lciA9IHBlb3BsZUJ5SWQuZ2V0KHBsYW4uY2hhc2VyUGFydG5lcklkKTsKICBjb25zdCB0YXJnZXQgPSBwZW9wbGVCeUlkLmdldChwbGFuLnRhcmdldElkKTsKCiAgaWYgKCFpbGxpY2l0UGVyc29uIHx8ICFvcmlnaW5hbFBhcnRuZXIgfHwgIXRhcmdldCkgewogICAgcmV0dXJuOwogIH0KCiAgY29uc3QgdGFyZ2V0T3JpZ2luYWxQYXJ0bmVySWQgPSBkZWZhdWx0Um9tYW50aWNUaWVGb3IodGFyZ2V0KT8uaWQgPz8gbnVsbDsKICBjb25zdCB0YXJnZXRPcmlnaW5hbFBhcnRuZXIgPSB0YXJnZXRPcmlnaW5hbFBhcnRuZXJJZCA/IHBlb3BsZUJ5SWQuZ2V0KHRhcmdldE9yaWdpbmFsUGFydG5lcklkKSA6IG51bGw7CgogIGNsZWFyVHJ5c3RTcGVlY2hCdWJibGVzKHBsYW4uaWxsaWNpdFBlcnNvbklkKTsKICBoaWRlTW92ZW1lbnRMaW5lKCk7CgogIGlmICh0YXJnZXRPcmlnaW5hbFBhcnRuZXIgJiYgdGFyZ2V0T3JpZ2luYWxQYXJ0bmVyLmlkICE9PSBpbGxpY2l0UGVyc29uLmlkKSB7CiAgICBqaWx0UGVyc29uKHRhcmdldE9yaWdpbmFsUGFydG5lciwgdGFyZ2V0LCBpbGxpY2l0UGVyc29uKTsKICB9CgogIG1ha2VTaW5nbGVTaWxlbnRseShvcmlnaW5hbFBhcnRuZXIpOwogIGF0dHJhY3Rpb25PdmVycmlkZXMuZGVsZXRlKGlsbGljaXRQZXJzb24uaWQpOwogIGF0dHJhY3Rpb25PdmVycmlkZXMuZGVsZXRlKHRhcmdldC5pZCk7CiAgc2V0Um9tYW50aWNUaWUoaWxsaWNpdFBlcnNvbi5pZCwgdGFyZ2V0LmlkLCBjdXJyZW50Um9tYW50aWNMYWJlbEZvcihpbGxpY2l0UGVyc29uKSk7CiAgc2V0Um9tYW50aWNUaWUodGFyZ2V0LmlkLCBpbGxpY2l0UGVyc29uLmlkLCBjdXJyZW50Um9tYW50aWNMYWJlbEZvcih0YXJnZXQpKTsKICBzeW5jQ291cGxlQ29sb3IoaWxsaWNpdFBlcnNvbi5pZCwgdGFyZ2V0LmlkKTsKICB1cGRhdGVQZXJzb25DZWxsKGlsbGljaXRQZXJzb24pOwogIHVwZGF0ZVBlcnNvbkNlbGwodGFyZ2V0KTsKICB1cGRhdGVQZXJzb25DZWxsKG9yaWdpbmFsUGFydG5lcik7CiAgcGxhbi5zdGF0ZSA9ICJ3b25fYWZ0ZXJtYXRoIjsKICBwbGFuLnRpY2tzUmVtYWluaW5nID0gbG9uZ0FmdGVybWF0aFRpY2tzOwp9CgpmdW5jdGlvbiByZXNvbHZlUmVqZWN0ZWRUcnlzdChwbGFuKSB7CiAgY29uc3QgaWxsaWNpdFBlcnNvbiA9IHBlb3BsZUJ5SWQuZ2V0KHBsYW4uaWxsaWNpdFBlcnNvbklkKTsKICBjb25zdCB0YXJnZXQgPSBwZW9wbGVCeUlkLmdldChwbGFuLnRhcmdldElkKTsKCiAgaWYgKCFpbGxpY2l0UGVyc29uIHx8ICF0YXJnZXQpIHsKICAgIHJldHVybjsKICB9CgogIGhpZGVNb3ZlbWVudExpbmUoKTsKICBhdHRyYWN0aW9uT3ZlcnJpZGVzLmRlbGV0ZShpbGxpY2l0UGVyc29uLmlkKTsKICBwbGFuLnN0YXRlID0gInJlamVjdGVkIjsKICBwbGFuLnRpY2tzUmVtYWluaW5nID0gc2hvcnRBZnRlcm1hdGhUaWNrczsKICBzZXRTcGVlY2hCdWJibGUoCiAgICB0YXJnZXQuaWQsCiAgICBzcGVlY2hQaHJhc2VGb3IoInN0cmF5X3RhcmdldF9yZWplY3RpbmciLCB7IGNoYXNlcjogaWxsaWNpdFBlcnNvbi5uYW1lIH0pLAogICAgc2hvcnRBZnRlcm1hdGhUaWNrcywKICAgIHBsYW4uaWxsaWNpdFBlcnNvbklkCiAgKTsKICB1cGRhdGVQZXJzb25DZWxsKGlsbGljaXRQZXJzb24pOwogIHVwZGF0ZVBlcnNvbkNlbGwodGFyZ2V0KTsKICB1cGRhdGVUcnlzdExpbmVzKCk7Cn0KCmZ1bmN0aW9uIHJlc29sdmVUcnlzdFJhY2VMb3NzKHBsYW4pIHsKICBjb25zdCBpbGxpY2l0UGVyc29uID0gcGVvcGxlQnlJZC5nZXQocGxhbi5pbGxpY2l0UGVyc29uSWQpOwogIGNvbnN0IG9yaWdpbmFsUGFydG5lciA9IHBlb3BsZUJ5SWQuZ2V0KHBsYW4udGFyZ2V0UGFydG5lcklkKTsKICBjb25zdCB0YXJnZXQgPSBwZW9wbGVCeUlkLmdldChwbGFuLnRhcmdldElkKTsKCiAgaWYgKCFpbGxpY2l0UGVyc29uIHx8ICFvcmlnaW5hbFBhcnRuZXIgfHwgIXRhcmdldCkg"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="28" data-payload="ewogICAgcmV0dXJuOwogIH0KCiAgY2xlYXJUcnlzdFNwZWVjaEJ1YmJsZXMocGxhbi5pbGxpY2l0UGVyc29uSWQpOwogIGhpZGVNb3ZlbWVudExpbmUoKTsKICBhdHRyYWN0aW9uT3ZlcnJpZGVzLmRlbGV0ZShpbGxpY2l0UGVyc29uLmlkKTsKICBzdGFydERlYWRSZWNvdmVyeShpbGxpY2l0UGVyc29uLmlkKTsKICBwbGFuLnN0YXRlID0gImRlZmVuZGVkIjsKICBwbGFuLnRpY2tzUmVtYWluaW5nID0gbG9uZ0FmdGVybWF0aFRpY2tzOwogIHNldFNwZWVjaEJ1YmJsZSgKICAgIG9yaWdpbmFsUGFydG5lci5pZCwKICAgIHNwZWVjaFBocmFzZUZvcigiZGVmZW5kZXJfd2luIiwgeyBjaGFzZXI6IGlsbGljaXRQZXJzb24ubmFtZSB9KSwKICAgIGxvbmdBZnRlcm1hdGhUaWNrcywKICAgIHBsYW4uaWxsaWNpdFBlcnNvbklkCiAgKTsKICB1cGRhdGVQZXJzb25DZWxsKGlsbGljaXRQZXJzb24pOwogIHVwZGF0ZVBlcnNvbkNlbGwob3JpZ2luYWxQYXJ0bmVyKTsKICB1cGRhdGVUcnlzdExpbmVzKCk7Cn0KCmZ1bmN0aW9uIHRyeXN0RGlzdGFuY2VUb1RhcmdldChwbGFuLCBwZXJzb25JZCkgewogIGNvbnN0IHBlcnNvbiA9IHBlb3BsZUJ5SWQuZ2V0KHBlcnNvbklkKTsKICBjb25zdCB0YXJnZXQgPSBwZW9wbGVCeUlkLmdldChwbGFuLnRhcmdldElkKTsKCiAgaWYgKCFwZXJzb24gfHwgIXRhcmdldCkgewogICAgcmV0dXJuIG51bGw7CiAgfQoKICByZXR1cm4gZGlzdGFuY2VCZXR3ZWVuKHBlcnNvbi5yb3csIHBlcnNvbi5jb2wsIHRhcmdldC5yb3csIHRhcmdldC5jb2wpOwp9CgpmdW5jdGlvbiB0YXJnZXRQYXJ0bmVyQ2FuQ29udGVzdChwbGFuKSB7CiAgcmV0dXJuIEJvb2xlYW4ocGxhbi50YXJnZXRQYXJ0bmVySWQpICYmCiAgICBwbGFuLnRhcmdldFBhcnRuZXJJZCAhPT0gcGxhbi5pbGxpY2l0UGVyc29uSWQgJiYKICAgIGlzT25HcmlkKHBsYW4udGFyZ2V0UGFydG5lcklkKSAmJgogICAgIWlzSW1tb2JpbGUocGVvcGxlQnlJZC5nZXQocGxhbi50YXJnZXRQYXJ0bmVySWQpKTsKfQoKZnVuY3Rpb24gcmVzcG9uZFRvVHJ5c3QocGxhbiwgcmVhY2hlZFRhcmdldCA9IGZhbHNlKSB7CiAgY29uc3QgaWxsaWNpdFBlcnNvbiA9IHBlb3BsZUJ5SWQuZ2V0KHBsYW4uaWxsaWNpdFBlcnNvbklkKTsKICBjb25zdCB0YXJnZXQgPSBwZW9wbGVCeUlkLmdldChwbGFuLnRhcmdldElkKTsKCiAgaWYgKCFpbGxpY2l0UGVyc29uIHx8ICF0YXJnZXQpIHsKICAgIHRyeXN0UGxhbnMuZGVsZXRlKHBsYW4uaWxsaWNpdFBlcnNvbklkKTsKICAgIHJldHVybjsKICB9CgogIGlmIChwbGFuLnRhcmdldFJlc3BvbnNlID09PSAicmVqZWN0IikgewogICAgcmVzb2x2ZVJlamVjdGVkVHJ5c3QocGxhbik7CiAgICByZXR1cm47CiAgfQoKICBzZXRTcGVlY2hCdWJibGUoCiAgICB0YXJnZXQuaWQsCiAgICBzcGVlY2hQaHJhc2VGb3IoInN0cmF5X3RhcmdldF9hY2NlcHRpbmciLCB7IGNoYXNlcjogaWxsaWNpdFBlcnNvbi5uYW1lIH0pLAogICAgMywKICAgIHBsYW4uaWxsaWNpdFBlcnNvbklkCiAgKTsKCiAgaWYgKHJlYWNoZWRUYXJnZXQpIHsKICAgIHJlc29sdmVBY2NlcHRlZFRyeXN0KHBsYW4pOwogICAgcmV0dXJuOwogIH0KCiAgcGxhbi5zdGF0ZSA9ICJhY2NlcHRlZF93YWl0aW5nX2Jsb2NrZXIiOwogIHBsYW4uYmxvY2tlclR1cm5zUmVtYWluaW5nID0gdHJ5c3RCbG9ja2VyVHVybnM7Cn0KCmZ1bmN0aW9uIGludml0ZVRhcmdldFBhcnRuZXJUb1JhY2UocGxhbikgewogIGNvbnN0IGlsbGljaXRQZXJzb24gPSBwZW9wbGVCeUlkLmdldChwbGFuLmlsbGljaXRQZXJzb25JZCk7CiAgY29uc3QgdGFyZ2V0ID0gcGVvcGxlQnlJZC5nZXQocGxhbi50YXJnZXRJZCk7CiAgY29uc3QgdGFyZ2V0UGFydG5lciA9IHBlb3BsZUJ5SWQuZ2V0KHBsYW4udGFyZ2V0UGFydG5lcklkKTsKCiAgaWYgKCFpbGxpY2l0UGVyc29uIHx8ICF0YXJnZXQgfHwgIXRhcmdldFBhcnRuZXIpIHsKICAgIHJldHVybjsKICB9CgogIHNldFNwZWVjaEJ1YmJsZSgKICAgIHRhcmdldFBhcnRuZXIuaWQsCiAgICBzcGVlY2hQaHJhc2VGb3IoInN0cmF5X2Jsb2NrZXIiLCB7IGNoYXNlcjogaWxsaWNpdFBlcnNvbi5uYW1lLCB0YXJnZXQ6IHRhcmdldC5uYW1lIH0pLAogICAgMywKICAgIHBsYW4uaWxsaWNpdFBlcnNvbklkCiAgKTsKICBwbGFuLnN0YXRlID0gInJhY2luZyI7CiAgcmVzb2x2ZVRyeXN0UmFjZUlmTmVlZGVkKHBsYW4pOwp9CgpmdW5jdGlvbiByZXNvbHZlVHJ5c3RSYWNlSWZOZWVkZWQocGxhbikgewogIGNvbnN0IGlsbGljaXREaXN0YW5jZSA9IHRyeXN0RGlzdGFuY2VUb1RhcmdldChwbGFuLCBwbGFuLmlsbGljaXRQZXJzb25JZCk7CiAgY29uc3QgZGVmZW5kZXJEaXN0YW5jZSA9IHRyeXN0RGlzdGFuY2VUb1RhcmdldChwbGFuLCBwbGFuLnRhcmdldFBhcnRuZXJJZCk7CiAgY29uc3QgaWxsaWNpdEFycml2ZWQgPSBpbGxpY2l0RGlzdGFuY2UgIT09IG51bGwgJiYgaWxsaWNpdERpc3RhbmNlIDw9IDE7CiAgY29uc3QgZGVmZW5kZXJBcnJpdmVkID0gZGVmZW5kZXJEaXN0YW5jZSAhPT0gbnVsbCAmJiBkZWZlbmRlckRpc3RhbmNlIDw9IDE7CgogIGlmIChpbGxpY2l0QXJyaXZlZCAmJiBkZWZlbmRlckFycml2ZWQpIHsKICAgIGlmIChNYXRoLnJhbmRvbSgpIDwgMC41KSB7CiAgICAgIHJlc29sdmVBY2NlcHRlZFRyeXN0KHBsYW4pOwogICAgfSBlbHNlIHsKICAgICAgcmVzb2x2ZVRyeXN0UmFjZUxvc3Mo"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="29" data-payload="cGxhbik7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGlmIChpbGxpY2l0QXJyaXZlZCkgewogICAgcmVzb2x2ZUFjY2VwdGVkVHJ5c3QocGxhbik7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGlmIChkZWZlbmRlckFycml2ZWQpIHsKICAgIHJlc29sdmVUcnlzdFJhY2VMb3NzKHBsYW4pOwogICAgcmV0dXJuIHRydWU7CiAgfQoKICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIG1heWJlQWR2YW5jZVRyeXN0UGxhbihwbGFuLCBtb3ZlcklkKSB7CiAgaWYgKCFwbGFuIHx8IFsicmVqZWN0ZWQiLCAiZGVmZW5kZWQiLCAid29uX2FmdGVybWF0aCJdLmluY2x1ZGVzKHBsYW4uc3RhdGUpKSB7CiAgICByZXR1cm47CiAgfQoKICBjb25zdCBpbGxpY2l0UGVyc29uID0gcGVvcGxlQnlJZC5nZXQocGxhbi5pbGxpY2l0UGVyc29uSWQpOwogIGNvbnN0IHRhcmdldCA9IHBlb3BsZUJ5SWQuZ2V0KHBsYW4udGFyZ2V0SWQpOwoKICBpZiAoIWlsbGljaXRQZXJzb24gfHwgIXRhcmdldCkgewogICAgY2xlYXJUcnlzdFNwZWVjaEJ1YmJsZXMocGxhbi5pbGxpY2l0UGVyc29uSWQpOwogICAgaGlkZU1vdmVtZW50TGluZSgpOwogICAgdHJ5c3RQbGFucy5kZWxldGUocGxhbi5pbGxpY2l0UGVyc29uSWQpOwogICAgcmV0dXJuOwogIH0KCiAgY29uc3QgaWxsaWNpdEFycml2ZWQgPSB0cnlzdERpc3RhbmNlVG9UYXJnZXQocGxhbiwgcGxhbi5pbGxpY2l0UGVyc29uSWQpIDw9IDE7CgogIGlmIChwbGFuLnN0YXRlID09PSAiaW50ZXJlc3QiKSB7CiAgICBpZiAobW92ZXJJZCA9PT0gcGxhbi5pbGxpY2l0UGVyc29uSWQgJiYgaWxsaWNpdEFycml2ZWQpIHsKICAgICAgcmVzcG9uZFRvVHJ5c3QocGxhbiwgdHJ1ZSk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAobW92ZXJJZCA9PT0gcGxhbi5pbGxpY2l0UGVyc29uSWQpIHsKICAgICAgcGxhbi5yZXNwb25zZVR1cm5zUmVtYWluaW5nIC09IDE7CiAgICB9CgogICAgaWYgKHBsYW4ucmVzcG9uc2VUdXJuc1JlbWFpbmluZyA8PSAwKSB7CiAgICAgIHJlc3BvbmRUb1RyeXN0KHBsYW4sIGZhbHNlKTsKICAgIH0KICAgIHJldHVybjsKICB9CgogIGlmIChwbGFuLnN0YXRlID09PSAiYWNjZXB0ZWRfd2FpdGluZ19ibG9ja2VyIikgewogICAgaWYgKG1vdmVySWQgPT09IHBsYW4uaWxsaWNpdFBlcnNvbklkICYmIGlsbGljaXRBcnJpdmVkKSB7CiAgICAgIHJlc29sdmVBY2NlcHRlZFRyeXN0KHBsYW4pOwogICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKCF0YXJnZXRQYXJ0bmVyQ2FuQ29udGVzdChwbGFuKSkgewogICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKG1vdmVySWQgPT09IHBsYW4uaWxsaWNpdFBlcnNvbklkKSB7CiAgICAgIHBsYW4uYmxvY2tlclR1cm5zUmVtYWluaW5nIC09IDE7CiAgICB9CgogICAgaWYgKHBsYW4uYmxvY2tlclR1cm5zUmVtYWluaW5nIDw9IDApIHsKICAgICAgaW52aXRlVGFyZ2V0UGFydG5lclRvUmFjZShwbGFuKTsKICAgIH0KICAgIHJldHVybjsKICB9CgogIGlmIChwbGFuLnN0YXRlID09PSAicmFjaW5nIikgewogICAgcmVzb2x2ZVRyeXN0UmFjZUlmTmVlZGVkKHBsYW4pOwogIH0KfQoKZnVuY3Rpb24gdXBkYXRlUG9zdE1vdmVTdGF0ZShwZXJzb24pIHsKICBjb25zdCBwbGFuID0gdHJ5c3RQbGFucy5nZXQocGVyc29uLmlkKTsKCiAgaWYgKHBsYW4/LnN0YXRlID09PSAiZXhpbGluZyIgJiYgcGxhbi5leGlsZUNvcm5lciAmJgogICAgcGVyc29uLnJvdyA9PT0gcGxhbi5leGlsZUNvcm5lci5yb3cgJiYgcGVyc29uLmNvbCA9PT0gcGxhbi5leGlsZUNvcm5lci5jb2wpIHsKICAgIHBlcnNvbi5oYXBwaW5lc3MgPSAwOwogICAgc3RhcnREZWFkUmVjb3ZlcnkocGVyc29uLmlkKTsKICAgIHRyeXN0UGxhbnMuZGVsZXRlKHBlcnNvbi5pZCk7CiAgfQoKICBtYXliZUFkdmFuY2VUcnlzdFBsYW4odHJ5c3RQbGFucy5nZXQocGVyc29uLmlkKSwgcGVyc29uLmlkKTsKICBtYXliZUFkdmFuY2VUcnlzdFBsYW4odHJ5c3RQbGFuRm9yUml2YWwocGVyc29uLmlkKSwgcGVyc29uLmlkKTsKfQoKZnVuY3Rpb24gc3RyYW5nZXJEaXN0YW5jZVNjb3JlKHBlcnNvbiwgcm93LCBjb2wsIHN0cmFuZ2VycykgewogIHJldHVybiBzdHJhbmdlcnMucmVkdWNlKChzY29yZSwgc3RyYW5nZXIpID0+IHsKICAgIHJldHVybiBzY29yZSArIGRpc3RhbmNlQmV0d2Vlbihyb3csIGNvbCwgc3RyYW5nZXIucm93LCBzdHJhbmdlci5jb2wpOwogIH0sIDApOwp9CgpmdW5jdGlvbiB0aWVXZWlnaHQodGllKSB7CiAgcmV0dXJuIHRpZS50eXBlID09PSAicm9tYW50aWMiID8gMS4zNSA6IDE7Cn0KCmZ1bmN0aW9uIHNvY2lhbERpc3RhbmNlU2NvcmUocGVyc29uLCByb3csIGNvbCkgewogIGNvbnN0IHRpZXMgPSBncmlkVGllc0ZvcihwZXJzb24pOwoKICBpZiAodGllcy5sZW5ndGggPT09IDApIHsKICAgIHJldHVybiAwOwogIH0KCiAgcmV0dXJuIHRpZXMucmVkdWNlKChzY29yZSwgdGllKSA9PiB7CiAgICBjb25zdCBvdGhlclBlcnNvbiA9IHBlb3BsZUJ5SWQuZ2V0KHRpZS5pZCk7CgogICAgaWYgKCFvdGhlclBlcnNvbikgewogICAgICByZXR1cm4gc2NvcmU7CiAgICB9CgogICAgcmV0dXJuIHNjb3JlICsgZGlzdGFuY2VCZXR3ZWVuKHJvdywgY29sLCBvdGhlclBlcnNvbi5yb3csIG90aGVyUGVyc29uLmNvbCkgKiB0aWVXZWlnaHQodGllKTsKICB9LCAwKTsKfQoKZnVuY3Rpb24gdmFsaWRNb3ZlT3B0aW9ucyhwZXJz"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="30" data-payload="b24pIHsKICByZXR1cm4gc2h1ZmZsZWREaXJlY3Rpb25zKCkKICAgIC5tYXAoKGRpcmVjdGlvbikgPT4gKHsKICAgICAgcm93OiBwZXJzb24ucm93ICsgZGlyZWN0aW9uLnJvdywKICAgICAgY29sOiBwZXJzb24uY29sICsgZGlyZWN0aW9uLmNvbCwKICAgIH0pKQogICAgLmZpbHRlcigob3B0aW9uKSA9PiB7CiAgICAgIGNvbnN0IGtleSA9IHBvc2l0aW9uS2V5KG9wdGlvbi5yb3csIG9wdGlvbi5jb2wpOwogICAgICByZXR1cm4gaXNJbnNpZGVCb2FyZChvcHRpb24ucm93LCBvcHRpb24uY29sKSAmJiAhcGVvcGxlQnlQb3NpdGlvbi5oYXMoa2V5KTsKICAgIH0pOwp9CgpmdW5jdGlvbiByYW5kb21Gcm9tKGl0ZW1zKSB7CiAgcmV0dXJuIGl0ZW1zW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGl0ZW1zLmxlbmd0aCldOwp9CgpmdW5jdGlvbiBwcmVmZXJGcmVzaENhbmRpZGF0ZXMoY2FuZGlkYXRlcykgewogIGNvbnN0IGZyZXNoQ2FuZGlkYXRlcyA9IGNhbmRpZGF0ZXMuZmlsdGVyKChwZXJzb24pID0+ICFyZWNlbnRNb3ZlQ2FuZGlkYXRlSWRzLmluY2x1ZGVzKHBlcnNvbi5pZCkpOwogIHJldHVybiBmcmVzaENhbmRpZGF0ZXMubGVuZ3RoID4gMCA/IGZyZXNoQ2FuZGlkYXRlcyA6IGNhbmRpZGF0ZXM7Cn0KCmZ1bmN0aW9uIHJlbWVtYmVyTW92ZUNhbmRpZGF0ZShwZXJzb24pIHsKICByZWNlbnRNb3ZlQ2FuZGlkYXRlSWRzLnB1c2gocGVyc29uLmlkKTsKCiAgd2hpbGUgKHJlY2VudE1vdmVDYW5kaWRhdGVJZHMubGVuZ3RoID4gcmVjZW50TW92ZU1lbW9yeSkgewogICAgcmVjZW50TW92ZUNhbmRpZGF0ZUlkcy5zaGlmdCgpOwogIH0KfQoKZnVuY3Rpb24gY2hvb3NlTW92ZW1lbnRDYW5kaWRhdGUoKSB7CiAgY29uc3QgbW92YWJsZVBlb3BsZSA9IHBlb3BsZS5maWx0ZXIoKHBlcnNvbikgPT4gIWlzSW1tb2JpbGUocGVyc29uKSk7CiAgY29uc3QgY3Jvd2RlZFBlb3BsZSA9IG1vdmFibGVQZW9wbGUuZmlsdGVyKChwZXJzb24pID0+IG5lYXJieVVua25vd25QZW9wbGUocGVyc29uKS5sZW5ndGggPj0gMik7CiAgY29uc3Qgc2hvdWxkUHJlZmVyQ3Jvd2RlZCA9IGNyb3dkZWRQZW9wbGUubGVuZ3RoID4gMCAmJiBNYXRoLnJhbmRvbSgpIDwgY3Jvd2RlZE1vdmVQcmVmZXJlbmNlOwogIGNvbnN0IGNhbmRpZGF0ZXMgPSBzaG91bGRQcmVmZXJDcm93ZGVkID8gY3Jvd2RlZFBlb3BsZSA6IG1vdmFibGVQZW9wbGU7CgogIHJldHVybiByYW5kb21Gcm9tKHByZWZlckZyZXNoQ2FuZGlkYXRlcyhjYW5kaWRhdGVzKSk7Cn0KCmZ1bmN0aW9uIHByaW9yaXR5TW92ZXJzRm9yVGljaygpIHsKICBjb25zdCBwcmlvcml0aXplZFBlb3BsZSA9IFtdOwogIGNvbnN0IHNlZW5JZHMgPSBuZXcgU2V0KCk7CgogIGZvciAoY29uc3QgcGxhbiBvZiB0cnlzdFBsYW5zLnZhbHVlcygpKSB7CiAgICBpZiAocGxhbi5zdGF0ZSA9PT0gImV4aWxpbmciKSB7CiAgICAgIGNvbnN0IHBlcnNvbiA9IHBlb3BsZUJ5SWQuZ2V0KHBsYW4uaWxsaWNpdFBlcnNvbklkKTsKCiAgICAgIGlmIChwZXJzb24gJiYgIXNlZW5JZHMuaGFzKHBlcnNvbi5pZCkgJiYgIWlzSW1tb2JpbGUocGVyc29uKSkgewogICAgICAgIHByaW9yaXRpemVkUGVvcGxlLnB1c2gocGVyc29uKTsKICAgICAgICBzZWVuSWRzLmFkZChwZXJzb24uaWQpOwogICAgICB9CiAgICB9CiAgfQoKICBmb3IgKGNvbnN0IHBsYW4gb2YgdHJ5c3RQbGFucy52YWx1ZXMoKSkgewogICAgaWYgKCFbImludGVyZXN0IiwgImFjY2VwdGVkX3dhaXRpbmdfYmxvY2tlciIsICJyYWNpbmciXS5pbmNsdWRlcyhwbGFuLnN0YXRlKSkgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBjb25zdCByYWNlcnMgPSBbcGVvcGxlQnlJZC5nZXQocGxhbi5pbGxpY2l0UGVyc29uSWQpXTsKCiAgICBpZiAocGxhbi5zdGF0ZSA9PT0gInJhY2luZyIpIHsKICAgICAgcmFjZXJzLnB1c2gocGVvcGxlQnlJZC5nZXQocGxhbi50YXJnZXRQYXJ0bmVySWQpKTsKICAgIH0KCiAgICBmb3IgKGNvbnN0IHBlcnNvbiBvZiByYWNlcnMpIHsKICAgICAgaWYgKHBlcnNvbiAmJiAhc2Vlbklkcy5oYXMocGVyc29uLmlkKSAmJiAhaXNJbW1vYmlsZShwZXJzb24pKSB7CiAgICAgICAgcHJpb3JpdGl6ZWRQZW9wbGUucHVzaChwZXJzb24pOwogICAgICAgIHNlZW5JZHMuYWRkKHBlcnNvbi5pZCk7CiAgICAgIH0KICAgIH0KICB9CgogIHJldHVybiBwcmlvcml0aXplZFBlb3BsZTsKfQoKZnVuY3Rpb24gY2hvb3NlTW92ZShwZXJzb24sIG9wdGlvbnMpIHsKICBjb25zdCBleGlsZVBsYW4gPSB0cnlzdFBsYW5zLmdldChwZXJzb24uaWQpOwoKICBpZiAoZXhpbGVQbGFuPy5zdGF0ZSA9PT0gImV4aWxpbmciICYmIGV4aWxlUGxhbi5leGlsZUNvcm5lcikgewogICAgcmV0dXJuIG1vdmVUb3dhcmRQb3NpdGlvbihvcHRpb25zLCBleGlsZVBsYW4uZXhpbGVDb3JuZXIucm93LCBleGlsZVBsYW4uZXhpbGVDb3JuZXIuY29sKTsKICB9CgogIGNvbnN0IGFjdGl2ZVBsYW4gPSB0cnlzdFBsYW5zLmdldChwZXJzb24uaWQpOwoKICBpZiAoWyJpbnRlcmVzdCIsICJhY2NlcHRlZF93YWl0aW5nX2Jsb2NrZXIiLCAicmFjaW5nIl0uaW5jbHVkZXMoYWN0aXZlUGxhbj8uc3RhdGUpKSB7CiAgICBjb25zdCB0YXJnZXQgPSBwZW9wbGVCeUlkLmdldChhY3RpdmVQbGFuLnRhcmdldElkKTsKICAgIGNvbnN0IHB1cnN1aXRNb3ZlID0gdGFyZ2V0ID8gbW92ZVRvd2FyZFBvc2l0aW9uKG9wdGlvbnMsIHRh"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="31" data-payload="cmdldC5yb3csIHRhcmdldC5jb2wpIDogbnVsbDsKCiAgICBpZiAocHVyc3VpdE1vdmUpIHsKICAgICAgcmV0dXJuIHB1cnN1aXRNb3ZlOwogICAgfQogIH0KCiAgY29uc3Qgcml2YWxQbGFuID0gdHJ5c3RQbGFuRm9yUml2YWwocGVyc29uLmlkKTsKCiAgaWYgKHJpdmFsUGxhbj8uc3RhdGUgPT09ICJyYWNpbmciKSB7CiAgICBjb25zdCB0YXJnZXQgPSBwZW9wbGVCeUlkLmdldChyaXZhbFBsYW4udGFyZ2V0SWQpOwogICAgY29uc3QgcHVyc3VpdE1vdmUgPSB0YXJnZXQgPyBtb3ZlVG93YXJkUG9zaXRpb24ob3B0aW9ucywgdGFyZ2V0LnJvdywgdGFyZ2V0LmNvbCkgOiBudWxsOwoKICAgIGlmIChwdXJzdWl0TW92ZSkgewogICAgICByZXR1cm4gcHVyc3VpdE1vdmU7CiAgICB9CiAgfQoKICBjb25zdCByb21hbnRpY1RpZXMgPSBncmlkVGllc0ZvcihwZXJzb24pLmZpbHRlcigodGllKSA9PiB0aWUudHlwZSA9PT0gInJvbWFudGljIik7CgogIGlmIChyb21hbnRpY1RpZXMubGVuZ3RoID4gMCAmJiAhaXNTaWRlQnlTaWRlV2l0aFJvbWFudGljVGllKHBlcnNvbikpIHsKICAgIGNvbnN0IGN1cnJlbnRSb21hbnRpY1Njb3JlID0gcm9tYW50aWNBZGphY2VuY3lTY29yZShwZXJzb24sIHBlcnNvbi5yb3csIHBlcnNvbi5jb2wpOwogICAgY29uc3Qgcm9tYW50aWNPcHRpb25zID0gb3B0aW9ucwogICAgICAubWFwKChvcHRpb24pID0+ICh7CiAgICAgICAgLi4ub3B0aW9uLAogICAgICAgIHNjb3JlOiByb21hbnRpY0FkamFjZW5jeVNjb3JlKHBlcnNvbiwgb3B0aW9uLnJvdywgb3B0aW9uLmNvbCksCiAgICAgIH0pKQogICAgICAuc29ydCgoYSwgYikgPT4gYS5zY29yZSAtIGIuc2NvcmUpOwogICAgY29uc3QgaW1wcm92aW5nT3B0aW9ucyA9IHJvbWFudGljT3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnNjb3JlIDwgY3VycmVudFJvbWFudGljU2NvcmUpOwoKICAgIGlmIChpbXByb3ZpbmdPcHRpb25zLmxlbmd0aCA+IDApIHsKICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgPCAwLjkKICAgICAgICA/IGltcHJvdmluZ09wdGlvbnNbMF0KICAgICAgICA6IGltcHJvdmluZ09wdGlvbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogaW1wcm92aW5nT3B0aW9ucy5sZW5ndGgpXTsKICAgIH0KICB9CgogIGNvbnN0IG5lYXJieVN0cmFuZ2VycyA9IG5lYXJieVVua25vd25QZW9wbGUocGVyc29uKTsKCiAgaWYgKG5lYXJieVN0cmFuZ2Vycy5sZW5ndGggPj0gMikgewogICAgY29uc3QgY3VycmVudFN0cmFuZ2VyU2NvcmUgPSBzdHJhbmdlckRpc3RhbmNlU2NvcmUoCiAgICAgIHBlcnNvbiwKICAgICAgcGVyc29uLnJvdywKICAgICAgcGVyc29uLmNvbCwKICAgICAgbmVhcmJ5U3RyYW5nZXJzCiAgICApOwogICAgY29uc3QgZXNjYXBlT3B0aW9ucyA9IG9wdGlvbnMKICAgICAgLm1hcCgob3B0aW9uKSA9PiAoewogICAgICAgIC4uLm9wdGlvbiwKICAgICAgICBzY29yZTogc3RyYW5nZXJEaXN0YW5jZVNjb3JlKHBlcnNvbiwgb3B0aW9uLnJvdywgb3B0aW9uLmNvbCwgbmVhcmJ5U3RyYW5nZXJzKSwKICAgICAgfSkpCiAgICAgIC5zb3J0KChhLCBiKSA9PiBiLnNjb3JlIC0gYS5zY29yZSk7CiAgICBjb25zdCBpbXByb3ZpbmdPcHRpb25zID0gZXNjYXBlT3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnNjb3JlID4gY3VycmVudFN0cmFuZ2VyU2NvcmUpOwoKICAgIGlmIChpbXByb3ZpbmdPcHRpb25zLmxlbmd0aCA+IDApIHsKICAgICAgcmV0dXJuIGltcHJvdmluZ09wdGlvbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogaW1wcm92aW5nT3B0aW9ucy5sZW5ndGgpXTsKICAgIH0KCiAgICByZXR1cm4gZXNjYXBlT3B0aW9uc1swXTsKICB9CgogIGNvbnN0IGhhc0Nsb3NlVGllcyA9IGdyaWRUaWVzRm9yKHBlcnNvbikubGVuZ3RoID4gMDsKCiAgaWYgKCFoYXNDbG9zZVRpZXMgfHwgTWF0aC5yYW5kb20oKSA8IDAuMTIpIHsKICAgIHJldHVybiBvcHRpb25zW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG9wdGlvbnMubGVuZ3RoKV07CiAgfQoKICBjb25zdCBjdXJyZW50U2NvcmUgPSBzb2NpYWxEaXN0YW5jZVNjb3JlKHBlcnNvbiwgcGVyc29uLnJvdywgcGVyc29uLmNvbCk7CiAgY29uc3Qgc2NvcmVkT3B0aW9ucyA9IG9wdGlvbnMKICAgIC5tYXAoKG9wdGlvbikgPT4gKHsKICAgICAgLi4ub3B0aW9uLAogICAgICBzY29yZTogc29jaWFsRGlzdGFuY2VTY29yZShwZXJzb24sIG9wdGlvbi5yb3csIG9wdGlvbi5jb2wpLAogICAgfSkpCiAgICAuc29ydCgoYSwgYikgPT4gYS5zY29yZSAtIGIuc2NvcmUpOwogIGNvbnN0IGJlc3RPcHRpb25zID0gc2NvcmVkT3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnNjb3JlIDw9IGN1cnJlbnRTY29yZSk7CgogIGlmIChiZXN0T3B0aW9ucy5sZW5ndGggPT09IDApIHsKICAgIHJldHVybiBzY29yZWRPcHRpb25zWzBdOwogIH0KCiAgcmV0dXJuIE1hdGgucmFuZG9tKCkgPCAwLjc4CiAgICA/IGJlc3RPcHRpb25zWzBdCiAgICA6IGJlc3RPcHRpb25zW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGJlc3RPcHRpb25zLmxlbmd0aCldOwp9Cgphc3luYyBmdW5jdGlvbiB0cnlNb3ZlUGVyc29uKHBlcnNvbikgewogIGlmIChpc0ltbW9iaWxlKHBlcnNvbikpIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGlmIChpc1NpZGVCeVNpZGVXaXRoUm9tYW50aWNUaWUocGVyc29uKSAmJiBNYXRo"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="32" data-payload="LnJhbmRvbSgpID4gMC4zKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBjb25zdCBvcHRpb25zID0gdmFsaWRNb3ZlT3B0aW9ucyhwZXJzb24pOwoKICBpZiAob3B0aW9ucy5sZW5ndGggPT09IDApIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGNvbnN0IG1vdmUgPSBjaG9vc2VNb3ZlKHBlcnNvbiwgb3B0aW9ucyk7CiAgY29uc3Qgb2xkS2V5ID0gcG9zaXRpb25LZXkocGVyc29uLnJvdywgcGVyc29uLmNvbCk7CiAgY29uc3QgbmV4dEtleSA9IHBvc2l0aW9uS2V5KG1vdmUucm93LCBtb3ZlLmNvbCk7CiAgY29uc3Qgb2xkQ2VsbCA9IG9jY3VwaWVkQ2VsbHNCeUlkLmdldChwZXJzb24uaWQpOwogIGNvbnN0IG5leHRDZWxsID0gY2VsbHNCeVBvc2l0aW9uLmdldChuZXh0S2V5KTsKICBjb25zdCBvbGRUb2tlblJlY3QgPSBvbGRDZWxsPy5xdWVyeVNlbGVjdG9yKCIucGVyc29uLXRva2VuIik/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogIGNvbnN0IG1vdmVtZW50VGFyZ2V0ID0gbW92ZW1lbnRUYXJnZXRGb3IocGVyc29uKTsKCiAgYXdhaXQgZmxhc2hQZXJzb25Nb3ZlKHBlcnNvbik7CiAgY29uc3QgbW92ZW1lbnRMaW5lU3RhdGUgPSBtb3ZlbWVudFRhcmdldCA/IHNob3dNb3ZlbWVudExpbmUocGVyc29uLCBtb3ZlbWVudFRhcmdldCkgOiBudWxsOwoKICBwZW9wbGVCeVBvc2l0aW9uLmRlbGV0ZShvbGRLZXkpOwogIHBlcnNvbi5yb3cgPSBtb3ZlLnJvdzsKICBwZXJzb24uY29sID0gbW92ZS5jb2w7CiAgcGVvcGxlQnlQb3NpdGlvbi5zZXQobmV4dEtleSwgcGVyc29uKTsKCiAgY2xlYXJDZWxsKG9sZENlbGwsIE51bWJlcihvbGRDZWxsLmRhdGFzZXQucm93KSwgTnVtYmVyKG9sZENlbGwuZGF0YXNldC5jb2wpKTsKICBjb25zdCB0b2tlbiA9IHBsYWNlUGVyc29uKG5leHRDZWxsLCBwZXJzb24pOwogIGFuaW1hdGVQZXJzb25Nb3ZlKG9sZFRva2VuUmVjdCwgdG9rZW4pOwogIGFuaW1hdGVNb3ZlbWVudExpbmVFbmRwb2ludChtb3ZlbWVudExpbmVTdGF0ZSwgbmV4dENlbGwpOwogIHVwZGF0ZVBvc3RNb3ZlU3RhdGUocGVyc29uKTsKICB1cGRhdGVUcnlzdExpbmVzKCk7CiAgcmV0dXJuIHRydWU7Cn0KCmFzeW5jIGZ1bmN0aW9uIG1lYW5kZXJQZW9wbGUoKSB7CiAgaWYgKGlzU2ltUGF1c2VkIHx8IGlzTW92ZVNlcXVlbmNlUnVubmluZykgewogICAgcmV0dXJuOwogIH0KCiAgaXNNb3ZlU2VxdWVuY2VSdW5uaW5nID0gdHJ1ZTsKICB0cnkgewogICAgbGV0IG1vdmVkQWN0aXZlUGVyc29uID0gZmFsc2U7CiAgICBsZXQgbW92ZWRBbnlQZXJzb24gPSBmYWxzZTsKICAgIGNvbnN0IHByaW9yaXR5TW92ZXJzID0gcHJpb3JpdHlNb3ZlcnNGb3JUaWNrKCk7CgogICAgZm9yIChjb25zdCBtb3ZlciBvZiBwcmlvcml0eU1vdmVycykgewogICAgICBpZiAoaXNTaW1QYXVzZWQpIHsKICAgICAgICBicmVhazsKICAgICAgfQoKICAgICAgcmVtZW1iZXJNb3ZlQ2FuZGlkYXRlKG1vdmVyKTsKCiAgICAgIGNvbnN0IG1vdmVkID0gYXdhaXQgdHJ5TW92ZVBlcnNvbihtb3Zlcik7CiAgICAgIG1vdmVkQW55UGVyc29uIHx8PSBtb3ZlZDsKICAgICAgbW92ZWRBY3RpdmVQZXJzb24gfHw9IG1vdmVkICYmIG1vdmVyLmlkID09PSBhY3RpdmVQZXJzb25JZDsKCiAgICAgIGlmIChtb3ZlZCkgewogICAgICAgIHVwZGF0ZUFsbFBlcnNvbkNlbGxzKCk7CiAgICAgIH0KCiAgICAgIGlmIChhY3RpdmVQZXJzb25JZCAmJiAobW92ZWRBY3RpdmVQZXJzb24gfHwgbW92ZWRBbnlQZXJzb24pKSB7CiAgICAgICAgc2hvd1BlcnNvbihwZW9wbGVCeUlkLmdldChhY3RpdmVQZXJzb25JZCkpOwogICAgICB9CgogICAgICBhd2FpdCB3YWl0KG1vdmVBbmltYXRpb25NcyArIG1vdmVTZXF1ZW5jZUdhcE1zKTsKICAgICAgaGlkZU1vdmVtZW50TGluZSgpOwogICAgfQoKICAgIGNvbnN0IG1vdmVyID0gY2hvb3NlTW92ZW1lbnRDYW5kaWRhdGUoKTsKCiAgICBpZiAobW92ZXIgJiYgIWlzU2ltUGF1c2VkKSB7CiAgICAgIHJlbWVtYmVyTW92ZUNhbmRpZGF0ZShtb3Zlcik7CgogICAgICBjb25zdCBtb3ZlZCA9IGF3YWl0IHRyeU1vdmVQZXJzb24obW92ZXIpOwogICAgICBtb3ZlZEFueVBlcnNvbiB8fD0gbW92ZWQ7CiAgICAgIG1vdmVkQWN0aXZlUGVyc29uIHx8PSBtb3ZlZCAmJiBtb3Zlci5pZCA9PT0gYWN0aXZlUGVyc29uSWQ7CgogICAgICBpZiAobW92ZWQpIHsKICAgICAgICB1cGRhdGVBbGxQZXJzb25DZWxscygpOwogICAgICB9CgogICAgICBpZiAoYWN0aXZlUGVyc29uSWQgJiYgKG1vdmVkQWN0aXZlUGVyc29uIHx8IG1vdmVkQW55UGVyc29uKSkgewogICAgICAgIHNob3dQZXJzb24ocGVvcGxlQnlJZC5nZXQoYWN0aXZlUGVyc29uSWQpKTsKICAgICAgfQoKICAgICAgYXdhaXQgd2FpdChtb3ZlQW5pbWF0aW9uTXMgKyBtb3ZlU2VxdWVuY2VHYXBNcyk7CiAgICAgIGhpZGVNb3ZlbWVudExpbmUoKTsKICAgIH0KCiAgICBhZ2VTcGVlY2hCdWJibGVzKCk7CiAgICBhZ2VUcnlzdEFmdGVybWF0aCgpOwogICAgYWdlQ3J5UmVjb3ZlcnkoKTsKICAgIGFnZURlYWRSZWNvdmVyeSgpOwogICAgdXBkYXRlQWxsUGVyc29uQ2VsbHMoKTsKICAgIHVwZGF0ZVRyeXN0TGluZXMoKTsKCiAgICBpZiAoYWN0aXZlUGVyc29uSWQpIHsKICAgICAgc2hvd1BlcnNvbihwZW9wbGVCeUlkLmdldChhY3RpdmVQZXJzb25JZCkpOwogICAgfQogIH0gZmluYWxseSB7CiAgICBpc01vdmVTZXF1ZW5jZVJ1"></span>
<span class="game-of-strife-payload" data-game-of-strife-payload-part="33" data-payload="bm5pbmcgPSBmYWxzZTsKICB9Cn0KCmZ1bmN0aW9uIG1ha2VDZWxsKHJvdywgY29sKSB7CiAgY29uc3QgY2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwogIGNvbnN0IHBlcnNvbiA9IHBlb3BsZUJ5UG9zaXRpb24uZ2V0KHBvc2l0aW9uS2V5KHJvdywgY29sKSk7CgogIGNlbGwudHlwZSA9ICJidXR0b24iOwogIGNlbGwuY2xhc3NOYW1lID0gImNlbGwiOwogIGNlbGwuZGF0YXNldC5yb3cgPSByb3c7CiAgY2VsbC5kYXRhc2V0LmNvbCA9IGNvbDsKICBjZWxsLnNldEF0dHJpYnV0ZSgicm9sZSIsICJncmlkY2VsbCIpOwogIGNlbGxzQnlQb3NpdGlvbi5zZXQocG9zaXRpb25LZXkocm93LCBjb2wpLCBjZWxsKTsKICBjbGVhckNlbGwoY2VsbCwgcm93LCBjb2wpOwoKICBjZWxsLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCAoKSA9PiB7CiAgICBjb25zdCBjdXJyZW50UGVyc29uID0gcGVyc29uRnJvbUNlbGwoY2VsbCk7CiAgICBpZiAoY3VycmVudFBlcnNvbikgc2hvd1BlcnNvbihjdXJyZW50UGVyc29uLCBjZWxsKTsKICB9KTsKICBjZWxsLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwgKCkgPT4gewogICAgY29uc3QgY3VycmVudFBlcnNvbiA9IHBlcnNvbkZyb21DZWxsKGNlbGwpOwogICAgaWYgKGN1cnJlbnRQZXJzb24pIHNob3dQZXJzb24oY3VycmVudFBlcnNvbiwgY2VsbCk7CiAgfSk7CiAgY2VsbC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgIGNvbnN0IGN1cnJlbnRQZXJzb24gPSBwZXJzb25Gcm9tQ2VsbChjZWxsKTsKICAgIGlmIChjdXJyZW50UGVyc29uKSBzaG93UGVyc29uKGN1cnJlbnRQZXJzb24sIGNlbGwpOwogIH0pOwogIGNlbGwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsIGNsZWFyUGVyc29uKTsKICBjZWxsLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCBjbGVhclBlcnNvbik7CgogIGlmIChwZXJzb24pIHsKICAgIHBsYWNlUGVyc29uKGNlbGwsIHBlcnNvbik7CiAgfQoKICByZXR1cm4gY2VsbDsKfQoKZm9yIChsZXQgcm93ID0gMTsgcm93IDw9IGJvYXJkUm93czsgcm93ICs9IDEpIHsKICBmb3IgKGxldCBjb2wgPSAxOyBjb2wgPD0gYm9hcmRDb2xzOyBjb2wgKz0gMSkgewogICAgYm9hcmQuYXBwZW5kKG1ha2VDZWxsKHJvdywgY29sKSk7CiAgfQp9Cgpwb3B1bGF0ZVNlbGVjdCgKICBwZW9wbGVTZWxlY3QsCiAgWzMsIDQsIDUsIDEwLCAyMCwgNDAsIDYwXS5maWx0ZXIoKGNvdW50KSA9PiBjb3VudCA8PSBtYXhCb2FyZFBlb3BsZUNvdW50KSwKICBib3VuZGVkUGVvcGxlQ291bnQsCiAgIlBlb3BsZSIsCiAgZGVmYXVsdFBlb3BsZUNvdW50Cik7CnBvcHVsYXRlU2VsZWN0KHdpZHRoU2VsZWN0LCBbNSwgMTAsIDEyLCAxNSwgMjAsIDI1XSwgYm9hcmRDb2xzLCAiV2lkdGgiLCBkZWZhdWx0Qm9hcmRDb2xzKTsKcG9wdWxhdGVTZWxlY3QoaGVpZ2h0U2VsZWN0LCBbNSwgMTAsIDEyLCAxNSwgMjAsIDI1XSwgYm9hcmRSb3dzLCAiSGVpZ2h0IiwgZGVmYXVsdEJvYXJkUm93cyk7CgpyZXNldEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgYXBwbHlTZXR0aW5nc0FuZFJlbG9hZCgpOwp9KTsKCnN0cmlmZUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgY29uc3QgZWxpZ2libGVQZW9wbGUgPSBlbGlnaWJsZVN0cmF5ZXJzKCk7CgogIGlmIChlbGlnaWJsZVBlb3BsZS5sZW5ndGggPT09IDApIHsKICAgIHJldHVybjsKICB9CgogIGlmICghc3RhcnRBdHRyYWN0aW9uT3ZlcnJpZGUocmFuZG9tRnJvbShlbGlnaWJsZVBlb3BsZSksICJ1c2VyIikpIHsKICAgIHJldHVybjsKICB9CgogIHVwZGF0ZVRyeXN0TGluZXMoKTsKfSk7CgpzaXplQm9hcmRUb1ZpZXdwb3J0KCk7CnVwZGF0ZUFsbFBlcnNvbkNlbGxzKCk7CnVwZGF0ZVRyeXN0TGluZXMoKTsKCnNldEludGVydmFsKHVwZGF0ZUhhcHBpbmVzcywgMzUwMCAvIHNpbVNwZWVkKTsKc2V0SW50ZXJ2YWwobWVhbmRlclBlb3BsZSwgMjI1MCAvIHNpbVNwZWVkKTsKCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCAoKSA9PiB7CiAgc2l6ZUJvYXJkVG9WaWV3cG9ydCgpOwogIHVwZGF0ZVRyeXN0TGluZXMoKTsKCiAgaWYgKGFjdGl2ZVBlcnNvbklkKSB7CiAgICBzaG93UGVyc29uKHBlb3BsZUJ5SWQuZ2V0KGFjdGl2ZVBlcnNvbklkKSk7CiAgfQp9KTsKCjwvc2NyaXB0PgogIDwvYm9keT4KPC9odG1sPgo="></span>