시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 26 8 7 35.000%

문제

민혁이가 심시티 게임에서 플레이하고 있는 도시는 교통 정체가 상당히 심하다. 교통 정체는 게임을 플레이 할 수 없을 정도로 심해졌고, 민혁이는 엄청난 짜증을 느꼈다. 따라서, 민혁이는 새 도시를 시작하기로 결심했다.

이전 도시에서 교통 정체의 가장 큰 원인은 교차로였다. 교차로를 아무리 잘 설계해도, 게임 상의 AI 문제로 교통 정체는 피할 수 없는 선택이다. 교통 정체를 피하기 위해서는 교차로가 없는 도로를 만들면 된다. 

어떻게 교차로 없이 도시의 모든 곳을 방문할 수 있을까? 민혁이는 인터넷에서 열심히 살펴보다가 힐베르트 곡선을 찾았다. 힐베르트 곡선을 이용하면, 교차로 없이 도시를 만들 수 있을 것이다.

첫 번째 힐베르트 곡선은 컵(왼쪽 그림에 나와있는 ㄷ자) 하나로 이루어져 있다. 두 번째 힐베르트 곡선은 구역을 네 개의 정사각형으로 나누고, 각각의 정사각형에 컵을 채운 다음에 네 컵을 직선으로 연결한 것이다.

힐베르트 곡선에 대한 설명은 4645번에 잘 나와 있기 때문에, 이 문제를 참고하면 된다.

모든 모퉁이에는 집이 하나씩 있고, 순서대로 번호가 매겨져 있다. 가장 왼쪽 위에 있는 집이 1번이고, 인접한 두 집 사이의 거리는 10이다.

몇 번째 힐베르트 곡선인지와 두 집의 번호가 주어졌을 때, 두 집 사이의 거리를 구하는 프로그램을 작성하시오. 모든 주민은 헬리콥터를 가지고 있어서, 도로를 이용하지 않고 하늘을 날아서 이동한다. 헬리콥터의 이륙과 착륙하는데 필요한 거리는 무시하며, 항상 최단거리를 이용한다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 세 정수 n, h, o 가 주어진다. n은 마을의 도로가 n번째 힐베르트 곡선임을 나타내며, h와 o는 거리를 구해야 하는 두 집의 번호이다. (n < 16, h,o < 231)

출력

각 테스트 케이스에 대해서, 입력으로 주어진 두 집의 거리를 가까운 정수로 반올림해서 출력한다.

예제 입력 1

3
1 1 2
2 16 1
3 4 33

예제 출력 1

10
30
50
W3sicHJvYmxlbV9pZCI6IjU0MDUiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQ1MDRcdWI3OTlcdWQwYzggXHVhYzcwXHViOWFjIiwiZGVzY3JpcHRpb24iOiI8cD5cdWJiZmNcdWQ2MDFcdWM3NzRcdWFjMDAgXHVjMmVjXHVjMmRjXHVkMmYwIFx1YWM4Y1x1Yzc4NFx1YzVkMFx1YzExYyBcdWQ1MGNcdWI4MDhcdWM3NzRcdWQ1NThcdWFjZTAgXHVjNzg4XHViMjk0IFx1YjNjNFx1YzJkY1x1YjI5NCBcdWFkNTBcdWQxYjUgXHVjODE1XHVjY2I0XHVhYzAwIFx1YzBjMVx1YjJmOVx1ZDc4OCBcdWMyZWNcdWQ1NThcdWIyZTQuIFx1YWQ1MFx1ZDFiNSBcdWM4MTVcdWNjYjRcdWIyOTQgXHVhYzhjXHVjNzg0XHVjNzQ0IFx1ZDUwY1x1YjgwOFx1Yzc3NCBcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1Yzc0NCBcdWM4MTVcdWIzYzRcdWI4NWMgXHVjMmVjXHVkNTc0XHVjODRjXHVhY2UwLCBcdWJiZmNcdWQ2MDFcdWM3NzRcdWIyOTQgXHVjNWM0XHVjY2FkXHViMDljIFx1YzlkY1x1Yzk5ZFx1Yzc0NCBcdWIyOTBcdWFmMDhcdWIyZTQuIFx1YjUzMFx1Yjc3Y1x1YzExYywgXHViYmZjXHVkNjAxXHVjNzc0XHViMjk0IFx1YzBjOCBcdWIzYzRcdWMyZGNcdWI5N2MgXHVjMmRjXHVjNzkxXHVkNTU4XHVhZTMwXHViODVjIFx1YWNiMFx1YzJlY1x1ZDU4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVjODA0IFx1YjNjNFx1YzJkY1x1YzVkMFx1YzExYyBcdWFkNTBcdWQxYjUgXHVjODE1XHVjY2I0XHVjNzU4IFx1YWMwMFx1YzdhNSBcdWQwNzAgXHVjNmQwXHVjNzc4XHVjNzQwIFx1YWQ1MFx1Y2MyOFx1Yjg1Y1x1YzYwMFx1YjJlNC4gXHVhZDUwXHVjYzI4XHViODVjXHViOTdjIFx1YzU0NFx1YmIzNFx1YjlhYyBcdWM3OTggXHVjMTI0XHVhY2M0XHVkNTc0XHViM2M0LCBcdWFjOGNcdWM3ODQgXHVjMGMxXHVjNzU4IEFJIFx1YmIzOFx1YzgxY1x1Yjg1YyBcdWFkNTBcdWQxYjUgXHVjODE1XHVjY2I0XHViMjk0IFx1ZDUzY1x1ZDU2MCBcdWMyMTggXHVjNWM2XHViMjk0IFx1YzEyMFx1ZDBkZFx1Yzc3NFx1YjJlNC4gXHVhZDUwXHVkMWI1IFx1YzgxNVx1Y2NiNFx1Yjk3YyBcdWQ1M2NcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0XHVjMTFjXHViMjk0IFx1YWQ1MFx1Y2MyOFx1Yjg1Y1x1YWMwMCBcdWM1YzZcdWIyOTQgXHViM2M0XHViODVjXHViOTdjIFx1YjljY1x1YjRlNFx1YmE3NCBcdWI0MWNcdWIyZTQuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlx1YzViNFx1YjViYlx1YWM4YyBcdWFkNTBcdWNjMjhcdWI4NWMgXHVjNWM2XHVjNzc0IFx1YjNjNFx1YzJkY1x1Yzc1OCBcdWJhYThcdWI0ZTAgXHVhY2YzXHVjNzQ0IFx1YmMyOVx1YmIzOFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVjNzQ0XHVhZTRjPyBcdWJiZmNcdWQ2MDFcdWM3NzRcdWIyOTQgXHVjNzc4XHVkMTMwXHViMTM3XHVjNWQwXHVjMTFjIFx1YzVmNFx1YzJlY1x1ZDc4OCBcdWMwYjRcdWQzYjRcdWJjZjRcdWIyZTRcdWFjMDAgXHVkNzkwXHViY2EwXHViOTc0XHVkMmI4IFx1YWNlMVx1YzEyMFx1Yzc0NCBcdWNjM2VcdWM1NThcdWIyZTQuIFx1ZDc5MFx1YmNhMFx1Yjk3NFx1ZDJiOCBcdWFjZTFcdWMxMjBcdWM3NDQgXHVjNzc0XHVjNmE5XHVkNTU4XHViYTc0LCBcdWFkNTBcdWNjMjhcdWI4NWMgXHVjNWM2XHVjNzc0IFx1YjNjNFx1YzJkY1x1Yjk3YyBcdWI5Y2NcdWI0ZTQgXHVjMjE4IFx1Yzc4OFx1Yzc0NCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVkNzkwXHViY2EwXHViOTc0XHVkMmI4IFx1YWNlMVx1YzEyMFx1Yzc0MCBcdWNlZjUoXHVjNjdjXHVjYWJkIFx1YWRmOFx1YjliY1x1YzVkMCBcdWIwOThcdWM2NDBcdWM3ODhcdWIyOTQgXHUzMTM3XHVjNzkwKSBcdWQ1NThcdWIwOThcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC4mbmJzcDtcdWI0NTAgXHViYzg4XHVjOWY4IFx1ZDc5MFx1YmNhMFx1Yjk3NFx1ZDJiOCBcdWFjZTFcdWMxMjBcdWM3NDAgXHVhZDZjXHVjNWVkXHVjNzQ0IFx1YjEyNCBcdWFjMWNcdWM3NTggXHVjODE1XHVjMGFjXHVhYzAxXHVkNjE1XHVjNzNjXHViODVjIFx1YjA5OFx1YjIwNFx1YWNlMCwgXHVhYzAxXHVhYzAxXHVjNzU4IFx1YzgxNVx1YzBhY1x1YWMwMVx1ZDYxNVx1YzVkMCBcdWNlZjVcdWM3NDQgXHVjYzQ0XHVjNmI0IFx1YjJlNFx1Yzc0Y1x1YzVkMCBcdWIxMjQgXHVjZWY1XHVjNzQ0IFx1YzljMVx1YzEyMFx1YzczY1x1Yjg1YyBcdWM1ZjBcdWFjYjBcdWQ1NWMgXHVhYzgzXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2hvdXNlLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjIwNnB4OyB3aWR0aDo1ODBweFwiIFwvPjxcL3A+XHJcblxyXG48cD5cdWQ3OTBcdWJjYTBcdWI5NzRcdWQyYjggXHVhY2UxXHVjMTIwXHVjNWQwIFx1YjMwMFx1ZDU1YyBcdWMxMjRcdWJhODVcdWM3NDAgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cuYWNtaWNwYy5uZXRcL3Byb2JsZW1cLzQ2NDVcIj40NjQ1XHViYzg4PFwvYT5cdWM1ZDAgXHVjNzk4IFx1YjA5OFx1YzY0MCBcdWM3ODhcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWM3NzQgXHViYjM4XHVjODFjXHViOTdjIFx1Y2MzOFx1YWNlMFx1ZDU1OFx1YmE3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmFhOFx1YjRlMCBcdWJhYThcdWQyNDFcdWM3NzRcdWM1ZDBcdWIyOTQgXHVjOWQxXHVjNzc0IFx1ZDU1OFx1YjA5OFx1YzUyOSBcdWM3ODhcdWFjZTAsIFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyBcdWJjODhcdWQ2MzhcdWFjMDAgXHViOWU0XHVhY2E4XHVjODM4IFx1Yzc4OFx1YjJlNC4gXHVhYzAwXHVjN2E1IFx1YzY3Y1x1Y2FiZCBcdWM3MDRcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzlkMVx1Yzc3NCAxXHViYzg4XHVjNzc0XHVhY2UwLCBcdWM3NzhcdWM4MTFcdWQ1NWMgXHViNDUwIFx1YzlkMSBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHViMjk0IDEwXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWJhODcgXHViYzg4XHVjOWY4IFx1ZDc5MFx1YmNhMFx1Yjk3NFx1ZDJiOCBcdWFjZTFcdWMxMjBcdWM3NzhcdWM5YzBcdWM2NDAgXHViNDUwIFx1YzlkMVx1Yzc1OCBcdWJjODhcdWQ2MzhcdWFjMDAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHViNDUwIFx1YzlkMSBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LiBcdWJhYThcdWI0ZTAgXHVjOGZjXHViYmZjXHVjNzQwIFx1ZDVlY1x1YjlhY1x1Y2Y2NVx1ZDEzMFx1Yjk3YyBcdWFjMDBcdWM5YzBcdWFjZTAgXHVjNzg4XHVjNWI0XHVjMTFjLCBcdWIzYzRcdWI4NWNcdWI5N2MgXHVjNzc0XHVjNmE5XHVkNTU4XHVjOWMwIFx1YzU0YVx1YWNlMCBcdWQ1NThcdWIyOThcdWM3NDQgXHViMGEwXHVjNTQ0XHVjMTFjIFx1Yzc3NFx1YjNkOVx1ZDU1Y1x1YjJlNC4gXHVkNWVjXHViOWFjXHVjZjY1XHVkMTMwXHVjNzU4IFx1Yzc3NFx1Yjk1OVx1YWNmYyBcdWNjMjlcdWI5NTlcdWQ1NThcdWIyOTRcdWIzNzAgXHVkNTQ0XHVjNjk0XHVkNTVjIFx1YWM3MFx1YjlhY1x1YjI5NCBcdWJiMzRcdWMyZGNcdWQ1NThcdWJhNzAsIFx1ZDU2ZFx1YzBjMSBcdWNkNWNcdWIyZThcdWFjNzBcdWI5YWNcdWI5N2MgXHVjNzc0XHVjNmE5XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YWMxY1x1YzIxOCBUXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWIyOTQgXHVkNTVjIFx1YzkwNFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHVhY2UwLCBcdWMxMzggXHVjODE1XHVjMjE4IG4sIGgsIG8gXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gblx1Yzc0MCBcdWI5YzhcdWM3NDRcdWM3NTggXHViM2M0XHViODVjXHVhYzAwIG5cdWJjODhcdWM5ZjggXHVkNzkwXHViY2EwXHViOTc0XHVkMmI4IFx1YWNlMVx1YzEyMFx1Yzc4NFx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjRcdWJhNzAsIGhcdWM2NDAgb1x1YjI5NCBcdWFjNzBcdWI5YWNcdWI5N2MgXHVhZDZjXHVkNTc0XHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWI0NTAgXHVjOWQxXHVjNzU4IFx1YmM4OFx1ZDYzOFx1Yzc3NFx1YjJlNC4gKG4gJmx0OyAxNiwgaCxvICZsdDsgMjxzdXA+MzE8XC9zdXA+KTxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYywgXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljNCBcdWI0NTAgXHVjOWQxXHVjNzU4IFx1YWM3MFx1YjlhY1x1Yjk3YyBcdWFjMDBcdWFlNGNcdWM2YjQgXHVjODE1XHVjMjE4XHViODVjIFx1YmMxOFx1YzYyY1x1YjliY1x1ZDU3NFx1YzExYyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiNTQwNSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkZyYWN0YWwgU3RyZWV0cyIsImRlc2NyaXB0aW9uIjoiPHA+V2l0aCBhIGdyb3dpbmcgZGVzaXJlIGZvciBtb2Rlcm5pemF0aW9uIGluIG91ciBpbmNyZWFzaW5nbHkgbGFyZ2VyIGNpdGllcyBjb21lcyBhIG5lZWQgZm9yIG5ldyBzdHJlZXQgZGVzaWducy4gQ2hyaXMgaXMgb25lIG9mIHRoZSB1bmZvcnR1bmF0ZSBjaXR5IHBsYW5uZXJzIHJlc3BvbnNpYmxlIGZvciB0aGVzZSBkZXNpZ25zLiBFYWNoIHllYXIgdGhlIGRlbWFuZHMga2VlcCBpbmNyZWFzaW5nLCBhbmQgdGhpcyB5ZWFyIGhlIGhhcyBldmVuIGJlZW4gYXNrZWQgdG8gZGVzaWduIGEgY29tcGxldGVseSBuZXcgY2l0eS48XC9wPlxyXG5cclxuPHA+TW9yZSB3b3JrIGlzIG5vdCBzb21ldGhpbmcgQ2hyaXMgbmVlZHMgcmlnaHQgbm93LCBzaW5jZSBsaWtlIGFueSBnb29kIGJ1cmVhdWNyYXQsIGhlIGlzIGV4dHJlbWVseSBsYXp5LiBHaXZlbiB0aGF0IHRoaXMgaXMgYSBjaGFyYWN0ZXIgdHJhaXQgaGUgaGFzIGluIGNvbW1vbiB3aXRoIG1vc3QgY29tcHV0ZXIgc2NpZW50aXN0cyBpdCBzaG91bGQgY29tZSBhcyBubyBzdXJwcmlzZSB0aGF0IG9uZSBvZiBoaXMgY2xvc2VzdCBmcmllbmRzLCBQYXVsLCBpcyBpbiBmYWN0IGEgY29tcHV0ZXIgc2NpZW50aXN0LiBBbmQgaXQgd2FzIFBhdWwgd2hvIHN1Z2dlc3RlZCB0aGUgYnJpbGxpYW50IGlkZWEgdGhhdCBoYXMgbWFkZSBDaHJpcyBhIGhlcm8gYW1vbmcgaGlzIHBlZXJzOiBGcmFjdGFsIFN0cmVldHMhIEJ5IHVzaW5nIGEgSGlsYmVydCBjdXJ2ZSwgaGUgY2FuIGVhc2lseSBmaSBsbCBpbiByZWN0YW5ndWxhciBwbG90cyBvZiBhcmJpdHJhcnkgc2l6ZSB3aXRoIHZlcnkgbGl0dGxlIHdvcmsuPFwvcD5cclxuXHJcbjxwPkEgSGlsYmVydCBjdXJ2ZSBvZiBvcmRlciAxIGNvbnNpc3RzIG9mIG9uZSAmcXVvdDtjdXAmcXVvdDsuIEluIGEgSGlsYmVydCBjdXJ2ZSBvZiBvcmRlciAyIHRoYXQgY3VwIGlzIHJlcGxhY2VkIGJ5IGZvdXIgc21hbGxlciBidXQgaWRlbnRpY2FsIGN1cHMgYW5kIHRocmVlIGNvbm5lY3Rpbmcgcm9hZHMuIEluIGEgSGlsYmVydCBjdXJ2ZSBvZiBvcmRlciAzIHRob3NlIGZvdXIgY3VwcyBhcmUgaW4gdHVybiByZXBsYWNlZCBieSBmb3VyIGlkZW50aWNhbCBidXQgc3RpbGwgc21hbGxlciBjdXBzIGFuZCB0aHJlZSBjb25uZWN0aW5nIHJvYWRzLCBldGMuIEF0IGVhY2ggY29ybmVyIG9mIGEgY3VwIGEgZHJpdmV3YXkgKHdpdGggbWFpbGJveCkgaXMgcGxhY2VkIGZvciBhIGhvdXNlLCB3aXRoIGEgc2ltcGxlIHN1Y2Nlc3NpdmUgbnVtYmVyaW5nLiBUaGUgaG91c2UgaW4gdGhlIHRvcCBsZWZ0IGNvcm5lciBoYXMgbnVtYmVyIDEsIGFuZCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0d28gYWRqYWNlbnQgaG91c2VzIGlzIDEwIG0uPFwvcD5cclxuXHJcbjxwPlRoZSBzaXR1YXRpb24gaXMgc2hvd24gZ3JhcGhpY2FsbHkgaW4gZ3VyZSAyLiBBcyB5b3UgY2FuIHNlZSB0aGUgRnJhY3RhbCBTdHJlZXRzIGNvbmNlcHQgc3VjY2Vzc2Z1bGx5IGVsaW1pbmF0ZXMgdGhlIG5lZWQgZm9yIGJvcmluZyBzdHJlZXQgZ3JpZHMsIHdoaWxlIHN0aWxsIHJlcXVpcmluZyB2ZXJ5IGxpdHRsZSBlZmZvcnQgZnJvbSBvdXIgYnVyZWF1Y3JhdHMuPFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiXC91cGxvYWRcL2ltYWdlc1wvaGIucG5nXCIgc3R5bGU9XCJoZWlnaHQ6MjI3cHg7IHdpZHRoOjU4N3B4XCIgXC8+PFwvcD5cclxuXHJcbjxwPkZpZ3VyZSAyOiBIaWxiZXJ0IGN1cnZlcyBvZiBvcmRlciAxLCAyIGFuZCAzLCB3aXRoIHRoZSBsb2NhdGlvbiBvZiB0aGUgaG91c2VzIGluZGljYXRlZC48XC9wPlxyXG5cclxuPHA+QXMgYSB0b2tlbiBvZiB0aGVpciBncmF0aXR1ZGUsIHNldmVyYWwgbWF5b3JzIGhhdmUgb2ZmZXJlZCBDaHJpcyBhIGhvdXNlIGluIG9uZSBvZiB0aGUgbWFueSBuZXcgbmVpZ2hib3Job29kcyBidWlsdCB3aXRoIGhpcyBvd24gbmV3IHNjaGVtZS4gQ2hyaXMgd291bGQgbm93IGxpa2UgdG8ga25vdyB3aGljaCBvZiB0aGVzZSBvZmZlcmluZ3Mgd2lsbCBnZXQgaGltIGEgaG91c2UgY2xvc2VzdCB0byB0aGUgbG9jYWwgY2l0eSBwbGFubmluZyBvXHUwMDBlY2UgKG9mIGNvdXJzZSBlYWNoIG9mIHRoZXNlIG5ldyBuZWlnaGJvcmhvb2RzIGhhcyBvbmUpLiBMdWNraWx5IGhlIHdpbGwgbm90IGhhdmUgdG8gYWN0dWFsbHkgZHJpdmUgYWxvbmcgdGhlIHN0cmVldCwgYmVjYXVzZSBoaXMgbmV3IGNvbXBhbnkgJnF1b3Q7Y2FyJnF1b3Q7IGlzIG9uZSBvZiB0aG9zZSBuZXcgZmx5aW5nIGNhcnMuIFRoaXMgaGlnaC10ZWNoIHZlaGljbGUgYWxsb3dzIGhpbSB0byB0cmF2ZWwgaW4gYSBzdHJhaWdodCBsaW5lIGZyb20gaGlzIGRyaXZld2F5IHRvIHRoZSBkcml2ZXdheSBvZiBoaXMgbmV3IG9cdTAwMGVjZS4gQ2FuIHlvdSB3cml0ZSBhIHByb2dyYW0gdG8gZGV0ZXJtaW5lIHRoZSBkaXN0YW5jZSBoZSB3aWxsIGhhdmUgdG8geSBmb3IgZWFjaCBvZmZlciAoZXhjbHVkaW5nIHRoZSB2ZXJ0aWNhbCBkaXN0YW5jZSBhdCB0YWtlb2ZmIGFuZCBsYW5kaW5nKT88XC9wPlxyXG4iLCJpbnB1dCI6IjxwPk9uIHRoZSBmaSByc3QgbGluZSBvZiB0aGUgaW5wdXQgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyLCB0aGUgbnVtYmVyIG9mIHRlc3QgY2FzZXMuIFRoZW4gZm9yIGVhY2ggdGVzdGNhc2U6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+QSBsaW5lIGNvbnRhaW5pbmcgYSB0aHJlZSBwb3NpdGl2ZSBpbnRlZ2VycywgbiAmbHQ7IDE2IGFuZCBoLCBvICZsdDsgMjxzdXA+MzE8XC9zdXA+LCBzcGVjaWZ5aW5nIHRoZSBvcmRlciBvZiB0aGUgSGlsYmVydCBjdXJ2ZSwgYW5kIHRoZSBob3VzZSBudW1iZXJzIG9mIHRoZSBvZmZlcmVkIGhvdXNlIGFuZCB0aGUgbG9jYWwgY2l0eSBwbGFubmluZyBvZmZpY2UuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJvdXRwdXQiOiI8cD5Gb3IgZWFjaCB0ZXN0IGNhc2U6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+T25lIGxpbmUgY29udGFpbmluZyB0aGUgZGlzdGFuY2UgQ2hyaXMgd2lsbCBoYXZlIHRvIHkgdG8gaGlzIHdvcmsgaW4gbWV0ZXJzLCByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=