시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 61 12 12 20.690%

문제

미토콘드리아 DNA는 생물의 세포 내에 있는 미토콘드리아의 DNA 분자이다.

이 DNA는 모계로부터 유전된다. 즉, 전 인류의 공통 모계 조상인 "미토콘드리아 이브"가 존재한다. 모계 조상은 가계도의 여성 부분을 타고 거슬러 올라가면 나오는 조상이다. 예를 들어, 어머니나 할머니가 자식의 모계 조상이 된다.

인류의 미토콘드리아 이브는 약 20만년 전 동아프리카에 살았던 것으로 추정된다.

이 문제에서는 이형 접합인 진핵 생물 단일종으로 이루어진 한 집단에 대해 다룬다. 연구자들은 이 집단의 개체 수 성장을 시간을 두고 완벽하게 기록했고, 그 중 몇 개체들의 미토콘드리아 DNA를 서열화했다. 관찰한 집단의 미토콘드리아 DNA는 모계로부터 유전될 때 돌연변이 없이 유전되었다고 가정한다.

현재 살아있는 모든 개체가 같은 미토콘드리아 DNA를 가졌는지 확인하는 프로그램을 작성하시오.

입력

입력의 첫 줄에 관찰을 시작한 시기에 살아있던 개체의 수인 정수 n (1 ≤ n ≤ 100,000)이 주어진다. 이 개체들의 ID는 1부터 n까지 정수이다.

다음 n 줄에는 각 줄마다 하나의 문자가 주어진다. i 번째 줄의 문자는 ID가 i인 개체의 성별을 의미하는데, M은 수컷, F는 암컷을 의미한다.

다음 줄에는 관측 기간 동안의 출생과 사망한 횟수의 합인 정수 m (0 ≤ m ≤ 100,000)이 주어진다.

다음 m 줄에는 출생과 사망에 대한 정보가 시간순으로 주어진다.

출생은 세 단어로 주어지는데, 순서대로 아빠의 ID, 엄마의 ID, 성별을 나타낸다. (위와 마찬가지로 M은 수컷, F는 암컷이다) 새끼의 ID는 그때까지 ID로 쓰이지 않은 가장 작은 양의 정수이다.

사망은 음수 하나로 주어지는데, 죽은 개체의 ID에 마이너스 부호를 붙인 것이다.

그 다음 줄에는 서열화된 미토콘드리아 DNA의 수인 정수 k(0 ≤ k ≤ n + m)가 주어진다.

다음 k 줄에서, 각 줄에서 공백으로 구별되는 두 정수가 주어지는데, 전자는 미토콘드리아 DNA가 분석된 개체의 ID이고, 후자는 그 개체의 미토콘드리아 DNA의 고유 식별 번호이다. 두 미토콘드리아 DNA의 고유 식별 번호가 같을 때는 두 DNA가 같을 경우 밖에 없다. 미토콘드리아 DNA의 고유 식별 번호는 1부터 109까지의 정수이다.

입력의 모든 주어진 데이터는 모순이 없고, 한 개체의 미토콘드리아 DNA는 최대 한 번만 분석된다. 관찰이 끝났을 때 최소 하나의 개체는 살아 있다.

출력

출력은 하나의 단어이다.

  • YES - 실험이 끝났을 때 생존한 개체가 모두 같은 미토콘드리아 DNA를 가지는 경우.
  • NO - 실험이 끝났을 때 생존한 어떤 개체들이 서로 다른 미토콘드리아 DNA를 가지는 경우.
  • POSSIBLY - YES와 NO를 확정할 수 없는 경우.

예제 입력 1

4
M
F
M
F
12
3 4 F
1 2 M
1 2 M
3 4 F
-3
-2
-4
-1
6 5 M
7 5 F
-7
-6
0

예제 출력 1

YES

예제 입력 2

3
F
F
M
3
3 2 M
3 1 F
-3
2
4 100500
5 100500

예제 출력 2

YES

예제 입력 3

3
M
F
M
2
1 2 M
3 2 F
0

예제 출력 3

POSSIBLY

예제 입력 4

2
M
F
2
1 2 M
-2
2
1 2011
2 2012

예제 출력 4

NO
W3sicHJvYmxlbV9pZCI6IjM0OTkiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJiZjhcdWQxYTBcdWNmNThcdWI0ZGNcdWI5YWNcdWM1NDQgXHVjNzc0XHViZTBjIiwiZGVzY3JpcHRpb24iOiI8cD5cdWJiZjhcdWQxYTBcdWNmNThcdWI0ZGNcdWI5YWNcdWM1NDQgRE5BXHViMjk0IFx1YzBkZFx1YmIzY1x1Yzc1OCBcdWMxMzhcdWQzZWMgXHViMGI0XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWJiZjhcdWQxYTBcdWNmNThcdWI0ZGNcdWI5YWNcdWM1NDRcdWM3NTggRE5BIFx1YmQ4NFx1Yzc5MFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0IEROQVx1YjI5NCBcdWJhYThcdWFjYzRcdWI4NWNcdWJkODBcdWQxMzAgXHVjNzIwXHVjODA0XHViNDFjXHViMmU0LiBcdWM5ODksJm5ic3A7XHVjODA0IFx1Yzc3OFx1Yjk1OFx1Yzc1OCBcdWFjZjVcdWQxYjUgXHViYWE4XHVhY2M0IFx1Yzg3MFx1YzBjMVx1Yzc3OCAmcXVvdDtcdWJiZjhcdWQxYTBcdWNmNThcdWI0ZGNcdWI5YWNcdWM1NDQgXHVjNzc0XHViZTBjJnF1b3Q7XHVhYzAwIFx1Yzg3NFx1YzdhY1x1ZDU1Y1x1YjJlNC4gXHViYWE4XHVhY2M0IFx1Yzg3MFx1YzBjMVx1Yzc0MCBcdWFjMDBcdWFjYzRcdWIzYzRcdWM3NTggXHVjNWVjXHVjMTMxIFx1YmQ4MFx1YmQ4NFx1Yzc0NCBcdWQwYzBcdWFjZTAgXHVhYzcwXHVjMmFjXHViN2VjIFx1YzYyY1x1Yjc3Y1x1YWMwMFx1YmE3NCBcdWIwOThcdWM2MjRcdWIyOTQgXHVjODcwXHVjMGMxXHVjNzc0XHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCBcdWM1YjRcdWJhMzhcdWIyYzhcdWIwOTggXHVkNTYwXHViYTM4XHViMmM4XHVhYzAwIFx1Yzc5MFx1YzJkZFx1Yzc1OCBcdWJhYThcdWFjYzQgXHVjODcwXHVjMGMxXHVjNzc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc4XHViOTU4XHVjNzU4IFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBcdWM3NzRcdWJlMGNcdWIyOTQgXHVjNTdkIDIwXHViOWNjXHViMTQ0IFx1YzgwNCBcdWIzZDlcdWM1NDRcdWQ1MDRcdWI5YWNcdWNlNzRcdWM1ZDAgXHVjMGI0XHVjNTU4XHViMzU4IFx1YWM4M1x1YzczY1x1Yjg1YyBcdWNkOTRcdWM4MTVcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3NCBcdWJiMzhcdWM4MWNcdWM1ZDBcdWMxMWNcdWIyOTQgXHVjNzc0XHVkNjE1IFx1YzgxMVx1ZDU2OVx1Yzc3OCBcdWM5YzRcdWQ1NzUgXHVjMGRkXHViYjNjJm5ic3A7XHViMmU4XHVjNzdjXHVjODg1XHVjNzNjXHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNCBcdWQ1NWMgXHVjOWQxXHViMmU4XHVjNWQwIFx1YjMwMFx1ZDU3NCBcdWIyZTRcdWI4ZWNcdWIyZTQuIFx1YzVmMFx1YWQ2Y1x1Yzc5MFx1YjRlNFx1Yzc0MCBcdWM3NzQgXHVjOWQxXHViMmU4XHVjNzU4IFx1YWMxY1x1Y2NiNCBcdWMyMTggXHVjMTMxXHVjN2E1XHVjNzQ0IFx1YzJkY1x1YWMwNFx1Yzc0NCBcdWI0NTBcdWFjZTAgXHVjNjQ0XHViY2JkXHVkNTU4XHVhYzhjIFx1YWUzMFx1Yjg1ZFx1ZDU4OFx1YWNlMCwgXHVhZGY4IFx1YzkxMSBcdWJhODcgXHVhYzFjXHVjY2I0XHViNGU0XHVjNzU4IFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWI5N2MgXHVjMTFjXHVjNWY0XHVkNjU0XHVkNTg4XHViMmU0LiBcdWFkMDBcdWNjMzBcdWQ1NWMgXHVjOWQxXHViMmU4XHVjNzU4IFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWIyOTQgXHViYWE4XHVhY2M0XHViODVjXHViZDgwXHVkMTMwIFx1YzcyMFx1YzgwNFx1YjQyMCBcdWI1NGMgXHViM2NjXHVjNWYwXHViY2MwXHVjNzc0IFx1YzVjNlx1Yzc3NCBcdWM3MjBcdWM4MDRcdWI0MThcdWM1YzhcdWIyZTRcdWFjZTAgXHVhYzAwXHVjODE1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWQ2MDRcdWM3YWMgXHVjMGI0XHVjNTQ0XHVjNzg4XHViMjk0IFx1YmFhOFx1YjRlMCBcdWFjMWNcdWNjYjRcdWFjMDAgXHVhYzE5XHVjNzQwIFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWI5N2MgXHVhYzAwXHVjODRjXHViMjk0XHVjOWMwIFx1ZDY1NVx1Yzc3OFx1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjNzg1XHViODI1XHVjNzU4IFx1Y2NhYiBcdWM5MDRcdWM1ZDAmbmJzcDtcdWFkMDBcdWNjMzBcdWM3NDQgXHVjMmRjXHVjNzkxXHVkNTVjIFx1YzJkY1x1YWUzMFx1YzVkMCBcdWMwYjRcdWM1NDRcdWM3ODhcdWIzNTggXHVhYzFjXHVjY2I0XHVjNzU4IFx1YzIxOFx1Yzc3OCBcdWM4MTVcdWMyMTggbiAoMSAmbGU7IG4gJmxlOyAxMDAsMDAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1Yzc3NCBcdWFjMWNcdWNjYjRcdWI0ZTRcdWM3NTggSURcdWIyOTQgMVx1YmQ4MFx1ZDEzMCBuXHVhZTRjXHVjOWMwJm5ic3A7XHVjODE1XHVjMjE4XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgbiBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhYzAxIFx1YzkwNFx1YjljOFx1YjJlNCBcdWQ1NThcdWIwOThcdWM3NTggXHViYjM4XHVjNzkwXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gaSBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNzU4IFx1YmIzOFx1Yzc5MFx1YjI5NCBJRFx1YWMwMCBpXHVjNzc4IFx1YWMxY1x1Y2NiNFx1Yzc1OCBcdWMxMzFcdWJjYzRcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0XHViMzcwLCBNXHVjNzQwIFx1YzIxOFx1Y2VmNywgRlx1YjI5NCBcdWM1NTRcdWNlZjdcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgXHVjOTA0XHVjNWQwXHViMjk0IFx1YWQwMFx1Y2UyMSBcdWFlMzBcdWFjMDQgXHViM2Q5XHVjNTQ4XHVjNzU4IFx1Y2Q5Y1x1YzBkZFx1YWNmYyBcdWMwYWNcdWI5ZGRcdWQ1NWMgXHVkNjlmXHVjMjE4XHVjNzU4IFx1ZDU2OVx1Yzc3OCBcdWM4MTVcdWMyMTggbSAoMCAmbGU7IG0gJmxlOyAxMDAsMDAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBtIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWNkOWNcdWMwZGRcdWFjZmMgXHVjMGFjXHViOWRkXHVjNWQwIFx1YjMwMFx1ZDU1YyBcdWM4MTVcdWJjZjRcdWFjMDAgXHVjMmRjXHVhYzA0XHVjMjFjXHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjZDljXHVjMGRkXHVjNzQwIFx1YzEzOCBcdWIyZThcdWM1YjRcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWMwXHViMjk0XHViMzcwLCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjNTQ0XHViZTYwXHVjNzU4IElELCBcdWM1YzRcdWI5YzhcdWM3NTggSUQsIFx1YzEzMVx1YmNjNFx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuJm5ic3A7KFx1YzcwNFx1YzY0MCBcdWI5YzhcdWNjMmNcdWFjMDBcdWM5YzBcdWI4NWMgTVx1Yzc0MCBcdWMyMThcdWNlZjcsIEZcdWIyOTQgXHVjNTU0XHVjZWY3XHVjNzc0XHViMmU0KSZuYnNwO1x1YzBjOFx1YjA3Y1x1Yzc1OCBJRFx1YjI5NCBcdWFkZjhcdWI1NGNcdWFlNGNcdWM5YzAgSURcdWI4NWMgXHVjNGYwXHVjNzc0XHVjOWMwIFx1YzU0YVx1Yzc0MCBcdWFjMDBcdWM3YTUgXHVjNzkxXHVjNzQwIFx1YzU5MVx1Yzc1OCBcdWM4MTVcdWMyMThcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzBhY1x1YjlkZFx1Yzc0MCBcdWM3NGNcdWMyMTggXHVkNTU4XHViMDk4XHViODVjIFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NFx1YjM3MCwgXHVjOGZkXHVjNzQwIFx1YWMxY1x1Y2NiNFx1Yzc1OCBJRFx1YzVkMCBcdWI5YzhcdWM3NzRcdWIxMDhcdWMyYTQgXHViZDgwXHVkNjM4XHViOTdjIFx1YmQ5OVx1Yzc3OCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWRmOCBcdWIyZTRcdWM3NGMmbmJzcDtcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjMTFjXHVjNWY0XHVkNjU0XHViNDFjIFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWM3NTggXHVjMjE4XHVjNzc4IFx1YzgxNVx1YzIxOCBrKDAgJmxlOyBrICZsZTsgbiArIG0pXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViMmU0XHVjNzRjIGsgXHVjOTA0XHVjNWQwXHVjMTFjLCZuYnNwO1x1YWMwMSBcdWM5MDRcdWM1ZDBcdWMxMWMgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmNjNFx1YjQxOFx1YjI5NCBcdWI0NTAgXHVjODE1XHVjMjE4XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NFx1YjM3MCwgXHVjODA0XHVjNzkwXHViMjk0IFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWFjMDAgXHViZDg0XHVjMTFkXHViNDFjIFx1YWMxY1x1Y2NiNFx1Yzc1OCBJRFx1Yzc3NFx1YWNlMCwgXHVkNmM0XHVjNzkwXHViMjk0IFx1YWRmOCBcdWFjMWNcdWNjYjRcdWM3NTggXHViYmY4XHVkMWEwXHVjZjU4XHViNGRjXHViOWFjXHVjNTQ0IEROQVx1Yzc1OCBcdWFjZTBcdWM3MjAgXHVjMmRkXHViY2M0IFx1YmM4OFx1ZDYzOFx1Yzc3NFx1YjJlNC4gXHViNDUwIFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWM3NTggXHVhY2UwXHVjNzIwIFx1YzJkZFx1YmNjNCBcdWJjODhcdWQ2MzhcdWFjMDAgXHVhYzE5XHVjNzQ0IFx1YjU0Y1x1YjI5NCBcdWI0NTAgRE5BXHVhYzAwIFx1YWMxOVx1Yzc0NCBcdWFjYmRcdWM2YjAgXHViYzE2XHVjNWQwIFx1YzVjNlx1YjJlNC4gXHViYmY4XHVkMWEwXHVjZjU4XHViNGRjXHViOWFjXHVjNTQ0IEROQVx1Yzc1OCBcdWFjZTBcdWM3MjAgXHVjMmRkXHViY2M0IFx1YmM4OFx1ZDYzOFx1YjI5NCAxXHViZDgwXHVkMTMwIDEwPHN1cD45PFwvc3VwPlx1YWU0Y1x1YzljMFx1Yzc1OCBcdWM4MTVcdWMyMThcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc4NVx1YjgyNVx1Yzc1OCBcdWJhYThcdWI0ZTAgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YjM3MFx1Yzc3NFx1ZDEzMFx1YjI5NCBcdWJhYThcdWMyMWNcdWM3NzQgXHVjNWM2XHVhY2UwLCBcdWQ1NWMgXHVhYzFjXHVjY2I0XHVjNzU4IFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWIyOTQgXHVjZDVjXHViMzAwIFx1ZDU1YyBcdWJjODhcdWI5Y2MgXHViZDg0XHVjMTFkXHViNDFjXHViMmU0LiBcdWFkMDBcdWNjMzBcdWM3NzQgXHViMDVkXHViMGFjXHVjNzQ0IFx1YjU0YyBcdWNkNWNcdWMxOGMgXHVkNTU4XHViMDk4XHVjNzU4IFx1YWMxY1x1Y2NiNFx1YjI5NCBcdWMwYjRcdWM1NDQgXHVjNzg4XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2Q5Y1x1YjgyNVx1Yzc0MCBcdWQ1NThcdWIwOThcdWM3NTggXHViMmU4XHVjNWI0XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPllFUyAtIFx1YzJlNFx1ZDVkOFx1Yzc3NCBcdWIwNWRcdWIwYWNcdWM3NDQgXHViNTRjIFx1YzBkZFx1Yzg3NFx1ZDU1YyBcdWFjMWNcdWNjYjRcdWFjMDAgXHViYWE4XHViNDUwIFx1YWMxOVx1Yzc0MCBcdWJiZjhcdWQxYTBcdWNmNThcdWI0ZGNcdWI5YWNcdWM1NDQgRE5BXHViOTdjIFx1YWMwMFx1YzljMFx1YjI5NCBcdWFjYmRcdWM2YjAuPFwvbGk+XHJcblx0PGxpPk5PIC0mbmJzcDtcdWMyZTRcdWQ1ZDhcdWM3NzQgXHViMDVkXHViMGFjXHVjNzQ0IFx1YjU0YyBcdWMwZGRcdWM4NzRcdWQ1NWMgXHVjNWI0XHViNWE0IFx1YWMxY1x1Y2NiNFx1YjRlNFx1Yzc3NCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YmJmOFx1ZDFhMFx1Y2Y1OFx1YjRkY1x1YjlhY1x1YzU0NCBETkFcdWI5N2MgXHVhYzAwXHVjOWMwXHViMjk0IFx1YWNiZFx1YzZiMC48XC9saT5cclxuXHQ8bGk+UE9TU0lCTFkgLSBZRVNcdWM2NDAgTk9cdWI5N2MgXHVkNjU1XHVjODE1XHVkNTYwIFx1YzIxOCBcdWM1YzZcdWIyOTQgXHVhY2JkXHVjNmIwLjxcL2xpPlxyXG48XC91bD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiMzQ5OSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkV2ZSIsImRlc2NyaXB0aW9uIjoiPHA+TWl0b2Nob25kcmlhbCBETkEgaXMgdGhlIERlb3h5cmlib251Y2xlaWMgYWNpZCBtb2xlY3VsZSB0aGF0IGlzIGNvbnRhaW5lZCBpbiBtaXRvY2hvbmRyaWEgd2l0aGluIGNlbGxzIG9mIGFuIG9yZ2FuaXNtLjxcL3A+XHJcblxyXG48cD5NaXRvY2hvbmRyaWFsIEROQSBpcyBub3JtYWxseSBwYXNzZWQgdG8gYSBjaGlsZCBleGNsdXNpdmVseSBmcm9tIGl0cyBtb3RoZXIuIEJlY2F1c2Ugb2YgdGhpcyBmYWN0LCBpdCBpcyBwb3NzaWJsZSB0byBzcGVhayBvZiAmbGRxdW87TWl0b2Nob25kcmlhbCBFdmUmcmRxdW87IHdoaWNoIHJlZmVycyB0byB0aGUgbW9zdCByZWNlbnQgY29tbW9uIG1hdHJpbGluZWFsIGFuY2VzdG9yIG9mIHRoZSBlbnRpcmUgcG9wdWxhdGlvbi4gTWF0cmlsaW5lYWwgYW5jZXN0cnkgaXMgdHJhY2VkIHRocm91Z2ggZmVtYWxlIGxpbmU6IG1vdGhlciwgZ3JhbmRtb3RoZXIsIGV0Yy48XC9wPlxyXG5cclxuPHA+TWl0b2Nob25kcmlhbCBFdmUgb2YgdGhlIEVhcnRoJnJzcXVvO3MgaHVtYW4gcG9wdWxhdGlvbiBpcyBlc3RpbWF0ZWQgdG8gaGF2ZSBsaXZlZCBhcm91bmQgMjAwIDAwMCB5ZWFycyBhZ28sIG1vc3QgbGlrZWx5IGluIHRoZSBFYXN0IEFmcmljYS48XC9wPlxyXG5cclxuPHA+SW4gdGhpcyBwcm9ibGVtLCB3ZSBjb25zaWRlciBhIGNlcnRhaW4gcG9wdWxhdGlvbiBvZiB0aGUgc2FtZSBiaW9sb2dpY2FsIHNwZWNpZXMgKGV1a2FyeW90aWMgYW5kIGFuaXNvZ2Ftb3VzKS4gVGhlIHBvcHVsYXRpb24gaGFzIGJlZW4gb2JzZXJ2ZWQgZm9yIGEgcGVyaW9kIG9mIHRpbWUsIGFuZCBhbGwgYmlydGhzIGFuZCBkZWF0aHMgd2VyZSBjbGVhcmx5IHJlY29yZGVkLiBGb3Igc29tZSBvZiB0aGUgaW5kaXZpZHVhbHMgd2l0aGluIHRoZSBwb3B1bGF0aW9uLCB0aGVpciBtaXRvY2hvbmRyaWFsIEROQSB3YXMgc2VxdWVuY2VkLiBJdCBpcyBhc3N1bWVkIHRoYXQgZWFjaCBpbmRpdmlkdWFsIGluIHRoZSBvYnNlcnZlZCBwb3B1bGF0aW9uIHJlY2VpdmVkIGl0cyBtaXRvY2hvbmRyaWFsIEROQSBmcm9tIGl0cyBtb3RoZXIgd2l0aG91dCBhbnkgbXV0YXRpb25zLjxcL3A+XHJcblxyXG48cD5Zb3VyIHRhc2sgaXMgdG8gXHVmYjAxbmQgb3V0LCB3aGV0aGVyIGFsbCBpbmRpdmlkdWFscyBjdXJyZW50bHkgYWxpdmUgaGF2ZSB0aGUgc2FtZSBtaXRvY2hvbmRyaWFsIEROQS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBcdWZiMDFyc3QgbGluZSBvZiB0aGUgaW5wdXQgXHVmYjAxbGUgY29udGFpbnMgaW50ZWdlciBuICgxICZsZTsgbiAmbGU7IDEwMCAwMDApLCB0aGUgbnVtYmVyIG9mIGluZGl2aWR1YWxzIHRoYXQgd2VyZSBhbGl2ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBvYnNlcnZhdGlvbiBwZXJpb2QuIElEcyBvZiB0aGVzZSBpbmRpdmlkdWFscyBhcmUgaW50ZWdlcnMgZnJvbSAxIHRvIG4uPFwvcD5cclxuXHJcbjxwPk5leHQgbiBsaW5lcyBjb250YWluIG9uZSBjaGFyYWN0ZXIgZWFjaC4gVGhlIGktdGggb2YgdGhlc2UgbGluZXMgZGVzY3JpYmVzIHRoZSBzZXggb2YgdGhlIGluZGl2aWR1YWwgd2l0aCBJRCBpLiAmbHNxdW87TSZyc3F1bzsgc3RhbmRzIGZvciBtYWxlLCAmbHNxdW87RiZyc3F1bzsgc3RhbmRzIGZvciBmZW1hbGUuPFwvcD5cclxuXHJcbjxwPlRoZSBuZXh0IGxpbmUgY29udGFpbnMgaW50ZWdlciBtICgwICZsZTsgbSAmbGU7IDEwMCAwMDApLCB0aGUgdG90YWwgbnVtYmVyIG9mIGJpcnRocyBhbmQgZGVhdGhzIHRoYXQgaGFwcGVuZWQgZHVyaW5nIHRoZSBvYnNlcnZhdGlvbiBwZXJpb2QuPFwvcD5cclxuXHJcbjxwPk5leHQgbSBsaW5lcyBjb250YWluIGRlc2NyaXB0aW9uIG9mIGJpcnRoIGFuZCBkZWF0aCBldmVudHMsIGxpc3RlZCBpbiBjaHJvbm9sb2dpY2FsIG9yZGVyLjxcL3A+XHJcblxyXG48cD5BIGJpcnRoIGV2ZW50IGlzIGRlc2NyaWJlZCBieSB0aHJlZSBzcGFjZS1zZXBhcmF0ZWQgdG9rZW5zOiB0aGUgSUQgb2YgdGhlIGZhdGhlciwgdGhlIElEIG9mIHRoZSBtb3RoZXIsIGFuZCBhIGNoYXJhY3RlciB0aGF0IGRlc2NyaWJlcyB0aGUgc2V4IG9mIHRoZSBjaGlsZCAoJmxzcXVvO00mcnNxdW87IGZvciBtYWxlLCAmbHNxdW87RiZyc3F1bzsgZm9yIGZlbWFsZSkuIFRoZSBJRCBnaXZlbiB0byB0aGUgb1x1ZmIwMHNwcmluZyBpcyB0aGUgc21hbGxlc3QgcG9zaXRpdmUgaW50ZWdlciB0aGF0IGhhc24mcnNxdW87dCBiZWVuIHVzZWQgYXMgYW4gSUQgYnkgdGhpcyBwb2ludCBvZiB0aW1lLjxcL3A+XHJcblxyXG48cD5BIGRlYXRoIGV2ZW50IGlzIGRlc2NyaWJlZCBieSBhIHNpbmdsZSBuZWdhdGl2ZSBpbnRlZ2VyLCB3aG9zZSBhYnNvbHV0ZSB2YWx1ZSBlcXVhbHMgdGhlIElEIG9mIHRoZSBpbmRpdmlkdWFsIHRoYXQgZGllZC48XC9wPlxyXG5cclxuPHA+VGhlIG5leHQgbGluZSBjb250YWlucyBpbnRlZ2VyIGsgKDAgJmxlOyBrICZsZTsgbiArIG0pLCB0aGUgbnVtYmVyIG9mIHNlcXVlbmNlZCBtaXRvY2hvbmRyaWFsIEROQXMuPFwvcD5cclxuXHJcbjxwPkVhY2ggb2YgdGhlIG5leHQgayBsaW5lcyBjb250YWlucyB0d28gc3BhY2Utc2VwYXJhdGVkIGludGVnZXJzLCB0aGUgSUQgb2YgdGhlIGluZGl2aWR1YWwgd2hvc2UgbWl0b2Nob25kcmlhbCBETkEgaGFzIGJlZW4gc2VxdWVuY2VkLCBhbmQgdGhlIHVuaXF1ZSBpZGVudGlcdWZiMDFlciBvZiB0aGUgbWl0b2Nob25kcmlhbCBETkEgb2YgdGhhdCBpbmRpdmlkdWFsLiBVbmlxdWUgaWRlbnRpXHVmYjAxZXJzIG9mIHR3byBtaXRvY2hvbmRyaWFsIEROQXMgYXJlIHRoZSBzYW1lIGlmIGFuZCBvbmx5IGlmIHRoZSBjb3JyZXNwb25kaW5nIHNlcXVlbmNlZCBtaXRvY2hvbmRyaWFsIEROQXMgYXJlIHRoZSBzYW1lLiBBbGwgdW5pcXVlIGlkZW50aVx1ZmIwMWVycyBvZiB0aGUgbWl0b2Nob25kcmlhbCBETkFzIGFyZSBpbnRlZ2VycyBmcm9tIDEgdG8gMTA8c3VwPjk8XC9zdXA+LjxcL3A+XHJcblxyXG48cD5BbGwgdGhlIGRhdGEgZ2l2ZW4gaW4gdGhlIGlucHV0IFx1ZmIwMWxlIGlzIGNvbnNpc3RlbnQgYW5kIG5vbi1jb250cmFkaWN0b3J5LiBFYWNoIGluZGl2aWR1YWwmcnNxdW87cyBtaXRvY2hvbmRyaWFsIEROQSB3YXMgc2VxdWVuY2VkIGF0IG1vc3Qgb25jZS4gQXQgbGVhc3Qgb25lIGluZGl2aWR1YWwgd2FzIGFsaXZlIGF0IHRoZSBlbmQgb2YgdGhlIG9ic2VydmF0aW9uIHBlcmlvZC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5UaGUgb3V0cHV0IFx1ZmIwMWxlIG11c3QgY29udGFpbiBhIHNpbmdsZSB3b3JkOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPllFUyAmbmRhc2g7IGlmIGl0IGNhbiBiZSBkZXJpdmVkIHRoYXQgYWxsIHRoZSBpbmRpdmlkdWFscyB0aGF0IGFyZSBhbGl2ZSBhdCB0aGUgZW5kIG9mIHRoZSBleHBlcmltZW50IGhhdmUgdGhlIHNhbWUgbWl0b2Nob25kcmlhbCBETkE7PFwvbGk+XHJcblx0PGxpPk5PICZuZGFzaDsgaWYgaXQgY2FuIGJlIGRlcml2ZWQgdGhhdCBzb21lIG9mIHRoZSBpbmRpdmlkdWFscyB0aGF0IGFyZSBhbGl2ZSBhdCB0aGUgZW5kIG9mIHRoZSBleHBlcmltZW50IGhhdmUgZGlcdWZiMDBlcmVudCBtaXRvY2hvbmRyaWFsIEROQTs8XC9saT5cclxuXHQ8bGk+UE9TU0lCTFkgJm5kYXNoOyBpZiBub25lIG9mIHRoZSBjYXNlcyBhYm92ZSB0YWtlcyBwbGFjZS48XC9saT5cclxuPFwvdWw+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==