시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 512 MB 73 39 35 57.377%

문제

창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄이 저장되어 있으며, 던진 막대기가 미네랄을 파괴할 수도 있다.

동굴은 R행 C열로 나타낼 수 있으며, R×C칸으로 이루어져 있다. 각 칸은 비어있거나 미네랄을 포함하고 있으며, 네 방향 중 하나로 인접한 미네랄이 포함된 두 칸은 같은 클러스터이다.

창영은 동굴의 왼쪽에 서있고, 상근은 오른쪽에 서있다. 두 사람은 턴을 번갈아가며 막대기를 던진다. 막대를 던지기 전에 던질 높이를 정해야 한다. 막대는 땅과 수평을 이루며 날아간다.

막대가 날아가다가 미네랄을 만나면, 그 칸에 있는 미네랄은 모두 파괴되고 막대는 그 자리에서 이동을 멈춘다.

미네랄이 파괴된 이후에 남은 클러스터가 분리될 수도 있다. 새롭게 생성된 클러스터가 떠 있는 경우에는 중력에 의해서 바닥으로 떨어지게 된다. 떨어지는 동안 클러스터의 모양은 변하지 않는다. 클러스터는 다른 클러스터나 땅을 만나기 전까지 게속해서 떨어진다. 클러스터는 다른 클러스터 위에 떨어질 수 있고, 그 이후에는 합쳐지게 된다.

동굴에 있는 미네랄의 모양과 두 사람이 던진 막대의 높이가 주어진다. 모든 막대를 던지고 난 이후에 미네랄 모양을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 동굴의 크기 R과 C가 주어진다. (1 ≤ R,C ≤ 100)

다음 R개 줄에는 C개의 문자가 주어지며, '.'는 빈 칸, 'x'는 미네랄을 나타낸다.

다음 줄에는 막대를 던진 횟수 N이 주어진다. (1 ≤ N ≤ 100)

마지막 줄에는 막대를 던진 높이가 주어지며, 공백으로 구분되어져 있다. 모든 높이는 1과 R사이이며, 높이 1은 행렬의 가장 바닥, R은 가장 위를 의미한다. 첫 번째 막대는 왼쪽에서 오른쪽으로 던졌으며, 두 번째는 오른쪽에서 왼쪽으로, 이와 같은 식으로 번갈아가며 던진다.

공중에 떠 있는 미네랄 클러스터는 없으며, 두 개 또는 그 이상의 클러스터가 동시에 떨어지는 경우도 없다. 클러스터의 떨어짐을 구할때 각 열의 가장 바닥만 고려해도 해결할 수 있는 입력만 주어진다.

출력

입력 형식과 같은 형식으로 미네랄 모양을 출력한다.

예제 입력 1

8 8
........
........
...x.xx.
...xxx..
..xxx...
..x.xxx.
..x...x.
.xxx..x.
5
6 6 4 3 1

예제 출력 1

........
........
........
........
.....x..
..xxxx..
..xxx.x.
..xxxxx.
W3sicHJvYmxlbV9pZCI6IjE4NTAwIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViYmY4XHViMTI0XHViNzg0IDIiLCJkZXNjcmlwdGlvbiI6IjxwPlx1Y2MzZFx1YzYwMVx1YWNmYyBcdWMwYzFcdWFkZmNcdWM3NDAgXHVkNTVjIFx1YjNkOVx1YWQ3NFx1Yzc0NCBcdWIxOTNcdWFjZTAgXHVjMThjXHVjNzIwXHVhZDhjXHVjNzQ0IFx1YzhmY1x1YzdhNVx1ZDU1OFx1YWNlMCBcdWM3ODhcdWIyZTQuIFx1YjQ1MCBcdWMwYWNcdWI3OGNcdWM3NDAgXHViOWM5XHViMzAwXHVhZTMwXHViOTdjIFx1YzExY1x1Yjg1Y1x1YzVkMFx1YWM4YyBcdWIzNThcdWM5YzBcdWIyOTQgXHViYzI5XHViYzk1XHVjNzQ0IFx1Yzc3NFx1YzZhOVx1ZDU3NCBcdWIyMDRcdWFkNmNcdWM3NTggXHVjMThjXHVjNzIwXHVjNzc4XHVjOWMwXHViOTdjIFx1YWNiMFx1YzgxNVx1ZDU1OFx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWIyZTQuIFx1YzJmOFx1YzZjMFx1Yzc0MCBcdWIzZDlcdWFkNzRcdWM1ZDBcdWMxMWMgXHViYzhjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIzZDlcdWFkNzRcdWM1ZDBcdWIyOTQgXHViYmY4XHViMTI0XHViNzg0XHVjNzc0IFx1YzgwMFx1YzdhNVx1YjQxOFx1YzViNCBcdWM3ODhcdWM3M2NcdWJhNzAsIFx1YjM1OFx1YzljNCBcdWI5YzlcdWIzMDBcdWFlMzBcdWFjMDAgXHViYmY4XHViMTI0XHViNzg0XHVjNzQ0IFx1ZDMwY1x1YWQzNFx1ZDU2MCBcdWMyMThcdWIzYzQgXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIzZDlcdWFkNzRcdWM3NDAgUlx1ZDU4OSBDXHVjNWY0XHViODVjIFx1YjA5OFx1ZDBjMFx1YjBiYyBcdWMyMTggXHVjNzg4XHVjNzNjXHViYTcwLCBSJnRpbWVzO0NcdWNlNzhcdWM3M2NcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC4gXHVhYzAxIFx1Y2U3OFx1Yzc0MCBcdWJlNDRcdWM1YjRcdWM3ODhcdWFjNzBcdWIwOTggXHViYmY4XHViMTI0XHViNzg0XHVjNzQ0IFx1ZDNlY1x1ZDU2OFx1ZDU1OFx1YWNlMCBcdWM3ODhcdWM3M2NcdWJhNzAsIFx1YjEyNCBcdWJjMjlcdWQ1YTUgXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yjg1YyBcdWM3NzhcdWM4MTFcdWQ1NWMgXHViYmY4XHViMTI0XHViNzg0XHVjNzc0IFx1ZDNlY1x1ZDU2OFx1YjQxYyBcdWI0NTAgXHVjZTc4XHVjNzQwIFx1YWMxOVx1Yzc0MCBcdWQwNzRcdWI3ZWNcdWMyYTRcdWQxMzBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2MzZFx1YzYwMVx1Yzc0MCBcdWIzZDlcdWFkNzRcdWM3NTggXHVjNjdjXHVjYWJkXHVjNWQwIFx1YzExY1x1Yzc4OFx1YWNlMCwgXHVjMGMxXHVhZGZjXHVjNzQwIFx1YzYyNFx1Yjk3OFx1Y2FiZFx1YzVkMCBcdWMxMWNcdWM3ODhcdWIyZTQuIFx1YjQ1MCBcdWMwYWNcdWI3OGNcdWM3NDAgXHVkMTM0XHVjNzQ0IFx1YmM4OFx1YWMwOFx1YzU0NFx1YWMwMFx1YmE3MCBcdWI5YzlcdWIzMDBcdWFlMzBcdWI5N2MgXHViMzU4XHVjOWM0XHViMmU0LiBcdWI5YzlcdWIzMDBcdWI5N2MgXHViMzU4XHVjOWMwXHVhZTMwIFx1YzgwNFx1YzVkMCBcdWIzNThcdWM5YzggXHViMTkyXHVjNzc0XHViOTdjIFx1YzgxNVx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1YjljOVx1YjMwMFx1YjI5NCBcdWI1NDVcdWFjZmMgXHVjMjE4XHVkM2M5XHVjNzQ0IFx1Yzc3NFx1YjhlOFx1YmE3MCBcdWIwYTBcdWM1NDRcdWFjMDRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjljOVx1YjMwMFx1YWMwMCBcdWIwYTBcdWM1NDRcdWFjMDBcdWIyZTRcdWFjMDAgXHViYmY4XHViMTI0XHViNzg0XHVjNzQ0IFx1YjljY1x1YjA5OFx1YmE3NCwgXHVhZGY4IFx1Y2U3OFx1YzVkMCBcdWM3ODhcdWIyOTQgXHViYmY4XHViMTI0XHViNzg0XHVjNzQwIFx1YmFhOFx1YjQ1MCBcdWQzMGNcdWFkMzRcdWI0MThcdWFjZTAgXHViOWM5XHViMzAwXHViMjk0IFx1YWRmOCBcdWM3OTBcdWI5YWNcdWM1ZDBcdWMxMWMgXHVjNzc0XHViM2Q5XHVjNzQ0IFx1YmE0OFx1Y2Q5OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYmY4XHViMTI0XHViNzg0XHVjNzc0IFx1ZDMwY1x1YWQzNFx1YjQxYyBcdWM3NzRcdWQ2YzRcdWM1ZDAgXHViMGE4XHVjNzQwIFx1ZDA3NFx1YjdlY1x1YzJhNFx1ZDEzMFx1YWMwMCBcdWJkODRcdWI5YWNcdWI0MjAgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC4gXHVjMGM4XHViODZkXHVhYzhjIFx1YzBkZFx1YzEzMVx1YjQxYyBcdWQwNzRcdWI3ZWNcdWMyYTRcdWQxMzBcdWFjMDAgXHViNWEwIFx1Yzc4OFx1YjI5NCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHVjOTExXHViODI1XHVjNWQwIFx1Yzc1OFx1ZDU3NFx1YzExYyBcdWJjMTRcdWIyZTVcdWM3M2NcdWI4NWMgXHViNWE4XHVjNWI0XHVjOWMwXHVhYzhjIFx1YjQxY1x1YjJlNC4gXHViNWE4XHVjNWI0XHVjOWMwXHViMjk0IFx1YjNkOVx1YzU0OCBcdWQwNzRcdWI3ZWNcdWMyYTRcdWQxMzBcdWM3NTggXHViYWE4XHVjNTkxXHVjNzQwIFx1YmNjMFx1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuIFx1ZDA3NFx1YjdlY1x1YzJhNFx1ZDEzMFx1YjI5NCBcdWIyZTRcdWI5NzggXHVkMDc0XHViN2VjXHVjMmE0XHVkMTMwXHViMDk4IFx1YjU0NVx1Yzc0NCBcdWI5Y2NcdWIwOThcdWFlMzAgXHVjODA0XHVhZTRjXHVjOWMwIFx1YWM4Y1x1YzE4ZFx1ZDU3NFx1YzExYyBcdWI1YThcdWM1YjRcdWM5YzRcdWIyZTQuIFx1ZDA3NFx1YjdlY1x1YzJhNFx1ZDEzMFx1YjI5NCBcdWIyZTRcdWI5NzggXHVkMDc0XHViN2VjXHVjMmE0XHVkMTMwIFx1YzcwNFx1YzVkMCBcdWI1YThcdWM1YjRcdWM5YzggXHVjMjE4IFx1Yzc4OFx1YWNlMCwgXHVhZGY4IFx1Yzc3NFx1ZDZjNFx1YzVkMFx1YjI5NCBcdWQ1NjlcdWNjZDBcdWM5YzBcdWFjOGMgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIzZDlcdWFkNzRcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YmJmOFx1YjEyNFx1Yjc4NFx1Yzc1OCBcdWJhYThcdWM1OTFcdWFjZmMgXHViNDUwIFx1YzBhY1x1Yjc4Y1x1Yzc3NCBcdWIzNThcdWM5YzQgXHViOWM5XHViMzAwXHVjNzU4IFx1YjE5Mlx1Yzc3NFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YmFhOFx1YjRlMCBcdWI5YzlcdWIzMDBcdWI5N2MgXHViMzU4XHVjOWMwXHVhY2UwIFx1YjA5YyBcdWM3NzRcdWQ2YzRcdWM1ZDAgXHViYmY4XHViMTI0XHViNzg0IFx1YmFhOFx1YzU5MVx1Yzc0NCBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHViM2Q5XHVhZDc0XHVjNzU4IFx1ZDA2Y1x1YWUzMCBSXHVhY2ZjIENcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAoMSAmbGU7IFIsQyAmbGU7IDEwMCk8XC9wPlxyXG5cclxuPHA+XHViMmU0XHVjNzRjIFJcdWFjMWMgXHVjOTA0XHVjNWQwXHViMjk0IENcdWFjMWNcdWM3NTggXHViYjM4XHVjNzkwXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljMFx1YmE3MCwgJiMzOTsuJiMzOTtcdWIyOTQgXHViZTQ4IFx1Y2U3OCwgJiMzOTt4JiMzOTtcdWIyOTQgXHViYmY4XHViMTI0XHViNzg0XHVjNzQ0IFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViMmU0XHVjNzRjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWI5YzlcdWIzMDBcdWI5N2MgXHViMzU4XHVjOWM0IFx1ZDY5Zlx1YzIxOCBOXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKDEgJmxlOyBOICZsZTsgMTAwKTxcL3A+XHJcblxyXG48cD5cdWI5YzhcdWM5YzBcdWI5YzkgXHVjOTA0XHVjNWQwXHViMjk0IFx1YjljOVx1YjMwMFx1Yjk3YyBcdWIzNThcdWM5YzQgXHViMTkyXHVjNzc0XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljMFx1YmE3MCwgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyZTQuIFx1YmFhOFx1YjRlMCBcdWIxOTJcdWM3NzRcdWIyOTQgMVx1YWNmYyBSXHVjMGFjXHVjNzc0XHVjNzc0XHViYTcwLCBcdWIxOTJcdWM3NzQgMVx1Yzc0MCBcdWQ1ODlcdWI4MmNcdWM3NTggXHVhYzAwXHVjN2E1IFx1YmMxNFx1YjJlNSwgUlx1Yzc0MCBcdWFjMDBcdWM3YTUgXHVjNzA0XHViOTdjIFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWI5YzlcdWIzMDBcdWIyOTQgXHVjNjdjXHVjYWJkXHVjNWQwXHVjMTFjIFx1YzYyNFx1Yjk3OFx1Y2FiZFx1YzczY1x1Yjg1YyBcdWIzNThcdWM4NGNcdWM3M2NcdWJhNzAsIFx1YjQ1MCBcdWJjODhcdWM5ZjhcdWIyOTQgXHVjNjI0XHViOTc4XHVjYWJkXHVjNWQwXHVjMTFjIFx1YzY3Y1x1Y2FiZFx1YzczY1x1Yjg1YywgXHVjNzc0XHVjNjQwIFx1YWMxOVx1Yzc0MCBcdWMyZGRcdWM3M2NcdWI4NWMgXHViYzg4XHVhYzA4XHVjNTQ0XHVhYzAwXHViYTcwIFx1YjM1OFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhY2Y1XHVjOTExXHVjNWQwIFx1YjVhMCBcdWM3ODhcdWIyOTQgXHViYmY4XHViMTI0XHViNzg0IFx1ZDA3NFx1YjdlY1x1YzJhNFx1ZDEzMFx1YjI5NCBcdWM1YzZcdWM3M2NcdWJhNzAsIFx1YjQ1MCBcdWFjMWMgXHViNjEwXHViMjk0IFx1YWRmOCBcdWM3NzRcdWMwYzFcdWM3NTggXHVkMDc0XHViN2VjXHVjMmE0XHVkMTMwXHVhYzAwIFx1YjNkOVx1YzJkY1x1YzVkMCBcdWI1YThcdWM1YjRcdWM5YzBcdWIyOTQgXHVhY2JkXHVjNmIwXHViM2M0IFx1YzVjNlx1YjJlNC4gXHVkMDc0XHViN2VjXHVjMmE0XHVkMTMwXHVjNzU4IFx1YjVhOFx1YzViNFx1YzlkMFx1Yzc0NCBcdWFkNmNcdWQ1NjBcdWI1NGMmbmJzcDtcdWFjMDEgXHVjNWY0XHVjNzU4IFx1YWMwMFx1YzdhNSBcdWJjMTRcdWIyZTVcdWI5Y2MgXHVhY2UwXHViODI0XHVkNTc0XHViM2M0IFx1ZDU3NFx1YWNiMFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMjk0IFx1Yzc4NVx1YjgyNVx1YjljYyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjNzg1XHViODI1IFx1ZDYxNVx1YzJkZFx1YWNmYyBcdWFjMTlcdWM3NDAgXHVkNjE1XHVjMmRkXHVjNzNjXHViODVjIFx1YmJmOFx1YjEyNFx1Yjc4NCBcdWJhYThcdWM1OTFcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjE4NTAwIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUkVMSkVGIiwiZGVzY3JpcHRpb24iOiI8cD5Ud28gZ3JvdXBzIG9mIGNhdmVtZW4gZ290IGludG8gYSBsYW5kIGRpc3B1dGUgYW5kIGRlY2lkZWQgdG8gc2V0dGxlIGl0IHRoZSBvbGQgZmFzaGlvbi13YXksIGJ5IHRocm93aW5nIHN0aWNrcyBhdCBlYWNoIG90aGVyLiBUaGUgZmlnaHQgd2FzIG9yZ2FuaXplZCBpbiBhIGNhdmUsIGhpZ2ggZW5vdWdoIHRoYXQgdGhlIGNlaWxpbmcgaXMgb2Ygbm8gY29uY2VybiwgYnV0IG1pbmVyYWwgZGVwb3NpdHMgb24gdGhlIGdyb3VuZCBnZXQgaW4gdGhlIHdheSBvZiBmbHlpbmcgc3RpY2tzLiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgY2F2ZSBjYW4gYmUgZGl2aWRlZCBpbnRvIFIgcm93cyBhbmQgQyBjb2x1bW5zLCBzbyB0aGF0IHRoZSBlbnRpcmUgY2F2ZSBjb25zaXN0cyBvZiBSJnRpbWVzO0MgY2VsbHMuIEVhY2ggY2VsbCBpbiB0aGUgY2F2ZSBpcyBlaXRoZXIgZW1wdHkgb3IgY29udGFpbnMgYSBjaHVuayBvZiBtaW5lcmFsLiBUd28gY2h1bmtzIG9mIG1pbmVyYWxzIGFyZSBwYXJ0IG9mIHRoZSBzYW1lIGNsdXN0ZXIgaWYgdGhleSBhcmUgYWRqYWNlbnQgaW4gb25lIG9mIHRoZSBmb3VyIG1haW4gZGlyZWN0aW9ucyAodXAsIGRvd24sIGxlZnQsIHJpZ2h0KS4mbmJzcDs8XC9wPlxyXG5cclxuPHA+T25lIGdyb3VwIG9mIGNhdmVtZW4gaXMgb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgY2F2ZSwgdGhlIG90aGVyIG9uIHRoZSByaWdodCBzaWRlLiBUaGUgZ3JvdXBzIGFsdGVybmF0ZSB0aHJvd2luZyBzdGlja3MgYXQgdGhlIG90aGVyIGdyb3VwOyBmaXJzdCBhIGdyb3VwIGNob29zZXMgdGhlIGhlaWdodCBhdCB3aGljaCB0aGUgc3RpY2sgd2lsbCBmbHkgYW5kIHRoZW4gKGNsaW1iaW5nIG9uIGVhY2ggb3RoZXJzJiMzOTsgc2hvdWxkZXJzIGFzIG5lY2Vzc2FyeSkgdGhleSB0aHJvdyBpdCBhbmQgdGhlIHN0aWNrIGZsaWVzIGhvcml6b250YWxseSB0aHJvdWdoIHRoZSBjYXZlIGF0IHRoZSBjaG9zZW4gaGVpZ2h0LiZuYnNwOzxcL3A+XHJcblxyXG48cD5JZiB0aGUgc3RpY2sgaGl0cyBhIGNodW5rIG9mIG1pbmVyYWwgb24gdGhlIHdheSwgaXQgZGVzdHJveXMgdGhlIGNodW5rLCB0aGUgY2VsbCBiZWNvbWVzIGVtcHR5IGFuZCB0aGUgc3RpY2sgc3RvcHMgaXRzIGpvdXJuZXkuJm5ic3A7PFwvcD5cclxuXHJcbjxwPldoZW4gYSBjaHVuayBpcyBkZXN0cm95ZWQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgYSBjbHVzdGVyIGZhbGxzIGFwYXJ0LiBJZiBhIG5ld2x5IGNyZWF0ZWQgY2x1c3RlciB3b3VsZCBmbG9hdCBpbiB0aGUgYWlyLCB0aGVuIGl0IGZhbGxzIGRvd24gYmVjYXVzZSBvZiBncmF2aXR5LiBXaGlsZSBmYWxsaW5nLCB0aGUgY2x1c3RlciBkb2VzIG5vdCBjaGFuZ2Ugc2hhcGUgaS5lLiBhbGwgY2h1bmtzIGluIGl0IGZhbGwgdG9nZXRoZXIuIEFzIHNvb24gYXMgc29tZSBjaHVuayBpbiB0aGUgZmFsbGluZyBjbHVzdGVyIGxhbmRzIG9uIGEgY2h1bmsgZnJvbSBhIGRpZmZlcmVudCBjbHVzdGVyIG9yIHRoZSBncm91bmQsIHRoZSBlbnRpcmUgY2x1c3RlciBzdG9wcyBmYWxsaW5nLiBPZiBjb3Vyc2UsIGlmIGEgY2x1c3RlciBsYW5kcyBvbiBhbm90aGVyLCB0aGV5IG1lcmdlIGFuZCBiZWNvbWUgb25lLiZuYnNwOzxcL3A+XHJcblxyXG48cD5Zb3VyIHByb2dyYW0gd2lsbCBiZSBnaXZlbiB0aGUgbGF5b3V0IG9mIG1pbmVyYWxzIGluIHRoZSBjYXZlIGFuZCB0aGUgaGVpZ2h0cyBhdCB3aGljaCBzdGlja3Mgd2VyZSB0aHJvd24uIERldGVybWluZSB0aGUgbGF5b3V0IG9mIG1pbmVyYWxzIGFmdGVyIHRoZSBzdGlja3MgYXJlIGV4Y2hhbmdlZC4mbmJzcDs8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIHR3byBpbnRlZ2VycyBSIGFuZCBDICgxICZsZTsgUiwgQyAmbGU7IDEwMCksIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBjYXZlLiZuYnNwOzxcL3A+XHJcblxyXG48cD5FYWNoIG9mIHRoZSBmb2xsb3dpbmcgUiBsaW5lcyB3aWxsIGNvbnRhaW4gQyBjaGFyYWN0ZXJzLiBUaGUgY2hhcmFjdGVyICYjMzk7LiYjMzk7IHJlcHJlc2VudHMgYW4gZW1wdHkgY2VsbCwgd2hpbGUgdGhlIGxldHRlciAmIzM5O3gmIzM5OyByZXByZXNlbnRzIGEgY2h1bmsgb2YgbWluZXJhbC4mbmJzcDs8XC9wPlxyXG5cclxuPHA+VGhlIG5leHQgbGluZSBjb250YWlucyBhbiBpbnRlZ2VyIE4gKDEgJmxlOyBOICZsZTsgMTAwKSwgdGhlIG51bWJlciBvZiBzdGlja3MgdGhyb3duLiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgbGFzdCBsaW5lIGNvbnRhaW5zIE4gaW50ZWdlcnMgc2VwYXJhdGVkIGJ5IHNwYWNlcywgdGhlIGhlaWdodHMgYXQgd2hpY2ggc3RpY2tzIHdlcmUgdGhyb3duLiBBbGwgaGVpZ2h0cyB3aWxsIGJlIGJldHdlZW4gMSBhbmQgUiAoaW5jbHVzaXZlKSwgd2l0aCBoZWlnaHQgMSBiZWluZyB0aGUgYm90dG9tIG9mIHRoZSBtYXRyaXggYW5kIGhlaWdodCBSIHRoZSB0b3AuIFRoZSBmaXJzdCBzdGljayBpcyB0aHJvd24gbGVmdCB0byByaWdodCwgdGhlIHNlY29uZCByaWdodCB0byBsZWZ0IGFuZCBzbyBvbi4mbmJzcDs8XC9wPlxyXG5cclxuPHA+Tm8gY2x1c3RlciB3aWxsIGluaXRpYWxseSBmbG9hdCBpbiB0aGUgYWlyLiBBbHNvLCB0aGUgaW5wdXQgZGF0YSB3aWxsIGJlIHN1Y2ggdGhhdCBhdCBubyBwb2ludCB3aWxsIHR3byBvciBtb3JlIGNsdXN0ZXJzIGZhbGwgc2ltdWx0YW5lb3VzbHksIHNvIHRoYXQgdGhlcmUgd2lsbCBiZSBubyBhbWJpZ3VvdXMgc2l0dWF0aW9ucy4mbmJzcDs8XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5UaGUgb3V0cHV0IHNob3VsZCBjb25zaXN0IG9mIFIgbGluZXMsIGVhY2ggY29udGFpbmluZyBDIGNoYXJhY3RlcnMsIHRoZSBmaW5hbCBsYXlvdXQgb2YgdGhlIGNhdmUsIGluIHRoZSBzYW1lIGZvcm1hdCBhcyBpbiB0aGUgaW5wdXQuJm5ic3A7PFwvcD5cclxuIiwiaGludCI6IjxwPlRoZSBmaXJzdCBzdGljayBkZXN0cm95cyB0aGUgY2h1bmsgaW4gdGhlIGZvdXJ0aCBjb2x1bW4gYXQgaGVpZ2h0IDYsIHRoZSBzZWNvbmQgZGVzdHJveWluZyB0aGUgY2h1bmsgaW4gdGhlIHNldmVudGggY29sdW1uIG9mIHRoZSBzYW1lIHJvdy4mbmJzcDs8XC9wPlxyXG5cclxuPHA+VGhlIHRoaXJkIHN0aWNrIGRlc3Ryb3lzIHRoZSBjaHVuayBpbiB0aGUgdGhpcmQgY29sdW1uIGF0IGhlaWdodCA0LCBhZnRlciB3aGljaCB0aGUgc3RhcnRpbmcgY2x1c3RlciBzcGxpdHMgaW4gdHdvLCBidXQgYm90aCBuZXcgY2x1c3RlcnMgc3RpbGwgbGF5IG9uIHRoZSBncm91bmQuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlRoZSBmb3VydGggc3RpY2sgZGVzdHJveXMgdGhlIGNodW5rIGluIHRoZSBzZXZlbnRoIGNvbHVtbiBhdCBoZWlnaHQgMywgc3BsaXR0aW5nIHRoZSByaWdodCBjbHVzdGVyIGludG8gdHdvLiBUaGUgbGFyZ2VzdCBjbHVzdGVyIHdvdWxkIGZsb2F0IGluIHRoZSBhaXIgYW5kIGZhbGxzIHR3byBjZWxscyBkb3duLiZuYnNwOzxcL3A+XHJcblxyXG48cD5GaW5hbGx5LCB0aGUgZmlmdGggc3RpY2sgZGVzdHJveXMgYSBjaHVuayBpbiB0aGUgc2Vjb25kIGNvbHVtbiBhdCBoZWlnaHQgMTxcL3A+XHJcbiIsIm9yaWdpbmFsIjoiMSIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVjNjAxXHVjNWI0In1d