문제
죄송합니다, 저는 이 문제가 P에 속하는지 증명하지 않았습니다.
다시 말해, 이 문제는 P에 속하지 않을 수도 있습니다.
하지만 적어도 제가 풀었으니, 인간이 풀 수 없는 문제는 아닐 거라고 생각합니다.
여러분은 이 문제에서 다음과 같이 변형된 최소 비용 최대 유량 문제를 해결해야 합니다. 변형된 문제에 한하는 조건은 다음과 같습니다.
- 그래프에는 $n$개의 정점과 $m$개의 방향 있는 간선이 있습니다. 1ドル$번 정점이 시작점이며, $n$번 정점이 끝점입니다. 중복 간선이나 자기 자신을 향하는 간선은 없습니다.
- 각 간선에는 정수 세 개의 순서쌍 $(a,b,c)$가 있습니다. 이때 0ドル \le a$가 반드시 성립하고, $a \neq 0$인 간선은 최대 100ドル$개 존재합니다.
- 순서쌍 $(a_i,b_i,c_i)$를 갖는 간선을 통해 최대 $c_i$단위의 자원을 보낼 수 있고, $x$단위의 자원을 보냈을 때 소모되는 비용은 $a_i x^2+b_i x$입니다. 비용이 음수가 될 수 있습니다.
- 각 간선을 통해 보내는 자원의 양은 음이 아닌 정수여야 합니다.
다음은 기본적인 최소 비용 최대 유량 문제에 따른 본 문제의 조건입니다.
- 여러분은 시작점에서 끝점까지 보내는 자원의 양을 최대화하면서, 동시에 요구되는 비용을 최소화해야 합니다.
- 시작점에서 나가는 자원의 양과 끝점으로 들어오는 자원의 양은 같아야 합니다.
- 시작점과 끝점을 제외하고, 모든 정점에 대해 들어오는 자원의 양과 나가는 자원의 양은 같아야 합니다.
문제의 조건에 따른 그래프가 주어졌을 때, 문제를 해결하고 최대 유량과 최소 비용을 출력하는 프로그램을 작성하세요.
출력
한 줄에 두 정수 $f$와 $c$를 공백으로 분리하여 출력합니다. $f$는 그래프의 최대 유량, $c$는 최대 유량에 대응되는 최소 비용입니다. 비용이 음수가 될 수 있음에 유의하세요.
W3sicHJvYmxlbV9pZCI6IjMxMjI0IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVkNjNjXHVkNTY5IFx1YzgxNVx1YzIxOCBcdWM3NzRcdWNjMjggXHVhY2M0XHVkNjhkXHViYzk1IiwiZGVzY3JpcHRpb24iOiI8dGFibGUgYWxpZ249XCJjZW50ZXJcIiBib3JkZXI9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCIgY2VsbHNwYWNpbmc9XCIwXCIgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPlxyXG5cdDx0Ym9keT5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XCI+XHJcblx0XHRcdDxwPjxlbT5cdWM4YzRcdWMxYTFcdWQ1NjlcdWIyYzhcdWIyZTQsIFx1YzgwMFx1YjI5NCBcdWM3NzQgXHViYjM4XHVjODFjXHVhYzAwIFBcdWM1ZDAgXHVjMThkXHVkNTU4XHViMjk0XHVjOWMwIFx1Yzk5ZFx1YmE4NVx1ZDU1OFx1YzljMCBcdWM1NGFcdWM1NThcdWMyYjVcdWIyYzhcdWIyZTQuPFwvZW0+PFwvcD5cclxuXHJcblx0XHRcdDxwPjxlbT5cdWIyZTRcdWMyZGMgXHViOWQwXHVkNTc0LCBcdWM3NzQgXHViYjM4XHVjODFjXHViMjk0IFBcdWM1ZDAgXHVjMThkXHVkNTU4XHVjOWMwIFx1YzU0YVx1Yzc0NCBcdWMyMThcdWIzYzQgXHVjNzg4XHVjMmI1XHViMmM4XHViMmU0LjxcL2VtPjxcL3A+XHJcblxyXG5cdFx0XHQ8cD48ZW0+XHVkNTU4XHVjOWMwXHViOWNjIFx1YzgwMVx1YzViNFx1YjNjNCBcdWM4MWNcdWFjMDAgXHVkNDgwXHVjNWM4XHVjNzNjXHViMmM4LCBcdWM3NzhcdWFjMDRcdWM3NzQgXHVkNDgwIFx1YzIxOCBcdWM1YzZcdWIyOTQgXHViYjM4XHVjODFjXHViMjk0IFx1YzU0NFx1YjJkMCBcdWFjNzBcdWI3N2NcdWFjZTAgXHVjMGRkXHVhYzAxXHVkNTY5XHViMmM4XHViMmU0LjxcL2VtPjxcL3A+XHJcblx0XHRcdDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0OyBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XCI+XHJcblx0XHRcdDxwPjxlbT4mbWRhc2g7IFx1ZDc1MFx1Yzk4OFx1Yjg1YzxcL2VtPjxcL3A+XHJcblx0XHRcdDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+XHVjNWVjXHViN2VjXHViZDg0XHVjNzQwIFx1Yzc3NCBcdWJiMzhcdWM4MWNcdWM1ZDBcdWMxMWMgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc3NCA8c3Ryb25nPlx1YmNjMFx1ZDYxNVx1YjQxYzxcL3N0cm9uZz4gXHVjZDVjXHVjMThjIFx1YmU0NFx1YzZhOSBcdWNkNWNcdWIzMDAgXHVjNzIwXHViN2M5IFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWQ1NzRcdWFjYjBcdWQ1NzRcdWM1N2MgXHVkNTY5XHViMmM4XHViMmU0LiA8c3Ryb25nPlx1YmNjMFx1ZDYxNVx1YjQxYzxcL3N0cm9uZz4gXHViYjM4XHVjODFjXHVjNWQwIFx1ZDU1Y1x1ZDU1OFx1YjI5NCBcdWM4NzBcdWFjNzRcdWM3NDAgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YzJiNVx1YjJjOFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWFkZjhcdWI3OThcdWQ1MDRcdWM1ZDBcdWIyOTQgJG4kXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzgxMFx1YWNmYyAkbSRcdWFjMWNcdWM3NTggXHViYzI5XHVkNWE1IFx1Yzc4OFx1YjI5NCBcdWFjMDRcdWMxMjBcdWM3NzQgXHVjNzg4XHVjMmI1XHViMmM4XHViMmU0LiAkMSRcdWJjODggXHVjODE1XHVjODEwXHVjNzc0IFx1YzJkY1x1Yzc5MVx1YzgxMFx1Yzc3NFx1YmE3MCwgJG4kXHViYzg4IFx1YzgxNVx1YzgxMFx1Yzc3NCBcdWIwNWRcdWM4MTBcdWM3ODVcdWIyYzhcdWIyZTQuIFx1YzkxMVx1YmNmNSBcdWFjMDRcdWMxMjBcdWM3NzRcdWIwOTggXHVjNzkwXHVhZTMwIFx1Yzc5MFx1YzJlMFx1Yzc0NCBcdWQ1YTVcdWQ1NThcdWIyOTQgXHVhYzA0XHVjMTIwXHVjNzQwIFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVhYzAxIFx1YWMwNFx1YzEyMFx1YzVkMFx1YjI5NCBcdWM4MTVcdWMyMTggXHVjMTM4IFx1YWMxY1x1Yzc1OCBcdWMyMWNcdWMxMWNcdWMzMGQgJChhLGIsYykkXHVhYzAwIFx1Yzc4OFx1YzJiNVx1YjJjOFx1YjJlNC4gXHVjNzc0XHViNTRjICQwIFxcbGUgYSRcdWFjMDAgXHViYzE4XHViNGRjXHVjMmRjIFx1YzEzMVx1YjliZFx1ZDU1OFx1YWNlMCwgPHN0cm9uZz4kYSBcXG5lcSAwJFx1Yzc3OCBcdWFjMDRcdWMxMjBcdWM3NDAgXHVjZDVjXHViMzAwICQxMDAkXHVhYzFjIFx1Yzg3NFx1YzdhY1x1ZDU2OVx1YjJjOFx1YjJlNC48XC9zdHJvbmc+PFwvbGk+XHJcblx0PGxpPlx1YzIxY1x1YzExY1x1YzMwZCAkKGFfaSxiX2ksY19pKSRcdWI5N2MgXHVhYzE2XHViMjk0IFx1YWMwNFx1YzEyMFx1Yzc0NCBcdWQxYjVcdWQ1NzQgXHVjZDVjXHViMzAwICRjX2kkXHViMmU4XHVjNzA0XHVjNzU4IFx1Yzc5MFx1YzZkMFx1Yzc0NCBcdWJjZjRcdWIwYmMgXHVjMjE4IFx1Yzc4OFx1YWNlMCwgJHgkXHViMmU4XHVjNzA0XHVjNzU4IFx1Yzc5MFx1YzZkMFx1Yzc0NCBcdWJjZjRcdWIwYzhcdWM3NDQgXHViNTRjIFx1YzE4Y1x1YmFhOFx1YjQxOFx1YjI5NCBcdWJlNDRcdWM2YTlcdWM3NDAgJGFfaSB4XjIrYl9pIHgkXHVjNzg1XHViMmM4XHViMmU0LiA8c3Ryb25nPlx1YmU0NFx1YzZhOVx1Yzc3NCBcdWM3NGNcdWMyMThcdWFjMDAgXHViNDIwIFx1YzIxOCBcdWM3ODhcdWMyYjVcdWIyYzhcdWIyZTQuPFwvc3Ryb25nPjxcL2xpPlxyXG5cdDxsaT5cdWFjMDEgXHVhYzA0XHVjMTIwXHVjNzQ0IFx1ZDFiNVx1ZDU3NCBcdWJjZjRcdWIwYjRcdWIyOTQgXHVjNzkwXHVjNmQwXHVjNzU4IFx1YzU5MVx1Yzc0MCA8c3Ryb25nPlx1Yzc0Y1x1Yzc3NCBcdWM1NDRcdWIyY2MgXHVjODE1XHVjMjE4XHVjNWVjXHVjNTdjIFx1ZDU2OVx1YjJjOFx1YjJlNC48XC9zdHJvbmc+PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHViMmU0XHVjNzRjXHVjNzQwIFx1YWUzMFx1YmNmOFx1YzgwMVx1Yzc3OCBcdWNkNWNcdWMxOGMgXHViZTQ0XHVjNmE5IFx1Y2Q1Y1x1YjMwMCBcdWM3MjBcdWI3YzkgXHViYjM4XHVjODFjXHVjNWQwIFx1YjUzMFx1Yjk3OCBcdWJjZjggXHViYjM4XHVjODFjXHVjNzU4IFx1Yzg3MFx1YWM3NFx1Yzc4NVx1YjJjOFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWM1ZWNcdWI3ZWNcdWJkODRcdWM3NDAgXHVjMmRjXHVjNzkxXHVjODEwXHVjNWQwXHVjMTFjIFx1YjA1ZFx1YzgxMFx1YWU0Y1x1YzljMCBcdWJjZjRcdWIwYjRcdWIyOTQgXHVjNzkwXHVjNmQwXHVjNzU4IFx1YzU5MVx1Yzc0NCBcdWNkNWNcdWIzMDBcdWQ2NTRcdWQ1NThcdWJhNzRcdWMxMWMsIFx1YjNkOVx1YzJkY1x1YzVkMCBcdWM2OTRcdWFkNmNcdWI0MThcdWIyOTQgXHViZTQ0XHVjNmE5XHVjNzQ0IFx1Y2Q1Y1x1YzE4Y1x1ZDY1NFx1ZDU3NFx1YzU3YyBcdWQ1NjlcdWIyYzhcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YzJkY1x1Yzc5MVx1YzgxMFx1YzVkMFx1YzExYyBcdWIwOThcdWFjMDBcdWIyOTQgXHVjNzkwXHVjNmQwXHVjNzU4IFx1YzU5MVx1YWNmYyBcdWIwNWRcdWM4MTBcdWM3M2NcdWI4NWMgXHViNGU0XHVjNWI0XHVjNjI0XHViMjk0IFx1Yzc5MFx1YzZkMFx1Yzc1OCBcdWM1OTFcdWM3NDAgXHVhYzE5XHVjNTQ0XHVjNTdjIFx1ZDU2OVx1YjJjOFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjMmRjXHVjNzkxXHVjODEwXHVhY2ZjIFx1YjA1ZFx1YzgxMFx1Yzc0NCBcdWM4MWNcdWM2NzhcdWQ1NThcdWFjZTAsIFx1YmFhOFx1YjRlMCBcdWM4MTVcdWM4MTBcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YjRlNFx1YzViNFx1YzYyNFx1YjI5NCBcdWM3OTBcdWM2ZDBcdWM3NTggXHVjNTkxXHVhY2ZjIFx1YjA5OFx1YWMwMFx1YjI5NCBcdWM3OTBcdWM2ZDBcdWM3NTggXHVjNTkxXHVjNzQwIFx1YWMxOVx1YzU0NFx1YzU3YyBcdWQ1NjlcdWIyYzhcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHViYjM4XHVjODFjXHVjNzU4IFx1Yzg3MFx1YWM3NFx1YzVkMCBcdWI1MzBcdWI5NzggXHVhZGY4XHViNzk4XHVkNTA0XHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWQ1NzRcdWFjYjBcdWQ1NThcdWFjZTAgXHVjZDVjXHViMzAwIFx1YzcyMFx1YjdjOVx1YWNmYyBcdWNkNWNcdWMxOGMgXHViZTQ0XHVjNmE5XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMTM4XHVjNjk0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjODE1XHVjODEwXHVjNzU4IFx1YWMxY1x1YzIxOCAkbiRcdWFjZmMgXHVhYzA0XHVjMTIwXHVjNzU4IFx1YWMxY1x1YzIxOCAkbSRcdWM3NzQgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YmQ4NFx1YjlhY1x1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5ZDFcdWIyYzhcdWIyZTQuICgkMiBcXGxlIG4gXFxsZSAyMDAkLCAkMSBcXGxlIG0gXFxsZSBcXG1pbihuKG4tMSksMTUwMCkkKTxcL3A+XHJcblxyXG48cD5cdWI0NTAgXHViYzg4XHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCAkbSRcdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCBcdWFjMDRcdWMxMjBcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YzgxNVx1YmNmNFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5ZDFcdWIyYzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWRmOCBcdWM5MTEgJGkkXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCAkaSRcdWJjODhcdWM5ZjggXHVhYzA0XHVjMTIwXHVjNWQwIFx1YWQwMFx1ZDU1YyA1XHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOCAkdV9pJCwgJHZfaSQsICRhX2kkLCAkYl9pJCwgJGNfaSRcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YmQ4NFx1YjlhY1x1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5ZDFcdWIyYzhcdWIyZTQuIFx1Yzc3NFx1YjI5NCBcdWMyMWNcdWMxMWNcdWMzMGQgJChhX2ksYl9pLGNfaSkkXHViOTdjIFx1YWMwMFx1YzljMFx1YmE3MCAkdV9pJFx1YzVkMFx1YzExYyAkdl9pJFx1Yjg1YyBcdWQ1YTVcdWQ1NThcdWIyOTQgXHVjNzIwXHVkNWE1IFx1YWMwNFx1YzEyMFx1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NjlcdWIyYzhcdWIyZTQuICgkMSBcXGxlIHUsdiBcXGxlIG4kLCAkdSBcXG5lIHYkLCAkMCBcXGxlIGFfaVxcbGUgMjAwJCwgJC0yMDAgXFxsZSBiX2kgXFxsZSAyMDAkLCAkMSBcXGxlIGNfaSBcXGxlIDEwJCk8XC9wPlxyXG5cclxuPHA+JGFfaSBcXG5lcSAwJFx1Yzc3OCBcdWFjMDRcdWMxMjBcdWM3NDAgXHVjZDVjXHViMzAwICQxMDAkXHVhYzFjXHVjNzg0XHVjNzc0IFx1YmNmNFx1YzdhNVx1YjQyOVx1YjJjOFx1YjJlNC4gXHViNjEwXHVkNTVjLCBcdWM5MTFcdWJjZjUgXHVhYzA0XHVjMTIwXHVjNzc0XHViMDk4IFx1Yzc5MFx1YWUzMCBcdWM3OTBcdWMyZTBcdWM3NDQgXHVkNWE1XHVkNTU4XHViMjk0IFx1YWMwNFx1YzEyMFx1Yzc0MCBcdWM1YzZcdWM3NGNcdWM3NzQgXHViY2Y0XHVjN2E1XHViNDI5XHViMmM4XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHViNDUwIDxzdHJvbmc+XHVjODE1XHVjMjE4PFwvc3Ryb25nPiAkZiRcdWM2NDAgJGMkXHViOTdjIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWJkODRcdWI5YWNcdWQ1NThcdWM1ZWMgXHVjZDljXHViODI1XHVkNTY5XHViMmM4XHViMmU0LiAkZiRcdWIyOTQgXHVhZGY4XHViNzk4XHVkNTA0XHVjNzU4IFx1Y2Q1Y1x1YjMwMCBcdWM3MjBcdWI3YzksICRjJFx1YjI5NCBcdWNkNWNcdWIzMDAgXHVjNzIwXHViN2M5XHVjNWQwIFx1YjMwMFx1Yzc1MVx1YjQxOFx1YjI5NCBcdWNkNWNcdWMxOGMgXHViZTQ0XHVjNmE5XHVjNzg1XHViMmM4XHViMmU0LiA8c3Ryb25nPlx1YmU0NFx1YzZhOVx1Yzc3NCBcdWM3NGNcdWMyMThcdWFjMDAgXHViNDIwIFx1YzIxOCBcdWM3ODhcdWM3NGNcdWM1ZDAgXHVjNzIwXHVjNzU4XHVkNTU4XHVjMTM4XHVjNjk0LjxcL3N0cm9uZz48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIzMTIyNCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6Ik1peGVkIEludGVnZXIgUXVhZHJhdGljIFByb2dyYW1taW5nIiwiZGVzY3JpcHRpb24iOiI8dGFibGUgYWxpZ249XCJjZW50ZXJcIiBib3JkZXI9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCIgY2VsbHNwYWNpbmc9XCIwXCIgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPlxyXG5cdDx0Ym9keT5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XCI+XHJcblx0XHRcdDxwPjxpPlNvcnJ5LCBJIGRpZCBub3QgcHJvdmUgaWYgdGhpcyB0YXNrIGlzIGluIFAuPFwvaT48XC9wPlxyXG5cclxuXHRcdFx0PHA+PGVtPlRoYXQgaXMsJm5ic3A7dGhlIHRhc2sgbWlnaHQgbm90IGJlIGluIFAgaW5kZWVkLjxcL2VtPjxcL3A+XHJcblxyXG5cdFx0XHQ8cD48ZW0+QW55d2F5cywgSSBzb2x2ZWQgaXQsIHNvIGl0IHNob3VsZG4mIzM5O3QgYmUgaW1wb3NzaWJsZSBmb3IgaHVtYW5pdHkgdG8gc29sdmUgdGhpcy48XC9lbT48XC9wPlxyXG5cdFx0XHQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1wiPlxyXG5cdFx0XHQ8cD48ZW0+Jm1kYXNoOyBDaHJvbWF0ZTxcL2VtPjxcL3A+XHJcblx0XHRcdDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+SW4gdGhpcyB0YXNrLCB5b3Ugc2hvdWxkIHNvbHZlIGEgPHN0cm9uZz5tb2RpZmllZDxcL3N0cm9uZz4mbmJzcDt2ZXJzaW9uIG9mIHRoZSBtaW5pbXVtIGNvc3QgbWF4aW11bSBmbG93IChNQ01GKSBwcm9ibGVtLiBUaGUgdW5pcXVlIGNvbmRpdGlvbnMgZm9yIHRoZSA8c3Ryb25nPm1vZGlmaWVkPFwvc3Ryb25nPiBwcm9ibGVtIGFyZSZuYnNwO2FzIGZvbGxvd3MuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+VGhlIGdyYXBoIGNvbnRhaW5zICRuJCB2ZXJ0aWNlcyBhbmQgJG0kIGRpcmVjdGVkIGVkZ2VzLiBWZXJ0ZXggJDEkIGlzIHRoZSBzb3VyY2UsIGFuZCB2ZXJ0ZXggJG4kIGlzIHRoZSBzaW5rLiBUaGUgZ3JhcGggaGFzIG5vIGR1cGxpY2F0ZSBlZGdlcyBvciBzZWxmIGxvb3BzLjxcL2xpPlxyXG5cdDxsaT5FYWNoIGVkZ2UgaGFzIGEgdHVwbGUgb2YgdGhyZWUgaW50ZWdlcnMsICQoYSxiLGMpJC4gSGVyZSwgJDAgXFxsZSBhJCBhbHdheXMgaG9sZHMsIGFuZCA8c3Ryb25nPnRoZXJlIGFyZSBhdCBtb3N0ICQxMDAkIGVkZ2VzIHNhdGlzZnlpbmcgJGEgXFxuZXEgMCQ8XC9zdHJvbmc+LjxcL2xpPlxyXG5cdDxsaT5UaHJvdWdoIGFuIGVkZ2Ugd2l0aCB0dXBsZSAkKGFfaSxiX2ksY19pKSQsIHlvdSBjYW4gc2VuZCBhdCBtb3N0ICRjX2kkIHVuaXRzIG9mIHJlc291cmNlLCBhbmQgdGhlIGNvc3Qgb2Ygc2VuZGluZyAkeCQgdW5pdHMgb2YgcmVzb3VyY2UgdGhyb3VnaCB0aGlzIGVkZ2UgaXMgJGFfaSB4XjIrYl9pIHgkLiA8c3Ryb25nPlRoZSBjb3N0IG1heSBiZSBuZWdhdGl2ZS48XC9zdHJvbmc+PFwvbGk+XHJcblx0PGxpPlRoZSBhbW91bnQgb2YgcmVzb3VyY2Ugc2VudCB0aHJvdWdoIGVhY2ggZWRnZSA8c3Ryb25nPm11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlci48XC9zdHJvbmc+PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+QWxzbywgdGhlc2UgYXJlIHRoZSBjb25kaXRpb25zIGZvciB0aGlzIHRhc2sgZGVyaXZlZCBmcm9tIHRoZSBvcmlnaW5hbCBNQ01GIHByb2JsZW0uPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+WW91IG11c3QgbWF4aW1pemUgdGhlIGFtb3VudCBvZiByZXNvdXJjZSBzZW50IGZyb20gc291cmNlIHRvIHNpbmssIHdoaWxlIG1pbmltaXppbmcgdGhlIGNvc3Qgb2Ygc2VuZGluZyB0aGUgcmVzb3VyY2VzLjxcL2xpPlxyXG5cdDxsaT5UaGUgYW1vdW50IG9mIHJlc291cmNlIHNlbnQgb3V0IGZyb20gdGhlIHNvdXJjZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFtb3VudCBvZiByZXNvdXJjZSByZWNlaXZlZCBieSB0aGUgc2luay48XC9saT5cclxuXHQ8bGk+T3RoZXIgdGhhbiBvbiB0aGUgc291cmNlIGFuZCBvbiB0aGUgc2luaywgdGhlIGFtb3VudCBvZiByZXNvdXJjZSByZWNlaXZlZCBhbmQgc2VudCBvdXQgbXVzdCBiZSBlcXVhbCBmb3IgZXZlcnkmbmJzcDt2ZXJ0ZXguPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+WW91IGFyZSBnaXZlbiBhIGdyYXBoIHNhdGlzZnlpbmcgdGhlIHByb2JsZW0mIzM5O3MgY29uZGl0aW9ucy4gUGxlYXNlIHdyaXRlIGEgcHJvZ3JhbSB0byBzb2x2ZSB0aGUgcHJvYmxlbSBhbmQgb3V0cHV0IHRoZSBtYXhpbXVtIGZsb3cgYW5kIHRoZSBjb3JyZXNwb25kaW5nIG1pbmltdW0gY29zdC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPk9uIHRoZSBmaXJzdCBsaW5lLCB0d28gaW50ZWdlcnMgJG4kIGFuZCAkbSQgYXJlIGdpdmVuLCBlYWNoIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHZlcnRpY2VzIGFuZCBlZGdlcy4gKCQyIFxcbGUgbiBcXGxlIDIwMCQsICQxIFxcbGUgbSBcXGxlIFxcbWluKG4obi0xKSwxNTAwKSQpPFwvcD5cclxuXHJcbjxwPlRoZSBmb2xsb3dpbmcgJG0kIGxpbmVzIGNvbnRhaW4gaW5mb3JtYXRpb24gb2YgdGhlIGVkZ2VzLjxcL3A+XHJcblxyXG48cD5UaGUgJGkkLXRoIGxpbmUgb3V0IG9mIHRoZW0gY29udGFpbiA1IGludGVnZXJzIGFib3V0IHRoZSAkaSQtdGggZWRnZSwgJHVfaSQsICR2X2kkLCAkYV9pJCwgJGJfaSQsICRjX2kkLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLiBUaGlzIHJlcHJlc2VudHMgYSBkaXJlY3RlZCBlZGdlIHdpdGggdHVwbGUgJChhX2ksYl9pLGNfaSkkLCBmcm9tICR1X2kkIHRvICR2X2kkLiAoJDEgXFxsZSB1LHYgXFxsZSBuJCwgJHUgXFxuZSB2JCwgJDAgXFxsZSBhX2lcXGxlIDIwMCQsICQtMjAwIFxcbGUgYl9pIFxcbGUgMjAwJCwgJDEgXFxsZSBjX2kgXFxsZSAxMCQpPFwvcD5cclxuXHJcbjxwPkl0IGlzIGd1YXJhbnRlZWQgdGhhdCB0aGVyZSBhcmUgYXQgbW9zdCAkMTAwJCBlZGdlcyBzYXRpc2Z5aW5nICRhX2kgXFxuZXEgMCQuIEFsc28sIHRoZSBnaXZlbiBncmFwaCBkb2VzIG5vdCBjb250YWluIGR1cGxpY2F0ZSBlZGdlcyBvciBzZWxmIGxvb3BzLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPk9uIG9uZSBsaW5lLCBvdXRwdXQgdHdvIDxzdHJvbmc+aW50ZWdlcnM8XC9zdHJvbmc+ICRmJCBhbmQgJGMkLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLiAkZiQgaXMgdGhlIG1heGltdW0gZmxvdyBvZiB0aGUgZ3JhcGgsIGFuZCAkYyQgaXMgdGhlIGNvcnJlc3BvbmRpbmcgbWluaW11bSBjb3N0LiA8c3Ryb25nPkRvIG5vdGUgdGhhdCB0aGUgY29zdCBtYXkgYmUgbmVnYXRpdmUuPFwvc3Ryb25nPjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=