시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB422100.000%

문제

모델 로켓으로 높이를 측정하는 방법중에 하나로 geodesic 이라는 방법이 있다. 두 관측자 A와 B가 기준선으로부터 100미터 떨어져있는 평평한 실험 구역위의 각 꼭짓점에 서 있는다. 로켓이 발사되는 발사대는 관측자 A와 B로부터 같은 거리만큼 떨어져 있고 기준선으로부터 50미터 떨어져 있다. 각각의 관측자는 경위의(theodolite, 각도를 정밀하게 측정할수 있는 기계)또는 다른 장비를 갖고 있는데, 이 장치들은 떨어져 있는 물체의 앙각(대상을 보는 관측자의 시선이 수평면과 이루는 각)과 방위각(지평선에 따라 측정한 천체의 방향을 나타내는 각/여기서는 수평의 시선을 포함하는 수직면과 A, B를 지나는 선사이의 각도를 반시계방향으로 측정한 것)을 잰다. A의 장비는 발사대보다 HA미터만큼 위에 있고, B의 HB미터만큼 위에 있다. 로켓은 발사된 후, 가장 높게 올라간 이후에 낙하산을 펼치며 많은 양의 연기를 방출한다. 각각의 관측자들은 그들의 위치에서 로켓이 내보낸 연기의 앙각과 방위각을 측정한다.  만약 로켓이 최고로 다다른 위치가 기준선과는 다른 쪽이거나 A와 B가 판단할때 그 위치가 기준선과 수직인 선에서 벗어난 곳이라면 그 측정은 가치가 없다.

이 정보를 바탕으로 로켓의 높이는 다음과 같이 측정한다.

각각의 시선위에서, 다른 시선과 가장 가까운 지점을 시선위에서 찾아라. 이렇게 찾아진 두 점의 절반에 위치한 점이 로켓이 가장 최고 높이로 올라간 곳이라고 추정한다. 측정되어진 로켓은 발사대와 구한 점 사이의 수직거리다. 

HA(발사대 위에 있는 측정 장치 A의 거리)와 HB(발사대 위에 있는 측정 장치 B의 거리), 알파(왼쪽 관측자 A로 부터 측정된 앙각), 베타(오른쪽 관측자 B로부터 측정된 앙각), 감마(왼쪽 측정자 A로부터 측정된 방위각), 델타(오른쪽 측정자 B로부터 측정된 방위각)로부터 로켓의 높이를 측정하는 프로그램을 작성하시오.

입력

첫째 줄에 발사의 수 N(1 <= N <= 100), HA, HB가 주어진다. 이 숫자는 모두 실수이다. 둘째 줄부터 N개의 줄은 매번 발사할 때 마다 측정한 알파, 베타, 감마, 델타가 주어진다. 알파, 베타, 감마의 값은 0 ~ 90도 사이이고, 델타는 90 - 180도 사이이다.

출력

각각의 발사에 대해서, 로켓이 가장 높게 올라간 높이를 출력한다.

예제 입력 1

4 5.25 2.92
39.6 36.0 35.4 151.2
65.1 71.2 16.5 160.6
59.4 59.5 43.8 139.0
45.0 41.2 32.9 152.6

예제 출력 1

50
135
119
58
W3sicHJvYmxlbV9pZCI6IjI3MzYiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJhYThcdWQ2MTUgXHViODVjXHVjZjEzIFx1YmMxY1x1YzBhYyIsImRlc2NyaXB0aW9uIjoiXHJcbjxwPlxyXG5cdFx1YmFhOFx1YjM3OCBcdWI4NWNcdWNmMTNcdWM3M2NcdWI4NWMgXHViMTkyXHVjNzc0XHViOTdjIFx1Y2UyMVx1YzgxNVx1ZDU1OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM5MTFcdWM1ZDAgXHVkNTU4XHViMDk4XHViODVjIGdlb2Rlc2ljIFx1Yzc3NFx1Yjc3Y1x1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NzQgXHVjNzg4XHViMmU0LiBcdWI0NTAgXHVhZDAwXHVjZTIxXHVjNzkwIEFcdWM2NDAgQlx1YWMwMCBcdWFlMzBcdWM5MDBcdWMxMjBcdWM3M2NcdWI4NWNcdWJkODBcdWQxMzAgMTAwXHViYmY4XHVkMTMwIFx1YjVhOFx1YzViNFx1YzgzOFx1Yzc4OFx1YjI5NCBcdWQzYzlcdWQzYzlcdWQ1NWMgXHVjMmU0XHVkNWQ4IFx1YWQ2Y1x1YzVlZFx1YzcwNFx1Yzc1OCBcdWFjMDEgXHVhZjJkXHVjOWQzXHVjODEwXHVjNWQwIFx1YzExYyBcdWM3ODhcdWIyOTRcdWIyZTQuIFx1Yjg1Y1x1Y2YxM1x1Yzc3NCBcdWJjMWNcdWMwYWNcdWI0MThcdWIyOTQgXHViYzFjXHVjMGFjXHViMzAwXHViMjk0IFx1YWQwMFx1Y2UyMVx1Yzc5MCBBXHVjNjQwIEJcdWI4NWNcdWJkODBcdWQxMzAgXHVhYzE5XHVjNzQwIFx1YWM3MFx1YjlhY1x1YjljY1x1ZDA3YyBcdWI1YThcdWM1YjRcdWM4MzggXHVjNzg4XHVhY2UwIFx1YWUzMFx1YzkwMFx1YzEyMFx1YzczY1x1Yjg1Y1x1YmQ4MFx1ZDEzMCA1MFx1YmJmOFx1ZDEzMCBcdWI1YThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LiBcdWFjMDFcdWFjMDFcdWM3NTggXHVhZDAwXHVjZTIxXHVjNzkwXHViMjk0IFx1YWNiZFx1YzcwNFx1Yzc1OCh0aGVvZG9saXRlLCBcdWFjMDFcdWIzYzRcdWI5N2MgXHVjODE1XHViYzAwXHVkNTU4XHVhYzhjIFx1Y2UyMVx1YzgxNVx1ZDU2MFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVhZTMwXHVhY2M0KVx1YjYxMFx1YjI5NCBcdWIyZTRcdWI5NzggXHVjN2E1XHViZTQ0XHViOTdjIFx1YWMxNlx1YWNlMCBcdWM3ODhcdWIyOTRcdWIzNzAsIFx1Yzc3NCBcdWM3YTVcdWNlNThcdWI0ZTRcdWM3NDAgXHViNWE4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjI5NCBcdWJiM2NcdWNjYjRcdWM3NTggXHVjNTU5XHVhYzAxKFx1YjMwMFx1YzBjMVx1Yzc0NCBcdWJjZjRcdWIyOTQgXHVhZDAwXHVjZTIxXHVjNzkwXHVjNzU4IFx1YzJkY1x1YzEyMFx1Yzc3NCBcdWMyMThcdWQzYzlcdWJhNzRcdWFjZmMgXHVjNzc0XHViOGU4XHViMjk0IFx1YWMwMSlcdWFjZmMgXHViYzI5XHVjNzA0XHVhYzAxKFx1YzljMFx1ZDNjOVx1YzEyMFx1YzVkMCBcdWI1MzBcdWI3N2MgXHVjZTIxXHVjODE1XHVkNTVjIFx1Y2M5Y1x1Y2NiNFx1Yzc1OCBcdWJjMjlcdWQ1YTVcdWM3NDQgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YWMwMVwvXHVjNWVjXHVhZTMwXHVjMTFjXHViMjk0IFx1YzIxOFx1ZDNjOVx1Yzc1OCBcdWMyZGNcdWMxMjBcdWM3NDQgXHVkM2VjXHVkNTY4XHVkNTU4XHViMjk0IFx1YzIxOFx1YzljMVx1YmE3NFx1YWNmYyBBLCBCXHViOTdjIFx1YzljMFx1YjA5OFx1YjI5NCBcdWMxMjBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzAxXHViM2M0XHViOTdjIFx1YmMxOFx1YzJkY1x1YWNjNFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWNlMjFcdWM4MTVcdWQ1NWMgXHVhYzgzKVx1Yzc0NCBcdWM3YjBcdWIyZTQuIEFcdWM3NTggXHVjN2E1XHViZTQ0XHViMjk0IFx1YmMxY1x1YzBhY1x1YjMwMFx1YmNmNFx1YjJlNCBIQVx1YmJmOFx1ZDEzMFx1YjljY1x1ZDA3YyBcdWM3MDRcdWM1ZDAgXHVjNzg4XHVhY2UwLCBCXHVjNzU4IEhCXHViYmY4XHVkMTMwXHViOWNjXHVkMDdjIFx1YzcwNFx1YzVkMCBcdWM3ODhcdWIyZTQuIFx1Yjg1Y1x1Y2YxM1x1Yzc0MCBcdWJjMWNcdWMwYWNcdWI0MWMgXHVkNmM0LCBcdWFjMDBcdWM3YTUgXHViMTkyXHVhYzhjIFx1YzYyY1x1Yjc3Y1x1YWMwNCBcdWM3NzRcdWQ2YzRcdWM1ZDAgXHViMDk5XHVkNTU4XHVjMGIwXHVjNzQ0IFx1ZDNiY1x1Y2U1OFx1YmE3MCBcdWI5Y2VcdWM3NDAgXHVjNTkxXHVjNzU4IFx1YzVmMFx1YWUzMFx1Yjk3YyBcdWJjMjlcdWNkOWNcdWQ1NWNcdWIyZTQuIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWFkMDBcdWNlMjFcdWM3OTBcdWI0ZTRcdWM3NDAgXHVhZGY4XHViNGU0XHVjNzU4IFx1YzcwNFx1Y2U1OFx1YzVkMFx1YzExYyBcdWI4NWNcdWNmMTNcdWM3NzQgXHViMGI0XHViY2Y0XHViMGI4IFx1YzVmMFx1YWUzMFx1Yzc1OCBcdWM1NTlcdWFjMDFcdWFjZmMgXHViYzI5XHVjNzA0XHVhYzAxXHVjNzQ0IFx1Y2UyMVx1YzgxNVx1ZDU1Y1x1YjJlNC4gJm5ic3A7XHViOWNjXHVjNTdkIFx1Yjg1Y1x1Y2YxM1x1Yzc3NCBcdWNkNWNcdWFjZTBcdWI4NWMgXHViMmU0XHViMmU0XHViOTc4IFx1YzcwNFx1Y2U1OFx1YWMwMCBcdWFlMzBcdWM5MDBcdWMxMjBcdWFjZmNcdWIyOTQgXHViMmU0XHViOTc4IFx1Y2FiZFx1Yzc3NFx1YWM3MFx1YjA5OCBBXHVjNjQwIEJcdWFjMDAgXHVkMzEwXHViMmU4XHVkNTYwXHViNTRjIFx1YWRmOCBcdWM3MDRcdWNlNThcdWFjMDAgXHVhZTMwXHVjOTAwXHVjMTIwXHVhY2ZjIFx1YzIxOFx1YzljMVx1Yzc3OCBcdWMxMjBcdWM1ZDBcdWMxMWMgXHViYzk3XHVjNWI0XHViMDljIFx1YWNmM1x1Yzc3NFx1Yjc3Y1x1YmE3NCBcdWFkZjggXHVjZTIxXHVjODE1XHVjNzQwIFx1YWMwMFx1Y2U1OFx1YWMwMCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxyXG5cdFx1Yzc3NCBcdWM4MTVcdWJjZjRcdWI5N2MgXHViYzE0XHVkMGQ1XHVjNzNjXHViODVjIFx1Yjg1Y1x1Y2YxM1x1Yzc1OCBcdWIxOTJcdWM3NzRcdWIyOTQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc3NCBcdWNlMjFcdWM4MTVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxyXG5cdFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWMyZGNcdWMxMjBcdWM3MDRcdWM1ZDBcdWMxMWMsIFx1YjJlNFx1Yjk3OCBcdWMyZGNcdWMxMjBcdWFjZmMgXHVhYzAwXHVjN2E1IFx1YWMwMFx1YWU0Y1x1YzZiNCBcdWM5YzBcdWM4MTBcdWM3NDQgXHVjMmRjXHVjMTIwXHVjNzA0XHVjNWQwXHVjMTFjIFx1Y2MzZVx1YzU0NFx1Yjc3Yy4gXHVjNzc0XHViODA3XHVhYzhjIFx1Y2MzZVx1YzU0NFx1YzljNCBcdWI0NTAgXHVjODEwXHVjNzU4IFx1YzgwOFx1YmMxOFx1YzVkMCBcdWM3MDRcdWNlNThcdWQ1NWMgXHVjODEwXHVjNzc0IFx1Yjg1Y1x1Y2YxM1x1Yzc3NCBcdWFjMDBcdWM3YTUgXHVjZDVjXHVhY2UwIFx1YjE5Mlx1Yzc3NFx1Yjg1YyBcdWM2MmNcdWI3N2NcdWFjMDQgXHVhY2YzXHVjNzc0XHViNzdjXHVhY2UwIFx1Y2Q5NFx1YzgxNVx1ZDU1Y1x1YjJlNC4gXHVjZTIxXHVjODE1XHViNDE4XHVjNWI0XHVjOWM0IFx1Yjg1Y1x1Y2YxM1x1Yzc0MCBcdWJjMWNcdWMwYWNcdWIzMDBcdWM2NDAgXHVhZDZjXHVkNTVjIFx1YzgxMCBcdWMwYWNcdWM3NzRcdWM3NTggXHVjMjE4XHVjOWMxXHVhYzcwXHViOWFjXHViMmU0LiZuYnNwOzxcL3A+XHJcblxyXG48cD5cclxuXHRIQShcdWJjMWNcdWMwYWNcdWIzMDAgXHVjNzA0XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWNlMjFcdWM4MTUgXHVjN2E1XHVjZTU4IEFcdWM3NTggXHVhYzcwXHViOWFjKVx1YzY0MCBIQihcdWJjMWNcdWMwYWNcdWIzMDAgXHVjNzA0XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWNlMjFcdWM4MTUgXHVjN2E1XHVjZTU4IEJcdWM3NTggXHVhYzcwXHViOWFjKSwgXHVjNTRjXHVkMzBjKFx1YzY3Y1x1Y2FiZCBcdWFkMDBcdWNlMjFcdWM3OTAgQVx1Yjg1YyBcdWJkODBcdWQxMzAgXHVjZTIxXHVjODE1XHViNDFjIFx1YzU1OVx1YWMwMSksIFx1YmNhMFx1ZDBjMChcdWM2MjRcdWI5NzhcdWNhYmQgXHVhZDAwXHVjZTIxXHVjNzkwIEJcdWI4NWNcdWJkODBcdWQxMzAgXHVjZTIxXHVjODE1XHViNDFjIFx1YzU1OVx1YWMwMSksIFx1YWMxMFx1YjljOChcdWM2N2NcdWNhYmQgXHVjZTIxXHVjODE1XHVjNzkwIEFcdWI4NWNcdWJkODBcdWQxMzAgXHVjZTIxXHVjODE1XHViNDFjIFx1YmMyOVx1YzcwNFx1YWMwMSksIFx1YjM3OFx1ZDBjMChcdWM2MjRcdWI5NzhcdWNhYmQgXHVjZTIxXHVjODE1XHVjNzkwIEJcdWI4NWNcdWJkODBcdWQxMzAgXHVjZTIxXHVjODE1XHViNDFjIFx1YmMyOVx1YzcwNFx1YWMwMSlcdWI4NWNcdWJkODBcdWQxMzAgXHViODVjXHVjZjEzXHVjNzU4IFx1YjE5Mlx1Yzc3NFx1Yjk3YyBcdWNlMjFcdWM4MTVcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG5cclxuIiwiaW5wdXQiOiI8cD5cclxuXHRcdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YmMxY1x1YzBhY1x1Yzc1OCBcdWMyMTggTigxICZsdDs9IE4gJmx0Oz0gMTAwKSwgSEEsIEhCXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjNzc0IFx1YzIyYlx1Yzc5MFx1YjI5NCBcdWJhYThcdWI0NTAgXHVjMmU0XHVjMjE4XHVjNzc0XHViMmU0LiBcdWI0NThcdWM5ZjggXHVjOTA0XHViZDgwXHVkMTMwIE5cdWFjMWNcdWM3NTggXHVjOTA0XHVjNzQwIFx1YjllNFx1YmM4OCBcdWJjMWNcdWMwYWNcdWQ1NjAgXHViNTRjIFx1YjljOFx1YjJlNCBcdWNlMjFcdWM4MTVcdWQ1NWMgXHVjNTRjXHVkMzBjLCBcdWJjYTBcdWQwYzAsIFx1YWMxMFx1YjljOCwgXHViMzc4XHVkMGMwXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjNTRjXHVkMzBjLCBcdWJjYTBcdWQwYzAsIFx1YWMxMFx1YjljOFx1Yzc1OCBcdWFjMTJcdWM3NDAgMCB+IDkwXHViM2M0IFx1YzBhY1x1Yzc3NFx1Yzc3NFx1YWNlMCwgXHViMzc4XHVkMGMwXHViMjk0IDkwIC0gMTgwXHViM2M0IFx1YzBhY1x1Yzc3NFx1Yzc3NFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cclxuXHRcdWFjMDFcdWFjMDFcdWM3NTggXHViYzFjXHVjMGFjXHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYywgXHViODVjXHVjZjEzXHVjNzc0IFx1YWMwMFx1YzdhNSBcdWIxOTJcdWFjOGMgXHVjNjJjXHViNzdjXHVhYzA0IFx1YjE5Mlx1Yzc3NFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMjczNiIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6Ik1vZGVsIFJvY2tldCBIZWlnaHQiLCJkZXNjcmlwdGlvbiI6IjxwPk9uZSBtZXRob2QgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGhlaWdodCBhY2hpZXZlZCBieSBhIG1vZGVsIHJvY2tldCBpcyB0aGUgZ2VvZGVzaWMgbWV0aG9kLiBUd28gb2JzZXJ2ZXJzIEEgYW5kIEIgYXJlIHNwYWNlZCAxMDAgZmVldCBhcGFydCBhbG9uZyBhIGJhc2UgbGluZSBhbG9uZyBvbmUgZWRnZSBvZiB0aGUgZmxhdCB0ZXN0IGZpZWxkLiBUaGUgbGF1bmNoIHBsYXRmb3JtIGlzIGVxdWlkaXN0YW50IGZyb20gb2JzZXJ2ZXJzIEEgYW5kIEIgYW5kIDUwIGZlZXQgZnJvbSB0aGUgYmFzZSBsaW5lLiBFYWNoIG9ic2VydmVyIGhhcyBhIHRoZW9kb2xpdGUgb3Igc29tZSBvdGhlciBkZXZpY2UgZm9yIG1lYXN1cmluZyBhbmdsZSBhYm92ZSB0aGUgaG9yaXpvbnRhbCAoZWxldmF0aW9uIGFuZ2xlKSBvZiBhIGRpc3RhbnQgb2JqZWN0IGFuZCB0aGUgYXppbXV0aCBhbmdsZSAodGhlIGFuZ2xlIHRoZSB2ZXJ0aWNhbCBwbGFuZSBvZiB0aGUgc2lnaHQgbGluZSBtYWtlcyB3aXRoIHRoZSBsaW5lIGZyb20gQSB0aHJvdWdoIEIgbWVhc3VyZWQgY291bnRlci1jbG9ja3dpc2UpLiBFYWNoIG1lYXN1cmluZyBkZXZpY2UgaXMgb24gYSBzdGFuZC4gQSZyc3F1bztzIGRldmljZSBpcyBIQSBmZWV0IGFib3ZlIHRoZSBsYXVuY2ggcGxhdGZvcm0gYW5kIEImcnNxdW87cyBkZXZpY2UgaXMgSEIgZmVldCBhYm92ZSB0aGUgbGF1bmNoIHBsYXRmb3JtLiBXaGVuIGEgcm9ja2V0IGlzIGZpcmVkLCBuZWFyIHRoZSB0b3Agb2YgaXRzIGZsaWdodCwgaXQgZGVwbG95cyBhIHBhcmFjaHV0ZSBhbmQgZW1pdHMgYSBwdWZmIG9mIHNtb2tlLiBFYWNoIG9ic2VydmVyIG1lYXN1cmVzIHRoZSBlbGV2YXRpb24gYW5nbGUgYW5kIGF6aW11dGggYW5nbGUgb2YgdGhlIHB1ZmYgb2Ygc21va2UgZnJvbSB0aGVpciBsb2NhdGlvbi4gSWYgdGhlIHBlYWsgbG9jYXRpb24gaXMgb24gdGhlIHdyb25nIHNpZGUgb2YgdGhlIGJhc2VsaW5lIG9yIG91dHNpZGUgdGhlIGxpbmVzIGRldGVybWluZWQgYnkgQSBhbmQgQiBwZXJwZW5kaWN1bGFyIHRvIHRoZSBiYXNlIGxpbmUsIGl0IGlzIG91dCBvZiBib3VuZHMgYW5kIGRpc3F1YWxpZmllZC4gRnJvbSB0aGlzIGluZm9ybWF0aW9uLCB0aGUgaGVpZ2h0IG9mIHRoZSByb2NrZXQgbWF5IGJlIGRldGVybWluZWQgYXMgZm9sbG93czombmJzcDs8XC9wPlxyXG5cclxuPHA+T24gZWFjaCBzaWdodCBsaW5lLCBmaW5kIHRoZSBwb2ludCBvbiB0aGF0IHNpZ2h0IGxpbmUgY2xvc2VzdCB0byB0aGUgb3RoZXIgc2lnaHQgbGluZS4gVGhlIHBvaW50IGhhbGZ3YXkgYmV0d2VlbiB0aGVzZSB0d28gcG9pbnRzIGlzIGFzc3VtZWQgdG8gYmUgdGhlIGxvY2F0aW9uIG9mIHRoZSByb2NrZXQgYXQgdGhlIHRvcCBvZiBpdHMgZmxpZ2h0LiBUaGUgaGVpZ2h0IGFjaGlldmVkIGJ5IHRoZSByb2NrZXQgaXMgdGhlIHZlcnRpY2FsIGRpc3RhbmNlIG9mIHRoaXMgcG9pbnQgYWJvdmUgdGhlIGxhdW5jaCBwbGF0Zm9ybS4mbmJzcDs8XC9wPlxyXG5cclxuPHA+VGhpcyBwcm9ibGVtIGlzIHRvIHdyaXRlIGEgcHJvZ3JhbSB3aGljaCwgZ2l2ZW4gdGhlIHBhcmFtZXRlcnMgSEEgKHRoZSBkaXN0YW5jZSBvZiB0aGUgbWVhc3VyaW5nIGRldmljZSBBIGFib3ZlIHRoZSBsYXVuY2ggcGxhdGZvcm0gaW4gZmVldCksIEhCICh0aGUgZGlzdGFuY2Ugb2YgdGhlIG1lYXN1cmluZyBkZXZpY2UgQiBhYm92ZSB0aGUgbGF1bmNoIHBsYXRmb3JtIGluIGZlZXQpLCAmYWxwaGE7ICh0aGUgZWxldmF0aW9uIGFuZ2xlIG9mIHRoZSByb2NrZXQgaW4gZGVncmVlcyBtZWFzdXJlZCBieSB0aGUgbGVmdCBvYnNlcnZlciBBKSwgJmJldGE7ICh0aGUgZWxldmF0aW9uIGFuZ2xlIG9mIHRoZSByb2NrZXQgaW4gZGVncmVlcyBvYnNlcnZlZCBieSB0aGUgcmlnaHQgb2JzZXJ2ZXIgQiksICZnYW1tYTsgKHRoZSBhemltdXRoIGFuZ2xlIGluIGRlZ3JlZXMgbWVhc3VyZWQgYnkgdGhlIGxlZnQgb2JzZXJ2ZXIgQSkgYW5kICZkZWx0YTsgKHRoZSBhemltdXRoIGFuZ2xlIGluIGRlZ3JlZXMgbWVhc3VyZWQgYnkgdGhlIHJpZ2h0IG9ic2VydmVyIEIpLCBjb21wdXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSByb2NrZXQgYWJvdmUgdGhlIGxhdW5jaCBwbGF0Zm9ybSBpbiBmZWV0IHRvIHRoZSBuZWFyZXN0IGZvb3QuJm5ic3A7PFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBjb250YWlucyB0aGUgbnVtYmVyIG9mIHNob3RzIHRoYXQgZm9sbG93IE4gKDEgJmx0Oz0gTiAmbHQ7PSAxMDApIGFuZCB0aGUgcGFyYW1ldGVycyBIQSBhbmQgSEIgaW4gdGhhdCBvcmRlciBhcyBkZWNpbWFsIHZhbHVlcyAodGhlIHZhbHVlcyBhcmUgc2VwYXJhdGVkIGJ5IG9uZSBvciBtb3JlIHNwYWNlcykuIFRoZXNlIHZhbHVlcyB3b3VsZCBiZSBtZWFzdXJlZCBvbmNlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRheSBhbmQgcmVtYWluIGZpeGVkIHRocm91Z2ggYWxsIE4gcm9ja2V0IHNob3RzLiBFYWNoIHN1Y2NlZWRpbmcgbGluZSBvZiBpbnB1dCB3aWxsIGNvbnRhaW4gdGhlIGFuZ2xlcyAmYWxwaGE7LCAmYmV0YTssICZnYW1tYTsgYW5kICZkZWx0YTsgaW4gdGhhdCBvcmRlciAobWVhc3VyZWQgaW4gZGVncmVlcykgYXMgZGVjaW1hbCB2YWx1ZXMuIFRoZSBhbmdsZXMgJmFscGhhOywgJmJldGE7IGFuZCAmZ2FtbWE7IHdpbGwgYmUgc3RyaWN0bHkgYmV0d2VlbiAwIGFuZCA5MCBkZWdyZWVzIGFuZCAmZGVsdGE7IHdpbGwgYmUgc3RyaWN0bHkgYmV0d2VlbiA5MCBkZWdyZWVzIGFuZCAxODAgZGVncmVlcy4mbmJzcDs8XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5Gb3IgZWFjaCBzZXQgb2YgZm91ciBhbmdsZXMgKG90aGVyIHRoYW4gdGhlIGVuZCBpbmRpY2F0b3IpLCB0aGUgb3V0cHV0IGNvbnRhaW5zIGEgbGluZSB3aXRoIHRoZSBzaG90IG51bWJlciwgKDEuLi5OKSwgYSBjb2xvbiwgYSBzcGFjZSBhbmQgZmluYWxseSB0aGUgaGVpZ2h0IGFib3ZlIHRoZSBmaWVsZCBpbiBmZWV0IHRvIHRoZSBuZWFyZXN0IGZvb3Qgd2l0aCBubyBsZWFkaW5nIHNwYWNlcy48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d