시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB50111026.316%

문제

자카르타의 제일 큰 놀이동산에는 N 가지 놀이기구가 있는데, 0부터 N - 1까지 번호가 매겨져 있다. 이 탈 것들은 N - 1개의 양방향 도로로 연결되어 있어서, 어떤 두 놀이기구를 골라도 이 둘을 잇는 유일한 경로가 존재한다. 이 도로는 0부터 N - 2까지 번호가 매겨져 있다. i번 도로는 놀이기구 A[i]와 놀이기구 B[i]를 연결하고 걸어서 이동하는데 한 시간이 걸린다. 혼잡을 막기 위해서, 모든 놀이기구는 최대 3개의 도로와 연결되어 있다.  

모든 놀이기구를 정확하게 한 번 방문하는 행로(tour)를 만들려고 한다. 한 놀이기구에서 다른 놀이기구로 이동할 때 여러 도로를 지나가는 것은 지루하다. 즐거운 행로를 만들려면, 모든 놀이기구에 대해서 순서 관계를 정해서, 다음 놀이기구를 방문하는데 필요한 시간이 직전 놀이기구를 방문하는데 필요한 시간보다 길지 않게 하고 싶다. 다른 말로 하면, 0부터 N - 1까지 모든 정수가 정확하게 한 번씩 나오는 순열 P[0], P[1], …, P[N − 1]을 찾으려 하는데, 모든 0 < i < N − 1에 대해서 놀이기구 P[i]에서 놀이기구 P[i + 1]로 이동하는데 걸리는 시간이 놀이기구 P[i - 1]에서 놀이기구 P[i]로 이동하는데 걸리는 시간보다 길지 않다.

당신은 놀이기구의 전체 지도를 가지고 있지 않다. 따라서, 즐거운 행로를 만들려면 안내센터에 질문을 여러번 해야 한다. 최대 Q번 질문할 수 있고, 각각의 질문은 두 파라미터 X와 Y로 이루어지는데, 0 ≤ X, Y < N이다. 각 질문은 다음 둘 중 하나이다.  

  • 놀이기구 X에서 놀이기구 Y로 이동하는데 몇 시간 걸리는가? 특히 X = Y일 때, 답은 0이다.
  • 놀이기구 X와 놀이기구 Y가 주어졌을 때, 다음 조건을 만족하는 놀이기구 Z가 몇 개 있는가? 놀이기구 X에서 놀이기구 Z로 이동하려면 놀이기구 Y를 반드시 방문해야 한다. 놀이기구 Y도 포함된다. 특히 X = Y일 때, 답은 N이다.

할 일

다음 createFunTour 함수를 구현해야 한다.  

  • createFunTour(N, Q) - 이 함수는 그레이더에 의해서 정확하게 한 번 호출된다.  
    • N: 놀이기구의 수를 나타내는 정수.  
    • Q: 질문의 최대 횟수를 나타내는 정수.  
    • 이 함수는 다음 두 그레이더 함수를 호출할 수 있다.  
      • hoursRequired(X, Y)
        • X: 첫번째 놀이기구를 표현하는 정수. 
        • Y: 두번째 놀이기구를 표현하는 정수.
        • 이 함수는 놀이기구 X에서 놀이기구 Y로 이동하는데 필요한 시간을 리턴한다. 
        • 만약 XY 중 어느 하나, 또는 둘 모두가 0 이상 N - 1 이하인 정수가 아니라면, WA를 받는다.  
      • attractionsBehind(X, Y)
        • X: 첫번째 놀이기구를 표현하는 정수.
        • Y: 두번째 놀이기구를 표현하는 정수.
        • 이 함수는 다음 조건을 만족하는 놀이기구 Z의 개수를 리턴하는데, 놀이기구 X에서 놀이기구 Z로 이동하려면 놀이기구 Y를 반드시 방문해야 한다.  
        • 만약 XY 중 어느 하나, 또는 둘 모두가 0 이상 N - 1 이하인 정수가 아니라면, WA를 받는다.
    • 이 함수는 즐거운 행로를 표현하는 N개의 정수의 순열을 저장한 배열을 리턴해야 한다.

예제

다음 예제에서, N = 7, Q = 400000, A = [0, 0, 0, 1, 1, 2], B = [1, 5, 6, 2, 4, 3]이다. 이 예제는 다음 그림으로 설명할 수 있다.

그레이더는 createFunTour(7, 400000)를 호출한다.

  • 만약 여러분이 hoursRequired(3, 5)로 질의하면, 리턴값은 4이다.
  • 만약 여러분이 hoursRequired(5, 4)로 질의하면, 리턴값은 3이다.
  • 만약 여러분이 attractionsBehind(5, 1)로 질의하면, 리턴값은 4이다. 놀이기구 5에서 놀이기구 1, 2, 3, 4로 가려면 놀이기구 1을 반드시 지나가야 한다.  
  • 만약 여러분이 attractionsBehind(1, 5)로 질의하면, 리턴값은 1이다.
  • 여러분의 가능한 리턴값 중 하나는 [3, 6, 4, 5, 2, 0, 1]인데, 다음 놀이기구를 방문하는데 필요한 시간은 차례대로 [4, 3, 3, 3, 2, 1]이기 때문이다.  

제한

  • 2 ≤ N ≤ 100000.
  • Q = 400000.
  • 어떤 두 놀이기구도 도로를 통해서 이동할 수 있다.
  • 각 놀이기구는 최대 3개의 도로와 연결되어 있다. (즉, 최대 3개 도로의 끝점이다.)

서브태스크 1 (10점)

  • N ≤ 17.

서브태스크 2 (16점)

  • N ≤ 500.

서브태스크 3 (21점)

  • 모든 1 ≤ i < N에 대해서 놀이기구 i와 놀이기구 ⌊(i−1)/2​⌋를 연결하는 도로가 있다.

서브태스크 4 (19점)

  • 모든 0 ≤ i < N에 대해서 hoursRequired(T, i) < 30를 만족하면서 다음 조건을 만족하는 구간 [L[i], R[i]] (0 ≤ L[i] ≤ iR[i] < N)이 존재하는 놀이도구 T가 최소한 하나 존재한다.    
    • 놀이기구 T에서 놀이기구 j로 이동하려면 놀이기구 i를 방문해야 한다는 것과,  L[i] ≤ jR[i]라는 것은 필요충분조건이다.
    • 만약 L[i] < i이라면, 다음 조건을 만족하는 놀이기구 X가 정확히 하나 존재한다.  
      • L[i] ≤ X < i.
      • 놀이기구 i와 놀이기구 X를 연결하는 도로가 있다.  
    • 만약 i < R[i]이라면, 다음 조건을 만족하는 놀이기구 Y가 정확히 하나 존재한다.  
      • i < YR[i].
      • 놀이기구 i와 놀이기구 Y를 연결하는 도로가 있다.  

서브태스크 5 (34점)

  • 추가적인 제약 조건이 없다.
W3sicHJvYmxlbV9pZCI6IjE5NjIwIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjOTkwXHVhYzcwXHVjNmI0IFx1ZDU4OVx1Yjg1YyIsImRlc2NyaXB0aW9uIjoiPHA+XHVjNzkwXHVjZTc0XHViOTc0XHVkMGMwXHVjNzU4IFx1YzgxY1x1Yzc3YyBcdWQwNzAgXHViMTgwXHVjNzc0XHViM2Q5XHVjMGIwXHVjNWQwXHViMjk0Jm5ic3A7PGVtPk48XC9lbT4gXHVhYzAwXHVjOWMwIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2Y1x1YWMwMCBcdWM3ODhcdWIyOTRcdWIzNzAsIDBcdWJkODBcdWQxMzAmbmJzcDs8ZW0+TjxcL2VtPiAtIDFcdWFlNGNcdWM5YzAgXHViYzg4XHVkNjM4XHVhYzAwIFx1YjllNFx1YWNhOFx1YzgzOCBcdWM3ODhcdWIyZTQuIFx1Yzc3NCBcdWQwYzggXHVhYzgzXHViNGU0XHVjNzQwJm5ic3A7PGVtPk48XC9lbT4gLSAxXHVhYzFjXHVjNzU4IFx1YzU5MVx1YmMyOVx1ZDVhNSBcdWIzYzRcdWI4NWNcdWI4NWMgXHVjNWYwXHVhY2IwXHViNDE4XHVjNWI0IFx1Yzc4OFx1YzViNFx1YzExYywgXHVjNWI0XHViNWE0IFx1YjQ1MCBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmNcdWI5N2MgXHVhY2U4XHViNzdjXHViM2M0IFx1Yzc3NCBcdWI0NThcdWM3NDQgXHVjNzg3XHViMjk0IFx1YzcyMFx1Yzc3Y1x1ZDU1YyBcdWFjYmRcdWI4NWNcdWFjMDAgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LiBcdWM3NzQgXHViM2M0XHViODVjXHViMjk0Jm5ic3A7MFx1YmQ4MFx1ZDEzMCZuYnNwOzxlbT5OPFwvZW0+IC0gMlx1YWU0Y1x1YzljMCBcdWJjODhcdWQ2MzhcdWFjMDAgXHViOWU0XHVhY2E4XHVjODM4IFx1Yzc4OFx1YjJlNC4gPGVtPmk8XC9lbT5cdWJjODggXHViM2M0XHViODVjXHViMjk0IFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5BPFwvZW0+WzxlbT5pPFwvZW0+XVx1YzY0MCBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+QjxcL2VtPls8ZW0+aTxcL2VtPl1cdWI5N2MgXHVjNWYwXHVhY2IwXHVkNTU4XHVhY2UwIFx1YWM3OFx1YzViNFx1YzExYyBcdWM3NzRcdWIzZDlcdWQ1NThcdWIyOTRcdWIzNzAgXHVkNTVjIFx1YzJkY1x1YWMwNFx1Yzc3NCBcdWFjNzhcdWI5YjBcdWIyZTQuIFx1ZDYzY1x1YzdhMVx1Yzc0NCBcdWI5YzlcdWFlMzAgXHVjNzA0XHVkNTc0XHVjMTFjLCBcdWJhYThcdWI0ZTAgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjXHViMjk0IFx1Y2Q1Y1x1YjMwMCAzXHVhYzFjXHVjNzU4IFx1YjNjNFx1Yjg1Y1x1YzY0MCBcdWM1ZjBcdWFjYjBcdWI0MThcdWM1YjQgXHVjNzg4XHViMmU0LiZuYnNwOyZuYnNwOzxcL3A+XHJcblxyXG48cD5cdWJhYThcdWI0ZTAgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjXHViOTdjIFx1YzgxNVx1ZDY1NVx1ZDU1OFx1YWM4YyBcdWQ1NWMgXHViYzg4IFx1YmMyOVx1YmIzOFx1ZDU1OFx1YjI5NCBcdWQ1ODlcdWI4NWModG91cilcdWI5N2MgXHViOWNjXHViNGU0XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVkNTVjIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2Y1x1YzVkMFx1YzExYyBcdWIyZTRcdWI5NzggXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjXHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWI1NGMgXHVjNWVjXHViN2VjIFx1YjNjNFx1Yjg1Y1x1Yjk3YyBcdWM5YzBcdWIwOThcdWFjMDBcdWIyOTQgXHVhYzgzXHVjNzQwIFx1YzljMFx1YjhlOFx1ZDU1OFx1YjJlNC4gXHVjOTkwXHVhYzcwXHVjNmI0IFx1ZDU4OVx1Yjg1Y1x1Yjk3YyBcdWI5Y2NcdWI0ZTRcdWI4MjRcdWJhNzQsIFx1YmFhOFx1YjRlMCBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmNcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjIFx1YzIxY1x1YzExYyBcdWFkMDBcdWFjYzRcdWI5N2MgXHVjODE1XHVkNTc0XHVjMTFjLCBcdWIyZTRcdWM3NGMgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjXHViOTdjIFx1YmMyOVx1YmIzOFx1ZDU1OFx1YjI5NFx1YjM3MCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHVjMmRjXHVhYzA0XHVjNzc0IFx1YzljMVx1YzgwNCBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmNcdWI5N2MgXHViYzI5XHViYjM4XHVkNTU4XHViMjk0XHViMzcwIFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWMyZGNcdWFjMDRcdWJjZjRcdWIyZTQgXHVhZTM4XHVjOWMwIFx1YzU0YVx1YWM4YyBcdWQ1NThcdWFjZTAgXHVjMmY2XHViMmU0LiBcdWIyZTRcdWI5NzggXHViOWQwXHViODVjIFx1ZDU1OFx1YmE3NCwmbmJzcDswXHViZDgwXHVkMTMwJm5ic3A7PGVtPk48XC9lbT4gLSAxXHVhZTRjXHVjOWMwIFx1YmFhOFx1YjRlMCBcdWM4MTVcdWMyMThcdWFjMDAgXHVjODE1XHVkNjU1XHVkNTU4XHVhYzhjIFx1ZDU1YyBcdWJjODhcdWM1MjkgXHViMDk4XHVjNjI0XHViMjk0IFx1YzIxY1x1YzVmNCA8ZW0+UDxcL2VtPlswXSwgPGVtPlA8XC9lbT5bMV0sICZoZWxsaXA7LCA8ZW0+UDxcL2VtPls8ZW0+TjxcL2VtPiZuYnNwOyZtaW51czsgMV1cdWM3NDQgXHVjYzNlXHVjNzNjXHViODI0IFx1ZDU1OFx1YjI5NFx1YjM3MCwmbmJzcDtcdWJhYThcdWI0ZTAgMCAmbHQ7IDxlbT5pPFwvZW0+ICZsdDsgPGVtPk48XC9lbT4gJm1pbnVzOyAxXHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYyBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMgPGVtPlA8XC9lbT5bPGVtPmk8XC9lbT5dXHVjNWQwXHVjMTFjIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5QPFwvZW0+WzxlbT5pPFwvZW0+ICsgMV1cdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHViMjk0XHViMzcwIFx1YWM3OFx1YjlhY1x1YjI5NCBcdWMyZGNcdWFjMDRcdWM3NzQgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjJm5ic3A7PGVtPlA8XC9lbT5bPGVtPmk8XC9lbT4gLSAxXVx1YzVkMFx1YzExYyBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+UDxcL2VtPls8ZW0+aTxcL2VtPl1cdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHViMjk0XHViMzcwIFx1YWM3OFx1YjlhY1x1YjI5NCBcdWMyZGNcdWFjMDRcdWJjZjRcdWIyZTQgXHVhZTM4XHVjOWMwIFx1YzU0YVx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViMmY5XHVjMmUwXHVjNzQwIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2Y1x1Yzc1OCBcdWM4MDRcdWNjYjQgXHVjOWMwXHViM2M0XHViOTdjIFx1YWMwMFx1YzljMFx1YWNlMCBcdWM3ODhcdWM5YzAgXHVjNTRhXHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIFx1Yzk5MFx1YWM3MFx1YzZiNCBcdWQ1ODlcdWI4NWNcdWI5N2MgXHViOWNjXHViNGU0XHViODI0XHViYTc0IFx1YzU0OFx1YjBiNFx1YzEzY1x1ZDEzMFx1YzVkMCBcdWM5YzhcdWJiMzhcdWM3NDQgXHVjNWVjXHViN2VjXHViYzg4IFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1Y2Q1Y1x1YjMwMCZuYnNwOzxlbT5RPFwvZW0+XHViYzg4IFx1YzljOFx1YmIzOFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVhY2UwLCBcdWFjMDFcdWFjMDFcdWM3NTggXHVjOWM4XHViYjM4XHVjNzQwIFx1YjQ1MCBcdWQzMGNcdWI3N2NcdWJiZjhcdWQxMzAmbmJzcDs8ZW0+WDxcL2VtPlx1YzY0MCZuYnNwOzxlbT5ZPFwvZW0+XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljMFx1YjI5NFx1YjM3MCwgMCAmbGU7IDxlbT5YPFwvZW0+LCA8ZW0+WTxcL2VtPiAmbHQ7IDxlbT5OPFwvZW0+XHVjNzc0XHViMmU0LiBcdWFjMDEgXHVjOWM4XHViYjM4XHVjNzQwIFx1YjJlNFx1Yzc0YyBcdWI0NTggXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yzc3NFx1YjJlNC4mbmJzcDsmbmJzcDs8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+WDxcL2VtPlx1YzVkMFx1YzExYyBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+WTxcL2VtPlx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWIyOTRcdWIzNzAgXHViYTg3IFx1YzJkY1x1YWMwNCBcdWFjNzhcdWI5YWNcdWIyOTRcdWFjMDA/IFx1ZDJiOVx1ZDc4OCZuYnNwOzxlbT5YPFwvZW0+ID0gPGVtPlk8XC9lbT5cdWM3N2MgXHViNTRjLCBcdWIyZjVcdWM3NDAgMFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjIDxlbT5YPFwvZW0+XHVjNjQwIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5ZPFwvZW0+XHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YjJlNFx1Yzc0YyBcdWM4NzBcdWFjNzRcdWM3NDQgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0Jm5ic3A7XHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjJm5ic3A7PGVtPlo8XC9lbT5cdWFjMDAgXHViYTg3IFx1YWMxYyZuYnNwO1x1Yzc4OFx1YjI5NFx1YWMwMD8mbmJzcDtcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMgPGVtPlg8XC9lbT5cdWM1ZDBcdWMxMWMmbmJzcDtcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMgPGVtPlo8XC9lbT5cdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHViODI0XHViYTc0IFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5ZPFwvZW0+XHViOTdjIFx1YmMxOFx1YjRkY1x1YzJkYyBcdWJjMjlcdWJiMzhcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LiZuYnNwO1x1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyA8ZW0+WTxcL2VtPlx1YjNjNCBcdWQzZWNcdWQ1NjhcdWI0MWNcdWIyZTQuIFx1ZDJiOVx1ZDc4OCZuYnNwOzxlbT5YPFwvZW0+ID0gPGVtPlk8XC9lbT5cdWM3N2MgXHViNTRjLCBcdWIyZjVcdWM3NDAgPGVtPk48XC9lbT5cdWM3NzRcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJpbnB1dCI6IiIsIm91dHB1dCI6IiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4yICZsZTsgPGVtPk48XC9lbT4gJmxlOyAxMDAwMDAuPFwvbGk+XHJcblx0PGxpPjxlbT5RPFwvZW0+Jm5ic3A7PSA0MDAwMDAuPFwvbGk+XHJcblx0PGxpPlx1YzViNFx1YjVhNCBcdWI0NTAgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjXHViM2M0IFx1YjNjNFx1Yjg1Y1x1Yjk3YyBcdWQxYjVcdWQ1NzRcdWMxMWMgXHVjNzc0XHViM2Q5XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YWMwMSBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmNcdWIyOTQgXHVjZDVjXHViMzAwIDNcdWFjMWNcdWM3NTggXHViM2M0XHViODVjXHVjNjQwIFx1YzVmMFx1YWNiMFx1YjQxOFx1YzViNCBcdWM3ODhcdWIyZTQuIChcdWM5ODksIFx1Y2Q1Y1x1YjMwMCAzXHVhYzFjIFx1YjNjNFx1Yjg1Y1x1Yzc1OCBcdWIwNWRcdWM4MTBcdWM3NzRcdWIyZTQuKTxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazEiOiI8dWw+XHJcblx0PGxpPjxlbT5OPFwvZW0+ICZsZTsgMTcuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMiI6Ijx1bD5cclxuXHQ8bGk+PGVtPk48XC9lbT4gJmxlOyA1MDAuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMyI6Ijx1bD5cclxuXHQ8bGk+XHViYWE4XHViNGUwIDEgJmxlOyA8ZW0+aTxcL2VtPiAmbHQ7IDxlbT5OPFwvZW0+XHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYyBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+aTxcL2VtPlx1YzY0MCBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMgJmxmbG9vcjsoPGVtPmk8XC9lbT4mbWludXM7MSlcLzJcdTIwMGImcmZsb29yO1x1Yjk3YyBcdWM1ZjBcdWFjYjBcdWQ1NThcdWIyOTQgXHViM2M0XHViODVjXHVhYzAwIFx1Yzc4OFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2s0IjoiPHVsPlxyXG5cdDxsaT5cdWJhYThcdWI0ZTAgMCAmbGU7IDxlbT5pPFwvZW0+ICZsdDsgPGVtPk48XC9lbT5cdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjJm5ic3A7PGNvZGU+aG91cnNSZXF1aXJlZChULCBpKTxcL2NvZGU+Jm5ic3A7Jmx0OyAzMFx1Yjk3YyBcdWI5Y2NcdWM4NzFcdWQ1NThcdWJhNzRcdWMxMWMmbmJzcDtcdWIyZTRcdWM3NGMgXHVjODcwXHVhYzc0XHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWFkNmNcdWFjMDQmbmJzcDtbPGVtPkw8XC9lbT5bPGVtPmk8XC9lbT5dLCA8ZW0+UjxcL2VtPls8ZW0+aTxcL2VtPl1dICgwICZsZTsgPGVtPkw8XC9lbT5bPGVtPmk8XC9lbT5dICZsZTsgPGVtPmk8XC9lbT4gJmxlOyA8ZW0+UjxcL2VtPls8ZW0+aTxcL2VtPl0gJmx0OyA8ZW0+TjxcL2VtPilcdWM3NzQgXHVjODc0XHVjN2FjXHVkNTU4XHViMjk0IFx1YjE4MFx1Yzc3NFx1YjNjNFx1YWQ2YyZuYnNwOzxlbT5UPFwvZW0+XHVhYzAwIFx1Y2Q1Y1x1YzE4Y1x1ZDU1YyBcdWQ1NThcdWIwOTggXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1xyXG5cdDx1bD5cclxuXHRcdDxsaT5cdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+VDxcL2VtPlx1YzVkMFx1YzExYyBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+ajxcL2VtPlx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWI4MjRcdWJhNzQgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjJm5ic3A7PGVtPmk8XC9lbT5cdWI5N2MgXHViYzI5XHViYjM4XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNFx1YjI5NCBcdWFjODNcdWFjZmMsJm5ic3A7IDxlbT5MPFwvZW0+WzxlbT5pPFwvZW0+XSAmbGU7IDxlbT5qPFwvZW0+ICZsZTsgPGVtPlI8XC9lbT5bPGVtPmk8XC9lbT5dXHViNzdjXHViMjk0IFx1YWM4M1x1Yzc0MCBcdWQ1NDRcdWM2OTRcdWNkYTlcdWJkODRcdWM4NzBcdWFjNzRcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0XHQ8bGk+XHViOWNjXHVjNTdkIDxlbT5MPFwvZW0+WzxlbT5pPFwvZW0+XSAmbHQ7IDxlbT5pPFwvZW0+XHVjNzc0XHViNzdjXHViYTc0LCBcdWIyZTRcdWM3NGMgXHVjODcwXHVhYzc0XHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+WDxcL2VtPlx1YWMwMCBcdWM4MTVcdWQ2NTVcdWQ3ODggXHVkNTU4XHViMDk4IFx1Yzg3NFx1YzdhY1x1ZDU1Y1x1YjJlNC4mbmJzcDsmbmJzcDtcclxuXHRcdDx1bD5cclxuXHRcdFx0PGxpPjxlbT5MPFwvZW0+WzxlbT5pPFwvZW0+XSAmbGU7IDxlbT5YPFwvZW0+ICZsdDsgPGVtPmk8XC9lbT4uPFwvbGk+XHJcblx0XHRcdDxsaT5cdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+aTxcL2VtPlx1YzY0MCBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+WDxcL2VtPlx1Yjk3YyBcdWM1ZjBcdWFjYjBcdWQ1NThcdWIyOTQgXHViM2M0XHViODVjXHVhYzAwIFx1Yzc4OFx1YjJlNC4mbmJzcDsmbmJzcDs8XC9saT5cclxuXHRcdDxcL3VsPlxyXG5cdFx0PFwvbGk+XHJcblx0XHQ8bGk+XHViOWNjXHVjNTdkIDxlbT5pPFwvZW0+Jm5ic3A7Jmx0OyA8ZW0+UjxcL2VtPls8ZW0+aTxcL2VtPl1cdWM3NzRcdWI3N2NcdWJhNzQsIFx1YjJlNFx1Yzc0YyBcdWM4NzBcdWFjNzRcdWM3NDQgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0IFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5ZPFwvZW0+XHVhYzAwIFx1YzgxNVx1ZDY1NVx1ZDc4OCBcdWQ1NThcdWIwOTggXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LiZuYnNwOyZuYnNwO1xyXG5cdFx0PHVsPlxyXG5cdFx0XHQ8bGk+PGVtPmk8XC9lbT4gJmx0OyA8ZW0+WTxcL2VtPiAmbGU7IDxlbT5SPFwvZW0+WzxlbT5pPFwvZW0+XS48XC9saT5cclxuXHRcdFx0PGxpPlx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5pPFwvZW0+XHVjNjQwIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5ZPFwvZW0+XHViOTdjIFx1YzVmMFx1YWNiMFx1ZDU1OFx1YjI5NCBcdWIzYzRcdWI4NWNcdWFjMDAgXHVjNzg4XHViMmU0LiZuYnNwOyZuYnNwOzxcL2xpPlxyXG5cdFx0PFwvdWw+XHJcblx0XHQ8XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2s1IjoiPHVsPlxyXG5cdDxsaT5cdWNkOTRcdWFjMDBcdWM4MDFcdWM3NzggXHVjODFjXHVjNTdkIFx1Yzg3MFx1YWM3NFx1Yzc3NCBcdWM1YzZcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fdGFzayI6IjxwPlx1YjJlNFx1Yzc0YyZuYnNwOzxjb2RlPmNyZWF0ZUZ1blRvdXI8XC9jb2RlPiZuYnNwO1x1ZDU2OFx1YzIxOFx1Yjk3YyBcdWFkNmNcdWQ2MDRcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LiZuYnNwOyZuYnNwOzxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPjxjb2RlPmNyZWF0ZUZ1blRvdXIoTiwgUSk8XC9jb2RlPiZuYnNwOy0gXHVjNzc0IFx1ZDU2OFx1YzIxOFx1YjI5NCBcdWFkZjhcdWI4MDhcdWM3NzRcdWIzNTRcdWM1ZDAgXHVjNzU4XHVkNTc0XHVjMTFjIFx1YzgxNVx1ZDY1NVx1ZDU1OFx1YWM4YyBcdWQ1NWMgXHViYzg4IFx1ZDYzOFx1Y2Q5Y1x1YjQxY1x1YjJlNC4mbmJzcDsmbmJzcDtcclxuXHJcblx0PHVsPlxyXG5cdFx0PGxpPjxlbT5OPFwvZW0+OiBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmNcdWM3NTggXHVjMjE4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCBcdWM4MTVcdWMyMTguJm5ic3A7Jm5ic3A7PFwvbGk+XHJcblx0XHQ8bGk+PGVtPlE8XC9lbT46IFx1YzljOFx1YmIzOFx1Yzc1OCBcdWNkNWNcdWIzMDAgXHVkNjlmXHVjMjE4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCBcdWM4MTVcdWMyMTguJm5ic3A7Jm5ic3A7PFwvbGk+XHJcblx0XHQ8bGk+XHVjNzc0IFx1ZDU2OFx1YzIxOFx1YjI5NCBcdWIyZTRcdWM3NGMgXHViNDUwIFx1YWRmOFx1YjgwOFx1Yzc3NFx1YjM1NCBcdWQ1NjhcdWMyMThcdWI5N2MgXHVkNjM4XHVjZDljXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuJm5ic3A7Jm5ic3A7XHJcblx0XHQ8dWw+XHJcblx0XHRcdDxsaT48Y29kZT5ob3Vyc1JlcXVpcmVkKFgsIFkpPFwvY29kZT5cclxuXHRcdFx0PHVsPlxyXG5cdFx0XHRcdDxsaT48ZW0+WDxcL2VtPjogXHVjY2FiXHViYzg4XHVjOWY4IFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2Y1x1Yjk3YyBcdWQ0NWNcdWQ2MDRcdWQ1NThcdWIyOTQgXHVjODE1XHVjMjE4LiZuYnNwOzxcL2xpPlxyXG5cdFx0XHRcdDxsaT48ZW0+WTxcL2VtPjogXHViNDUwXHViYzg4XHVjOWY4IFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2Y1x1Yjk3YyBcdWQ0NWNcdWQ2MDRcdWQ1NThcdWIyOTQgXHVjODE1XHVjMjE4LjxcL2xpPlxyXG5cdFx0XHRcdDxsaT5cdWM3NzQgXHVkNTY4XHVjMjE4XHViMjk0IFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5YPFwvZW0+XHVjNWQwXHVjMTFjIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyZuYnNwOzxlbT5ZPFwvZW0+XHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1OFx1YjI5NFx1YjM3MCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHVjMmRjXHVhYzA0XHVjNzQ0IFx1YjlhY1x1ZDEzNFx1ZDU1Y1x1YjJlNC4mbmJzcDs8XC9saT5cclxuXHRcdFx0XHQ8bGk+XHViOWNjXHVjNTdkJm5ic3A7PGVtPlg8XC9lbT4sJm5ic3A7PGVtPlk8XC9lbT4gXHVjOTExIFx1YzViNFx1YjI5MCBcdWQ1NThcdWIwOTgsIFx1YjYxMFx1YjI5NCBcdWI0NTggXHViYWE4XHViNDUwXHVhYzAwIDAmbmJzcDtcdWM3NzRcdWMwYzEmbmJzcDs8ZW0+TjxcL2VtPiAtIDEgXHVjNzc0XHVkNTU4XHVjNzc4IFx1YzgxNVx1YzIxOFx1YWMwMCBcdWM1NDRcdWIyYzhcdWI3N2NcdWJhNzQsIFdBXHViOTdjIFx1YmMxYlx1YjI5NFx1YjJlNC4mbmJzcDsmbmJzcDs8XC9saT5cclxuXHRcdFx0PFwvdWw+XHJcblx0XHRcdDxcL2xpPlxyXG5cdFx0XHQ8bGk+PGNvZGU+YXR0cmFjdGlvbnNCZWhpbmQoWCwgWSk8XC9jb2RlPlxyXG5cdFx0XHQ8dWw+XHJcblx0XHRcdFx0PGxpPjxlbT5YPFwvZW0+OiBcdWNjYWJcdWJjODhcdWM5ZjggXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjXHViOTdjIFx1ZDQ1Y1x1ZDYwNFx1ZDU1OFx1YjI5NCBcdWM4MTVcdWMyMTguPFwvbGk+XHJcblx0XHRcdFx0PGxpPjxlbT5ZPFwvZW0+OiBcdWI0NTBcdWJjODhcdWM5ZjggXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjXHViOTdjIFx1ZDQ1Y1x1ZDYwNFx1ZDU1OFx1YjI5NCBcdWM4MTVcdWMyMTguPFwvbGk+XHJcblx0XHRcdFx0PGxpPlx1Yzc3NCBcdWQ1NjhcdWMyMThcdWIyOTQgXHViMmU0XHVjNzRjIFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NThcdWIyOTQgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjIDxlbT5aPFwvZW0+XHVjNzU4IFx1YWMxY1x1YzIxOFx1Yjk3YyBcdWI5YWNcdWQxMzRcdWQ1NThcdWIyOTRcdWIzNzAsIFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyA8ZW0+WDxcL2VtPlx1YzVkMFx1YzExYyBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmMmbmJzcDs8ZW0+WjxcL2VtPlx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWI4MjRcdWJhNzQgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjJm5ic3A7PGVtPlk8XC9lbT5cdWI5N2MgXHViYzE4XHViNGRjXHVjMmRjIFx1YmMyOVx1YmIzOFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuJm5ic3A7Jm5ic3A7PFwvbGk+XHJcblx0XHRcdFx0PGxpPlx1YjljY1x1YzU3ZCA8ZW0+WDxcL2VtPiwmbmJzcDs8ZW0+WTxcL2VtPiBcdWM5MTEgXHVjNWI0XHViMjkwIFx1ZDU1OFx1YjA5OCwgXHViNjEwXHViMjk0IFx1YjQ1OCBcdWJhYThcdWI0NTBcdWFjMDAmbmJzcDswIFx1Yzc3NFx1YzBjMSZuYnNwOzxlbT5OPFwvZW0+IC0gMSBcdWM3NzRcdWQ1NThcdWM3NzggXHVjODE1XHVjMjE4XHVhYzAwIFx1YzU0NFx1YjJjOFx1Yjc3Y1x1YmE3NCwgV0FcdWI5N2MgXHViYzFiXHViMjk0XHViMmU0LjxcL2xpPlxyXG5cdFx0XHQ8XC91bD5cclxuXHRcdFx0PFwvbGk+XHJcblx0XHQ8XC91bD5cclxuXHRcdDxcL2xpPlxyXG5cdFx0PGxpPlx1Yzc3NCBcdWQ1NjhcdWMyMThcdWIyOTQgXHVjOTkwXHVhYzcwXHVjNmI0IFx1ZDU4OVx1Yjg1Y1x1Yjk3YyBcdWQ0NWNcdWQ2MDRcdWQ1NThcdWIyOTQmbmJzcDs8ZW0+TjxcL2VtPlx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMThcdWM3NTggXHVjMjFjXHVjNWY0XHVjNzQ0IFx1YzgwMFx1YzdhNVx1ZDU1YyBcdWJjMzBcdWM1ZjRcdWM3NDQgXHViOWFjXHVkMTM0XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuPFwvdWw+XHJcbiIsImN1c3RvbV9leGFtcGxlIjoiPHA+XHViMmU0XHVjNzRjIFx1YzYwOFx1YzgxY1x1YzVkMFx1YzExYywmbmJzcDs8ZW0+TjxcL2VtPiA9IDcsIDxlbT5RPFwvZW0+ID0gNDAwMDAwLCZuYnNwOzxlbT5BPFwvZW0+ID0gWzAsIDAsIDAsIDEsIDEsIDJdLCZuYnNwOzxlbT5CPFwvZW0+ID0gWzEsIDUsIDYsIDIsIDQsIDNdXHVjNzc0XHViMmU0LiBcdWM3NzQgXHVjNjA4XHVjODFjXHViMjk0IFx1YjJlNFx1Yzc0YyBcdWFkZjhcdWI5YmNcdWM3M2NcdWI4NWMgXHVjMTI0XHViYTg1XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvYTllZmJmOTUtMTE4Yy00MzJjLWFjZTgtMmM3NDc2NDc4OWRmXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyNTBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVhZGY4XHViODA4XHVjNzc0XHViMzU0XHViMjk0Jm5ic3A7PGNvZGU+Y3JlYXRlRnVuVG91cig3LCA0MDAwMDApPFwvY29kZT5cdWI5N2MgXHVkNjM4XHVjZDljXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1YjljY1x1YzU3ZCBcdWM1ZWNcdWI3ZWNcdWJkODRcdWM3NzQmbmJzcDs8Y29kZT5ob3Vyc1JlcXVpcmVkKDMsIDUpPFwvY29kZT5cdWI4NWMgXHVjOWM4XHVjNzU4XHVkNTU4XHViYTc0LCBcdWI5YWNcdWQxMzRcdWFjMTJcdWM3NDAmbmJzcDs0XHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWI5Y2NcdWM1N2QgXHVjNWVjXHViN2VjXHViZDg0XHVjNzc0Jm5ic3A7PGNvZGU+aG91cnNSZXF1aXJlZCg1LCA0KTxcL2NvZGU+XHViODVjIFx1YzljOFx1Yzc1OFx1ZDU1OFx1YmE3NCwgXHViOWFjXHVkMTM0XHVhYzEyXHVjNzQwJm5ic3A7M1x1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViOWNjXHVjNTdkIFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc3NCZuYnNwOzxjb2RlPmF0dHJhY3Rpb25zQmVoaW5kKDUsIDEpPFwvY29kZT5cdWI4NWMgXHVjOWM4XHVjNzU4XHVkNTU4XHViYTc0LCBcdWI5YWNcdWQxMzRcdWFjMTJcdWM3NDAgNFx1Yzc3NFx1YjJlNC4gXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjIDVcdWM1ZDBcdWMxMWMgXHViMTgwXHVjNzc0XHVhZTMwXHVhZDZjIDEsIDIsIDMsIDRcdWI4NWMgXHVhYzAwXHViODI0XHViYTc0IFx1YjE4MFx1Yzc3NFx1YWUzMFx1YWQ2YyAxXHVjNzQ0IFx1YmMxOFx1YjRkY1x1YzJkYyBcdWM5YzBcdWIwOThcdWFjMDBcdWM1N2MgXHVkNTVjXHViMmU0LiZuYnNwOyZuYnNwOzxcL2xpPlxyXG5cdDxsaT5cdWI5Y2NcdWM1N2QgXHVjNWVjXHViN2VjXHViZDg0XHVjNzc0Jm5ic3A7PGNvZGU+YXR0cmFjdGlvbnNCZWhpbmQoMSwgNSk8XC9jb2RlPlx1Yjg1YyBcdWM5YzhcdWM3NThcdWQ1NThcdWJhNzQsIFx1YjlhY1x1ZDEzNFx1YWMxMlx1Yzc0MCZuYnNwOzFcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc1OCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHViOWFjXHVkMTM0XHVhYzEyIFx1YzkxMSBcdWQ1NThcdWIwOThcdWIyOTQmbmJzcDtbMywgNiwgNCwgNSwgMiwgMCwgMV1cdWM3NzhcdWIzNzAsIFx1YjJlNFx1Yzc0YyBcdWIxODBcdWM3NzRcdWFlMzBcdWFkNmNcdWI5N2MgXHViYzI5XHViYjM4XHVkNTU4XHViMjk0XHViMzcwIFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWMyZGNcdWFjMDRcdWM3NDAgXHVjYzI4XHViODQwXHViMzAwXHViODVjJm5ic3A7WzQsIDMsIDMsIDMsIDIsIDFdXHVjNzc0XHVhZTMwIFx1YjU0Y1x1YmIzOFx1Yzc3NFx1YjJlNC4mbmJzcDsmbmJzcDs8XC9saT5cclxuPFwvdWw+XHJcbiIsImN1c3RvbV9ncmFkZXIiOiI8cD5cdWMwZDhcdWQ1MGMgXHVhZGY4XHViODA4XHVjNzc0XHViMzU0XHViMjk0IFx1Yzc4NVx1YjgyNVx1Yzc0NCBcdWIyZTRcdWM3NGMgXHVjNTkxXHVjMmRkXHVjNzNjXHViODVjIFx1Yzc3ZFx1YjI5NFx1YjJlNC4mbmJzcDs8XC9wPlxyXG5cclxuPHByZT5cclxuTiBRXHJcbkFbMF0gQlswXVxyXG5BWzFdIEJbMV1cclxuLlxyXG4uXHJcbi5cclxuQVtOLTJdIEJbTi0yXVxyXG48XC9wcmU+XHJcblxyXG48cD5cdWMwZDhcdWQ1MGMgXHVhZGY4XHViODA4XHVjNzc0XHViMzU0XHViMjk0IFx1YjljY1x1YzU3ZCZuYnNwOzxjb2RlPmNyZWF0ZUZ1blRvdXImbmJzcDs8XC9jb2RlPlx1ZDU2OFx1YzIxOFx1YWMwMCBcdWM5OTBcdWFjNzBcdWM2YjQgXHVkNTg5XHViODVjXHViOTdjIFx1ZDQ1Y1x1ZDYwNFx1ZDU1OFx1YjI5NCZuYnNwOzxlbT5OPFwvZW0+XHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOFx1Yzc1OCBcdWMyMWNcdWM1ZjRcdWM3NDQgXHVjODAwXHVjN2E1XHVkNTVjIFx1YmMzMFx1YzVmNFx1Yzc0NCBcdWM4MTVcdWQ2NTVcdWQ3ODggXHVhZDZjXHVkNTU4XHVhY2UwLCZuYnNwOzxjb2RlPmhvdXJzUmVxdWlyZWQ8XC9jb2RlPiwmbmJzcDs8Y29kZT5hdHRyYWN0aW9uc0JlaGluZCZuYnNwOzxcL2NvZGU+XHVkNTY4XHVjMjE4XHVjNzU4Jm5ic3A7XHVkNjM4XHVjZDljIFx1ZDY5Zlx1YzIxOCZuYnNwO1x1ZDU2OVx1Yzc3NCA8ZW0+UTxcL2VtPlx1Yzc3NFx1ZDU1OFx1Yzc3NFx1YmE3NCBcdWM3NzQmbmJzcDtcdWJjMzBcdWM1ZjRcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWFkZjhcdWI4MDdcdWM5YzAgXHVjNTRhXHVjNzNjXHViYTc0LCBcdWM2MjRcdWIyZjUgXHViYTU0XHVjMmRjXHVjOWMwXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJjdXN0b21fYXR0YWNobWVudCI6IjxwPlx1YWNmNVx1YWMxY1x1YjQxYyBcdWFkZjhcdWI4MDhcdWM3NzRcdWIzNTQsIFx1YzYwOFx1YzgxYyBcdWNmMDBcdWM3NzRcdWMyYTQsIFx1YmIzOFx1YzgxY1x1YzVkMCBcdWIzMDBcdWQ1NWMgXHVhZTMwXHViY2Y4IFx1ZDMwY1x1Yzc3Y1x1Yzc0MCZuYnNwOzxhIGhyZWY9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC81MWViM2U0ZS1lMGRiLTQzYzEtOWI4My1iYzIwYTBjZmY2MDJcL1wiPlx1YzVlY1x1YWUzMDxcL2E+XHVjNWQwXHVjMTFjIFx1YmMxYlx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0LiZuYnNwOzxcL3A+XHJcbiJ9LHsicHJvYmxlbV9pZCI6IjE5NjIwIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiRnVuIFRvdXIiLCJkZXNjcmlwdGlvbiI6IjxwPlRoZXJlIGFyZSA8ZW0+TjxcL2VtPiZuYnNwO2F0dHJhY3Rpb25zIGluIHRoZSBiaWdnZXN0IHRoZW1lIHBhcmsgaW4gSmFrYXJ0YSwgbnVtYmVyZWQgZnJvbSZuYnNwOzAgdG8mbmJzcDs8ZW0+TjxcL2VtPiAtIDEuIFRoZXNlIGF0dHJhY3Rpb25zIGFyZSBjb25uZWN0ZWQgYnkmbmJzcDs8ZW0+TjxcL2VtPiAtIDEgYmlkaXJlY3Rpb25hbCByb2FkcyBzdWNoIHRoYXQgdGhlcmUgaXMgYSB1bmlxdWUgcGF0aCBiZXR3ZWVuIGFueSBwYWlyIG9mIGF0dHJhY3Rpb25zIHRocm91Z2ggdGhlIHJvYWRzLiBUaGUgcm9hZHMgYXJlIG51bWJlcmVkIGZyb20mbmJzcDswJm5ic3A7dG8mbmJzcDs8ZW0+TjxcL2VtPiAtIDIuIFRoZSA8ZW0+aTxcL2VtPi10aCByb2FkIGNvbm5lY3RzIHRoZSZuYnNwOzxlbT5BPFwvZW0+WzxlbT5pPFwvZW0+XS10aCBhdHRyYWN0aW9uIGFuZCB0aGUmbmJzcDs8ZW0+QjxcL2VtPls8ZW0+aTxcL2VtPl0tdGggYXR0cmFjdGlvbiBhbmQgdGFrZXMgb25lIGhvdXIgdG8gd2FsayB0aHJvdWdoLiBUbyBhdm9pZCBjb25nZXN0aW9uLCBlYWNoIGF0dHJhY3Rpb24gaXMgYW4gZW5kcG9pbnQgb2YgYXQgbW9zdCB0aHJlZSByb2Fkcy48XC9wPlxyXG5cclxuPHA+WW91IHdvdWxkIGxpa2UgdG8gY3JlYXRlIGEgdG91ciB2aXNpdGluZyBhbGwgYXR0cmFjdGlvbnMgZXhhY3RseSBvbmNlLiBHb2luZyB0aHJvdWdoIG1hbnkgcm9hZHMgd2hlbiBnb2luZyBmcm9tIGFuIGF0dHJhY3Rpb24gdG8gYW5vdGhlciBpcyBib3JpbmcuIFRvIGNyZWF0ZSBhIGZ1biB0b3VyLCB5b3Ugd291bGQgbGlrZSB0byBmaW5kIGFuIG9yZGVyaW5nIG9mIGFsbCBhdHRyYWN0aW9ucywgc3VjaCB0aGF0IHRoZSB0aW1lIHJlcXVpcmVkIHRvIHZpc2l0IHRoZSBuZXh0IGF0dHJhY3Rpb24gaXMgbm90IGxvbmdlciB0aGFuIHRoZSB0aW1lIHJlcXVpcmVkIHRvIHZpc2l0IHRoZSBwcmV2aW91cyBhdHRyYWN0aW9uLiBJbiBvdGhlciB3b3JkcywgeW91IHdvdWxkIGxpa2UgdG8gZmluZCBhIHNlcXVlbmNlIDxlbT5QPFwvZW0+WzBdLCA8ZW0+UDxcL2VtPlsxXSwgJmhlbGxpcDssIDxlbT5QPFwvZW0+WzxlbT5OPFwvZW0+IC0gMV0mbmJzcDtjb250YWluaW5nIGFsbCBpbnRlZ2VycyBmcm9tJm5ic3A7MCB0byZuYnNwOzxlbT5OPFwvZW0+IC0gMSBleGFjdGx5IG9uY2Ugc3VjaCB0aGF0IHRoZSB0aW1lIHJlcXVpcmVkIHRvIGdvIGZyb20gdGhlIDxlbT5QPFwvZW0+WzxlbT5pPFwvZW0+XS10aCBhdHRyYWN0aW9uIHRvIHRoZSA8ZW0+UDxcL2VtPls8ZW0+aTxcL2VtPiArIDFdLXRoIGF0dHJhY3Rpb24gaXMgbm90IGxvbmdlciB0aGFuIHRoZSB0aW1lIHJlcXVpcmVkIHRvIGdvIGZyb20gdGhlJm5ic3A7PGVtPlA8XC9lbT5bPGVtPmk8XC9lbT4gLSAxXS10aCBhdHRyYWN0aW9uIHRvIHRoZSZuYnNwOzxlbT5QPFwvZW0+WzxlbT5pPFwvZW0+XS10aCBhdHRyYWN0aW9uLCBmb3IgMCAmbHQ7IDxlbT5pPFwvZW0+ICZsdDsgPGVtPk48XC9lbT4gLSAxLjxcL3A+XHJcblxyXG48cD5Zb3UgZG8gbm90IGhhdmUgdGhlIGNvbXBsZXRlIG1hcCBvZiB0aGUgYXR0cmFjdGlvbnMuIFRoZXJlZm9yZSwgeW91IGhhdmUgdG8gYXNrIHNldmVyYWwgcXVlc3Rpb25zIHRvIHRoZSBpbmZvcm1hdGlvbiBjZW50cmUgdG8gY3JlYXRlIGEgZnVuIHRvdXIuIFlvdSBjYW4gYXNrIGF0IG1vc3QgPGVtPlE8XC9lbT4mbmJzcDtxdWVzdGlvbnMsIGVhY2ggd2l0aCB0d28gcGFyYW1ldGVycyA8ZW0+WDxcL2VtPiZuYnNwO2FuZCZuYnNwOzxlbT5ZPFwvZW0+LCB3aGVyZSAwICZsZTsgPGVtPlg8XC9lbT4sIDxlbT5ZPFwvZW0+ICZsdDsgPGVtPk48XC9lbT4uIEVhY2ggcXVlc3Rpb24gaXMgZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmc6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+SG93IG1hbnkgaG91cnMgYXJlIHJlcXVpcmVkIHRvIGdvIGZyb20gdGhlJm5ic3A7PGVtPlg8XC9lbT4tdGggYXR0cmFjdGlvbiB0byB0aGUgPGVtPlk8XC9lbT4tdGggYXR0cmFjdGlvbj8gSW4gcGFydGljdWxhciwgaWYmbmJzcDs8ZW0+WDxcL2VtPiA9IDxlbT5ZPFwvZW0+LCB0aGUgYW5zd2VyIGlzJm5ic3A7MC48XC9saT5cclxuXHQ8bGk+SG93IG1hbnkgYXR0cmFjdGlvbnMmbmJzcDs8ZW0+WjxcL2VtPiBzdWNoIHRoYXQgeW91IGhhdmUgdG8gdmlzaXQgdGhlIDxlbT5ZPFwvZW0+LXRoIGF0dHJhY3Rpb24gdG8gZ28gZnJvbSB0aGUgPGVtPlg8XC9lbT4tdGggYXR0cmFjdGlvbiB0byB0aGUmbmJzcDs8ZW0+WjxcL2VtPi10aCBhdHRyYWN0aW9uPyBUaGUmbmJzcDs8ZW0+WTxcL2VtPi10aCBhdHRyYWN0aW9uIHdpbGwgYmUgY291bnRlZCBhcyB3ZWxsLiBJbiBwYXJ0aWN1bGFyLCBpZiZuYnNwOzxlbT5YPFwvZW0+ID0gPGVtPlk8XC9lbT4sIHRoZSBhbnN3ZXIgaXMmbmJzcDs8ZW0+TjxcL2VtPi48XC9saT5cclxuPFwvdWw+XHJcbiIsImlucHV0IjoiIiwib3V0cHV0IjoiIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4yICZsZTsgPGVtPk48XC9lbT4gJmxlOyAxMDAwMDAuPFwvbGk+XHJcblx0PGxpPjxlbT5RPFwvZW0+Jm5ic3A7PSA0MDAwMDAuPFwvbGk+XHJcblx0PGxpPkl0IGlzIHBvc3NpYmxlIHRvIHRyYXZlbCBiZXR3ZWVuIGFueSBwYWlyIG9mIGF0dHJhY3Rpb25zIHRocm91Z2ggdGhlIHJvYWRzLjxcL2xpPlxyXG5cdDxsaT5FYWNoIGF0dHJhY3Rpb24gaXMgYW4gZW5kcG9pbnQgb2YgYXQgbW9zdCB0aHJlZSByb2Fkcy48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2sxIjoiPHVsPlxyXG5cdDxsaT48ZW0+TjxcL2VtPiAmbGU7IDE3LjxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazIiOiI8dWw+XHJcblx0PGxpPjxlbT5OPFwvZW0+ICZsZTsgNTAwLjxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazMiOiI8dWw+XHJcblx0PGxpPlRoZXJlIGlzIGEgcm9hZCBjb25uZWN0aW5nIHRoZSA8ZW0+aTxcL2VtPi10aCBhdHRyYWN0aW9uIGFuZCB0aGUgJmxmbG9vcjsoPGVtPmk8XC9lbT4mbWludXM7MSlcLzJcdTIwMGImcmZsb29yOy10aCBhdHRyYWN0aW9uLCBmb3IgYWxsJm5ic3A7MSAmbGU7IDxlbT5pPFwvZW0+ICZsdDsgPGVtPk48XC9lbT4uPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrNCI6Ijx1bD5cclxuXHQ8bGk+VGhlcmUgaXMgYXQgbGVhc3QgYW4gYXR0cmFjdGlvbiZuYnNwOzxlbT5UPFwvZW0+IHN1Y2ggdGhhdCBmb3IgYWxsIDAgJmxlOyA8ZW0+aTxcL2VtPiZuYnNwOyZsdDsgPGVtPk48XC9lbT4sJm5ic3A7PGNvZGU+aG91cnNSZXF1aXJlZChULCBpKTxcL2NvZGU+Jm5ic3A7Jmx0OyAzMCZuYnNwO2FuZCB0aGVyZSBleGlzdHMgYW4gaW50ZXJ2YWwmbmJzcDtbPGVtPkw8XC9lbT5bPGVtPmk8XC9lbT5dLCA8ZW0+UjxcL2VtPls8ZW0+aTxcL2VtPl1dICgwICZsZTsgPGVtPkw8XC9lbT5bPGVtPmk8XC9lbT5dICZsZTsgPGVtPmk8XC9lbT4gJmxlOyA8ZW0+UjxcL2VtPls8ZW0+aTxcL2VtPl0gJmx0OyA8ZW0+TjxcL2VtPikpIHNhdGlzZnlpbmcgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG5cdDx1bD5cclxuXHRcdDxsaT5Zb3UgaGF2ZSB0byB2aXNpdCB0aGUmbmJzcDs8ZW0+aTxcL2VtPi10aCBhdHRyYWN0aW9uIHRvIGdvIGZyb20gdGhlJm5ic3A7PGVtPlQ8XC9lbT4tdGggYXR0cmFjdGlvbiB0byB0aGUgPGVtPmo8XC9lbT4tdGggYXR0cmFjdGlvbiBpZiBhbmQgb25seSBpZiZuYnNwOzxlbT5MPFwvZW0+WzxlbT5pPFwvZW0+XSAmbGU7IDxlbT5qPFwvZW0+ICZsZTsgPGVtPlI8XC9lbT5bPGVtPmk8XC9lbT5dLjxcL2xpPlxyXG5cdFx0PGxpPklmIDxlbT5MPFwvZW0+WzxlbT5pPFwvZW0+XSAmbHQ7IDxlbT5pPFwvZW0+LCB0aGVuIHRoZXJlIG11c3QgYmUgZXhhY3RseSBvbmUgYXR0cmFjdGlvbiZuYnNwOzxlbT5YPFwvZW0+IHN1Y2ggdGhhdDpcclxuXHRcdDx1bD5cclxuXHRcdFx0PGxpPjxlbT5MPFwvZW0+WzxlbT5pPFwvZW0+XSAmbGU7IDxlbT5YPFwvZW0+ICZsdDsgPGVtPmk8XC9lbT4uPFwvbGk+XHJcblx0XHRcdDxsaT5UaGVyZSBpcyBhIHJvYWQgY29ubmVjdGluZyB0aGUmbmJzcDs8ZW0+aTxcL2VtPi10aCBhdHRyYWN0aW9uIGFuZCB0aGUmbmJzcDs8ZW0+WDxcL2VtPi10aCBhdHRyYWN0aW9uLjxcL2xpPlxyXG5cdFx0PFwvdWw+XHJcblx0XHQ8XC9saT5cclxuXHRcdDxsaT48ZW0+aTxcL2VtPiAmbHQ7IDxlbT5SPFwvZW0+WzxlbT5pPFwvZW0+XSwgdGhlbiB0aGVyZSBtdXN0IGJlIGV4YWN0bHkgb25lIGF0dHJhY3Rpb24mbmJzcDs8ZW0+WTxcL2VtPiBzdWNoIHRoYXQ6XHJcblx0XHQ8dWw+XHJcblx0XHRcdDxsaT48ZW0+aTxcL2VtPiAmbHQ7IDxlbT5ZPFwvZW0+ICZsZTsgPGVtPlI8XC9lbT5bPGVtPmk8XC9lbT5dLjxcL2xpPlxyXG5cdFx0XHQ8bGk+VGhlcmUgaXMgYSByb2FkIGNvbm5lY3RpbmcgdGhlJm5ic3A7PGVtPmk8XC9lbT4tdGggYXR0cmFjdGlvbiBhbmQgdGhlJm5ic3A7PGVtPlk8XC9lbT4tdGggYXR0cmFjdGlvbi48XC9saT5cclxuXHRcdDxcL3VsPlxyXG5cdFx0PFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrNSI6IiIsImN1c3RvbV90YXNrIjoiPHA+WW91IGhhdmUgdG8gaW1wbGVtZW50Jm5ic3A7PGNvZGU+Y3JlYXRlRnVuVG91cjxcL2NvZGU+Jm5ic3A7ZnVuY3Rpb246PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+PGNvZGU+Y3JlYXRlRnVuVG91cihOLCBRKTxcL2NvZGU+Jm5ic3A7LSBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGJ5IHRoZSBncmFkZXIgZXhhY3RseSBvbmNlLlxyXG5cclxuXHQ8dWw+XHJcblx0XHQ8bGk+PGVtPk48XC9lbT46IEFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgYXR0cmFjdGlvbnMuPFwvbGk+XHJcblx0XHQ8bGk+PGVtPlE8XC9lbT46IEFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBtYXhpbXVtIG51bWJlciBvZiBxdWVzdGlvbnMuPFwvbGk+XHJcblx0XHQ8bGk+VGhpcyBmdW5jdGlvbiBpcyBhbGxvd2VkIHRvIGNhbGwgdHdvIGdyYWRlciBmdW5jdGlvbnM6XHJcblx0XHQ8dWw+XHJcblx0XHRcdDxsaT48Y29kZT5ob3Vyc1JlcXVpcmVkKFgsIFkpPFwvY29kZT5cclxuXHRcdFx0PHVsPlxyXG5cdFx0XHRcdDxsaT48ZW0+WDxcL2VtPjogQW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIGZpcnN0IGF0dHJhY3Rpb24uPFwvbGk+XHJcblx0XHRcdFx0PGxpPjxlbT5ZPFwvZW0+OiBBbiBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgc2Vjb25kIGF0dHJhY3Rpb24uPFwvbGk+XHJcblx0XHRcdFx0PGxpPlRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbiBpbnRlZ2VyIHJlcHJlc2VudGluZyBob3VycyByZXF1aXJlZCB0byBnbyBmcm9tIHRoZSZuYnNwOzxlbT5YPFwvZW0+LXRoIGF0dHJhY3Rpb24gdG8gdGhlJm5ic3A7PGVtPlk8XC9lbT4tdGggYXR0cmFjdGlvbi48XC9saT5cclxuXHRcdFx0XHQ8bGk+SWYgZWl0aGVyJm5ic3A7PGVtPlg8XC9lbT4gb3ImbmJzcDs8ZW0+WTxcL2VtPiBpcyBub3QgYW4gaW50ZWdlciBiZXR3ZWVuJm5ic3A7MCBhbmQmbmJzcDs8ZW0+TjxcL2VtPiAtIDEsIHRoZW4geW91IHdpbGwgZ2V0IGEgV0EgdmVyZGljdC48XC9saT5cclxuXHRcdFx0PFwvdWw+XHJcblx0XHRcdDxcL2xpPlxyXG5cdFx0XHQ8bGk+PGNvZGU+YXR0cmFjdGlvbnNCZWhpbmQoWCwgWSk8XC9jb2RlPlxyXG5cdFx0XHQ8dWw+XHJcblx0XHRcdFx0PGxpPjxlbT5YPFwvZW0+OiBBbiBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgZmlyc3QgYXR0cmFjdGlvbi48XC9saT5cclxuXHRcdFx0XHQ8bGk+PGVtPlk8XC9lbT46IEFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBzZWNvbmQgYXR0cmFjdGlvbi48XC9saT5cclxuXHRcdFx0XHQ8bGk+VGhpcyBmdW5jdGlvbiByZXR1cm5zIGFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgYXR0cmFjdGlvbnMgPGVtPlo8XC9lbT4mbmJzcDtzdWNoIHRoYXQgeW91IGhhdmUgdG8gdmlzaXQgdGhlJm5ic3A7PGVtPlk8XC9lbT4tdGggYXR0cmFjdGlvbiB0byBnbyBmcm9tIHRoZSZuYnNwOzxlbT5YPFwvZW0+LXRoIGF0dHJhY3Rpb24gdG8gdGhlJm5ic3A7PGVtPlo8XC9lbT4tdGggYXR0cmFjdGlvbi48XC9saT5cclxuXHRcdFx0XHQ8bGk+SWYgZWl0aGVyJm5ic3A7PGVtPlg8XC9lbT4gb3IgPGVtPlk8XC9lbT4mbmJzcDtpcyBub3QgYW4gaW50ZWdlciBiZXR3ZWVuJm5ic3A7MCZuYnNwO2FuZCZuYnNwOzxlbT5OPFwvZW0+IC0gMSB0aGVuIHlvdSB3aWxsIGdldCBhIFdBIHZlcmRpY3QuPFwvbGk+XHJcblx0XHRcdDxcL3VsPlxyXG5cdFx0XHQ8XC9saT5cclxuXHRcdDxcL3VsPlxyXG5cdFx0PFwvbGk+XHJcblx0XHQ8bGk+VGhpcyBmdW5jdGlvbiBtdXN0IHJldHVybiBhbiBhcnJheSBvZiZuYnNwOzxlbT5OPFwvZW0+Jm5ic3A7aW50ZWdlcnMgcmVwcmVzZW50aW5nIHRoZSBwZXJtdXRhdGlvbiBvZiBhdHRyYWN0aW9ucyBpbiBhIGZ1biB0b3VyLjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC91bD5cclxuIiwiY3VzdG9tX2V4YW1wbGUiOiI8cD5JbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUsJm5ic3A7PGVtPk48XC9lbT4gPSA3LCA8ZW0+UTxcL2VtPiA9IDQwMDAwMCwmbmJzcDs8ZW0+QTxcL2VtPiA9IFswLCAwLCAwLCAxLCAxLCAyXSwmbmJzcDs8ZW0+QjxcL2VtPiA9IFsxLCA1LCA2LCAyLCA0LCAzXS4gVGhlIGV4YW1wbGUgaXMgaWxsdXN0cmF0ZWQgYnkgdGhlIGZvbGxvd2luZyBpbWFnZTo8XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9hOWVmYmY5NS0xMThjLTQzMmMtYWNlOC0yYzc0NzY0Nzg5ZGZcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI1MHB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5HcmFkZXIgd2lsbCBjYWxsJm5ic3A7PGNvZGU+Y3JlYXRlRnVuVG91cig3LCA0MDAwMDApPFwvY29kZT4uPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+SWYgdGhlIGNvbnRlc3RhbnQgcXVlcmllcyZuYnNwOzxjb2RlPmhvdXJzUmVxdWlyZWQoMywgNSk8XC9jb2RlPiwgdGhlbiB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gNC48XC9saT5cclxuXHQ8bGk+SWYgdGhlIGNvbnRlc3RhbnQgcXVlcmllcyZuYnNwOzxjb2RlPmhvdXJzUmVxdWlyZWQoNSwgNCk8XC9jb2RlPiwgdGhlbiB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gMy48XC9saT5cclxuXHQ8bGk+SWYgdGhlIGNvbnRlc3RhbnQgcXVlcmllcyZuYnNwOzxjb2RlPmF0dHJhY3Rpb25zQmVoaW5kKDUsIDEpPFwvY29kZT4sIHRoZW4gdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIDQuIFRvIGdvIGZyb20gdGhlIGZpZnRoIGF0dHJhY3Rpb24gdG8gdGhlIGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBhbmQgZm91cnRoIGF0dHJhY3Rpb25zLCB5b3Ugd2lsbCBoYXZlIHRvIHZpc2l0IHRoZSBmaXJzdCBhdHRyYWN0aW9uLjxcL2xpPlxyXG5cdDxsaT5JZiB0aGUgY29udGVzdGFudCBxdWVyaWVzJm5ic3A7PGNvZGU+YXR0cmFjdGlvbnNCZWhpbmQoMSwgNSk8XC9jb2RlPiwgdGhlbiB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gMS48XC9saT5cclxuXHQ8bGk+VGhlIGNvbnRlc3RhbnQgY2FuIHJldHVybiZuYnNwO1szLCA2LCA0LCA1LCAyLCAwLCAxXSBzaW5jZSB0aGUgaG91cnMgcmVxdWlyZWQgdG8gdmlzaXQgdGhlIG5leHQgYXR0cmFjdGlvbnMgYXJlJm5ic3A7WzQsIDMsIDMsIDMsIDIsIDFdIGluIG9yZGVyLjxcL2xpPlxyXG48XC91bD5cclxuIiwiY3VzdG9tX2dyYWRlciI6IjxwPlRoZSBzYW1wbGUgZ3JhZGVyIHJlYWRzIHRoZSBpbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDo8XC9wPlxyXG5cclxuPHByZT5cclxuTiBRXHJcbkFbMF0gQlswXVxyXG5BWzFdIEJbMV1cclxuLlxyXG4uXHJcbi5cclxuQVtOLTJdIEJbTi0yXVxyXG48XC9wcmU+XHJcblxyXG48cD5UaGUgc2FtcGxlIGdyYWRlciB3cml0ZXMgdGhlIGludGVnZXJzIHJldHVybmVkIGJ5Jm5ic3A7PGNvZGU+Y3JlYXRlRnVuVG91cjxcL2NvZGU+Jm5ic3A7aWYgaXQgY29ycmVjdGx5IHJldHVybnMgYW4gYXJyYXkgb2YgPGVtPk48XC9lbT4mbmJzcDtpbnRlZ2VycyByZXByZXNlbnRpbmcgdGhlIHBlcm11dGF0aW9uIG9mIGF0dHJhY3Rpb25zIGluIGEgZnVuIHRvdXIgYW5kIGNhbGxzIGJvdGgmbmJzcDs8Y29kZT5ob3Vyc1JlcXVpcmVkPFwvY29kZT4mbmJzcDthbmQmbmJzcDs8Y29kZT5hdHRyYWN0aW9uc0JlaGluZDxcL2NvZGU+Jm5ic3A7bm90IG1vcmUgdGhhbiZuYnNwOzxlbT5RPFwvZW0+IHRpbWVzIGNvbWJpbmVkLiBPdGhlcndpc2UsIGl0IHByaW50cyBhIHdyb25nIGFuc3dlciBtZXNzYWdlLjxcL3A+XHJcbiIsImN1c3RvbV9hdHRhY2htZW50IjoiPHA+VGhlIHB1YmxpYyBncmFkZXIsIHNhbXBsZSBjYXNlcywgYW5kIHNrZWxldG9uIGZpbGVzIGZvciB0aGlzIHByb2JsZW0gaXMgYXZhaWxhYmxlJm5ic3A7PGEgaHJlZj1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzUxZWIzZTRlLWUwZGItNDNjMS05YjgzLWJjMjBhMGNmZjYwMlwvXCI+aGVyZTxcL2E+LjxcL3A+XHJcbiJ9XQ==

샘플 그레이더

샘플 그레이더는 입력을 다음 양식으로 읽는다. 

N Q
A[0] B[0]
A[1] B[1]
.
.
.
A[N-2] B[N-2]

샘플 그레이더는 만약 createFunTour 함수가 즐거운 행로를 표현하는 N개의 정수의 순열을 저장한 배열을 정확히 구하고, hoursRequiredattractionsBehind 함수의 호출 횟수 합이 Q이하이면 이 배열을 출력한다. 그렇지 않으면, 오답 메시지를 출력한다.

첨부

공개된 그레이더, 예제 케이스, 문제에 대한 기본 파일은 여기에서 받을 수 있다. 

제출할 수 있는 언어

C++17, Java 8, C++14, Java 8 (OpenJDK), Java 11, C++20, C++14 (Clang), C++17 (Clang), C++20 (Clang)

채점 및 기타 정보

  • 예제는 채점하지 않는다.