array ( 0 => 'https://drive.google.com/uc?id=0BwfchK2iNOYdTEZrWDdNaEY1ZEk', 1 => '/var/www/vhosts/knives.pl/subdomains/img/httpdocs/proxy/cache/0dc0b69b14b0d9d9e63396548c273e26c2059f371f96737d6265abad22d3dd78/origin.', 2 => false, )
Warning: Trying to access array offset on value of type bool in /var/www/vhosts/knives.pl/subdomains/img/httpdocs/proxy/index.php on line 182
PCFkb2N0eXBlIGh0bWw+PGh0bWwgbGFuZz0iZW4tVVMiIGRpcj0ibHRyIj48aGVhZD48YmFzZSBocmVmPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vdjMvc2lnbmluLyI+PGxpbmsgcmVmPSJwcmVjb25uZWN0IiBocmVmPSIvL3d3dy5nc3RhdGljLmNvbSI+PG1ldGEgbmFtZT0icmVmZXJyZXIiIGNvbnRlbnQ9Im9yaWdpbiI+PHN0eWxlIGRhdGEtaHJlZj0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vXy9tc3MvYm9xLWlkZW50aXR5L18vc3Mvaz1ib3EtaWRlbnRpdHkuQWNjb3VudHNTaWduSW5VaS53RFg1TFY4UmxaWS5MLlguTy9hbT1Qc0FpdW5Bc0FBV0FJR2dBQUFHQUFnQUFBQUFBQUFCQW9BRW1JUS9kPTEvZWQ9MS9ycz1BT2FFbWxGQ0dHbWdNNEFBUzVGdDF2NEd4aE5DTkQtX1FBL209aWRlbnRpZmllcnZpZXcsX2IsX3RwIiBub25jZT0icklXQUduajR1M3ZNWXRxVGxVM1JNZyI+Yy13aXp7Y29udGFpbjpzdHlsZX1jLXdpej5jLWRhdGF7ZGlzcGxheTpub25lfWMtd2l6LnJFVFNEe2NvbnRhaW46bm9uZX1jLXdpei5VYmk4Wntjb250YWluOmxheW91dCBzdHlsZX1ALXdlYmtpdC1rZXlmcmFtZXMgcXVhbnR1bVdpekJveElua1NwcmVhZHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDAuMik7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMik7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMi4yKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMik7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMik7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMil9fUBrZXlmcmFtZXMgcXVhbnR1bVdpekJveElua1NwcmVhZHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDAuMik7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgwLjIpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMik7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMi4yKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMik7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMik7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIuMil9fUAtd2Via2l0LWtleWZyYW1lcyBxdWFudHVtV2l6SWNvbkZvY3VzUHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgxLjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTstby10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMik7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMik7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgyKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMik7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIpO29wYWNpdHk6MX19QGtleWZyYW1lcyBxdWFudHVtV2l6SWNvbkZvY3VzUHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgxLjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTstby10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS41KTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMik7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMik7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgyKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMik7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDIpO29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHF1YW50dW1XaXpSYWRpYWxJbmtTcHJlYWR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41KTstby10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMi41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTstby10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcXVhbnR1bVdpelJhZGlhbElua1NwcmVhZHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpO29wYWNpdHk6MH10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIuNSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1vLXRyYW5zZm9ybTpzY2FsZSgyLjUpO3RyYW5zZm9ybTpzY2FsZSgyLjUpO29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHF1YW50dW1XaXpSYWRpYWxJbmtGb2N1c1B1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpOy1tcy10cmFuc2Zvcm06c2NhbGUoMik7LW8tdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMi41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTstby10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcXVhbnR1bVdpelJhZGlhbElua0ZvY3VzUHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMik7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMik7LW1zLXRyYW5zZm9ybTpzY2FsZSgyKTstby10cmFuc2Zvcm06c2NhbGUoMik7dHJhbnNmb3JtOnNjYWxlKDIpO29wYWNpdHk6MH10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIuNSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1vLXRyYW5zZm9ybTpzY2FsZSgyLjUpO3RyYW5zZm9ybTpzY2FsZSgyLjUpO29wYWNpdHk6MX19LkpuT002ZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtoZWlnaHQ6MzZweDtsZXR0ZXItc3BhY2luZzouMTVweDtsaW5lLWhlaWdodDozNHB4O3BhZGRpbmc6MCAyNHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyfS5Kbk9NNmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmU7cG9zaXRpb246cmVsYXRpdmV9LkpuT002ZTpmb2N1cy12aXNpYmxlOjphZnRlcntib3JkZXI6MnB4IHNvbGlkIHJnYigyNCw5MCwxODgpO2JvcmRlci1yYWRpdXM6NnB4O2JvdHRvbTotNHB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiKDIzMiwyNDAsMjU0KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2IoMjMyLDI0MCwyNTQpO2NvbnRlbnQ6IiI7bGVmdDotNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi00cHg7dG9wOi00cHh9LnJEaXNWZTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLC5HakZkVmU6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IDAgcmdiYSg2NiwxMzMsMjQ0LC4zKSwwIDFweCAzcHggMXB4IHJnYmEoNjYsMTMzLDI0NCwuMTUpO2JveC1zaGFkb3c6MCAxcHggMXB4IDAgcmdiYSg2NiwxMzMsMjQ0LC4zKSwwIDFweCAzcHggMXB4IHJnYmEoNjYsMTMzLDI0NCwuMTUpfS5yRGlzVmU6aG92ZXI6bm90KDpmb2N1cy12aXNpYmxlKSwuR2pGZFZlOmhvdmVyOm5vdCg6Zm9jdXMtdmlzaWJsZSl7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDFweCAwIHJnYmEoNjYsMTMzLDI0NCwuNDUpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LC4zKTtib3gtc2hhZG93OjAgMXB4IDFweCAwIHJnYmEoNjYsMTMzLDI0NCwuNDUpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LC4zKX0uSm5PTTZlOmRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmV9LkpuT002ZTpob3ZlcntjdXJzb3I6cG9pbnRlcn0uSm5PTTZlLmtUZWg5e2xpbmUtaGVpZ2h0OjM2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LkpuT002ZS5lTE5UMWR7ZGlzcGxheTpub25lfS5yRGlzVmV7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjYsMTE1LDIzMik7Y29sb3I6I2ZmZn0uckRpc1ZlOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiKDIzMiwyMzQsMjM3KTtjb2xvcjpyZ2IoMTU0LDE2MCwxNjYpfS5yRGlzVmU6Zm9jdXMsLnJEaXNWZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNCw5MCwxODgpfS5HakZkVmV7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjE4LDIyMCwyMjQpO2NvbG9yOnJnYigyNiwxMTUsMjMyKX0uR2pGZFZlOmRpc2FibGVke2NvbG9yOnJnYigxODksMTkzLDE5OCl9LkdqRmRWZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTc0LDIwMywyNTApO2NvbG9yOnJnYigyMyw3OCwxNjYpfS5HakZkVmU6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjMyLDI0MCwyNTQpO2JvcmRlci1jb2xvcjpyZ2IoMjQsOTAsMTg4KTtjb2xvcjpyZ2IoMjMsNzgsMTY2KX0uR2pGZFZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKDIzMiwyNDAsMjU0KTtjb2xvcjpyZ2IoMjMsNzgsMTY2KX0uS1hiUTRie2NvbG9yOnJnYigyNiwxMTUsMjMyKTttaW4td2lkdGg6MDtwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6OHB4fS5LWGJRNGI6ZGlzYWJsZWR7Y29sb3I6cmdiKDE4OSwxOTMsMTk4KX0uS1hiUTRiOmFjdGl2ZSwuS1hiUTRiOmhvdmVye2NvbG9yOnJnYigyNCw5MCwxODgpfS5LWGJRNGI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgyNiwxMTUsMjMyLC4xMil9LktYYlE0Yjpmb2N1cywuS1hiUTRiOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNiwxMTUsMjMyLC4wNCl9LmhaVWlqZXtib3JkZXI6MH0uaFpVaWplLldTNFhEZHttYXgtaGVpZ2h0OjEuMzMzM2VtO3BhZGRpbmc6MCAycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOmF1dG99LmtIbHVZY3tib3JkZXI6MDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS5rSGx1WWMuV1M0WERke21heC1oZWlnaHQ6MS4zMzMzZW07cGFkZGluZzowIDJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6YXV0b30uYU4xVmxke21hcmdpbjoxNnB4IDA7b3V0bGluZTpub25lfS5hTjFWbGQrLmFOMVZsZHttYXJnaW4tdG9wOjI0cHh9LmFOMVZsZDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LmFOMVZsZDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uZmVnVzVke2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MTZweH0uZmVnVzVkPjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LmZlZ1c1ZD46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmZlZ1c1ZCAuY3lTcVJiLC5mZWdXNWQgLnlPblZJYntjb2xvcjpyZ2IoMzIsMzMsMzYpfS5mZWdXNWQuWUZkV2ljIC55T25WSWJ7Y29sb3I6cmdiKDk1LDk5LDEwNCk7bWFyZ2luLXRvcDo0cHg7cGFkZGluZzowfS5mZWdXNWQuWUZkV2ljIC53U1FOZCwuZmVnVzVkLllGZFdpYyAueU9uVklie21hcmdpbi1sZWZ0OjY0cHg7d2lkdGg6Y2FsYygxMDAlIC0gNjRweCl9LmZlZ1c1ZC5ZRmRXaWM6bm90KC5TN1M0TikgLndTUU5ke21hcmdpbi1sZWZ0OjA7d2lkdGg6MH0uZmVnVzVkOm5vdCguUzdTNE4pPi55T25WSWJ7bWFyZ2luLXRvcDowfS5mZWdXNWQuc2o2OTJle2JhY2tncm91bmQ6cmdiKDIzMiwyNDAsMjU0KX0uZmVnVzVkLlhxOGJEZXtiYWNrZ3JvdW5kOnJnYigyNTIsMjMyLDIzMCl9LmZlZ1c1ZC5yTmUwaWR7YmFja2dyb3VuZDpyZ2IoMjU0LDI0NywyMjQpfS5mZWdXNWQuWUZkV2lje2JvcmRlcjoxcHggc29saWQgcmdiKDIxOCwyMjAsMjI0KTttaW4taGVpZ2h0OjgwcHg7cG9zaXRpb246cmVsYXRpdmV9LmZlZ1c1ZDpub3QoLlM3UzROKXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0uYU4xVmxkLmVMTlQxZHtkaXNwbGF5Om5vbmV9LmFOMVZsZC5SRFBaRXtvcGFjaXR5Oi41O3BvaW50ZXItZXZlbnRzOm5vbmV9LmFOMVZsZC5SRFBaRSAuYU4xVmxkLlJEUFpFe29wYWNpdHk6MX0ud2xyek1le2JvcmRlcjoxcHggc29saWQgcmdiKDIxOCwyMjAsMjI0KTtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjE2cHh9LndscnpNZSAuRUVpeVdle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjE2cHh9LndscnpNZSAuRUVpeVdlIC5HakZkVmV7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0ud1NRTmQ6ZW1wdHl7ZGlzcGxheTpub25lfS53U1FOZD46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowO3BhZGRpbmctdG9wOjB9LndTUU5kPjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MDtwYWRkaW5nLWJvdHRvbTowfS5jeVNxUmJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjpyZ2IoMzIsMzMsMzYpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMXB4O2xpbmUtaGVpZ2h0OjEuNDI4NjttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowO3BhZGRpbmc6MH0uemxycnJ7Y29sb3I6cmdiKDk1LDk5LDEwNCk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjE2cHg7d2lkdGg6MjBweH0uemxycnIgLkd4TFJlZntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5mZWdXNWQgLnpscnJye21hcmdpbi10b3A6MH0uZmVnVzVkLnNqNjkyZSAuemxycnJ7Y29sb3I6cmdiKDI1LDEwMywyMTApfS5mZWdXNWQuWHE4YkRlIC56bHJycntjb2xvcjpyZ2IoMTk3LDM0LDMxKX0uZmVnVzVkLnJOZTBpZCAuemxycnJ7Y29sb3I6cmdiKDIzNCwxMzQsMCl9LmZlZ1c1ZC5ZRmRXaWMgLnpscnJye2hlaWdodDo0OHB4O2xlZnQ6MTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDt3aWR0aDo0OHB4fS55T25WSWJ7bWFyZ2luOmF1dG8gLTI0cHg7cGFkZGluZy1sZWZ0OjI0cHg7cGFkZGluZy1yaWdodDoyNHB4O21hcmdpbi1ib3R0b206MTZweDttYXJnaW4tdG9wOjEwcHh9LndscnpNZSAueU9uVklie21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjE2cHh9LnlPblZJYj46Zmlyc3QtY2hpbGQ6bm90KHNlY3Rpb24pe21hcmdpbi10b3A6MDtwYWRkaW5nLXRvcDowfS55T25WSWI+Omxhc3QtY2hpbGQ6bm90KHNlY3Rpb24pe21hcmdpbi1ib3R0b206MDtwYWRkaW5nLWJvdHRvbTowfS53U1FOZDplbXB0eSsueU9uVklie21hcmdpbi10b3A6MH0ueU9uVkliOm9ubHktY2hpbGR7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0qLCo6YmVmb3JlLCo6YWZ0ZXJ7LXdlYmtpdC1ib3gtc2l6aW5nOmluaGVyaXQ7Ym94LXNpemluZzppbmhlcml0fWh0bWx7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5LGlucHV0LHRleHRhcmVhLHNlbGVjdCxidXR0b257Y29sb3I6cmdiKDMyLDMzLDM2KTtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmfWJvZHl7YmFja2dyb3VuZDojZmZmO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NjttYXJnaW46MDttaW4taGVpZ2h0OjEwMHZoO3BhZGRpbmc6MDtwb3NpdGlvbjpyZWxhdGl2ZX1AbWVkaWEgKG1pbi13aWR0aDo2MDFweCl7Ym9keXstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn19W2RhdGEtc3R5bGU9aGVhZGluZ117Y29sb3I6cmdiKDMyLDMzLDM2KTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtsaW5lLWhlaWdodDoxLjQyODZ9LkJERUk5IGgyOm5vdCguVHJaRVVjKXtjb2xvcjpyZ2IoMzIsMzMsMzYpO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMXB4O2xpbmUtaGVpZ2h0OjEuNDI4Nn0uQkRFSTkgLmZlZ1c1ZCBhOm5vdCguVHJaRVVjKSwuQkRFSTkgLmZlZ1c1ZCBidXR0b246bm90KC5UclpFVWMpe2NvbG9yOnJnYigyNSwxMDMsMjEwKX0uQkRFSTkgYXt0ZXh0LWRlY29yYXRpb246bm9uZX0uQkRFSTkgYTpub3QoLlRyWkVVYyksLkJERUk5IGJ1dHRvbjpub3QoLlRyWkVVYyl7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6cmdiKDI2LDExNSwyMzIpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMjVweDtvdXRsaW5lOjA7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5CREVJOSBidXR0b246bm90KC5UclpFVWMpe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdH0uQkRFSTkgYnV0dG9uOm5vdCguVHJaRVVjKXtib3JkZXI6MH0uQkRFSTkgYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5CREVJOSBhOm5vdCguVHJaRVVjKTpmb2N1czo6YWZ0ZXIsLkJERUk5IGE6bm90KC5UclpFVWMpOmFjdGl2ZTo6YWZ0ZXIsLkJERUk5IGJ1dHRvbjpub3QoLlRyWkVVYyk6Zm9jdXM6OmFmdGVyLC5CREVJOSBidXR0b246bm90KC5UclpFVWMpOmFjdGl2ZTo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI2LDExNSwyMzIsLjE1KTtib3JkZXItcmFkaXVzOjJweDtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi0ycHggLTNweDt6LWluZGV4Oi0xfS5CREVJOSBpbWc6bm90KC5UclpFVWMpe2JvcmRlcjowO21heC1oZWlnaHQ6MS4zZW07dmVydGljYWwtYWxpZ246bWlkZGxlfUBtZWRpYSAobWluLXdpZHRoOjYwMXB4KXsuQkRFSTl7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwdmg7cG9zaXRpb246cmVsYXRpdmV9LkJERUk5OmJlZm9yZSwuQkRFSTk6YWZ0ZXJ7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7Y29udGVudDoiIjtoZWlnaHQ6MjRweH0uQkRFSTk6YmVmb3Jle21pbi1oZWlnaHQ6MzBweH0uQkRFSTk6YWZ0ZXJ7bWluLWhlaWdodDoyNHB4fS5CREVJOS5MWmdRWGU6YWZ0ZXJ7bWluLWhlaWdodDo2My45OTk2cHh9fS5nRWM0cntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZ0VjNHIuamxxSktie2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MjRweDtwYWRkaW5nLXRvcDoyNHB4fS5CaXZuTXstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjM2cHg7bGVmdDowO3BhZGRpbmc6MCAxNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LkJpdm5NIC5qaTZzRmN7aGVpZ2h0OjE0cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lk8zamRXY3tjb2xvcjpyZ2IoOTUsOTksMTA0KTtmb250LXNpemU6MTRweDtoZWlnaHQ6MTRweDttYXJnaW4tdG9wOi0ycHh9Llp3azhTe2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjM3cHg7d2lkdGg6MzdweH0ud0ZORTRle2NvbG9yOnJnYigyNiwxMTUsMjMyKX0uSFVZRnR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtmb250LXNpemU6MTJweDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjAgMjRweCAxNHB4fUBtZWRpYSAobWluLXdpZHRoOjYwMXB4KXsuSFVZRnR7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9fS5oWHMyVCAucFVQME5ke2NvbG9yOnJnYig2MCw2NCw2Nyl9LmhYczJUe21hcmdpbi1sZWZ0Oi0xNnB4O21hcmdpbi1yaWdodDoxNnB4fS5OMTU4dHstbW96LWFwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUdobGFXZG9kRDBpTWpSd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJaUIzYVdSMGFEMGlNalJ3ZUNJZ1ptbHNiRDBpSXpRMU5VRTJOQ0krUEhCaGRHZ2daRDBpVFRBZ01HZ3lOSFl5TkVnd1ZqQjZJaUJtYVd4c1BTSnViMjVsSWk4K1BIQmhkR2dnWkQwaVRUY2dNVEJzTlNBMUlEVXROVWczZWlJdlBqd3ZjM1puUGc9PSIpO2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnJnYig5NSw5OSwxMDQpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE1Ljk5OTZweDtvdXRsaW5lOm5vbmU7cGFkZGluZzoxNi4wMDAycHggMjRweCAxNi4wMDAycHggMTZweH0uTjE1OHQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjMyLDIzNCwyMzcpfS5NMm5LZ2V7bGlzdC1zdHlsZTpub25lO21hcmdpbjowIC0xNnB4O3BhZGRpbmc6MH0udm9tdG9le2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowfS5wVVAwTmR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjpyZ2IoOTUsOTksMTA0KTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxNS45OTk2cHg7b3V0bGluZTpub25lO3BhZGRpbmc6MTZweH0ucFVQME5kOmZvY3Vze2JhY2tncm91bmQtY29sb3I6cmdiKDIzMiwyMzQsMjM3KX0udk9adW4sLmdvbVFhY3twYWRkaW5nLWJvdHRvbTozcHg7cGFkZGluZy10b3A6OXB4O21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjB9LmdvbVFhY3ttYXJnaW46MH0udk9adW46ZW1wdHl7ZGlzcGxheTpub25lfS5IYTE3cWZ7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMHZoO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWluLXdpZHRoOjYwMXB4KXsuSGExN3Fme2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYigyMTgsMjIwLDIyNCk7Ym9yZGVyLXJhZGl1czo4cHg7ZGlzcGxheTpibG9jazstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttYXJnaW46MCBhdXRvO21pbi1oZWlnaHQ6MDt3aWR0aDo0NTBweH0uSGExN3FmLnFtbWxSZHt3aWR0aDo0NTBweH0uSGExN3FmLnFtbWxSZCAuT3IxNnF7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo1MDBweH19Lk9yMTZxey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjI0cHggMjRweCAzNnB4fUBtZWRpYSAobWluLXdpZHRoOjYwMXB4KXsuT3IxNnF7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo1MDBweDtvdmVyZmxvdy15OmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjQ1MHB4KXsuT3IxNnF7cGFkZGluZzo0OHB4IDQwcHggMzZweH19LmlFaGJtZXtwYWRkaW5nOjI0cHggMCAwfS5pRWhibWUuUkRQWkV7b3BhY2l0eTouNTtwb2ludGVyLWV2ZW50czpub25lfS5CcnBUT3ttYXJnaW46YXV0bzttYXgtd2lkdGg6MzgwcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5CcnBUTyAuUThFbFdle3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyfS52aUFndGZ7Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6cmdiKDk1LDk5LDEwNCk7b3ZlcmZsb3c6aGlkZGVufS5lQ2lyQWZ7bGluZS1oZWlnaHQ6MS40Mjg2fS5jQUJDQWV7d2lkdGg6MTAwJX0uY0FCQ0FlIC52aUFndGZ7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZTtoZWlnaHQ6MjhweDttYXJnaW4tcmlnaHQ6MTJweDt3aWR0aDoyOHB4fS5jQUJDQWUgLlE4RWxXZSwuVFBtcExlIC5ROEVsV2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uY0FCQ0FlIC5ROEVsV2V7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LkJycFRPIC52aUFndGZ7aGVpZ2h0OjY0cHg7bWFyZ2luOjAgYXV0byA4cHg7d2lkdGg6NjRweH0ucnMzZ1Nie2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2t9LmNBQkNBZSAucnMzZ1NiLC5jQUJDQWUgLmhaVWlqZSwuY0FCQ0FlIC5rSGx1WWN7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlfS5CcnBUTyAucnMzZ1NiLC5CcnBUTyAuaFpVaWplLC5CcnBUTyAua0hsdVlje2hlaWdodDo2NHB4O3dpZHRoOjY0cHh9LlRQbXBMZXtoZWlnaHQ6MjBweH0uVFBtcExlIC52aUFndGZ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjhweDttaW4td2lkdGg6MjBweH0uVFBtcExlIC5yczNnU2IsLlRQbXBMZSAuaFpVaWplLC5UUG1wTGUgLmtIbHVZY3tjb2xvcjpyZ2IoNjAsNjQsNjcpO2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LlRQbXBMZSAua2szOUVie292ZXJmbG93OmhpZGRlbn0uVFBtcExlIC55YXZsS3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmNBQkNBZSAua2szOUViey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxfS5jQUJDQWUgLmVDaXJBZntjb2xvcjpyZ2IoNjAsNjQsNjcpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uQnJwVE8gLmVDaXJBZntjb2xvcjpyZ2IoMzIsMzMsMzYpO2ZvbnQtc2l6ZToxNnB4fS55YXZsSywuRnpEd2R7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTJweDt0ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MS4zMzMzO3dvcmQtYnJlYWs6YnJlYWstYWxsfS5GekR3ZHtjb2xvcjpyZ2IoOTUsOTksMTA0KX0uVFBtcExlIC55YXZsS3tjb2xvcjpyZ2IoNjAsNjQsNjcpfS5jQUJDQWUgLnlhdmxLe2NvbG9yOnJnYig5NSw5OSwxMDQpfS5CcnBUTyAueWF2bEt7Y29sb3I6cmdiKDk1LDk5LDEwNCk7dGV4dC1hbGlnbjpjZW50ZXJ9LkJ0VXpoZHtjb2xvcjpyZ2IoOTUsOTksMTA0KTtmb250LXNpemU6MTJweH0uY0FCQ0FlIC5CdFV6aGR7LXdlYmtpdC1hbGlnbi1zZWxmOmZsZXgtc3RhcnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bGluZS1oZWlnaHQ6MS4zMzMzfS5IRHVxYWN7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjb2xvcjpyZ2IoNjAsNjQsNjcpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZToxNHB4O2xldHRlci1zcGFjaW5nOi4yNXB4O21heC13aWR0aDoxMDAlfS5CT3M1ZmR7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjE4LDIyMCwyMjQpO2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5IRHVxYWM6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LkhEdXFhYzpmb2N1cy12aXNpYmxlIC5CT3M1ZmR7b3V0bGluZTpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6cmdiYSg2MCw2NCw2NywuMTIpfS5IRHVxYWM6Zm9jdXMtdmlzaWJsZSAuQk9zNWZkOjphZnRlcntib3JkZXI6MnB4IHNvbGlkIHJnYigyNCw5MCwxODgpO2JvcmRlci1yYWRpdXM6MjBweDtib3R0b206LTVweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYigyMzIsMjQwLDI1NCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiKDIzMiwyNDAsMjU0KTtjb250ZW50OiIiO2xlZnQ6LTVweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotNXB4O3RvcDotNXB4fS5IRHVxYWM6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSAuQk9zNWZkey13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggMCByZ2JhKDY2LDEzMywyNDQsLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LC4xNSk7Ym94LXNoYWRvdzowIDFweCAxcHggMCByZ2JhKDY2LDEzMywyNDQsLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LC4xNSk7Ym9yZGVyLWNvbG9yOnJnYigyMTgsMjIwLDIyNCk7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5IRHVxYWM6aG92ZXI6bm90KDpmb2N1cy12aXNpYmxlKSAuQk9zNWZke2JhY2tncm91bmQ6cmdiYSg2MCw2NCw2NywuMDQpfS5IRHVxYWM6Zm9jdXMgLkJPczVmZCwuSER1cWFjOmhvdmVyIC5CT3M1ZmR7Ym9yZGVyLWNvbG9yOnJnYigyMTgsMjIwLDIyNCl9LkhEdXFhYzphY3RpdmU6Zm9jdXMgLkJPczVmZHtiYWNrZ3JvdW5kOnJnYmEoNjAsNjQsNjcsLjEyKTtib3JkZXItY29sb3I6cmdiKDYwLDY0LDY3KTtjb2xvcjpyZ2IoNjAsNjQsNjcpfS5FSTc3cWZ7bGluZS1oZWlnaHQ6MzBweDttYXJnaW46LThweCAwO3BhZGRpbmc6OHB4IDB9LkVJNzdxZi5EYlFuSWV7Y29sb3I6cmdiKDI2LDExNSwyMzIpO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjIycHh9LkVJNzdxZiAuQk9zNWZke2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTVweCAwIDE1cHh9LkVJNzdxZi5EYlFuSWUgLkJPczVmZHtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzowIDEwcHggMCAxMHB4fS5FSTc3cWYuaWlGeW5lIC5CT3M1ZmR7cGFkZGluZy1yaWdodDo3cHh9LkVJNzdxZi5jZDI5U2QgLkJPczVmZHtwYWRkaW5nLWxlZnQ6NXB4fS5FSTc3cWYuRGJRbkllLmNkMjlTZCAuQk9zNWZke3BhZGRpbmctbGVmdDoycHh9LkVJNzdxZi5EYlFuSWUuaWlGeW5lIC5CT3M1ZmR7cGFkZGluZy1yaWdodDo3cHh9LmhNZVl0ZHtib3JkZXItcmFkaXVzOjEwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjhweH0uaE1lWXRkIC5yczNnU2IsLmhNZVl0ZCAuaFpVaWplLC5oTWVZdGQgLmtIbHVZY3tib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpyZ2IoNjAsNjQsNjcpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0ud0p4THNke2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246bGVmdDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uem5wVGpme2NvbG9yOnJnYig2MCw2NCw2Nyk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjE4cHg7bWFyZ2luLWxlZnQ6NHB4O3dpZHRoOjE4cHh9LkhEdXFhYy5EYlFuSWUgLnpucFRqZntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS5KQzB6WmN7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5hTWZ5ZGR7dGV4dC1hbGlnbjpjZW50ZXJ9LmFNZnlkZCAuVG4wTEJke3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MTZweDtjb2xvcjpyZ2IoMzIsMzMsMzYpO2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjMzMzM7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0uYTJDUWh7cGFkZGluZy1ib3R0b206M3B4O3BhZGRpbmctdG9wOjFweDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowfS5hMkNRaHtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtsaW5lLWhlaWdodDoxLjU7cGFkZGluZy1ib3R0b206MDtwYWRkaW5nLXRvcDo4cHh9LmEyQ1FoOmVtcHR5e2Rpc3BsYXk6bm9uZX0ubjg2OHJme2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xldHRlci1zcGFjaW5nOi4yNXB4O21pbi1oZWlnaHQ6MjRweDtwYWRkaW5nLWJvdHRvbTowO3BhZGRpbmctdG9wOjhweH0uQzd1Ukpje21hcmdpbi10b3A6OHB4fS5OdmVXenstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MX0uaTJrbklje2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlOy13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXgtZ3JvdzowO2ZsZXgtZ3JvdzowOy13ZWJraXQtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7bWFyZ2luLWxlZnQ6LThweDttYXJnaW4tdG9wOjMycHg7bWFyZ2luLWJvdHRvbTotMTZweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZy1ib3R0b206MjBweH0uaTJrbkljLmZYeDlMYywuaTJrbkljLmZYeDlMYyAuUmhUeEJmLC5pMmtuSWMuZlh4OUxjIC50bU1jSWZ7bWFyZ2luOjA7bWluLWhlaWdodDowO3BhZGRpbmc6MH0uc1hseFdke21hcmdpbi1ib3R0b206MzJweDt3aWR0aDoxMDAlfS53ZzBmRmJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2U7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTstd2Via2l0LWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwO3dpZHRoOjEwMCV9LlJoVHhCZiwudG1NY0lmey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO21hcmdpbi1ib3R0b206MTZweH0uaTJrbkljLk5OSXRROm5vdCguRjhQQnJiKSAuUmhUeEJmLC5pMmtuSWMuTk5JdFE6bm90KC5GOFBCcmIpIC50bU1jSWZ7dGV4dC1hbGlnbjpjZW50ZXJ9LlJoVHhCZnt0ZXh0LWFsaWduOnJpZ2h0fS5pMmtuSWMuRjhQQnJie21hcmdpbi1sZWZ0OjB9Lmkya25JYy5GOFBCcmIgLndnMGZGYnttYXJnaW46MCAtMnB4O3dpZHRoOmNhbGMoMTAwJSArIDRweCl9Lmkya25JYy5GOFBCcmIgLlJoVHhCZntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwO3dpZHRoOjEwMCV9Lmkya25JYy5GOFBCcmIgLnRtTWNJZnttYXJnaW46MCAycHh9LnhPczNKY3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW46MCAycHg7bWluLXdpZHRoOmNhbGMoNTAlIC0gNHB4KX0uQ29ra25ke21hcmdpbi1ib3R0b206NnB4O21hcmdpbi10b3A6NnB4O3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS5ENHJZMGJ7Y29sb3I6cmdiKDk1LDk5LDEwNCk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS40Mjg2O21hcmdpbi10b3A6MzJweH0uc1FlY3dje2Rpc3BsYXk6aGlkZGVufS5UUnVSaGR7bWFyZ2luLXRvcDoyNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5GdTVhWGQ6Zmlyc3QtY2hpbGQgLlRSdVJoZHttYXJnaW4tdG9wOjhweH0ueHllekR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6cmdiKDMyLDMzLDM2KTtmb250LXNpemU6MTZweDtoZWlnaHQ6NTZweDtvdXRsaW5lOm5vbmU7cGFkZGluZzowIDE0cHg7d2lkdGg6MTAwJX0uVFJ1UmhkLllLb29EYyAueHllekR7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOmxlZnR9LllyMk9PYntsaW5lLWhlaWdodDoxLjQyODY7bWFyZ2luOjE0cHg7cGFkZGluZzowO3Jlc2l6ZTp2ZXJ0aWNhbH0uTEJqOHZie2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzowIDE0cHg7b3V0bGluZTpub25lO3dpZHRoOjEwMCV9LmRYWE5PZHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueE1wTkNkOm5vdCg6ZW1wdHkpe2xpbmUtaGVpZ2h0OjU2cHg7cGFkZGluZy1sZWZ0OjE0cHh9LnBrQldnZTpub3QoOmVtcHR5KXtsaW5lLWhlaWdodDo1NnB4O3BhZGRpbmctcmlnaHQ6MTRweH0uVFJ1UmhkW2RhdGEtaGFzLWRvbWFpbi1zdWZmaXhdIC5wa0JXZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2hpdGUtc3BhY2U6bm93cmFwfS5UUnVSaGRbZGF0YS1oYXMtZG9tYWluLXN1ZmZpeF1bZGF0YS1oYXMtYXQtc2lnbl0gLnBrQldnZXtkaXNwbGF5Om5vbmV9LmZqcFhsY3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJX0ubldQeDJley13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7aGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2xlZnQ6MDttYXgtd2lkdGg6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LlloaFk4LC5DQ1E5NGIsLnROQVNFZntib3JkZXI6MXB4IHNvbGlkIHJnYigyMTgsMjIwLDIyNCl9LlloaFk4e2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O3dpZHRoOjhweH0uQ0NROTRie2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcDpub25lO2NvbG9yOnJnYig5NSw5OSwxMDQpO2ZvbnQtc2l6ZToxMnB4O21hcmdpbjotNnB4IDAgMDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDZweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udE5BU0Vme2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MX0uRnU1YVhkOm5vdCguSmo2TGFlKSAueHllekQ6Zm9jdXMrLm5XUHgyZSAuQ0NROTRiLC5GdTVhWGQ6bm90KC5KajZMYWUpIC5MQmo4dmI6Zm9jdXMrLm5XUHgyZSAuQ0NROTRie2NvbG9yOnJnYigyNiwxMTUsMjMyKX0ueHllekQ6Zm9jdXMrLm5XUHgyZSAuWWhoWTgsLnh5ZXpEOmZvY3VzKy5uV1B4MmUgLkNDUTk0YiwueHllekQ6Zm9jdXMrLm5XUHgyZSAudE5BU0VmLC5MQmo4dmI6Zm9jdXMrLm5XUHgyZSAuWWhoWTgsLkxCajh2Yjpmb2N1cysubldQeDJlIC5DQ1E5NGIsLkxCajh2Yjpmb2N1cysubldQeDJlIC50TkFTRWZ7Ym9yZGVyLWNvbG9yOnJnYigyNiwxMTUsMjMyKTtib3JkZXItd2lkdGg6MnB4fS5UTVo4cHstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4Oy13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAwIDQ4cHg7ZmxleDowIDAgNDhweDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJvdHRvbTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6NDhweH0uVE1aOHAgLnpTQWlaY3toZWlnaHQ6NDhweDtsZWZ0OjA7bWFyZ2luOjA7b3BhY2l0eTowO291dGxpbmU6MDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NDhweH0uUmlBY1hley13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjJweCBzb2xpZCBjdXJyZW50Q29sb3I7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2hlaWdodDoxOHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3dpZHRoOjE4cHh9LlRJWDZrZXtib3R0b206MDtsZWZ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTAwJX0uVE1aOHAgLnpTQWlaY34uUmlBY1hlIC5USVg2a2V7Y29sb3I6d2hpdGU7b3BhY2l0eToxfS5NMDhWU2V7c3Ryb2tlOmN1cnJlbnRDb2xvcjtzdHJva2UtZGFzaG9mZnNldDoyOS43ODMzMzg1O3N0cm9rZS13aWR0aDozLjEycHh9LlRNWjhwIC56U0FpWmM6ZW5hYmxlZDpub3QoOmNoZWNrZWQpfi5SaUFjWGV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiKDk1LDk5LDEwNCl9LlRNWjhwIC56U0FpWmM6ZW5hYmxlZDpjaGVja2Vkfi5SaUFjWGV7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjYsMTE1LDIzMik7Ym9yZGVyLWNvbG9yOnJnYigyNiwxMTUsMjMyKX0uVE1aOHAgLnpTQWlaY1tkaXNhYmxlZF06bm90KDpjaGVja2VkKX4uUmlBY1hle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoNjAsNjQsNjcsLjM4KX0uVE1aOHAgLnpTQWlaY1tkaXNhYmxlZF06Y2hlY2tlZH4uUmlBY1hle2JhY2tncm91bmQtY29sb3I6cmdiYSg2MCw2NCw2NywuMzgpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uVE1aOHA6aG92ZXIgLnpTQWlaYzplbmFibGVkOm5vdCg6Y2hlY2tlZCl+LlJpQWNYZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2IoMzIsMzMsMzYpfS5UTVo4cDpob3ZlciAuelNBaVpjOmVuYWJsZWQ6Y2hlY2tlZH4uUmlBY1hle2JhY2tncm91bmQtY29sb3I6cmdiKDIzLDc4LDE2Nik7Ym9yZGVyLWNvbG9yOnJnYigyMyw3OCwxNjYpfS5UTVo4cCAuelNBaVpjOmZvY3VzLXZpc2libGV+LlJpQWNYZXtvdXRsaW5lOm5vbmU7cG9zaXRpb246cmVsYXRpdmV9LlRNWjhwIC56U0FpWmM6Zm9jdXMtdmlzaWJsZX4uUmlBY1hlOjphZnRlcntib3JkZXI6MnB4IHNvbGlkIHJnYigyNCw5MCwxODgpO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTotNXB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiKDIzMiwyNDAsMjU0KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2IoMjMyLDI0MCwyNTQpO2NvbnRlbnQ6IiI7bGVmdDotNXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi01cHg7dG9wOi01cHh9LkYzd3hsY3std2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtjb2xvcjpyZ2IoOTUsOTksMTA0KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luLXRvcDo0cHh9LkVsbE5CZnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi10b3A6LTJweH0uU25qaVJie2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9LkYzd3hsYzplbXB0eSwuTkhWR2xjOmVtcHR5e2Rpc3BsYXk6bm9uZX0uRnU1YVhkLkpqNkxhZSAuRjN3eGxje2NvbG9yOnJnYigyMTcsNDgsMzcpfS5GdTVhWGQgLmF6c0F3ZnttYXJnaW4tbGVmdDoxNnB4fS5GdTVhWGQuSmo2TGFlIC5uV1B4MmUgLlloaFk4LC5GdTVhWGQuSmo2TGFlIC5uV1B4MmUgLkNDUTk0YiwuRnU1YVhkLkpqNkxhZSAubldQeDJlIC50TkFTRWZ7Ym9yZGVyLWNvbG9yOnJnYigyMTcsNDgsMzcpfS5GdTVhWGQuSmo2TGFlIC5uV1B4MmUgLkNDUTk0Yntjb2xvcjpyZ2IoMjE3LDQ4LDM3KX0uWldzc1R7bWFyZ2luLXRvcDoyNnB4fS52b3BDNGV7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6cmdiKDMyLDMzLDM2KTtjdXJzb3I6cG9pbnRlcjttYXJnaW4tYm90dG9tOi0xNXB4O21hcmdpbi10b3A6LTE1cHg7b3V0bGluZTppbmhlcml0O3BhZGRpbmctYm90dG9tOjE1cHg7cGFkZGluZy10b3A6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnZvcEM0ZTpmb2N1czo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI2LDExNSwyMzIsLjE1KTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb250ZW50OiIiO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3otaW5kZXg6LTF9LkpWTXJZYntkaXNwbGF5OmJsb2NrfS5oSklST3tkaXNwbGF5Om5vbmV9c2VudGluZWx7fTwvc3R5bGU+PHN0eWxlIG5vbmNlPSJySVdBR25qNHUzdk1ZdHFUbFUzUk1nIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidQcm9kdWN0IFNhbnMnO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9wcm9kdWN0c2Fucy92OS9weGlEeXBRa290MVRuRmhzRk1PZkdTaFZGOWVMLnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fTwvc3R5bGU+PG1ldGEgbmFtZT0iY2hyb21lIiBjb250ZW50PSJub2ludGVudGRldGVjdGlvbiI+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj48bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQWNjZXNzIEdvb2dsZSBEcml2ZSB3aXRoIGEgR29vZ2xlIGFjY291bnQgKGZvciBwZXJzb25hbCB1c2UpIG9yIEdvb2dsZSBXb3Jrc3BhY2UgYWNjb3VudCAoZm9yIGJ1c2luZXNzIHVzZSkuIj48bm9zY3JpcHQ+PG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDsgdXJsPS92My9zaWduaW4vcmVqZWN0ZWQ/Y29udGludWU9aHR0cHM6Ly9kcml2ZS51c2VyY29udGVudC5nb29nbGUuY29tL2Rvd25sb2FkP2lkJTNEMEJ3ZmNoSzJpTk9ZZFRFWnJXRGROYUVZMVpFayZhbXA7ZHNoPVMyMDE0MTA5NjA5OjE3MTQ2NDU2ODQyMTY4MzMmYW1wO2Zsb3dFbnRyeT1TZXJ2aWNlTG9naW4mYW1wO2Zsb3dOYW1lPVdlYkxpdGVTaWduSW4mYW1wO2ZvbGxvd3VwPWh0dHBzOi8vZHJpdmUudXNlcmNvbnRlbnQuZ29vZ2xlLmNvbS9kb3dubG9hZD9pZCUzRDBCd2ZjaEsyaU5PWWRURVpyV0RkTmFFWTFaRWsmYW1wO2lma3Y9QWFTeG9RejRJak1TOURqaDZsSUpZSEF0d2NCY0M4MWdtVmo1d1VJd2xQZzBtcTBZUWZYUG1vRVVnYnZLbFZJS2FBODJ4VzYtZnkxcCZhbXA7cmhsaz1qcyZhbXA7cnJrPTQ3JmFtcDtzZXJ2aWNlPXdpc2UiPjxzdHlsZSBub25jZT0icklXQUduajR1M3ZNWXRxVGxVM1JNZyI+Ym9keXtvcGFjaXR5OjA7fTwvc3R5bGU+PC9ub3NjcmlwdD48dGl0bGU+R29vZ2xlIERyaXZlOiBTaWduLWluPC90aXRsZT48L2hlYWQ+PGJvZHk+PGRpdiBjbGFzcz0iQkRFSTkgTFpnUVhlIj48ZGl2IGNsYXNzPSJIYTE3cWYiIGRhdGEtYXV0by1pbml0PSJDYXJkIj48ZGl2IGNsYXNzPSJPcjE2cSI+PGRpdiBkYXRhLXZpZXctaWQ9ImhtMThFYyIgZGF0YS1sb2NhbGU9ImVuX1VTIiBkYXRhLWFsbG93LXNpZ24tdXAtdHlwZXM9InRydWUiPjxjLXdpeiBqc3JlbmRlcmVyPSJPVGNGaWIiIGpzc2hhZG93IGpzZGF0YT0iZGVmZXJyZWQtaTIiIGRhdGEtcD0iJS5ALl0iIGRhdGEtbm9kZS1pbmRleD0iMjswIiBqc21vZGVsPSJoYzZVYmQiIGMtd2l6PjxkaXYgY2xhc3M9ImdFYzRyIj48aW1nIHNyYz0iLy9zc2wuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl83NHgyNGRwLnBuZyIgY2xhc3M9IlRyWkVVYyIgYWx0PSJHb29nbGUiIHdpZHRoPSI3NCIgaGVpZ2h0PSIyNCI+PC9kaXY+PGMtZGF0YSBpZD0iaTIiIGpzZGF0YT0iIGVDamREZDtfOzMiPjwvYy1kYXRhPjwvYy13aXo+PGRpdiBjbGFzcz0iRVFJb1NjIiBqc25hbWU9ImJOOTdQYyI+PGRpdiBqc25hbWU9InBhRmNyZSI+PGRpdiBjbGFzcz0iYU1meWRkIiBqc25hbWU9InRKSEpqIj48aDEgY2xhc3M9IlRuMExCZCIganNuYW1lPSJyNG5rZSI+U2lnbiBpbjwvaDE+PHAgY2xhc3M9ImEyQ1FoIiBqc25hbWU9IlZkU0pvYiI+dG8gY29udGludWUgdG8gR29vZ2xlIERyaXZlPC9wPjwvZGl2PjwvZGl2Pjxmb3JtIGFjdGlvbj0iL3YzL3NpZ25pbi9pZGVudGlmaWVyP2NvbnRpbnVlPWh0dHBzOi8vZHJpdmUudXNlcmNvbnRlbnQuZ29vZ2xlLmNvbS9kb3dubG9hZD9pZCUzRDBCd2ZjaEsyaU5PWWRURVpyV0RkTmFFWTFaRWsmYW1wO2RzaD1TMjAxNDEwOTYwOToxNzE0NjQ1Njg0MjE2ODMzJmFtcDtmbG93RW50cnk9U2VydmljZUxvZ2luJmFtcDtmbG93TmFtZT1XZWJMaXRlU2lnbkluJmFtcDtmb2xsb3d1cD1odHRwczovL2RyaXZlLnVzZXJjb250ZW50Lmdvb2dsZS5jb20vZG93bmxvYWQ/aWQlM0QwQndmY2hLMmlOT1lkVEVacldEZE5hRVkxWkVrJmFtcDtpZmt2PUFhU3hvUXo0SWpNUzlEamg2bElKWUhBdHdjQmNDODFnbVZqNXdVSXdsUGcwbXEwWVFmWFBtb0VVZ2J2S2xWSUthQTgyeFc2LWZ5MXAmYW1wO3NlcnZpY2U9d2lzZSIgbWV0aG9kPSJQT1NUIiBub3ZhbGlkYXRlPjxkaXYgY2xhc3M9ImlFaGJtZSIganNuYW1lPSJyRXVPMWIiPjxzZWN0aW9uIGNsYXNzPSJhTjFWbGQgIj48ZGl2IGNsYXNzPSJ5T25WSWIiIGpzbmFtZT0iTVpBcm5iIj48ZGl2IGNsYXNzPSJGdTVhWGQiIGpzbmFtZT0iZFdQS1ciPjxkaXYgY2xhc3M9IkZsZm9vYyI+PGRpdiBjbGFzcz0iVFJ1UmhkICBZS29vRGMiPjxkaXYgY2xhc3M9ImZqcFhsYyI+PGxhYmVsIGNsYXNzPSJkWFhOT2QiPjxpbnB1dCBjbGFzcz0ieHllekQiIGpzbmFtZT0iVWZuNk8iIHR5cGU9ImVtYWlsIiBuYW1lPSJpZGVudGlmaWVyIiBpZD0iaWRlbnRpZmllcklkIiBhdXRvZm9jdXMgYXV0b2NhcGl0YWxpemU9Im5vbmUiIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiIGRpcj0ibHRyIi8+PGRpdiBjbGFzcz0ibldQeDJlIj48ZGl2IGNsYXNzPSJZaGhZOCI+PC9kaXY+PGRpdiBjbGFzcz0iQ0NROTRiIj5FbWFpbCBvciBwaG9uZTwvZGl2PjxkaXYgY2xhc3M9InROQVNFZiI+PC9kaXY+PC9kaXY+PC9sYWJlbD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJGM3d4bGMiIGpzbmFtZT0iaDlkM2hkIj48L2Rpdj48ZGl2IGNsYXNzPSJOSFZHbGMiIGpzbmFtZT0iSklidVFjIj48L2Rpdj48L2Rpdj48cCBjbGFzcz0idk9adW4iIGpzbmFtZT0iT1pOTWViIiBhcmlhLWxpdmU9ImFzc2VydGl2ZSI+PC9wPjxwIGNsYXNzPSJ2T1p1biI+PGEgaHJlZj0iL3NpZ25pbi91c2VybmFtZXJlY292ZXJ5P2NvbnRpbnVlPWh0dHBzOi8vZHJpdmUudXNlcmNvbnRlbnQuZ29vZ2xlLmNvbS9kb3dubG9hZD9pZCUzRDBCd2ZjaEsyaU5PWWRURVpyV0RkTmFFWTFaRWsmYW1wO2RzaD1TMjAxNDEwOTYwOToxNzE0NjQ1Njg0MjE2ODMzJmFtcDtmbG93RW50cnk9U2VydmljZUxvZ2luJmFtcDtmbG93TmFtZT1XZWJMaXRlU2lnbkluJmFtcDtmb2xsb3d1cD1odHRwczovL2RyaXZlLnVzZXJjb250ZW50Lmdvb2dsZS5jb20vZG93bmxvYWQ/aWQlM0QwQndmY2hLMmlOT1lkVEVacldEZE5hRVkxWkVrJmFtcDtpZmt2PUFhU3hvUXo0SWpNUzlEamg2bElKWUhBdHdjQmNDODFnbVZqNXdVSXdsUGcwbXEwWVFmWFBtb0VVZ2J2S2xWSUthQTgyeFc2LWZ5MXAmYW1wO3NlcnZpY2U9d2lzZSIganNuYW1lPSJDdXoyVWUiPkZvcmdvdCBlbWFpbD88L2E+PC9wPjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0iaGlkZGVuUGFzc3dvcmQiIGNsYXNzPSJoSklSTyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiIGpzbmFtZT0iUkhlUjRkIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1c2kiIHZhbHVlPSJTMjAxNDEwOTYwOToxNzE0NjQ1Njg0MjE2ODMzIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkb21haW4iIHZhbHVlPSIiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZ2lvbiIgdmFsdWU9IlBMIj48c3BhbiBqc25hbWU9InhkSnRFZiI+PHNjcmlwdCBub25jZT0iLVhucU11cFJmR3ZNVFAydVY0TVc2USI+Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgdj1mdW5jdGlvbih3LGQsVixxLFosYixXLGcsSSxrLEosUyxQLHgsUixELFgsQixtLGEsUSxlLHApe2ZvcihtPTg0OzQyIT1tOylpZig1Mz09bSlwPWZ1bmN0aW9uKCl7fSxaPXZvaWQgMCx3PVQoVixmdW5jdGlvbihMLHQpe2Zvcih0PTkxOzkyIT10Oyk5Nj09dD8oZCYmTShkKSxaPUwscCgpLHA9dm9pZCAwLHQ9OTIpOjkxPT10JiYodD1wPzk2OjkyKX0sISFkKSxXPXdbMF0sYj13WzFdLGU9e2ludm9rZTpmdW5jdGlvbihMLHQsQyx5LHUsZixZKXtmb3IoZj01MTs5OSE9ZjspaWYoNTE9PWYpWT1mdW5jdGlvbigpe1ooZnVuY3Rpb24oRil7TShmdW5jdGlvbigpe0woRil9KX0sQyl9LGY9ODU7ZWxzZSBpZig2Mz09Zil1PXAscD1mdW5jdGlvbigpe00oKHUoKSxZKSl9LGY9OTk7ZWxzZSBpZig4NT09ZilmPXQ/NDE6OTE7ZWxzZSBpZig0MT09ZilmPVo/NTo2MztlbHNlIGlmKDU9PWYpWSgpLGY9OTk7ZWxzZSBpZig5MT09ZilyZXR1cm4geT1XKEMpLEwmJkwoeSkseX0scGU6ZnVuY3Rpb24oTCl7YiYmYihMKX19LG09MzQ7ZWxzZSBpZigwPT1tKVg9ZnVuY3Rpb24oKXt9LEI9ZnVuY3Rpb24oTCx0LEMpe2ZvcihMPSh0PTQ5LDk1KTs7KXRyeXtpZigxOT09dClicmVhaztlbHNle2lmKDg4PT10KXJldHVybiBMPTk1LCIiK0M7aWYoNDk9PXQpcmV0dXJuIEw9ODMsZy5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goL15oLyk/bnVsbDohMX19Y2F0Y2goeSl7aWYoOTU9PUwpdGhyb3cgeTs4Mz09TCYmKEM9eSx0PTg4KX19LGE9ZnVuY3Rpb24oKXsoSi5wdXNoKDYwLCtuZXcgRGF0ZS1TKSxjbGVhckludGVydmFsKFApLGIpW2RdPXZvaWQgMCxYKCksWD12b2lkIDB9LFE9ZnVuY3Rpb24oTCx0LEMpe2ZvcihDPTE7MzYhPUM7KTE9PUM/KHQ9K25ldyBEYXRlLEoucHVzaChWLHQtUyxMKSxDPTQ4KTo5Nj09Qz8oSi5wdXNoKDM1LHQtUyksYSgpLEM9MzYpOjQ4PT1DP0M9NTxMPzk2Ojg4Ojg4PT1DJiYoaz1MLHg9dCxnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpLHYoZywibG9hZCIsITEsNzIsZnVuY3Rpb24oeSx1KXtmb3IodT05NTs5NCE9dTspOTU9PXU/dT1MPT09az80MTo5NDo1OT09dT8oSi5wdXNoKDE1LCtuZXcgRGF0ZS1TKSxJPWcuY29udGVudFdpbmRvdyxnPW51bGwsaz0wLGNsZWFySW50ZXJ2YWwoUCksWCgpLFg9dm9pZCAwLHU9OTQpOjQxPT11Pyh5PUIoKSx1PTk4KTo5OD09dT91PW51bGw9PT15PzU5OjU3OjU3PT11JiYoSi5wdXNoKFosdC1TLHkpLEQoKSxRKEwrMSksdT05NCl9KSx2KGcsImVycm9yIiwhMSw3MSxmdW5jdGlvbih5KXtmb3IoeT0yNzs1MyE9eTspMjc9PXk/eT1MPT09az80Mzo1Mzo0Mz09eSYmKEoucHVzaCg2NCx0LVMpLEQoKSxRKEwrMSkseT01Myl9KSxnLnN0eWxlLmRpc3BsYXk9dyxnLnNyYz1XLFIuYXBwZW5kQ2hpbGQoZyksQz0zNil9LEQ9ZnVuY3Rpb24oKXtSLnJlbW92ZUNoaWxkKGcpLGc9bnVsbCxrPTB9LGc9bnVsbCxKPVtdLGs9MCxiW2RdPWZ1bmN0aW9uKEwsdCxDKXtmb3IoQz0yNTs5OCE9QzspOT09Qz8odD1YLFg9ZnVuY3Rpb24oKXsodCgpLHNldFRpbWVvdXQpKGZ1bmN0aW9uKCl7TChJLEopfSwwKX0sQz05OCk6MjU9PUM/Qz1YPzk6MTE6MTE9PUMmJihMKEksSiksQz05OCl9LFM9K25ldyBEYXRlLFI9ZG9jdW1lbnQuYm9keXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmxhc3RDaGlsZCxQPXNldEludGVydmFsKGZ1bmN0aW9uKEwsdCxDLHkpe2Zvcih5PTEzOzE4IT15OykxND09eT8oQz1rLEw9K25ldyBEYXRlLHk9NzMpOjM4PT15PyhKLnB1c2goNjYsTC1TKSxEKCksYSgpLHk9MTgpOjEzPT15P3k9Zz8xNDoxODo3OT09eT95PSh0PUIoKSk/MTY6NjI6ODc9PXk/KEoucHVzaCg4NyxMLVMpLEQoKSxRKEMrMSkseT0xOCk6MTY9PXk/KEoucHVzaCg5MyxMLVMsdCksRCgpLFEoQysxKSx5PTE4KTo2Mj09eT95PTZFMzxMLXg/ODc6MTg6NzM9PXkmJih5PTJFNDxMLVM/Mzg6NzkpfSw1MTIpLFEoMSksbT00NztlbHNlIGlmKDI4PT1tKW09ND09cS03Pj40PzYwOjQ7ZWxzZSBpZigxPT1tKWc9RSxnW1ZdfHx2KGQsVixaLDcsdyxnLGIpLGdbVl0oVyksbT0xNDtlbHNlIGlmKDg0PT1tKW09Mjg7ZWxzZXtpZigzNz09bSlyZXR1cm4gZTszND09bT9tPShxKzUmMjYpPj1xJiYocSs5XjIwKTxxPzA6NDc6NjA9PW0/KHcuYWRkRXZlbnRMaXN0ZW5lcihkLFosViksbT00KTo0PT1tP209KHF8ODgpPT1xPzUzOjM0OjE0PT1tP209KHEtMV44KT49cSYmKHErMl4xNik8cT80NDozNzo0ND09bT8oZT0oVz1FW1Yuc3Vic3RyaW5nKDAsMykrIl8iXSk/VyhWLnN1YnN0cmluZygzKSxkLHcsWixiKTpBKDQwLGQsNyxWKSxtPTM3KTo0Nz09bSYmKG09cT4+MiYxNT8xNDoxKX19LEE9ZnVuY3Rpb24odyxkLFYscSxaLGIsVyxnLEksayl7Zm9yKGs9NTc7MTkhPWs7KWlmKDc2PT1rKUk9KGc9eig0NiwyLDMyLDE0LCJlcnJvciIsWixxKSkmJjE9PT1XLmV2YWwoZy5jcmVhdGVTY3JpcHQoYikpP2Z1bmN0aW9uKEope3JldHVybiBnLmNyZWF0ZVNjcmlwdChKKX06ZnVuY3Rpb24oSil7cmV0dXJuIGQrSn0saz0zMztlbHNlIGlmKDcxPT1rKWQoZnVuY3Rpb24oSil7SihxKX0pLEk9W2Z1bmN0aW9uKCl7cmV0dXJuIHF9LGZ1bmN0aW9uKCl7fV0saz01O2Vsc2UgaWYoNT09aylrPShWfHcpPT1WPzcwOjM3O2Vsc2UgaWYoMjU9PWspaz0oVisxXjIpPFYmJlYtMTw8MT49Vj83NjozMztlbHNlIGlmKDcwPT1rKUk9ZCxrPTM3O2Vsc2UgaWYoNTc9PWspaz0yNTtlbHNlIGlmKDMzPT1rKWs9Vi02Pj40PzU6NzE7ZWxzZSBpZigzNz09aylyZXR1cm4gSX0sbD1mdW5jdGlvbih3LGQsVixxLFosYixXKXtmb3IoVz02Mzs5MyE9VzspaWYoMjY9PVcpVz0od141OCk+PjQ/OTU6MzQ7ZWxzZSBpZig2Mz09VylXPTU7ZWxzZSBpZig5OD09VyliPU8/ISFoJiZoLmJyYW5kcy5sZW5ndGg+ZDohMSxXPTgzO2Vsc2UgaWYoMzQ9PVcpe2E6e2lmKFo9ci5uYXZpZ2F0b3IpaWYoVj1aLnVzZXJBZ2VudCl7cT1WO2JyZWFrIGF9cT0iIn1iPShXPTk1LC0xKSE9cS5pbmRleE9mKGQpfWVsc2UgaWYoMTk9PVcpYj1sKDI0LDApP2woNDIsIkNocm9taXVtIik6KGwoNTQsIkNocm9tZSIpfHxsKDUyLCJDcmlPUyIpKSYmIShsKDE2LDApPzA6bCg1MCwiRWRnZSIpKXx8bCg0OCxkKSxXPTUzO2Vsc2UgaWYoMzk9PVcpYj1PP2g/aC5icmFuZHMuc29tZShmdW5jdGlvbihnLEkpe3JldHVybihJPWcuYnJhbmQpJiYtMSE9SS5pbmRleE9mKGQpfSk6ITE6ITEsVz0yNjtlbHNlIGlmKDgzPT1XKVc9KHd8NDApPT13PzM5OjI2O2Vsc2UgaWYoNT09VylXPTA8PXcrMz4+NCYmMTc+KHd8MSk/MTk6NTM7ZWxzZSBpZig1Mz09VylXPSh3JjkwKT09dz85ODo4MztlbHNlIGlmKDk1PT1XKXJldHVybiBifSxPLHI9dGhpc3x8c2VsZixKcj1mdW5jdGlvbih3LGQsVixxLFosYil7cmV0dXJuIHYuY2FsbCh0aGlzLFYsZCx3LDg5LHEsWixiKX0sRz1mdW5jdGlvbih3KXtyZXR1cm4gQS5jYWxsKHRoaXMsNDAsdyw0MCl9LHo9ZnVuY3Rpb24odyxkLFYscSxaLGIsVyxnLEksayxKLFMpe2ZvcihTPShKPTQ1LGQpOzspdHJ5e2lmKEo9PVYpYnJlYWs7ZWxzZSBpZig0NT09SilnPXIudHJ1c3RlZFR5cGVzLEk9YixKPTcxO2Vsc2UgaWYoNjQ9PUopci5jb25zb2xlW1pdKGsubWVzc2FnZSksSj02MDtlbHNle2lmKDY9PUopcmV0dXJuIEk7aWYoSj09cSlTPWQsSj13O2Vsc2UgaWYoSj09dylKPXIuY29uc29sZT82NDo2MDtlbHNlIGlmKDcxPT1KKUo9ZyYmZy5jcmVhdGVQb2xpY3k/NDk6NjtlbHNle2lmKDYwPT1KKXJldHVybiBTPWQsSTs0OT09SiYmKFM9NjcsST1nLmNyZWF0ZVBvbGljeShXLHtjcmVhdGVIVE1MOkcsY3JlYXRlU2NyaXB0OkcsY3JlYXRlU2NyaXB0VVJMOkd9KSxKPTYwKX19fWNhdGNoKFApe2lmKFM9PWQpdGhyb3cgUDs2Nz09UyYmKGs9UCxKPXEpfX0sVD1mdW5jdGlvbih3LGQsVixxLFosYil7cmV0dXJuIHYuY2FsbCh0aGlzLFYsZCx3LDIzLHEsWixiKX0sTjthOntmb3IodmFyIGM9WyJDTE9TVVJFX0ZMQUdTIl0sVT0wLEs9cjtVPGMubGVuZ3RoO1UrKylpZihLPUtbY1tVXV0sbnVsbD09Syl7Tj1udWxsO2JyZWFrIGF9Tj1LfXZhciBFLEg9TiYmTls2MTA0MDEzMDFdLG49ci5uYXZpZ2F0b3I7Tz1udWxsIT1IP0g6ITE7dmFyIGgsTT1yLnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24odyl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe3coKX0se3RpbWVvdXQ6NH0pfTpyLnNldEltbWVkaWF0ZT9mdW5jdGlvbih3KXtzZXRJbW1lZGlhdGUodyl9OmZ1bmN0aW9uKHcpe3NldFRpbWVvdXQodywwKX07KEU9KCFsKDQ5LChsKDYsKCFsKDU1LChoPW4/bi51c2VyQWdlbnREYXRhfHxudWxsOm51bGwsIkFuZHJvaWQiKSl8fGwoMywiU2lsayIpLCJTaWxrIikpLCJTYWZhcmkiKSl8fGwoNSwiU2lsayIpfHwobCg2NiwwKT8wOmwoNTMsIkNvYXN0IikpfHwobCgxOCwwKT8wOmwoNTEsIk9wZXJhIikpfHwobCgyNiwwKT8wOmwoNDksIkVkZ2UiKSl8fChsKDY0LDApP2woNDEsIk1pY3Jvc29mdCBFZGdlIik6bCg0OCwiRWRnLyIpKXx8bCg3MiwwKSYmbCg0MCwiT3BlcmEiKSxyLmJvdGd1YXJkKXx8KHIuYm90Z3VhcmQ9e30pLDQwPEUubXx8KEUubT00MSxFLmJnPUpyLEUuYT1UKSxFKS5ld0VfPWZ1bmN0aW9uKHcsZCxWLHEsWixiLFcsZyxJKXtyZXR1cm4gdigyOSwibm9uZSIsImYiLChnPWF0b2IoKGI9dy5sYXN0SW5kZXhPZigiLy8iKSx3KS5zdWJzdHIoYisyKSksMyksODIsZyxmdW5jdGlvbihrLEosUyxQLHgsUixELFgpe2ZvcihSPTI4LFg9MjI7Oyl0cnl7aWYoOTQ9PVIpYnJlYWs7ZWxzZSBpZig4MD09UilTPUEoNDAsZCw4LHgpLEk9U1sxXSxXPVNbMF0sUj05NDtlbHNlIGlmKDUxPT1SKVI9az8xMDo4MDtlbHNlIGlmKDI4PT1SKXg9IkZOTCIrSixSPTUxO2Vsc2UgaWYoMTA9PVIpe1c9KEk9KFA9ay5ldmFsKEEoNDAsIiIsNSwoWD0zMCwiYmciKSxudWxsLCIxIixrKShBcnJheSg3ODI0Kk1hdGgucmFuZG9tKCl8MCkuam9pbigiXG4iKStbJy8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0nLAonKGZ1bmN0aW9uKCl7LyonLAonJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgeVY9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxLHQpe2Zvcih0PWs7OTIhPXQ7KWlmKDQxPT10KXQ9IiI9PT1WfHx2b2lkIDA9PVY/NTo2MztlbHNlIGlmKDg1PT10KUFycmF5LmlzQXJyYXkoVikmJihWPVYuam9pbigiICIpKSxDPSJhcmlhLSIrVyx0PTQxO2Vsc2UgaWYoOTY9PXQpdD0yPT0oSl4zNyk+PjM/NTE6MzQ7ZWxzZSBpZigxND09dClnPXt9LEpyPShnLmF0b21pYz1mYWxzZSxnLmF1dG9jb21wbGV0ZT0ibm9uZSIsZy5kcm9wZWZmZWN0PSJub25lIixnLmhhc3BvcHVwPWZhbHNlLGcubGl2ZT0ib2ZmIixnLm11bHRpbGluZT1mYWxzZSxnLm11bHRpc2VsZWN0YWJsZT1mYWxzZSxnLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsZy5yZWFkb25seT1mYWxzZSxnLnJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCIsZy5yZXF1aXJlZD1mYWxzZSxnW3ldPSJub25lIixnLmJ1c3k9ZmFsc2UsZy5kaXNhYmxlZD1mYWxzZSxnLmhpZGRlbj1mYWxzZSxnLmludmFsaWQ9dyxnKSx0PTE7ZWxzZSBpZigzND09dCl0PTE9PShKLTQmNyk/OTA6ODQ7ZWxzZSBpZigxPT10KUw9SnIsVyBpbiBMP2Quc2V0QXR0cmlidXRlKEMsTFtXXSk6ZC5yZW1vdmVBdHRyaWJ1dGUoQyksdD05OTtlbHNlIGlmKDg0PT10KXQ9KEomMTI0KT09Sj84NTo5OTtlbHNlIGlmKDU9PXQpdD1Kcj8xOjE0O2Vsc2V7aWYoOTk9PXQpcmV0dXJuIHE7NTE9PXQ/KDA9PT10aGlzLm4/cT1bMCwwXToodGhpcy5ILnNvcnQoZnVuY3Rpb24oYixtKXtyZXR1cm4gYi1tfSkscT1bdGhpcy5uLHRoaXMuSFt0aGlzLkgubGVuZ3RoPj4xXV0pLHQ9MzQpOjkwPT10PyhxPVdHKDE4LGQsMCxXKSYmISEoVy5sJmQpIT13JiYoIShXLkU4JmQpfHxXLmRpc3BhdGNoRXZlbnQodzYoMTMseSwyLDgsMTYsZCx3KSkpJiYhVy5MLHQ9ODQpOjYzPT10PyhkLnNldEF0dHJpYnV0ZShDLFYpLHQ9OTkpOnQ9PWsmJih0PTk2KX19LFo9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyl7Zm9yKGc9NDE7OTEhPWc7KWlmKDEwPT1nKUoua1M9ZnVuY3Rpb24oKXtyZXR1cm4gSi5vMT9KLm8xOkoubzE9bmV3IEp9LEoubzE9dm9pZCAwLGc9NDM7ZWxzZSBpZig4Nz09Zyl5PUpbZzZdLEw9eSBpbnN0YW5jZW9mIExzP3k6bnVsbCxnPTUwO2Vsc2UgaWYoNTA9PWcpZz0oay00XjE2KTxrJiYoay05XjEyKT49az8xMDo0MztlbHNlIGlmKDk9PWcpZz0oa3wxKT4+Mz81MDo4NztlbHNlIGlmKDU3PT1nKWc9Mz09KGstOCYyMyk/Mjc6OTtlbHNlIGlmKDgyPT1nKVc9eSxXPShkPVc8PDEzLChXfDApK34oVyZkKS0oV3x+ZCkpLFc9KEM9Vz4+MTcsLTIqKFcmQyktMip+KFd8QykrKFd8fkMpKyh+V3xDKSksVz0oVj1XPDw1LC0oVnwwKSsoV3xWKSt+KFcmViktflYpLChXJj13KXx8KFc9MSksTD0tKEp8MCktMS1+VysyKihKJn5XKSxnPTgxO2Vsc2UgaWYoNTk9PWcpZz0yPT0oazw8MSYxNSk/NTM6NTc7ZWxzZXtpZig4MT09ZylyZXR1cm4gTDs1Mz09Zz8oZD1kNigyOSw3LEoseSx3KSwoVz0wPD1kKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKHcsZCxKKSxMPVcsZz01Nyk6NDM9PWc/Zz0oa3w0OCk9PWs/ODI6ODE6Mjc9PWc/KHc9SixMPWZ1bmN0aW9uKCl7cmV0dXJuIHc8eS5sZW5ndGg/e2RvbmU6ZmFsc2UsdmFsdWU6eVt3KytdfTp7ZG9uZTp0cnVlfX0sZz05KTo0MT09ZyYmKGc9NTkpfX0sVlY9ZnVuY3Rpb24oayxKLHksdyxXKXtmb3IoVz05OzY4IT1XOylpZigxOD09VylXPShKXjQzKT4+ND81NDoxNDtlbHNlIGlmKDYyPT1XKXRoaXMuc3JjPXksdGhpcy5Bej0wLHRoaXMuSz17fSxXPTE4O2Vsc2UgaWYoOT09VylXPWs7ZWxzZXtpZigxMz09VylyZXR1cm4gdztXPT1rP1c9KEp8MjQpPT1KPzYyOjE4OjE0PT1XPyh0aGlzW3RoaXMrIiJdPXRoaXMsVz01NCk6NTQ9PVc/Vz0yPD0oSj4+MSY3KSYmMz4oSi02JjQpPzczOjEzOjczPT1XJiYodz1NYXRoLmZsb29yKHRoaXMubygpKSxXPTEzKX19LGJVPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcscSx0LGIsbSl7Zm9yKGI9NTU7NDIhPWI7KWlmKDI4PT1iKXRoaXMubisrLHk9ay10aGlzLkkxLHRoaXMuSTErPXkvdGhpcy5uLHRoaXMuTXErPXkqKGstdGhpcy5JMSksYj04NDtlbHNlIGlmKDQ9PWIpcT15LGI9NDc7ZWxzZSBpZig0MD09YikodD1nLnhTKHcsVyxMLFYpKSYmdHIoOCw2LHQsIm9uIiwwKSxiPTY5O2Vsc2UgaWYoNjA9PWIpcSsrLGI9Mzc7ZWxzZSBpZig0MT09YiliPWc/NDA6Njk7ZWxzZXtpZig4ND09YilyZXR1cm4gbTs3Mj09Yj9iPUFycmF5LmlzQXJyYXkodyk/NDozNDo2OT09Yj9iPShKJjg5KT09Sj8yODo4NDo1NT09Yj9iPTU3OjM3PT1iP2I9cTx3Lmxlbmd0aD81Mzo2OTo1Mz09Yj8oYlUoIm9iamVjdCIsMTksMCx3W3FdLFcsZCxWLEMpLGI9NjApOjQ3PT1iP2I9Mzc6NDQ9PWI/KGc9Wig1LGQpLGI9NDEpOjA9PWI/KGQuai5yZW1vdmUoU3RyaW5nKHcpLFYsTCxXKSxiPTY5KTozND09Yj8oTD11KEMsayw0Mik/ISFDLmNhcHR1cmU6ISFDLFY9WChWLDEwKSxiPTE0KToxPT1iP2I9ZD80NDo2OToxND09Yj9iPWQmJmRbbUZdPzA6MTo1Nz09YiYmKGI9ND4oSj4+MSY2KSYmMTc8PShKfDQpPzcyOjY5KX19LFE9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDKXtpZigwPD15KzM+PjQmJjE3Pih5fDEpKXtmb3IoZD0oVz1mKHcsMTMpLEopO2s+SjtrLS0pZD1kPDw4fFR4KDEsdyw4KTt4KHcsVyxkKX1pZighKCgoeXwoKHkmOTApPT15JiYodz1UeCgxLGssOCksMiood3wxMjgpLSAtMit+KHd8MTI4KSsofndeMTI4KSYmKHc9dyZKfFR4KDEsayw4KTw8NyksQz13KSw0MCkpPT15JiYodz1qOFtrLm1dKGsuclkpLHdbay5tXT1mdW5jdGlvbigpe3JldHVybiBKfSx3LmNvbmNhdD1mdW5jdGlvbihMKXtKPUx9LEM9dykseV41OCk+PjQpKWlmKFY9ImFycmF5Ij09PVM4KCJudWxsIiwiY2FsbCIsdyk/dzpbd10sdGhpcy5BKUoodGhpcy5BKTtlbHNlIHRyeXtkPVtdLFc9IXRoaXMuSS5sZW5ndGgsWlUoMywwLHRoaXMsW0lILGQsVl0pLFpVKDEwLDAsdGhpcyxbUkgsSixkXSksayYmIVd8fHVVKDM4LHRydWUsayx0cnVlLHRoaXMpfWNhdGNoKEwpe1goMjA0OCw3MSxMLHRoaXMpLEoodGhpcy5BKX1yZXR1cm4gQ30sdzY9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxLHQsYixtKXtmb3IoYj0ocT03MSw3MCk7Oyl0cnl7aWYoNzY9PXEpYnJlYWs7ZWxzZSBpZig1ND09cSlxPTE9PShrPj4yJjcpPzYxOjY0O2Vsc2UgaWYoOTM9PXEpcT1WLkkubGVuZ3RoPzM1OjQwO2Vsc2UgaWYoOTU9PXEpYj03MCxYKEosMzksbSxWKSxxPTUzO2Vsc2UgaWYoMTY9PXEpe2E6e3N3aXRjaChkKXtjYXNlIEo6dD1WPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgeTp0PVY/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgNDp0PVY/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIHc6dD1WPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIFc6dD1WPyJjaGVjayI6InVuY2hlY2siO2JyZWFrIGE7Y2FzZSAzMjp0PVY/ImZvY3VzIjoiYmx1ciI7YnJlYWsgYTtjYXNlIDY0OnQ9Vj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31xPTM2fWVsc2UgaWYoNjc9PXEpcT0oa3w0OCk9PWs/ODk6NTQ7ZWxzZSBpZigxOT09cSlMPVYuSixMKGZ1bmN0aW9uKCl7dVUoMzkseSx5LHksVil9KSxxPTQwO2Vsc2UgaWYoNjM9PXEpcT05MztlbHNlIGlmKDYxPT1xKXE9NjQ7ZWxzZSBpZig3MT09cSlxPTY3O2Vsc2UgaWYoNjQ9PXEpcT1rLTU8PDI+PWsmJihrLTVeOSk8az8xNjozNjtlbHNlIGlmKDgzPT1xKXE9ZCYmVi5KPzE5OjYzO2Vsc2UgaWYoNDA9PXEpdD1nLHE9NTQ7ZWxzZSBpZig1PT1xKWI9MjYsZz1YVCh3LFYsVyxDKSxxPTUzO2Vsc2UgaWYoODk9PXEpcT05MztlbHNlIGlmKDM1PT1xKVYuSj1udWxsLEM9Vi5JLnBvcCgpLHE9NTtlbHNle2lmKDM2PT1xKXJldHVybiB0OzUzPT1xJiYoYj03MCxxPTgzKX19Y2F0Y2goVCl7aWYoNzA9PWIpdGhyb3cgVDsyNj09YiYmKG09VCxxPTk1KX19LHRyPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcscSl7Zm9yKGc9Njs2MCE9ZzspaWYoMzc9PWcpVj15LmNsYXNzTGlzdC5jb250YWlucyhkKSxnPTMyO2Vsc2UgaWYoNj09ZylnPTE0O2Vsc2UgaWYoMj09ZylnPXkuY2xhc3NMaXN0PzM3OjIwO2Vsc2V7aWYoNjQ9PWcpcmV0dXJuIHE7MjA9PWc/KEM9dSh5LCIiLDMwKSxWPWQ2KDI5LDksdyxkLEMpPj1XLGc9MzIpOjc3PT1nP2c9ZCYmZFttRl0/azo5NDo0Nj09Zz9nPShKKzQmMzEpPEomJihKKzNeMTYpPj1KPzI6NjQ6MTA9PWc/KEwuc3JjPW51bGwsZFtnNl09bnVsbCxnPTQ2KTozNj09Zz8oZD15LnNyYyxnPTc3KToxNj09Zz9nPSJudW1iZXIiIT09dHlwZW9mIHkmJnkmJiF5LlVyPzM2OjQ2OjgwPT1nP2c9TC5Bej09Vz8xMDo0NjpnPT1rPyhmcygxNixkLmosVyx5KSxnPTQ2KToxND09Zz9nPS03NTw9Sis2JiY0PihKPDwyJjQpPzE2OjQ2OjIyPT1nPyhmcygzLEwsVyx5KSxnPTgwKTo5ND09Zz8oVj15LnR5cGUsQz15LnByb3h5LGQucmVtb3ZlRXZlbnRMaXN0ZW5lcj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoVixDLHkuY2FwdHVyZSk6ZC5kZXRhY2hFdmVudD9kLmRldGFjaEV2ZW50KGQ2KDI5LDU4LHcsViksQyk6ZC5hZGRMaXN0ZW5lciYmZC5yZW1vdmVMaXN0ZW5lciYmZC5yZW1vdmVMaXN0ZW5lcihDKSxQRy0tLEw9Wig2LGQpLGc9MjgpOjUxPT1nPyhNcCgzMix5LDMwLHRydWUpLGc9NDYpOjI4PT1nP2c9TD8yMjo1MTozMj09ZyYmKHE9VixnPTY0KX19LERVPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcscSl7Zm9yKHE9NTg7NTkhPXE7KXtpZihxPT1KKXJldHVybiBnO3E9PWs/cT0oeSY1OSk9PXk/NjA6Sjo1OD09cT9xPTc5OjM5PT1xPyhMPXR5cGVvZiBWLEM9TCE9Vz9MOlY/QXJyYXkuaXNBcnJheShWKT8iYXJyYXkiOkw6Im51bGwiLGc9Qz09ZHx8Qz09VyYmdHlwZW9mIFYubGVuZ3RoPT13LHE9ayk6Nzk9PXE/cT0oeSY2Mik9PXk/Mzk6azo2MD09cSYmKHRoaXMuTD10aGlzLkwsdGhpcy5WNj10aGlzLlY2LHE9Sil9fSx2Rz1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCl7Zm9yKEM9MzM7OTYhPUM7KWlmKDgzPT1DKXthOntmb3IoViBpbiBkKWlmKFcuY2FsbCh2b2lkIDAsZFtWXSxWLGQpKXtMPXk7YnJlYWsgYX1MPUp9Qz00MX1lbHNlIGlmKDk9PUMpQz0odys2XjE0KT49dyYmKHctMV5rKTx3PzQzOjQ1O2Vsc2UgaWYoNDU9PUMpQz13Pj4xJjY/NDE6ODM7ZWxzZSBpZig0PT1DKXkuTD1KLHkuUygpLEM9NDU7ZWxzZXtpZig0MT09QylyZXR1cm4gTDszMz09Qz9DPTk6NDM9PUMmJihDPXkuTD80NTo0KX19LEE9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyl7Zm9yKGc9ODk7NzkhPWc7KWlmKDg0PT1nKWc9az83Njo2NjtlbHNlIGlmKDk9PWcpe2ZvcihkIGluKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodShrLChXPXt9LCIiKSwzMSksZnVuY3Rpb24ocSl7V1txXT10cnVlfSksQXJyYXkucHJvdG90eXBlLmZvckVhY2gpLmNhbGwoeSxmdW5jdGlvbihxKXtXW3FdPXRydWV9KSx3PSIiLFcpdys9MDx3Lmxlbmd0aD8iICIrZDpkO2c9KEEoImNsYXNzIiw2LGssdyksMzgpfWVsc2UgaWYoNTI9PWcpe2E6e2ZvcihWPWs7Vjx5Lmxlbmd0aDsrK1YpaWYoQz15W1ZdLCFDLlVyJiZDLmxpc3RlbmVyPT1XJiZDLmNhcHR1cmU9PSEhZCYmQy5pVz09dyl7TD1WO2JyZWFrIGF9TD0tMX1nPTU1fWVsc2UgaWYoMzg9PWcpZz0zMz5KLTImJjE5PD1KPDwyPzk0OjI7ZWxzZSBpZigyNj09ZylBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHksZnVuY3Rpb24ocSx0LGIpe2ZvcihiPTM1OzUyIT1iOykzOT09Yj9iPXRyKDgsMzEsaywxLDAscSk/NTI6MzE6MzE9PWI/KHQ9c0QoMzYsOCwiIiwiY2xhc3MiLGspLEEoImNsYXNzIiw1LGssdCsoMDx0Lmxlbmd0aD8iICIrcTpxKSksYj01Mik6MzU9PWI/Yj1rLmNsYXNzTGlzdD8xNjozOToxNj09YiYmKGsuY2xhc3NMaXN0LmFkZChxKSxiPTUyKX0pLGc9Mzg7ZWxzZSBpZig3Nj09ZylnPSJmdW5jdGlvbiIhPT10eXBlb2YgeT8zMjo3MTtlbHNle2lmKDMyPT1nKXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK3kpO2lmKDY2PT1nKXRocm93IEVycm9yKCJJbnZhbGlkIGNsYXNzIG5hbWUgIitrKTtpZig5ND09Zykic3RyaW5nIj09dHlwZW9mIHkuY2xhc3NOYW1lP3kuY2xhc3NOYW1lPXc6eS5zZXRBdHRyaWJ1dGUmJnkuc2V0QXR0cmlidXRlKGssdyksZz0yO2Vsc2UgaWYoMTA9PWcpZz1rLmNsYXNzTGlzdD8yNjo5O2Vsc2UgaWYoNzE9PWcpZz0oSis4XjQpPj1KJiYoSi01fDEzKTxKPzUyOjU1O2Vsc2UgaWYoMj09ZylnPShKfDU2KT09Sj84NDo3MTtlbHNlIGlmKDg5PT1nKWc9Mjc7ZWxzZSBpZigyNz09ZylnPShKfDcyKT09Sj8xMDozODtlbHNlIGlmKDU1PT1nKXJldHVybiBMfX0sRUQ9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxLHQpe2Zvcih0PTE0OzM3IT10OylpZigxOT09dClDPShMPU9iamVjdC5nZXRQcm90b3R5cGVPZihDLnByb3RvdHlwZSkpJiZMLmNvbnN0cnVjdG9yLHQ9OTk7ZWxzZSBpZigyMj09dClWPWQ/ImZ1bmN0aW9uIj09PXR5cGVvZiBkLmtTP2Qua1MoKTpuZXcgZDpudWxsLHQ9OTI7ZWxzZSBpZigyOT09dCl0PShWPXcpPzkyOjkwO2Vsc2UgaWYoNzU9PXQpdD0oSi03fDEwKTxKJiYoSi04fDE5KT49Sj8xMzo3MztlbHNlIGlmKDU4PT10KXQ9SitrPj40Pzc1OjIxO2Vsc2UgaWYoOTA9PXQpQz10aGlzLmNvbnN0cnVjdG9yLHQ9NDtlbHNle2lmKDczPT10KXJldHVybiBxOzE0PT10P3Q9NTg6NDA9PXQ/dD0oZD14TFtnXSk/NzE6MTk6OTI9PXQ/KHRoaXMuWj1WLHQ9NzMpOjEzPT10PyhCRy5jYWxsKHRoaXMsVyksdD0yOSk6OTk9PXQ/dD0zODoyMT09dD8oaVUuY2FsbCh0aGlzKSx5fHxRVnx8KFFWPW5ldyBwcyksdGhpcy5iVz10aGlzLkI9bnVsbCx0aGlzLnY9dm9pZCAwLHRoaXMuR0w9bnVsbCx0aGlzLlhzPWZhbHNlLHRoaXMuc3I9dGhpcy5jQT1udWxsLHRoaXMueTk9ZmFsc2UsdD03NSk6ND09dD90PTM4OjE3PT10PyhnPXNEKDM2LDI3LEMpLHQ9NDApOjM4PT10P3Q9Qz8xNzoyMjo3MT09dCYmKHQ9MjIpfX0sZnM9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxLHQpe2ZvcihxPTkyOzY3IT1xOylpZigyOD09cSlxPVcgaW4gSi5LJiZaKDksMSx3LEouS1tXXSk/ODE6NDI7ZWxzZSBpZigxNj09cSlWPUM9MCxxPTcxO2Vsc2UgaWYoNTI9PXEpcT0oayY1MSk9PWs/Nzo0MjtlbHNlIGlmKDQ4PT1xKXE9MTI8PSgoa14xNikmMTUpJiYyOT5rLTU/MTY6OTc7ZWxzZSBpZig1Mz09cSlkZWxldGUgSi5LW1ddLEouQXotLSxxPTQyO2Vsc2UgaWYoNjM9PXEpcT1KLktbV10ubGVuZ3RoPT15PzUzOjQyO2Vsc2UgaWYoOTc9PXEpcT0yNz4oa14zNCkmJjc8PWs+PjI/NjI6NTI7ZWxzZSBpZigxMj09cSlxPVY8eS5sZW5ndGg/Mzc6ODQ7ZWxzZSBpZig2Mj09cSlWPW5ldyBoKGQseSxKLFcpLHQ9W2Z1bmN0aW9uKGIpe3JldHVybiBXRyg1NSxWLGZhbHNlLGIpfSxmdW5jdGlvbihiKXtWLldBKGIpfV0scT01MjtlbHNlIGlmKDcxPT1xKXE9MTI7ZWxzZXtpZig0Mj09cSlyZXR1cm4gdDszNz09cT8oQys9eS5jaGFyQ29kZUF0KFYpLEMrPUM8PDEwLEM9KGQ9Qz4+NiwtKEMmZCktMS1+KEN8ZCkpLHE9NjQpOjc9PXE/KFc9dy50eXBlLHE9MjgpOjg0PT1xPyhDKz1DPDwzLEM9KEw9Qz4+MTEsKEx8MCktKEMmTCkrKEMmfkwpKSxnPUMrKEM8PDE1KT4+PjAsVz1uZXcgTnVtYmVyKGcmKDE8PEopLTEpLFdbMF09KGc+Pj5KKSV3LHQ9VyxxPTk3KTo4MT09cT8oTXAoMzIsdywyOCx0cnVlKSxxPTYzKTo2ND09cT8oVisrLHE9MTIpOjkyPT1xJiYocT00OCl9fSxzRD1mdW5jdGlvbihrLEoseSx3LFcsZCxWKXtmb3IoVj05MDsxOSE9VjspaWYoMzk9PVYpdGhpcy5uKyssVj0yNDtlbHNlIGlmKDQyPT1WKXRoaXMuSC5wdXNoKHkpLFY9MjY7ZWxzZSBpZigyNj09VilWPUo8PDEmMTU/Mjc6aztlbHNlIGlmKDM9PVYpVj0xPT1KLTM+PjM/MDoyMTtlbHNlIGlmKDczPT1WKWQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHksQXIpJiZ5W0FyXXx8KHlbQXJdPSsrengpLFY9MztlbHNlIGlmKDI3PT1WKVY9Mz09KEotNCYxMSk/NzM6MztlbHNlIGlmKDA9PVYpT0QuY2FsbCh0aGlzKSx0aGlzLmo9bmV3IExzKHRoaXMpLHRoaXMuYnY9dGhpcyx0aGlzLkVyPW51bGwsVj0yMTtlbHNle2lmKDIxPT1WKXJldHVybiBkOzkwPT1WP1Y9NDQ6NDQ9PVY/Vj0oSiY3MSk9PUo/Mzk6MjY6MjQ9PVY/Vj01MD50aGlzLkgubGVuZ3RoPzQyOjg5Ojg5PT1WPyh3PU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLDUwPncmJih0aGlzLkhbd109eSksVj0yNik6Vj09ayYmKGQ9InN0cmluZyI9PXR5cGVvZiBXLmNsYXNzTmFtZT9XLmNsYXNzTmFtZTpXLmdldEF0dHJpYnV0ZSYmVy5nZXRBdHRyaWJ1dGUodyl8fHksVj0yNyl9fSxXRz1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnLHEpe2ZvcihxPTM5OzMyIT1xOylpZigxNT09cSlxPTQ4O2Vsc2UgaWYoNjY9PXEpTCsrLHE9NDg7ZWxzZXtpZig2OD09cSlyZXR1cm4gZzsyOD09cT9xPTE3Pms+PjEmJjU8PShrKzcmMTEpPzc2OjY4OjcyPT1xPyhXRyg5LGZhbHNlLCJvYmplY3QiLHdbTF0sVyxkLFYsQykscT02Nik6NzY9PXE/KGc9ISEoVz13LmZ6LChXfHkpLShXXkopKyh+VyZKKSkscT02OCk6MTM9PXE/KEw9MCxxPTE1KTo4Nj09cT8oSi5KeihmdW5jdGlvbih0KXtXPXR9LHksdyksZz1XLHE9NDEpOjI3PT1xP3E9QXJyYXkuaXNBcnJheSh3KT8xMzo1ODo5MD09cT8oJEwoMTcsMCx5LFYsVyx3LGQsQykscT02MSk6NjE9PXE/cT1rKzM+PjI8ayYmKGsrOSY3Mik+PWs/ODY6NDE6MjA9PXE/cT0xNTw9ays2JiYyMD4oa3w5KT8wOjYxOjQ4PT1xP3E9TDx3Lmxlbmd0aD83Mjo2MTo0MT09cT9xPTc8PShrPj4yJjE1KSYmOT4oazw8MSYxNCk/OToyODo5PT1xPyh0aGlzLmxpc3RlbmVyPVcsdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPXcsdGhpcy50eXBlPXksdGhpcy5jYXB0dXJlPSEhSix0aGlzLmlXPWQsdGhpcy5rZXk9Kytocix0aGlzLlVyPXRoaXMubFc9ZmFsc2UscT0yOCk6Mzk9PXE/cT0yMDo1OD09cT8oVz1YKFcsMyksQyYmQ1ttRl0/Qy5qLmFkZChTdHJpbmcodyksVyxKLHUoZCx5LDQzKT8hIWQuY2FwdHVyZTohIWQsVik6ZTgoNSxkLHcsZmFsc2UsQywib2JqZWN0IixXLEosVikscT02MSk6MD09cSYmKHE9ZCYmZC5vbmNlPzkwOjI3KX19LEd4PWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcpe2ZvcihnPTM2OzEhPWc7KXtpZig5MT09ZylyZXR1cm4gTDszNj09Zz9nPTc6MjM9PWc/Zz0oeXxKKT4+ND85MTozMTo2NT09Zz9nPSJtb3VzZW91dCI9PVY/ODU6MDo4NT09Zz8oZD13LnRvRWxlbWVudCxnPTApOmc9PUo/Zz1kPzA6NDY6MTc9PWc/Zz13PzcwOjIzOjQ9PWc/KHRoaXMuY2xpZW50WD12b2lkIDAhPT1DLmNsaWVudFg/Qy5jbGllbnRYOkMucGFnZVgsdGhpcy5jbGllbnRZPXZvaWQgMCE9PUMuY2xpZW50WT9DLmNsaWVudFk6Qy5wYWdlWSx0aGlzLnNjcmVlblg9Qy5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1DLnNjcmVlbll8fDAsZz03Nyk6NDY9PWc/Zz0ibW91c2VvdmVyIj09Vj8xNjo2NTo3PT1nP2c9KHl8MjQpPT15Pzk4OjIzOjE2PT1nPyhkPXcuZnJvbUVsZW1lbnQsZz0wKTo5OD09Zz8ocjYuY2FsbCh0aGlzLHc/dy50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWssdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPWssdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5PPWssZz0xNyk6NzA9PWc/KFY9dGhpcy50eXBlPXcudHlwZSxDPXcuY2hhbmdlZFRvdWNoZXMmJncuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP3cuY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD13LnRhcmdldHx8dy5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1XLGQ9dy5yZWxhdGVkVGFyZ2V0LGc9Sik6MD09Zz8odGhpcy5yZWxhdGVkVGFyZ2V0PWQsZz0yNyk6Nzc9PWc/KHRoaXMuYnV0dG9uPXcuYnV0dG9uLHRoaXMua2V5Q29kZT13LmtleUNvZGV8fDAsdGhpcy5rZXk9dy5rZXl8fCIiLHRoaXMuY2hhckNvZGU9dy5jaGFyQ29kZXx8KCJrZXlwcmVzcyI9PVY/dy5rZXlDb2RlOjApLHRoaXMuY3RybEtleT13LmN0cmxLZXksdGhpcy5hbHRLZXk9dy5hbHRLZXksdGhpcy5zaGlmdEtleT13LnNoaWZ0S2V5LHRoaXMubWV0YUtleT13Lm1ldGFLZXksdGhpcy5wb2ludGVySWQ9dy5wb2ludGVySWR8fDAsdGhpcy5wb2ludGVyVHlwZT0ic3RyaW5nIj09PXR5cGVvZiB3LnBvaW50ZXJUeXBlP3cucG9pbnRlclR5cGU6WUxbdy5wb2ludGVyVHlwZV18fCIiLHRoaXMuc3RhdGU9dy5zdGF0ZSx0aGlzLnRpbWVTdGFtcD13LnRpbWVTdGFtcCx0aGlzLk89dyx3LmRlZmF1bHRQcmV2ZW50ZWQmJmxVLlUucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxnPTIzKTo3OD09Zz8odGhpcy5vZmZzZXRYPXcub2Zmc2V0WCx0aGlzLm9mZnNldFk9dy5vZmZzZXRZLHRoaXMuY2xpZW50WD12b2lkIDAhPT13LmNsaWVudFg/dy5jbGllbnRYOncucGFnZVgsdGhpcy5jbGllbnRZPXZvaWQgMCE9PXcuY2xpZW50WT93LmNsaWVudFk6dy5wYWdlWSx0aGlzLnNjcmVlblg9dy5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT13LnNjcmVlbll8fDAsZz03Nyk6Mjc9PWc/Zz1DPzQ6Nzg6MzE9PWcmJihnPTkxKX19LFpVPWZ1bmN0aW9uKGssSix5LHcsVyxkKXtmb3IoVz00Njs1NyE9VzspaWYoNDY9PVcpVz04MjtlbHNlIGlmKDMzPT1XKWQ9TWF0aC5mbG9vcih0aGlzLnBKKyh0aGlzLm8oKS10aGlzLmp5KSksVz0zO2Vsc2UgaWYoMz09VylXPShrJjEwNyk9PWs/MjA6OTU7ZWxzZSBpZig4Mj09VylXPShrJjEyNSk9PWs/MzM6MztlbHNle2lmKDk1PT1XKXJldHVybiBkOzIwPT1XJiYoeS5JLnNwbGljZShKLEosdyksVz05NSl9fSwkTD1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnLHEsdCxiLG0pe2ZvcihtPTMyOzczIT1tOylpZigyMD09bSlMPUosbT01OTtlbHNlIGlmKDQwPT1tKUwrKyxtPTYyO2Vsc2UgaWYoNTk9PW0pbT02MjtlbHNlIGlmKDUyPT1tKWQuY2xhc3NMaXN0P2QuY2xhc3NMaXN0LnJlbW92ZShWKTp0cig4LDI5LGQsSixXLFYpJiZBKHcsOCxkLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh1KGQsIiIsMzIpLGZ1bmN0aW9uKFQpe3JldHVybiBUIT1WfSkuam9pbih5KSksbT0xNjtlbHNlIGlmKDMyPT1tKW09NjA7ZWxzZSBpZig1OD09bSlXPVgoVyw4KSxDJiZDW21GXT9DLmouYWRkKFN0cmluZyhkKSxXLHRydWUsdShWLHksOSk/ISFWLmNhcHR1cmU6ISFWLHcpOmU4KDgsVixkLGZhbHNlLEMsIm9iamVjdCIsVyx0cnVlLHcpLG09NTtlbHNlIGlmKDYyPT1tKW09TDxkLmxlbmd0aD84OjU7ZWxzZSBpZig4PT1tKSRMKDE2LDAsIm9iamVjdCIsdyxXLGRbTF0sVixDKSxtPTQwO2Vsc2V7aWYoMjg9PW0pcmV0dXJuIGI7aWYoNjA9PW0pbT1rKzg+PjI8ayYmKGsrNiY3Myk+PWs/MTE6NTY7ZWxzZSBpZig2PT1tKW09QXJyYXkuaXNBcnJheShkKT8yMDo1ODtlbHNlIGlmKDg5PT1tKXtpZihnPXkuai5LW1N0cmluZyhXKV0pe2ZvcihMPSh0PShnPWcuY29uY2F0KCksMCksSik7dDxnLmxlbmd0aDsrK3QpKHE9Z1t0XSkmJiFxLlVyJiZxLmNhcHR1cmU9PXcmJihWPXEubGlzdGVuZXIsQz1xLmlXfHxxLnNyYyxxLmxXJiZmcygxNyx5LmosMCxxKSxMPWZhbHNlIT09Vi5jYWxsKEMsZCkmJkwpO2I9TCYmIWQuZGVmYXVsdFByZXZlbnRlZH1lbHNlIGI9SjttPTI4fWVsc2UgMTE9PW0/bT01NjoxNj09bT9tPTU+KGsrMiYxMCkmJi00NTw9az4+Mj82OjU6NT09bT9tPShrXjMzKT4+ND8yODo4OTo1Nj09bSYmKG09Nzw9KGteNjQpJiYxNz4oa14xMCk/NTI6MTYpfX0sY0c9ZnVuY3Rpb24oayxKLHksdyxXLGQsVil7Zm9yKGQ9MTc7NzIhPWQ7KWlmKGQ9PWspZD15LTQmNj81MTo2OTtlbHNlIGlmKDE3PT1kKWQ9NztlbHNlIGlmKDYyPT1kKVY9ajhbd10oajgucHJvdG90eXBlLHtwYXJlbnQ6Sixwcm9wZXJ0eUlzRW51bWVyYWJsZTpKLHNwbGljZTpKLGxlbmd0aDpKLGNvbnNvbGU6Sixwb3A6SixyZXBsYWNlOkosc3RhY2s6Sixwcm90b3R5cGU6SixmbG9vcjpKLGNhbGw6Sixkb2N1bWVudDpKfSksZD1rO2Vsc2V7aWYoNTE9PWQpcmV0dXJuIFY7Njk9PWQ/KGEuY2FsbCh0aGlzLHcsSnx8TnAua1MoKSxXKSxkPTUxKTo3PT1kJiYoZD15Pj4yJjc/azo2Mil9fSxVRD1mdW5jdGlvbihrLEoseSx3LFcpe2Zvcih3PTQ2OzQ0IT13OylpZigzOD09dyl0aGlzLm5KPXIuZG9jdW1lbnR8fGRvY3VtZW50LHc9NTg7ZWxzZXtpZigxMT09dylyZXR1cm4gVzs1OD09dz93PXktNz4+ND8xMTo3Mjp3PT1KP3c9KHk+PjImMik8ayYmMjw9KCh5XjMwKSY3KT8zODo1ODo3Mj09dz93PTExOjQ2PT13JiYodz1KKX19LGU4PWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcscSx0LGIsbSxUKXtmb3IoVD0xNzs0NyE9VDspaWYoNDM9PVQpdD11VSgzKSxiLnByb3h5PXQsdC5zcmM9Vyx0Lmxpc3RlbmVyPWIsVD04ODtlbHNlIGlmKDEwPT1UKVQ9ZC5Vcj80OTo4NztlbHNlIGlmKDI4PT1UKVQ9Yi5wcm94eT8xOjQzO2Vsc2UgaWYoMTc9PVQpVD0yNjtlbHNlIGlmKDg4PT1UKVQ9Vy5hZGRFdmVudExpc3RlbmVyPzUzOjc5O2Vsc2UgaWYoNjA9PVQpVy5hZGRMaXN0ZW5lcih0KSxUPTYyO2Vsc2UgaWYoNj09VClxPXUoSixkLDQxKT8hIUouY2FwdHVyZTohIUosKGc9WigzLFcpKXx8KFdbZzZdPWc9bmV3IExzKFcpKSxiPWcuYWRkKHksVixDLHEsTCksVD0yODtlbHNlIGlmKDQ5PT1UKVc9dHJ1ZSxUPTk1O2Vsc2V7aWYoMT09VClyZXR1cm4gbTtpZig3Mz09VClUPTA8PWsrNz4+MyYmMj4oazw8MiY4KT82ODoxO2Vsc2UgaWYoNDQ9PVQpVD1XLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyPzYwOjQ4O2Vsc2UgaWYoODA9PVQpVy5hdHRhY2hFdmVudChkNigyOSw1OSwib24iLHkudG9TdHJpbmcoKSksdCksVD02MjtlbHNle2lmKDUwPT1UKXRocm93IEVycm9yKCJJbnZhbGlkIGV2ZW50IHR5cGUiKTtpZig2OD09VClUPXk/Njo1MDtlbHNlIGlmKDYyPT1UKVBHKyssVD0xO2Vsc2V7aWYoNDg9PVQpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTs3OT09VD9UPVcuYXR0YWNoRXZlbnQ/ODA6NDQ6ODc9PVQ/KFY9bmV3IGxVKHcsdGhpcykseT1kLmlXfHxkLnNyYyxKPWQubGlzdGVuZXIsZC5sVyYmdHIoOCw4LGQsIm9uIiwwKSxXPUouY2FsbCh5LFYpLFQ9OTUpOjk1PT1UPyhtPVcsVD03Myk6MjY9PVQ/VD0oays3XjE3KTxrJiZrLTI8PDI+PWs/MTA6NzM6NTM9PVQmJihvSHx8KEo9cSksdm9pZCAwPT09SiYmKEo9dyksVy5hZGRFdmVudExpc3RlbmVyKHkudG9TdHJpbmcoKSx0LEopLFQ9NjIpfX19fSxZPWZ1bmN0aW9uKGssSix5LHcsVyxkKXtmb3IoZD02Mzs5MyE9ZDspe2lmKDQ0PT1kKXJldHVybiBXOzg2PT1kP2Q9KGstN3wxNCk+PWsmJihrKzNeMTApPGs/NTo0NDo1PT1kPyh5LmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEosZnVuY3Rpb24oVil7JEwoMTAsMSwiICIsImNsYXNzIiwwLHksVil9KTpBKCJjbGFzcyIsNyx5LEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh1KHksIiIsMyksZnVuY3Rpb24oVil7cmV0dXJuISgwPD1kNigyOSw2LDEsVixKKSl9KS5qb2luKCIgIikpLGQ9NDQpOjM5PT1kP2Q9az4+MSY3Pzg2OjQzOjYzPT1kP2Q9Mzk6NDM9PWQmJih4KHcseSxKKSxKW0tzXT0yNzk2LGQ9ODYpfX0sZj1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnLHEsdCxiKXtyZXR1cm4oSi0xXjgpPj0oMTE8PSgoSl4oKEorNSYyNik+PUomJihKKzleMjApPEomJihrLlY/dD1IRyhrLlIsayk6KHc9RlQoMSxrLHRydWUsOCksdyYxMjgmJih3PSh3fDApLTEyOCsyKih+dyYxMjgpLHk9RlQoMSxrLHRydWUsMiksdz0odzw8MikrKHl8MCkpLHQ9dykpLEo+PjImMTN8fCh0PWI9ZnVuY3Rpb24oKXtmb3IodmFyIG09MTk7OTchPW07KWlmKDUwPT1tKXt2YXIgVD0hdy5JLmxlbmd0aDttPSgoWlUoMzUsMCx3LFIpLFQpJiZ1VSg2OCx0cnVlLGZhbHNlLGZhbHNlLHcpLDY3KX1lbHNlIGlmKDIzPT1tKXt2YXIgST1YVCgxMDYsdyxmYWxzZSxSKTttPTY3fWVsc2V7aWYoNjc9PW0pcmV0dXJuIEk7aWYoNDg9PW0pWlUoMywwLHcsUiksST11VSgzNix0cnVlLGZhbHNlLGZhbHNlLHcpLG09Njc7ZWxzZSBpZigxNj09bSlDJiZMJiZDLnJlbW92ZUV2ZW50TGlzdGVuZXIoTCxiLG5zKSxtPTk3O2Vsc2UgaWYoNzM9PW0pbT1kPT15PzUwOjIzO2Vsc2UgaWYoMjg9PW0pbT13Llk/Nzk6MTY7ZWxzZSBpZigyPT1tKW09ZD09az80ODo3MztlbHNlIGlmKDE5PT1tKW09dy5HPT13PzI4Ojk3O2Vsc2UgaWYoNzk9PW0pdmFyIFI9W0pVLChtPTIsViksVyx2b2lkIDAsQyxMLGFyZ3VtZW50c119fSksNzQpKSYxNSkmJjM+Si01Pj40JiYodD0oQz0oVj13W1ddPDwyNCxMPXdbKFd8MCkreV08PGssflYtMip+KFZ8TCkrKFYmfkwpKyh+Vl5MKSksZD13WzMqKFcmMikrfihXJjIpLSh+V14yKV08PDgsKGR8MCkrfihDJmQpLX5DKXx3WyhXfDApKzNdKSxKKSYmKEorMl4xNik8SiYmKGc9V0YsTD1WJjcsdz1bLTE3LC0xNSwtNTEsODgsLTEzLC0zOSx3LDE0LC0zLDE3XSxDPWo4W1cubV0oVy5ZbSksQ1tXLm1dPWZ1bmN0aW9uKG0pe0wrPTYrKHE9bSw3KlYpLEwmPTd9LEMuY29uY2F0PWZ1bmN0aW9uKG0sVCxJLFIpe3JldHVybihSPShtPShJPWQlMTYrMSwtSSpxKzMqZCpkKkktNDI3NSpxKyhnKCl8MCkqSSktIC02NzUqZCpxK3dbTCsxOSY3XSpkKkkrTC0xMzUqZCpkKnEraypxKnEscT12b2lkIDAsdylbbV0sd1soVD1MKzIxLChUfDcpLShUJi04KS0oflQmNykpKyhWJnkpXT1SLHcpW0wrKChWfDApLX4oViZ5KSt+VildPS0xNSxSfSx0PUMpLHR9LGQ2PWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMKXtmb3IoTD0zOTs1NiE9TDspaWYoNzQ9PUwpQz13IGluIHdQP3dQW3ddOndQW3ddPXkrdyxMPTY7ZWxzZSBpZigzOT09TClMPTE4O2Vsc2UgaWYoNDA9PUwpTD0oSiY1Nik9PUo/OTU6aztlbHNlIGlmKDY2PT1MKXthOmlmKCJzdHJpbmciPT09dHlwZW9mIFcpQz0ic3RyaW5nIiE9PXR5cGVvZiB3fHx3Lmxlbmd0aCE9eT8tMTpXLmluZGV4T2YodywwKTtlbHNle2ZvcihkPTA7ZDxXLmxlbmd0aDtkKyspaWYoZCBpbiBXJiZXW2RdPT09dyl7Qz1kO2JyZWFrIGF9Qz0tMX1MPTQwfWVsc2UgaWYoOTU9PUwpQz0wPT09dGhpcy5uPzA6TWF0aC5zcXJ0KHRoaXMuTXEvdGhpcy5uKSxMPWs7ZWxzZSBpZig2PT1MKUw9KEp8NjQpPT1KPzE6MTE7ZWxzZSBpZigxPT1MKXtpZihWPXcubGVuZ3RoLFY+eSl7Zm9yKFc9KGQ9QXJyYXkoVikseSk7VzxWO1crKylkW1ddPXdbV107Qz1kfWVsc2UgQz1bXTtMPTExfWVsc2UgaWYoMTg9PUwpTD0yPihKXjIpPj41JiZKPj4xPj1rPzc0OjY7ZWxzZXtpZihMPT1rKXJldHVybiBDOzExPT1MJiYoTD1KLTY+PjQ/NDA6NjYpfX0sTXA9ZnVuY3Rpb24oayxKLHksdyxXLGQpe2ZvcihXPTY0OzIxIT1XOylpZig2MD09VylKLlVyPXcsSi5saXN0ZW5lcj1udWxsLEoucHJveHk9bnVsbCxKLnNyYz1udWxsLEouaVc9bnVsbCxXPTg4O2Vsc2V7aWYoODg9PVcpcmV0dXJuIGQ7Mzg9PVc/Vz0oeSs0XmspPj15JiYoeSsxJjU3KTx5PzIzOjM0OjM0PT1XP1c9MTg8PXkrMyYmNz4oKHl8MikmNyk/NjA6ODg6MjM9PVc/KHRoaXMudHlwZT13LHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1KLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLktKPWZhbHNlLFc9MzQpOjY0PT1XJiYoVz0zOCl9fSx1PWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcpe2ZvcihMPTg4OzExIT1MOylpZig0OT09TClMPSh5LTleMzEpPj15JiZ5Kzc+PjI8eT84OTo1OTtlbHNlIGlmKDg5PT1MKXc9dHlwZW9mIGssZz13PT1KJiZudWxsIT1rfHwiZnVuY3Rpb24iPT13LEw9NTk7ZWxzZSBpZig2OD09TClnPWsuY2xhc3NMaXN0P2suY2xhc3NMaXN0OnNEKDM2LDI0LEosImNsYXNzIixrKS5tYXRjaCgvXFxTKy9nKXx8W10sTD04MjtlbHNle2lmKDgyPT1MKXJldHVybiBnO2lmKDU5PT1MKUw9MDw9KHl8NikmJjg+KHkrNCY4KT82ODo4MjtlbHNlIGlmKDI2PT1MKUw9KHktNXw0Nyk+PXkmJih5KzJeMjkpPHk/NjU6NDk7ZWxzZSBpZig2NT09TCl7Zm9yKGQgaW4gQz1KLHcuSyl7Zm9yKFc9KFY9Six3LktbZF0pO1Y8Vy5sZW5ndGg7VisrKSsrQyxNcCgzMixXW1ZdLDI0LGspO2RlbGV0ZSB3Lktbdy5Bei0tLGRdfUw9NDl9ZWxzZSA4OD09TCYmKEw9MjYpfX0sWD1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnLHEsdCxiLG0sVCl7Zm9yKGI9MTE7OTghPWI7KWlmKDQwPT1iKWI9KEorM14yKT49SiYmKEorN14zMCk8Sj82NTo5NztlbHNlIGlmKDk3PT1iKWI9OD4oSi01JjgpJiY1PD0oKEpeNzcpJjExKT85MDo4NjtlbHNlIGlmKDg2PT1iKWI9Mz09Si02Pj4zPzczOjE3O2Vsc2UgaWYoMjg9PWIpVD1mdW5jdGlvbigpe30sVC5wcm90b3R5cGU9dy5wcm90b3R5cGUseS5VPXcucHJvdG90eXBlLHkucHJvdG90eXBlPW5ldyBULHkucHJvdG90eXBlLmNvbnN0cnVjdG9yPXkseS5SMz1mdW5jdGlvbihJLFIsTSl7Zm9yKHZhciBEPTQ4OzI0IT1EOylpZig1Nz09RClwKyssRD03NztlbHNle2lmKDc9PUQpcmV0dXJuIHcucHJvdG90eXBlW1JdLmFwcGx5KEksZSk7aWYoNTA9PUQpRD03NztlbHNlIGlmKDc3PT1EKUQ9cDxhcmd1bWVudHMubGVuZ3RoPzYyOjc7ZWxzZSBpZig2Mj09RCllW3Ata109YXJndW1lbnRzW3BdLEQ9NTc7ZWxzZSBpZig0OD09RCl2YXIgZT1BcnJheSgoRD01MCxhcmd1bWVudHMubGVuZ3RoKS1rKSxwPWt9fSxiPTQ3O2Vsc2UgaWYoOTI9PWIpImZ1bmN0aW9uIj09PXR5cGVvZiBrP209azooa1trel18fChrW2t6XT1mdW5jdGlvbihJKXtyZXR1cm4gay5oYW5kbGVFdmVudChJKX0pLG09a1trel0pLGI9NDA7ZWxzZSBpZig2NT09YiltPWssYj05NztlbHNlIGlmKDExPT1iKWI9MjtlbHNlIGlmKDE3PT1iKWI9Si05PDwxPj1KJiYoSi01fDQ5KTxKPzI4OjQ3O2Vsc2UgaWYoMj09YiliPTE8PShKKzcmMTUpJiYxPkorOD4+NT85Mjo0MDtlbHNlIGlmKDczPT1iKXtpZigoKGQuRz0ocT0odD0oZz00PT0oTD0oV3x8ZC5ESisrLDA8ZC5IQSYmZC5mSiYmZC53WSYmMT49ZC56TCYmIWQuViYmIWQuSiYmKCFXfHwxPGQuR1ktdykmJmRvY3VtZW50LmhpZGRlbj09ayksZCkuREopfHxMP2QubygpOmQud0ssdC1kLndLKSxDPXE+PjE0LGQuVCYmKGQuVF49QyoocTw8MikpLEN8fGQuRyksZCkueTYrPUMsZyl8fEwpZC53Sz10LGQuREo9MDtiPSghTHx8dC1kLmp5PGQuSEEtKHk/MjU1Olc/NToyKT9tPWs6KGQuR1k9dyxWPWwoZCxXPzEzNDoxOTQpLHgoZCwxOTQsZC5YKSxkLkkucHVzaChbeTksVixXP3crMTp3LGQuQyxkLmgsZC5GLGQuZ10pLGQuSj1nUCxtPXRydWUpLDE3KX1lbHNlIGlmKDkwPT1iKXcuQT0oKHcuQT93LkErIn4iOiJFOiIpK3kubWVzc2FnZSsiOiIreS5zdGFjaykuc2xpY2UoMCxrKSxiPTg2O2Vsc2UgaWYoNDc9PWIpcmV0dXJuIG19LExqPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcscSl7Zm9yKGc9ODg7NyE9ZzspaWYoZz09aylxPXcsZz03OTtlbHNlIGlmKDE4PT1nKVY9Vy5sZW5ndGgsTD0ic3RyaW5nIj09PXR5cGVvZiBXP1cuc3BsaXQodyk6VyxDPXksZz00OTtlbHNlIGlmKDIwPT1nKVY9d2luZG93LmJ0b2EsZz0zNTtlbHNlIGlmKDg5PT1nKXcuYlcmJncuYlcuZm9yRWFjaCh5LHZvaWQgMCksZz01NDtlbHNlIGlmKDY4PT1nKVc9MCxkPSIiLGc9NzQ7ZWxzZSBpZig1PT1nKUMrKyxnPTc3O2Vsc2UgaWYoNDU9PWcpcT15JiZ5LnBhcmVudE5vZGU/eS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHkpOm51bGwsZz02MTtlbHNlIGlmKDYyPT1nKXc9dm9pZCAwLGc9aztlbHNlIGlmKDU5PT1nKUMgaW4gTCYmZC5jYWxsKHZvaWQgMCxMW0NdLEMsVyksZz01O2Vsc2UgaWYoODg9PWcpZz01NTtlbHNlIGlmKDM1PT1nKWc9Vj82ODo2MjtlbHNlIGlmKDc0PT1nKWc9Mzg7ZWxzZSBpZig1NT09ZylnPUotMyYxMz82MTo0NTtlbHNle2lmKDc5PT1nKXJldHVybiBxOzQ5PT1nP2c9Nzc6Mjg9PWc/KFcrPTgxOTIsZz0zOCk6NTQ9PWc/Zz0oSis1XjE5KT49SiYmKEorN145KTxKPzE4OjYwOjM4PT1nP2c9Vzx5Lmxlbmd0aD8yNjo3NTo3Nz09Zz9nPUM8Vj81OTo2MDo2MD09Zz9nPShKLTZ8NjYpPEomJihKLTJ8NzEpPj1KPzIwOjc5OjYxPT1nP2c9MTk+Si01JiYxPD0oSnw5KT4+Mz84OTo1NDo3NT09Zz8odz1WKGQpLnJlcGxhY2UoL1xcKy9nLCItIikucmVwbGFjZSgvXFwvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpLGc9ayk6MjY9PWcmJihkKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwseS5zbGljZShXLFcrODE5MikpLGc9MjgpfX0sdVU9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxLHQsYil7Zm9yKHE9MTQ7ODYhPXE7KWlmKDIwPT1xKXE9Mzg7ZWxzZSBpZigzMz09cSlnLT04LFcucHVzaCgoZD1WPj5nLC1+ZCsofmReMjU1KSsofmQmMjU1KSkpLHE9MjA7ZWxzZSBpZigyNT09cSlxPUw8Si5sZW5ndGg/OTU6MTtlbHNlIGlmKDM4PT1xKXE9NzxnPzMzOjQ5O2Vsc2UgaWYoODE9PXEpe2lmKFcuSS5sZW5ndGgpe1cuZkomJjAoKSxXLndZPXksVy5mSj1KO3RyeXtMPVcubygpLFcud0s9TCxXLkRKPTAsVy5qeT1MLEM9dzYoNTMsMjA0OCx0cnVlLDEwNixmYWxzZSx5LFcpLGQ9dz8wOjEwLFY9Vy5vKCktVy5qeSxXLnBKKz1WLFcuUTYmJlcuUTYoVixXLkMsVy5oLFcuRixXLmcpLFcuZz1mYWxzZSxXLmg9ZmFsc2UsVy5DPWZhbHNlLFcuRj1mYWxzZSxWPGR8fDA+PVcuRnMtLXx8KFY9TWF0aC5mbG9vcihWKSxXLk5xLnB1c2goMjU0Pj1WP1Y6MjU0KSl9ZmluYWxseXtXLmZKPWZhbHNlfXQ9Q31xPTEwfWVsc2UgaWYoMzQ9PXEpcT0oa14xNCk+PjQ/NDM6Njc7ZWxzZSBpZigyNz09cSlxPTM9PShrfDIpPj4zPzIxOjE1O2Vsc2UgaWYoMTY9PXEpcT0yNTtlbHNle2lmKDEwPT1xKXJldHVybiB0OzQzPT1xP3E9az4+MSYxMT8yNzo2Mzo5NT09cT8oZys9eSxWPSh3PVY8PHksQz1KW0xdLC1+QysodyZ+QykrKH53JkMpKyh3fH5DKSkscT02Mik6MTQ9PXE/cT0zNDoxPT1xPyh0PVcscT0yNyk6NjI9PXE/cT0zODoyMT09cT8odGhpcy5HPUoscT0xNSk6MTU9PXE/cT0yPT0oaz4+MSYxNCk/ODE6MTA6NjM9PXE/KFc9W10sTD1nPTAscT0xNik6NDk9PXE/KEwrKyxxPTI1KTo2Nz09cSYmKGI9ZnVuY3Rpb24obSl7cmV0dXJuIEouY2FsbChiLnNyYyxiLmxpc3RlbmVyLG0pfSxKPWRQLHQ9YixxPTQzKX19LFU9ZnVuY3Rpb24oayxKLHksdyxXKXtmb3Iodz0tMip+SistNC0oSnwtMikrKH5KfCh5PVtdLDEpKTswPD13O3ctLSl5WyhKfDApLTEtKHd8MCldPShXPWs+PjgqdywtfihXfDI1NSktKH5XJjI1NSkrKH5XfDI1NSkpO3JldHVybiB5fSxxMz1mdW5jdGlvbigpe3JldHVybiAkTC5jYWxsKHRoaXMsNTgpfSxDaj1mdW5jdGlvbihrLEoseSx3LFcpe3JldHVybiBXRy5jYWxsKHRoaXMsMjgsVyx5LHcsSixrKX0sVjk9ZnVuY3Rpb24oayxKLHkpe3JldHVybiBjRy5jYWxsKHRoaXMsMzUsSiw1LGsseSl9LGlVPWZ1bmN0aW9uKCl7cmV0dXJuIHNELmNhbGwodGhpcywzNiwxMil9LG1OPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcscSx0KXtpZighSi52QSYmKHE9dm9pZCAwLHkmJnlbMF09PT10VSYmKGs9eVsxXSxxPXlbMl0seT12b2lkIDApLEM9bChKLDQ4NiksMD09Qy5sZW5ndGgmJihWPWwoSiwxMzQpPj4zLEMucHVzaChrLChMPVY+PncsKEx8MCktfihMJjI1NSkrfkwpLChWfDApKyh+Vl4yNTUpLShWfC0yNTYpKSx2b2lkIDAhPXEmJkMucHVzaCgtKHF8MCktMip+cSsocSYtMjU2KSsyKih+cXwyNTUpKSksZz0iIix5JiYoeS5tZXNzYWdlJiYoZys9eS5tZXNzYWdlKSx5LnN0YWNrJiYoZys9IjoiK3kuc3RhY2spKSxkPWwoSiwxMzEpLDM8ZFswXSkpe0ouRz0odD0oZz1iTigxOCwoZz1nLnNsaWNlKDAsKGRbMF18MCktMyksZFswXS09KFc9Zy5sZW5ndGgsfihXJjMpLTMqfihXfDMpKzIqKH5XXjMpKSxnKSksSikuRyxKKTt0cnl7SyhKLDMyMCxbOTVdKSxLKEosODYsVShnLmxlbmd0aCwyKS5jb25jYXQoZyksMTIpfWZpbmFsbHl7Si5HPXR9fX0sWFQ9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxKXtpZihXPXdbMF0sVz09SUgpSi5oPXRydWUsSi5Gcz0yNSxKLlAodyk7ZWxzZSBpZihXPT1SSCl7TD13W0ouZz10cnVlLDFdO3RyeXtnPUouQXx8Si5QKHcpfWNhdGNoKHQpe1goMjA0OCwzOCx0LEopLGc9Si5BfUwoZyl9ZWxzZSBpZihXPT15OSl3WzNdJiYoSi5DPXRydWUpLHdbNF0mJihKLmg9dHJ1ZSksd1s1XSYmKEouRj10cnVlKSx3WzZdJiYoSi5nPXRydWUpLEouUCh3KTtlbHNlIGlmKFc9PVRZKUouQz10cnVlLEouUCh3KTtlbHNlIGlmKFc9PWpfKXtKLkY9dHJ1ZTt0cnl7Zm9yKGQ9MDtkPEouUEEubGVuZ3RoO2QrKyl0cnl7Vj1KLlBBW2RdLFZbMF1bVlsxXV0oVlsyXSl9Y2F0Y2godCl7fX1jYXRjaCh0KXt9KDAsd1sxXSkoZnVuY3Rpb24odCxiKXtKLkp6KHQsdHJ1ZSxiKX0sZnVuY3Rpb24odCl7WlUoMzQsMCxKLCh0PSFKLkkubGVuZ3RoLFtTX10pKSx0JiZ1VSgzNyx0cnVlLHRydWUseSxKKX0sKEouUEE9W10sZnVuY3Rpb24odCl7cmV0dXJuIEouV0EodCl9KSl9ZWxzZXtpZihXPT1KVSlyZXR1cm4gcT13WzJdLHgoSixrLHdbNl0pLHgoSiwxMTcscSksSi5QKHcpO1c9PVNfPyhKLlAodyksSi5ZUz1bXSxKLk5xPVtdLEouWT1udWxsKTpXPT1LcyYmKEM9ci5wYXJlbnQsImxvYWRpbmciPT09Qy5kb2N1bWVudC5yZWFkeVN0YXRlJiYoSi5KPWZ1bmN0aW9uKHQsYil7ZnVuY3Rpb24gbShUKXtmb3IoVD0zOzkyIT1UOykzPT1UP1Q9Yj85MjoyNzoyNz09VCYmKGI9dHJ1ZSxDLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG0sbnMpLEMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsbSxucyksdCgpLFQ9OTIpfUMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbSwoYj15LG5zKSksQy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixtLG5zKX0pKX19LFokPWZ1bmN0aW9uKGssSix5LHcsVyl7cmV0dXJuIEEuY2FsbCh0aGlzLGssNzIsSix5LHcsVyl9LElQPWZ1bmN0aW9uKGssSix5KXtmb3IoeT05NDsyMyE9eTspaWYoNTg9PXkpeT1rLS0/NzY6MjU7ZWxzZSBpZig2Nz09eSl5PTU4O2Vsc2V7aWYoMjU9PXkpcmV0dXJuIEo7NzY9PXk/KEoucHVzaCgyNTUqTWF0aC5yYW5kb20oKXwwKSx5PTY3KTo5ND09eT8oSj1bXSx5PTI2KToyNj09eSYmKHk9NTgpfX0sVHg9ZnVuY3Rpb24oayxKLHkpe3JldHVybiBKLlY/SEcoSi5SLEopOkZUKGssSix0cnVlLHkpfSx1Tj1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnKXtmb3IoVj0oQz0oTD0oKChkPWYoKGc9d1tSUF18fHt9LHcpLGspLGcpLlU4PWYodywxNiksZykuVz1bXSx3LkcpPT13PyhUeChKLHcsOCl8eSktVzoxLGYpKHcsMTYpLHkpO1Y8TDtWKyspZy5XLnB1c2goZih3LDE0KSk7Zm9yKDtMLS07KWcuV1tMXT1sKHcsZy5XW0xdKTtyZXR1cm4oZy5Lej1sKHcsQyksZykuaHo9bCh3LGQpLGd9LGw9ZnVuY3Rpb24oayxKLHkpe2lmKHZvaWQgMD09PSh5PWsuWVtKXSx5KSl0aHJvd1t0VSwzMCxKXTtpZih5LnZhbHVlKXJldHVybiB5LmNyZWF0ZSgpO3JldHVybiB5LmNyZWF0ZSgzKkoqSistMTUqSis5NSkseS5wcm90b3R5cGV9LFhyPWZ1bmN0aW9uKGssSix5LHcpe0soaywodz1mKGssKHk9ZihrLDE2KSwxMykpLHcpLFUobChrLHkpLEopKX0sTnA9ZnVuY3Rpb24oKXtyZXR1cm4gR3guY2FsbCh0aGlzLG51bGwsNSwzKX0sQkc9ZnVuY3Rpb24oayl7cmV0dXJuIEVELmNhbGwodGhpcyw2LDMsayl9LFBGPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcscSx0KXtmb3IodD0ocT1KLDM2KTs7KXRyeXtpZig5Mz09cSlicmVhaztlbHNlIGlmKHE9PUopTD1yLnRydXN0ZWRUeXBlcyxDPVcscT01MjtlbHNlIGlmKDMyPT1xKXQ9MzYscT01MztlbHNle2lmKHE9PXkpcmV0dXJuIHQ9MzYsQztpZig1Mj09cSlxPUwmJkwuY3JlYXRlUG9saWN5PzU2OjM0O2Vsc2UgaWYoNTM9PXEpcT1yLmNvbnNvbGU/azp5O2Vsc2V7aWYoMzQ9PXEpcmV0dXJuIEM7NTY9PXE/KHQ9dyxDPUwuY3JlYXRlUG9saWN5KGQse2NyZWF0ZUhUTUw6ZmosY3JlYXRlU2NyaXB0OmZqLGNyZWF0ZVNjcmlwdFVSTDpman0pLHE9eSk6cT09ayYmKHIuY29uc29sZVtWXShnLm1lc3NhZ2UpLHE9eSl9fX1jYXRjaChiKXtpZigzNj09dCl0aHJvdyBiO3Q9PXcmJihnPWIscT0zMil9fSxPRD1mdW5jdGlvbigpe3JldHVybiBEVS5jYWxsKHRoaXMsOTUsODIsMyl9LHI9dGhpc3x8c2VsZixEJD1mdW5jdGlvbihrLEope2Zvcih2YXIgeT01MDs4NCE9eTspaWYoMTA9PXkpVisrLHk9NDI7ZWxzZSBpZig1MD09eSl2YXIgdz0oeT02MiwxKTtlbHNlIGlmKDYyPT15KXk9ODtlbHNlIGlmKDg9PXkpeT13PGFyZ3VtZW50cy5sZW5ndGg/MTg6ODQ7ZWxzZSBpZig2MT09eSl5PTQyO2Vsc2UgaWYoOTM9PXkpe3ZhciBXPU0zW1ZdO3k9KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLFcpJiYoa1tXXT1kW1ddKSwxMCl9ZWxzZSBpZig0Mj09eSl5PVY8TTMubGVuZ3RoPzkzOjk1O2Vsc2UgaWYoMTg9PXkpe3ZhciBkPWFyZ3VtZW50c1t3XTtmb3IoVyBpbiBkKWtbV109ZFtXXTt2YXIgVj0oeT02MSwwKX1lbHNlIDk1PT15JiYodysrLHk9OCl9LHZGPWZ1bmN0aW9uKGssSix5LHcsVyxkKXt0cnl7ZD1rWygoSnwwKSsyKSUzXSxrW0pdPShXPWtbSl0sdz1rWygoSnwwKSsxKSUzXSwtKFcmdyktflcrKFd8fncpKS0oZHwwKV4oMT09Sj9kPDx5OmQ+Pj55KX1jYXRjaChWKXt0aHJvdyBWO319LGRQPWZ1bmN0aW9uKGssSix5LHcsVyxkKXtyZXR1cm4gZTguY2FsbCh0aGlzLDEwLHksVyxKLGQsayx3KX0sSz1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCl7aWYoay5HPT1rKWZvcihXPWwoayxKKSw4Nj09Snx8MTQ3PT1KfHw1Mz09Sj8oZD1mdW5jdGlvbihnLHEsdCxiLG0sVCxJLFIpe2ZvcihUPShSPTUyLDY5KTs7KXRyeXtpZig3OD09UilicmVhaztlbHNlIGlmKDMwPT1SKVcua209YixxPShiPDwzKS00LG09WzAsMCxWWzFdLFZbMl1dLFI9NzY7ZWxzZSBpZig1Mj09Uil0PVcubGVuZ3RoLGI9KHR8MCktND4+MyxSPTc3O2Vsc2UgaWYoNTc9PVIpVy5wdXNoKFcuU0pbdCY3XV5nKSxSPTc4O2Vsc2V7aWYoMD09Uil0aHJvdyBUPTY5LEk7Nzc9PVI/Uj1XLmttIT1iPzMwOjU3Ojc2PT1SJiYoVD03OSxXLlNKPUJGKDIsMjQsZigxNiw1LDEsVyxxKSw4LDI5ODgsbSxmKDE2LDYsMSxXLChxfDApKzQpKSxSPTU3KX19Y2F0Y2goTSl7aWYoNjk9PVQpdGhyb3cgTTs3OT09VCYmKEk9TSxSPTApfX0sVj1sKGssMzk1KSk6ZD1mdW5jdGlvbihnKXtXLnB1c2goZyl9LHcmJmQoLTEtfnctKHcmLTI1NikpLEw9MCxDPXkubGVuZ3RoO0w8QztMKyspZCh5W0xdKX0saU49ZnVuY3Rpb24oayxKKXtyZXR1cm4gWS5jYWxsKHRoaXMsNyxKLGspfSxTOD1mdW5jdGlvbihrLEoseSx3LFcpe2lmKCh3PXR5cGVvZiB5LCJvYmplY3QiKT09dylpZih5KXtpZih5IGluc3RhbmNlb2YgQXJyYXkpcmV0dXJuImFycmF5IjtpZih5IGluc3RhbmNlb2YgT2JqZWN0KXJldHVybiB3O2lmKChXPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh5KSwiW29iamVjdCBXaW5kb3ddIik9PVcpcmV0dXJuIm9iamVjdCI7aWYoIltvYmplY3QgQXJyYXldIj09V3x8Im51bWJlciI9PXR5cGVvZiB5Lmxlbmd0aCYmInVuZGVmaW5lZCIhPXR5cGVvZiB5LnNwbGljZSYmInVuZGVmaW5lZCIhPXR5cGVvZiB5LnByb3BlcnR5SXNFbnVtZXJhYmxlJiYheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgic3BsaWNlIikpcmV0dXJuImFycmF5IjtpZigiW29iamVjdCBGdW5jdGlvbl0iPT1XfHwidW5kZWZpbmVkIiE9dHlwZW9mIHkuY2FsbCYmInVuZGVmaW5lZCIhPXR5cGVvZiB5LnByb3BlcnR5SXNFbnVtZXJhYmxlJiYheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShKKSlyZXR1cm4iZnVuY3Rpb24ifWVsc2UgcmV0dXJuIGs7ZWxzZSBpZigiZnVuY3Rpb24iPT13JiYidW5kZWZpbmVkIj09dHlwZW9mIHkuY2FsbClyZXR1cm4ib2JqZWN0IjtyZXR1cm4gd30sRUg9ZnVuY3Rpb24oayxKLHksdyxXLGQpe3JldHVybiBsKEosKHgoKHBqKDEzNCxKLFcsKChkPWwoSiwxOTQpLEopLllTJiZkPEouWD8oeChKLDE5NCxKLlgpLFE5KDgsMTk0LHksMTA0LGssSikpOngoSiwxOTQseSksMjIpKSxKKSwxOTQsZCksdykpfSxROT1mdW5jdGlvbihrLEoseSx3LFcsZCl7ZC5CQS5sZW5ndGg+dz9tTihXLGQsW3RVLDM2XSxrKTooZC5CQS5wdXNoKGQuWS5zbGljZSgpKSxkLllbSl09dm9pZCAwLHgoZCxKLHkpKX0sYT1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMpe3JldHVybiBFRC5jYWxsKHRoaXMsNiwxNSxrLEoseSx3LFcsZCxWLEMpfSxBVT1mdW5jdGlvbihrLEoseSx3LFcsZCxWKXtLKEosKCgoZD1sKEosKHk9ZigoVj0odz1rJjQsayYzKSxXPWYoSiwxMiksSiksMTUpLFcpKSx3KSYmKGQ9Yk4oMTgsIiIrZCkpLFYpJiZLKEoseSxVKGQubGVuZ3RoLDIpKSx5KSxkKX0sZmo9ZnVuY3Rpb24oayl7cmV0dXJuIFguY2FsbCh0aGlzLGssMjQpfSxiTj1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnLHEpe2Zvcih3PShDPWc9KFY9Si5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksMCksW10pO2c8Vi5sZW5ndGg7ZysrKXE9Vi5jaGFyQ29kZUF0KGcpLDEyOD5xP3dbQysrXT1xOigyMDQ4PnE/d1tDKytdPShXPXE+PjYsLShXfDApLTIqfihXfDE5MikrKH5XJjE5MikrMiooV3wtMTkzKSk6KDU1Mjk2PT02NDUxMi0ofnEmNjQ1MTIpJiZnKzE8Vi5sZW5ndGgmJjU2MzIwPT0oTD1WLmNoYXJDb2RlQXQoZysxKSwtfkwrKH5MXjY0NTEyKSsofkwmNjQ1MTIpKT8ocT02NTUzNisoKHEmMTAyMyk8PDEwKSsoVi5jaGFyQ29kZUF0KCsrZykmMTAyMyksd1tDKytdPXE+Pmt8MjQwLHdbQysrXT0oZD1xPj4xMiY2MywoZHwwKSt+KGQmMTI4KS0gLTEyOSkpOndbQysrXT1xPj4xMnwyMjQsd1tDKytdPSh5PXE+PjYmNjMsLTItfnktKHkmLTEyOSktKH55XjEyOCkpKSx3W0MrK109NjMtfihxJjYzKSt+KHF8NjMpKyhxJi02NCl8MTI4KTtyZXR1cm4gd30saFU9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDKXtmb3IoQz0oVy5ZbT1jRygzNSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uY2F0KCl9fSwoVy5CYT0oVy5EQj1XW1JIXSxXLk1sPU9ILHpZKSwzKSxXLm0pLFcuclk9ajhbVy5tXShXLlltLHt2YWx1ZTp7dmFsdWU6e319fSksZD0wLFtdKTszMjA+ZDtkKyspQ1tkXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGQpO3VVKDY5LHRydWUsKFpVKChaVSgxMSwwLChZKDE3LGZ1bmN0aW9uKEwsZyl7UTkoOCwxOTQsKGc9bChMLGYoTCwxNCkpLGcpLDEwNCwwLEwuRyl9LCh4KFcsNTMsKHgoVywzMzEsKFkoMTcsKHgoVywxMTcsKCh4KFcsKFkoMTYsZnVuY3Rpb24oTCxnLHEsdCxiLG0sVCxJLFIsTSl7Zm9yKE09NDg7MCE9TTspNjY9PU0/KGI9dU4oMTUsMSwwLEwuRywxKSxJPWIuVyxSPWIuS3osVD1JLmxlbmd0aCxxPWIuaHosdD1iLlU4LG09MD09VD9uZXcgUltxXToxPT1UP25ldyBSW3FdKElbMF0pOjI9PVQ/bmV3IFJbcV0oSVswXSxJWzFdKTozPT1UP25ldyBSW3FdKElbMF0sSVsxXSxJWzJdKTo0PT1UP25ldyBSW3FdKElbMF0sSVsxXSxJWzJdLElbM10pOjIoKSx4KEwsdCxtKSxNPTApOjQ4PT1NJiYoTT1YKGZhbHNlLDMzLGZhbHNlLGcsdHJ1ZSxMKT8wOjY2KX0sMzAzLCh4KChZKDE3LChZKDMzLGZ1bmN0aW9uKEwsZyxxLHQsYixtLFQsSSl7Zm9yKEk9MjM7NjAhPUk7KTMxPT1JP0k9TC5HPT1MPzM5OjYwOjM5PT1JPyhiPWwoTCx0KSxnPWwoTCxUKSxxPWwoTCxtKSxiW3FdPWcsST05MCk6NjQ9PUk/KEwuVD1GVCgxLEwsZmFsc2UsMzIpLEwudT12b2lkIDAsST02MCk6OTA9PUk/ST0yNTk9PXQ/MTk6NjA6MTk9PUk/KEwudT12b2lkIDAsST04OCk6ODg9PUk/ST0yPT1xPzY0OjYwOjIzPT1JJiYodD1mKEwsMTUpLG09ZihMLDEyKSxUPWYoTCwxNiksST0zMSl9LChXLnFsPSh4KChZKDMyLGZ1bmN0aW9uKEwsZyxxLHQpezAhPSh0PWwoTCwoZz1mKEwsKHE9ZihMLDE2KSwxNCkpLGcpKSxsKEwscSkpJiZ4KEwsMTk0LHQpfSwyNDIsKHgoVywzMjAsKFkoMzIsZnVuY3Rpb24oTCl7USg0LDAsMyxMKX0sKFkoMzMsZnVuY3Rpb24oTCxnLHEsdCxiLG0sVCxJKXt0PWwoKEk9bCgoZz1sKEwsKG09ZihMLChUPShiPWYoKHE9ZihMLDEyKSxMKSwxMyksZihMLDEyKSksMTUpKSxtKSksTCksYiksTCksVCkseChMLHEsZigyLDMsMSxMLHQsZyxJKSl9LChZKDMyLGZ1bmN0aW9uKEwsZyxxLHQsYixtKXt4KEwsKHQ9bChMLChxPWwoTCwoZz0obT1mKEwsKGI9ZihMLDEzKSwxNCkpLGYpKEwsMTIpLG0pKSxiKSksZyksdCBpbiBxfDApfSw0MTIsKFkoMzMsZnVuY3Rpb24oTCxnLHEsdCxiKXtmb3IoYj0yNTsyNyE9YjspNDA9PWI/Yj1nPzM0OjM1OjkyPT1iPyh0LS0sYj04KTo2Mj09Yj9iPTg6MjU9PWI/KGc9TC5CQS5wb3AoKSxiPTQwKTo4PT1iP2I9MDx0PzI4Ojk5OjI4PT1iPyhxPWYoTCwxNSksZ1txXT1MLllbcV0sYj05Mik6OTk9PWI/KGdbNDg2XT1MLllbNDg2XSxnWzEzMV09TC5ZWzEzMV0sTC5ZPWcsYj0yNyk6MzQ9PWI/KHQ9VHgoMSxMLDgpLGI9NjIpOjM1PT1iJiYoeChMLDE5NCxMLlgpLGI9MjcpfSwxMDksKFkoKChZKDE2LGZ1bmN0aW9uKEwpe0FVKDQsTCl9LChZKDMyLGZ1bmN0aW9uKEwsZyxxLHQsYil7eCgoZz0oYj1sKEwsKHQ9ZihMLChxPWYoTCwxMyksMTIpKSxxKSksUzgoIm51bGwiLCJjYWxsIixiKSksTCksdCxnKX0sMzA4LChXLlRZPSh4KFcsODYsKFkoKFkoMzMsKFcuTmw9KHgoVywxMzEsWyh4KFcsKFkoMzIsZnVuY3Rpb24oTCxnLHEsdCxiLG0sVCxJLFIpe2ZvcihSPTI1Ozc2IT1SOykzNT09Uj9SPTc4OjgyPT1SP1I9Nzg6Nzk9PVI/KFQ9KGc9UShMLDEyNywxOCksLTIqfihUJmcpKy0yKyhUXmcpKSVxLGIrPUNbbVtUXV0sUj0zNSk6Nzg9PVI/Uj10LS0/Nzk6MTk6MjU9PVI/KEk9ZihMLDEyKSx0PVEoTCwxMjcsMjQpLGI9IiIsbT1sKEwsMjYpLHE9bS5sZW5ndGgsVD0wLFI9ODIpOjE5PT1SJiYoeChMLEksYiksUj03Nil9LCh4KFcsMTU1LCh4KFcsMzk1LChZKChZKDMyLGZ1bmN0aW9uKEwsZyxxLHQpe3goTCwoZz0odD1mKChxPWYoTCwxNiksTCksMTYpLGYoTCwxNCkpLGcpLGwoTCxxKXx8bChMLHQpKX0sKHgoVyw0ODYsKFkoMTYsZnVuY3Rpb24oTCxnLHEsdCxiLG0sVCxJLFIsTSxELGUscCxPLHYsRyxrTCxQLHFwKXtmb3IoUD01OzQzIT1QOykyMT09UD8oRD0wLFA9MjkpOjM3PT1QPyhZKDE3LGZ1bmN0aW9uKEUsTixGLGMsQ3MsQil7Zm9yKEI9MTE7NSE9QjspMjM9PUI/KEUuVj1RKEUsVC5zbGljZSgpLDQwKSxFLlI9UShFLENzLDQxKSxCPTUpOjE0PT1CPyhOLnB1c2goZihFLDE2KSksQj00MCk6OTY9PUI/KGMrKyxCPTUyKTo0Mj09Qj9CPUY+PU4ubGVuZ3RoPzE0OjYzOjc1PT1CP0I9cFtjXT82MTozNjo0MD09Qj9CPTQyOjg3PT1CPyhGPU1bY10sQj03NSk6NjM9PUI/KEY9TltGXSxCPTYxKTo3OD09Qj9CPTUyOjYxPT1CPyhDcy5wdXNoKEYpLEI9OTYpOjM2PT1CP0I9NDI6NTI9PUI/Qj1jPEk/ODc6MjM6MTE9PUImJihDcz1bXSxOPVtdLGM9MCxCPTc4KX0scSxMKSxQPTQzKTozMz09UD9QPVItLT83NjozNzo5Mz09UD9QPTQ5Ojk2PT1QP1A9RDxJPzI1Ojk1OjQyPT1QP1A9ZTxJPzE3OjQ4OjE5PT1QPyhEKyssUD05Nik6OT09UD9QPTQyOjM1PT1QP1A9MzM6NzY9PVA/KFQucHVzaChsKEwsZihMLDE0KSkpLFA9Myk6Mjk9PVA/UD05NjozPT1QP1A9MzM6NzI9PVA/KEcrKyxQPTQ5KToxNz09UD8oYj1xcCgxKSxwLnB1c2goYiksTys9Yj8wOjEsUD0yMyk6NDg9PVA/KHQ9KChPfDApLTEpLnRvU3RyaW5nKDIpLmxlbmd0aCxHPTAsTT1bXSxQPTkzKTo5NT09UD8oVD1bXSxSPWcsUD0zNSk6NDc9PVA/KHBbR118fChNW0ddPXFwKHQpKSxQPTcyKTo1PT1QPyhxcD1mdW5jdGlvbihFLE4pe2Zvcig7bTxFOyl2fD1UeCgxLEwsOCk8PG0sbSs9ODtyZXR1cm4gTj12JigobS09RSwxKTw8RSktMSx2Pj49RSxOfSxxPWYoTCwxNSksbT12PTAsZz0oa0w9cXAoMyksNCsoa0wmLTIpKyh+a0wmMSkrMiooa0x8LTIpKSxJPXFwKDUpLGU9MCxwPVtdLE89MCxQPTkpOjQ5PT1QP1A9RzxJPzQ3OjIxOjI1PT1QPyhwW0RdJiYoTVtEXT1mKEwsMTYpKSxQPTE5KToyMz09UCYmKGUrKyxQPTQyKX0sMTY2LChZKDE2LGZ1bmN0aW9uKEwpe0FVKDMsTCl9LChZKDMzLChZKDE3LGZ1bmN0aW9uKEwsZyxxLHQsYil7Zm9yKGI9NTA7NjghPWI7KTUwPT1iP2I9WChmYWxzZSwzNCxmYWxzZSxnLHRydWUsTCk/Njg6Nzk6Nzk9PWImJihxPWYoTCwxMyksdD1mKEwsMTUpLHgoTCx0LGZ1bmN0aW9uKG0pe3JldHVybiBldmFsKG0pfSgkeihsKEwuRyxxKSkpKSxiPTY4KX0sMzQxLCh4KFcsKFkoMTYsKHZHKDE3LHRydWUsKFkoMTcsKHgoVywxMzQsKChXLnpZPSgoVy5HPVcsVy5OcT1bXSxXLnU9dm9pZCAwLFcpLmg9IShXLkJBPVtdLFcuUj12b2lkIDAsVy5UPShXLlk9W10sVy5DPWZhbHNlLFcuSj1udWxsLFcud0s9MCxXLmp5PTAsdm9pZCAwKSxXLllTPVtdLFcuQT0oVy5mSj0oVy5jYT1mdW5jdGlvbihMKXtyZXR1cm4gdVUuY2FsbCh0aGlzLDI0LEwpfSwhKFcuWD0wLDEpKSx2b2lkIDApLFcud1k9KFcuQ0o9dm9pZCAwLGZhbHNlKSwoVy5RNj0oVj13aW5kb3cucGVyZm9ybWFuY2V8fHt9LGspLFcpLkk9W10sVy5XYT0oVy5QYT0wLFcuR1k9ODAwMSx3KSwoVy5QQT1bXSxXKS5IQT0oVy5GPShXLnBKPTAsZmFsc2UpLFcuRnM9MjUsVy5WPXZvaWQgMCxXLnpMPTAsMCksVy5nPWZhbHNlLFcudkE9ZmFsc2UsVy55Nj0oVy5ESj12b2lkIDAsMSksMSksVi50aW1lT3JpZ2luKXx8KFYudGltaW5nfHx7fSkubmF2aWdhdGlvblN0YXJ0fHwwLHgpKFcsMTk0LDApLDApKSxZKDMzLGZ1bmN0aW9uKEwsZyxxLHQsYixtKXtmb3IobT0xNzsxMiE9bTspMTc9PW0/bT1YKGZhbHNlLDMxLGZhbHNlLGcsdHJ1ZSxMKT8xMjo1Nzo5OD09bT8oeChMLHEuVTgsdC5hcHBseShiLHEuVykpLEwud0s9TC5vKCksbT0xMik6MjQ9PW0/bT1MLkc9PUx8fHQ9PUwuY2EmJmI9PUw/OTg6MTI6NTc9PW0mJihxPXVOKDE1LDEsMCxMLDEpLHQ9cS5oeixiPXEuS3osbT0yNCl9LDE0MCxXKSxmdW5jdGlvbihMLGcscSx0LGIsbSxULEksUixNLEQsZSxwLE8sdil7Zm9yKHY9Mzk7MTQhPXY7KWlmKDM5PT12KXY9WChmYWxzZSwzMix0cnVlLGcsdHJ1ZSxMKT8xNDoxMjtlbHNlIGlmKDcyPT12KW0rPXQsdj01OTtlbHNlIGlmKDgzPT12KXtmb3IoYiBpbiBwPVtdLE8pcC5wdXNoKGIpO3Y9KE89cCw0OCl9ZWxzZSAyNT09dj92PSJvYmplY3QiPT1TOCgibnVsbCIsImNhbGwiLE8pPzgzOjQ4OjEyPT12PyhxPWYoTCwxMyksST1mKEwsMTQpLE09ZihMLDE2KSxUPWYoTCwxNCksRD1sKEwsSSksTz1sKEwscSksUj1sKEwsVCksdD1sKEwsTSksdj0yNSk6OTY9PXY/dj01OTo2MT09dj8oZT1PLmxlbmd0aCxtPTAsdD0wPHQ/dDoxLHY9OTYpOjU5PT12P3Y9bTxlPzc5OjE0Ojc5PT12PyhEKE8uc2xpY2UobSwobXwwKSsodHwwKSksUiksdj03Mik6NDg9PXYmJih2PUwuRz09TD82MToxNCl9KSwyNjgsVyksbmV3IFY5KCJTdWJtaXQiKSksMjYpLGZ1bmN0aW9uKEwpe1hyKEwsNCl9KSwzOTQsVyksNDcpLFtdKSxXKSksZnVuY3Rpb24oTCl7WHIoTCwxKX0pLDM2NixXKSw4NSksVyksVykpLFtdKSksMjk5KSxXKSwxNiksZnVuY3Rpb24oTCxnLHEsdCxiLG0pe2ZvcihtPTQyOzMwIT1tOyk1Nz09bT8oeChMLHEsYiksbT0zMCk6NDI9PW0/KHE9ZihMLDE0KSxnPVEoTCwxMjcsMTYpLGI9W10sdD0wLG09MjcpOjU5PT1tP209dDxnPzc1OjU3OjI3PT1tP209NTk6NDQ9PW0/KHQrKyxtPTU5KTo3NT09bSYmKGIucHVzaChUeCgxLEwsOCkpLG09NDQpfSwzMjYsVyksWzAsMCwwXSkpLDM0OSkpLDcxKSxXKSwzNDIpLFcpLDIwNDgpXSksMCksZnVuY3Rpb24oTCxnLHEsdCxiLG0pe3goTCwoZz1sKChiPShtPWYoTCwodD1mKEwsKHE9ZihMLDE1KSwxMikpLDE1KSksbCkoTCxxKSxMKSx0KSxtKSwrKGI9PWcpKX0pLDI0MSxXKSwzMiksZnVuY3Rpb24oTCxnLHEsdCxiKXt4KChiPWwoKHQ9KHE9ZihMLDEyKSxmKShMLDEyKSxMKSx0KSxnPWwoTCxxKSxMKSx0LGIrZyl9LDI2NSxXKSxJUCg0KSkpLDApLFcpKSwzNjcpLFcpLHgpKFcsMTIyLFtdKSwxNiksZnVuY3Rpb24oTCxnLHEsdCxiLG0sVCxJLFIsTSxEKXtmb3IoRD01MTs3NiE9RDspMT09RD9EPTAhPT1iPzk5Ojc2Ojk5PT1EPyhUPWYoMiw2NCwxLEwsbSwxLFIsYixnKSxiLmFkZEV2ZW50TGlzdGVuZXIoZyxULG5zKSxsKEwsMTIyKS5wdXNoKGZ1bmN0aW9uKCl7Yi5yZW1vdmVFdmVudExpc3RlbmVyKGcsVCxucyl9KSx4KEwsMTM3LFtiLGcsVF0pLEQ9NzYpOjUxPT1EJiYodD1mKEwsMTMpLE09ZihMLDE1KSxxPWYoTCwxNSksST1mKEwsMTYpLGc9bChMLE0pLFI9bChMLHEpLGI9bChMLkcsdCksbT1sKEwsSSksRD0xKX0sNDk0LFcpLFcpKSxXKSksWSgzMyxmdW5jdGlvbihMLGcscSx0KXt4KChnPSh0PVR4KDEsKHE9ZihMLDE0KSxMKSw4KSxmKShMLDEzKSxMKSxnLGwoTCxxKT4+PnQpfSwyODgsVyksMTAxKSxXKSxZKDE2LGZ1bmN0aW9uKEwsZyxxKXsoZz1mKEwsKHE9ZihMLDEzKSwxNCkpLHgpKEwsZywiIitsKEwscSkpfSw3NSxXKSw0NjApLFcpLFtdKSksWSgxNyxmdW5jdGlvbigpe30sMixXKSxXKSksVyksMTQ3LElQKDQpKSwwKSwzNjQpLFcpLGZ1bmN0aW9uKEwsZyxxKXsocT1sKChnPWYoTCwxNCksTCkuRyxnKSxxWzBdKS5yZW1vdmVFdmVudExpc3RlbmVyKHFbMV0scVsyXSxucyl9KSwxNTEsVyksVyksMzEzLDApLFcpKSwxNjIpLHIpLHgpKFcsMTM3LDApLHt9KSksZnVuY3Rpb24oTCxnLHEsdCxiLG0pe3goTCwobT0oZz0odD1mKEwsKGI9ZihMLDEzKSwxMikpLHE9ZihMLDEzKSxsKEwsYikpLGwoTCx0KSkscSksZ1ttXSl9KSwxMzAsVyksWzE2NSwwLDBdKSksSVAoNCkpKSwyMDkpLFcpLFpVKDExLDAsVyxbS3NdKSxXKSxbVFkseV0pLDEwKSwwLFcsW2pfLEpdKSx0cnVlKSx0cnVlLFcpfSxCRj1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnKXtmb3IoZz0oTD0wLGRba118MCksQz1kWzNdfDA7MTQ+TDtMKyspQz1DPj4+d3xDPDxKLFY9Vj4+Pnd8Vjw8SixDKz1nfDAsVis9eXwwLHk9eTw8M3x5Pj4+MjksVl49ZytXLGc9Zzw8M3xnPj4+MjksQ149TCtXLGdePUMseV49VjtyZXR1cm5beT4+PkomMjU1LHk+Pj4xNiYyNTUseT4+PncmMjU1LHk+Pj4wJjI1NSxWPj4+SiYyNTUsVj4+PjE2JjI1NSxWPj4+dyYyNTUsVj4+PjAmMjU1XX0sSEc9ZnVuY3Rpb24oayxKLHkpe3JldHVybiB5PWsuY3JlYXRlKCkuc2hpZnQoKSxKLlYuY3JlYXRlKCkubGVuZ3RofHxKLlIuY3JlYXRlKCkubGVuZ3RofHwoSi5WPXZvaWQgMCxKLlI9dm9pZCAwKSx5fSxhUD1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnLHEsdCl7Zm9yKHQ9ODU7OTYhPXQ7KWlmKDE3PT10KXQ9IURVKDk1LDgyLDYsIm51bWJlciIsIm9iamVjdCIsImFycmF5IixnKXx8dShnLCJvYmplY3QiLDEwKSYmZy5ub2RlVHlwZT5kPzU6NDM7ZWxzZSBpZigzND09dClDKyssdD0yNjtlbHNlIGlmKDI2PT10KXQ9QzxrLmxlbmd0aD8xNjo5NjtlbHNlIGlmKDU9PXQpcShnKSx0PTM0O2Vsc2UgaWYoMTY9PXQpZz1rW0NdLHQ9MTc7ZWxzZSBpZig4NT09dClxPWZ1bmN0aW9uKGIpe2ImJlYuYXBwZW5kQ2hpbGQoInN0cmluZyI9PT10eXBlb2YgYj9KLmNyZWF0ZVRleHROb2RlKGIpOmIpfSxDPXcsdD0xNDtlbHNlIGlmKDE0PT10KXQ9MjY7ZWxzZSBpZig0Mz09dCl7YTp7aWYoZyYmIm51bWJlciI9PXR5cGVvZiBnLmxlbmd0aCl7aWYodShnLCJvYmplY3QiLDExKSl7TD0iZnVuY3Rpb24iPT10eXBlb2YgZy5pdGVtfHwic3RyaW5nIj09dHlwZW9mIGcuaXRlbTticmVhayBhfWlmKCJmdW5jdGlvbiI9PT10eXBlb2YgZyl7TD0iZnVuY3Rpb24iPT10eXBlb2YgZy5pdGVtO2JyZWFrIGF9fUw9V310PShMaig2NCwzNCxkLHksTD9kNigyOSw2NCxkLGcpOmcscSksMzQpfX0sZV89ZnVuY3Rpb24oayxKLHksdyxXLGQpe3JldHVybiBmcy5jYWxsKHRoaXMsMzYsSixrLHksdyxXLGQpfSxyUD1mdW5jdGlvbihrLEoseSx3LFcpe2lmKDM9PWsubGVuZ3RoKXtmb3Iodz0wOzM+dzt3KyspSlt3XSs9a1t3XTtmb3IoVz0oeT1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdLDApOzk+VztXKyspSlszXShKLFclMyx5W1ddKX19LGg9ZnVuY3Rpb24oayxKLHksdyxXKXtXPXRoaXM7dHJ5e2hVKGsseSxKLHcsdGhpcyl9Y2F0Y2goZCl7WCgyMDQ4LDY5LGQsdGhpcykseShmdW5jdGlvbihWKXtWKFcuQSl9KX19LHBzPWZ1bmN0aW9uKCl7cmV0dXJuIFVELmNhbGwodGhpcywxLDkyLDMpfSxZej1mdW5jdGlvbigpe3JldHVybiBVRC5jYWxsKHRoaXMsMSw5Miw3KX0sTHM9ZnVuY3Rpb24oayl7cmV0dXJuIFZWLmNhbGwodGhpcyw4MywyNixrKX0sbFU9ZnVuY3Rpb24oayxKLHksdyxXKXtyZXR1cm4gR3guY2FsbCh0aGlzLG51bGwsNSwyNCxrLEoseSx3LFcpfSxsTj1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMpeyhKLnB1c2goKGQ9a1swXTw8MjQsdz1rWzFdPDwxNix+KGQmdyktMip+ZCsofmRedykrMioofmQmdykpfGtbMl08PDh8a1szXSksSikucHVzaCgoVz1rWzRdPDwyNCx5PWtbNV08PDE2LDIqKHl8MCkrfihXJnkpKyh+V155KS0yKih+V3x5KSl8a1s2XTw8OHxrWzddKSxKLnB1c2goKFY9a1s4XTw8MjR8a1s5XTw8MTYsQz1rWzEwXTw8OCwtKFZ8MCkrKEN8MCkrKFYmQykrMiooViZ+QykpfGtbMTFdKX0sSCxHWT1mdW5jdGlvbihrLEope2Z1bmN0aW9uIHkoKXt0aGlzLkkxPXRoaXMuTXE9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKHcpeyhKLlIxKHcpLGspLlIxKHcpfSwoaz1uZXcgKEo9bmV3ICh5LnByb3RvdHlwZS5SMT0oeS5wcm90b3R5cGUuT3I9ZnVuY3Rpb24oKXtyZXR1cm4gZDYuY2FsbCh0aGlzLDI5LDI0KX0sZnVuY3Rpb24odyxXKXtyZXR1cm4gYlUuY2FsbCh0aGlzLHcsOCxXKX0pLHkpLHkpLGZ1bmN0aW9uKHcpe3JldHVybiBrPW5ldyAodz1bSi5PcigpLGsuT3IoKV0seSksd30pXX0sTjM9ZnVuY3Rpb24oKXtyZXR1cm4gdzYuY2FsbCh0aGlzLDUpfSxGVD1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCxnLHEsdCxiLG0sVCxJLFIsTSl7aWYoTT1sKEosMTk0KSxNPj1KLlgpdGhyb3dbdFUsMzFdO2ZvcihnPShiPShtPU0sSi5EQikubGVuZ3RoLFc9dywwKTswPFc7KUk9bT4+MyxkPUouWVNbSV0sQz1tJTgsVj04LShDfDApLFI9VjxXP1Y6Vyx5JiYoVD1KLEw9bSxULnUhPUw+PjYmJihULnU9TD4+NixxPWwoVCwyNTkpLFQuQ0o9QkYoMiwyNCxULlQsOCwyOTg4LFswLDAscVtrXSxxWzJdXSxULnUpKSxkXj1KLkNKW0kmYl0pLGd8PShkPj44LShDfDApLShSfDApJihrPDxSKS1rKTw8KFd8MCktKFJ8MCksVy09UixtKz1SO3JldHVybiB4KEosMTk0LCh0PWcsKE18MCkrKHd8MCkpKSx0fSx4PWZ1bmN0aW9uKGssSix5KXtpZigxOTQ9PUp8fDEzND09SilrLllbSl0/ay5ZW0pdLmNvbmNhdCh5KTprLllbSl09UShrLHksNDIpO2Vsc2V7aWYoay52QSYmMjU5IT1KKXJldHVybjszMzE9PUp8fDg2PT1KfHw0Nz09Snx8NTM9PUp8fDQ4Nj09Snx8MzIwPT1KfHwzOTU9PUp8fDE0Nz09Snx8MTMxPT1KP2suWVtKXXx8KGsuWVtKXT1mKDQ1LDI0LDIseSxrLEosMzApKTprLllbSl09Zig0NSw1MCwyLHksayxKLDE0NSl9MjU5PT1KJiYoay5UPUZUKDEsayxmYWxzZSwzMiksay51PXZvaWQgMCl9LHI2PWZ1bmN0aW9uKGssSil7cmV0dXJuIE1wLmNhbGwodGhpcywzMixKLDMsayl9LGNGPWZ1bmN0aW9uKGspe3JldHVybiBMai5jYWxsKHRoaXMsNjQsMzUsayl9LFVIPWZ1bmN0aW9uKGssSil7ZnVuY3Rpb24geSgpe3RoaXMubj0odGhpcy5IPVtdLDApfXJldHVybiBrPSh5LnByb3RvdHlwZS5MSj0oeS5wcm90b3R5cGUuZXk9ZnVuY3Rpb24odyxXKXtyZXR1cm4gc0QuY2FsbCh0aGlzLDM2LDMsdyxXKX0sZnVuY3Rpb24oKXtyZXR1cm4geVYuY2FsbCh0aGlzLDkxLDQ5KX0pLG5ldyB5KSxKPW5ldyB5LFtmdW5jdGlvbih3KXsoay5leSh3KSxKKS5leSh3KX0sZnVuY3Rpb24odyl7cmV0dXJuIEo9bmV3ICh3PWsuTEooKS5jb25jYXQoSi5MSigpKSx5KSx3fV19LHBqPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMKXtpZighSi5BKXtKLnpMKys7dHJ5e2ZvcihWPShDPShkPXZvaWQgMCxKLlgpLDApOy0teTspdHJ5e2lmKChXPXZvaWQgMCxKKS5WKWQ9SEcoSi5WLEopO2Vsc2V7aWYoKFY9bChKLDE5NCksVik+PUMpYnJlYWs7ZD1sKEosKFc9KHgoSixrLFYpLGYpKEosMTIpLFcpKX1YKGZhbHNlLChkJiYoTD1kW1NfXSwoTHwwKSt+KEwmMjA0OCktIC0yMDQ5LShMXjIwNDgpKT9kKEoseSk6bU4oMCxKLFt0VSwyMSxXXSw4KSwzMCksZmFsc2UseSxmYWxzZSxKKX1jYXRjaChnKXtsKEosMTU1KT9tTih3LEosZyw4KTp4KEosMTU1LGcpfWlmKCF5KXtpZihKLm56KXtwaigxMzQsSiwoSi56TC0tLDY4NDM5OTk1NTMwMiksMjIpO3JldHVybn1tTigwLEosW3RVLDMzXSw4KX19Y2F0Y2goZyl7dHJ5e21OKHcsSixnLDgpfWNhdGNoKHEpe1goMjA0OCw3MCxxLEopfX1KLnpMLS19fSxBcj0iY2xvc3VyZV91aWRfIisoMUU5Kk1hdGgucmFuZG9tKCk+Pj4wKSx6eD0wLFFWLG9IPWZ1bmN0aW9uKGssSix5LHcsVyxkKXtmb3IoZD0odz03OSw3Mik7Oyl0cnl7aWYoODg9PXcpYnJlYWs7ZWxzZSBpZig3OT09dyl3PXIuYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5Pzc3OjcxO2Vsc2UgaWYoMTg9PXcpZD0yMyxrPWZ1bmN0aW9uKCl7fSxyLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLGssSiksci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixrLEopLHc9MTtlbHNlIGlmKDc3PT13KXk9ZmFsc2UsSj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXt5PXRydWV9fSksdz0xODtlbHNle2lmKDE9PXcpcmV0dXJuIGQ9NzIseTtpZig5OD09dylkPTcyLHc9MTtlbHNlIGlmKDcxPT13KXJldHVybiBmYWxzZX19Y2F0Y2goVil7aWYoNzI9PWQpdGhyb3cgVjsyMz09ZCYmKFc9Vix3PTk4KX19KCksWUw9ezI6InRvdWNoIiwzOiJwZW4iLDQ6KFgoMiwocjYucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LE9ELnByb3RvdHlwZS5MPSgocjYucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuS0o9dHJ1ZX0sT0QpLnByb3RvdHlwZS5TPWZ1bmN0aW9uKGspe2ZvcihrPTgxOzg3IT1rOyk5MD09az9rPTI3OjE0PT1rP2s9Mjc6MzA9PWs/KHRoaXMuVjYuc2hpZnQoKSgpLGs9MTQpOjgxPT1rP2s9dGhpcy5WNj85MDo4NzoyNz09ayYmKGs9dGhpcy5WNi5sZW5ndGg/MzA6ODcpfSxmYWxzZSksNjApLGxVLHI2KSwibW91c2UiKX0sbUY9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKygobFUucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShsVS5VLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcykuTyxrKS5wcmV2ZW50RGVmYXVsdD9rLnByZXZlbnREZWZhdWx0KCk6ay5yZXR1cm5WYWx1ZT1mYWxzZX0sbFUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpeyhsVS5VLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpLHRoaXMuTykuc3RvcFByb3BhZ2F0aW9uP3RoaXMuTy5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLk8uY2FuY2VsQnViYmxlPXRydWV9LDFFNikqTWF0aC5yYW5kb20oKXwwKSxocj0wLE0zPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIiksZzY9ImNsb3N1cmVfbG1fIisoKExzLnByb3RvdHlwZS5yZW1vdmU9KCgoTHMucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssSix5LHcsVyl7cmV0dXJuIHZHKDE3LCh5PSh3PXZvaWQgMCE9PUosVz12b2lkIDAhPT1rKT9rLnRvU3RyaW5nKCk6IiIsZmFsc2UpLHRydWUsMyxmdW5jdGlvbihkLFYsQyl7Zm9yKEM9NzY7OTQhPUM7KXtpZig0OT09QylyZXR1cm4gZmFsc2U7aWYoMzg9PUMpKytWLEM9NDg7ZWxzZSBpZig3Nj09QylWPTAsQz0zNjtlbHNlIGlmKDQ4PT1DKUM9VjxkLmxlbmd0aD8yMDo0OTtlbHNlIGlmKDIwPT1DKUM9VyYmZFtWXS50eXBlIT15fHx3JiZkW1ZdLmNhcHR1cmUhPUo/Mzg6NzA7ZWxzZXtpZig3MD09QylyZXR1cm4gdHJ1ZTszNj09QyYmKEM9NDgpfX19LHRoaXMuSyl9LExzLnByb3RvdHlwZSkueFM9ZnVuY3Rpb24oayxKLHksdyxXLGQpe3JldHVybiBXPXRoaXMuS1soZD0tMSxrKS50b1N0cmluZygpXSxXJiYoZD1BKDAsMyxXLEosdyx5KSksLTE8ZD9XW2RdOm51bGx9LExzLnByb3RvdHlwZSkuYWRkPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMLGcpe2ZvcihnPTU4Ozg2IT1nOyl7aWYoNTU9PWcpcmV0dXJuIFY7MjQ9PWc/KFY9bmV3IENqKFcsSixMLHRoaXMuc3JjLCEhdyksVi5sVz15LGQucHVzaChWKSxnPTU1KToyPT1nPyhkPXRoaXMuS1tMXT1bXSx0aGlzLkF6KyssZz02MSk6ODU9PWc/KFYubFc9ZmFsc2UsZz01NSk6NjE9PWc/KEM9QSgwLDM2LGQsVyxKLHcpLGc9MzIpOjYwPT1nP2c9ZD82MToyOjgxPT1nPyhWPWRbQ10sZz0zMCk6MzA9PWc/Zz15PzU1Ojg1OjMyPT1nP2c9LTE8Qz84MToyNDo1OD09ZyYmKEw9ay50b1N0cmluZygpLGQ9dGhpcy5LW0xdLGc9NjApfX0sZnVuY3Rpb24oayxKLHksdyxXLGQsVixDKXtmb3IoQz04ODs2MCE9QzspaWYoNzI9PUMpVz10aGlzLktbVl0sZD1BKDAsMzUsVyx3LEoseSksQz02ODtlbHNlIGlmKDY0PT1DKWRlbGV0ZSB0aGlzLktbVl0sdGhpcy5Bei0tLEM9OTc7ZWxzZXtpZig5Nz09QylyZXR1cm4gdHJ1ZTtpZigxNT09QylyZXR1cm4gZmFsc2U7aWYoODg9PUMpVj1rLnRvU3RyaW5nKCksQz0xO2Vsc2UgaWYoMT09QylDPVYgaW4gdGhpcy5LPzcyOjE1O2Vsc2UgaWYoNjg9PUMpQz0tMTxkPzQ5OjIyO2Vsc2UgaWYoMD09QylDPTA9PVcubGVuZ3RoPzY0Ojk3O2Vsc2UgaWYoNDk9PUMpTXAoMzIsV1tkXSwxNix0cnVlKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoVyxkLDEpLEM9MDtlbHNlIGlmKDIyPT1DKXJldHVybiBmYWxzZX19KSwxRTYqTWF0aC5yYW5kb20oKSl8MCksd1A9e30sUEc9MCxrej0iX19jbG9zdXJlX2V2ZW50c19mbl8iKygxRTkqTWF0aC5yYW5kb20oKT4+PjApOygoKFgoMiw2MyxpVSxPRCksaVUucHJvdG90eXBlW21GXT10cnVlLEg9aVUucHJvdG90eXBlLEguVEw9ZnVuY3Rpb24oayl7dGhpcy5Fcj1rfSxIKS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssSix5LHcpe1dHKDEwLGZhbHNlLCJvYmplY3QiLGssSix5LHcsdGhpcyl9LEgucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihrLEoseSx3KXtiVSgib2JqZWN0IiwxOCwwLGssdyx0aGlzLEoseSl9LEgpLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxLHQpe2Zvcih0PTY1OzM4IT10OylpZig4Nz09dCl3PWssQz10aGlzLmJ2LGQ9cSxKPXcudHlwZXx8dyx0PTM0O2Vsc2UgaWYoNjE9PXQpdD00MTtlbHNlIGlmKDE0PT10KXQ9ZD83NDo0MDtlbHNlIGlmKDc0PT10KVY9ZC5sZW5ndGgtMSx0PTYxO2Vsc2UgaWYoMjA9PXQpdD1MPzEyOjg3O2Vsc2V7aWYoNDU9PXQpcmV0dXJuIGc7NjU9PXQ/KEw9dGhpcy5Fcix0PTIwKTozND09dD90PSJzdHJpbmciPT09dHlwZW9mIHc/ODA6NTM6NTI9PXQ/dD1kPzg5OjQ1Ojc5PT10P3Q9TD81MTo4Nzo1Mz09dD90PXcgaW5zdGFuY2VvZiByNj8zOTo0OjIxPT10PyhWLS0sdD00MSk6MTE9PXQ/dD0hdy5LSiYmVjxkLmxlbmd0aD8yOjQ1Ojg5PT10PyhWPTAsdD0yMyk6Nz09dD8oTD1MLkVyLHQ9NzkpOjA9PXQ/KFc9dy5jdXJyZW50VGFyZ2V0PWRbVl0sZz0kTCgzOCx0cnVlLFcsdHJ1ZSxKLHcpJiZnLHQ9MjEpOjk4PT10PyhnPXRydWUsdD0xNCk6NDM9PXQ/KFc9dy5jdXJyZW50VGFyZ2V0PUMsZz0kTCg0MSx0cnVlLFcsdHJ1ZSxKLHcpJiZnLHcuS0p8fChnPSRMKDQwLHRydWUsVyxmYWxzZSxKLHcpJiZnKSx0PTUyKToxMj09dD8ocT1bXSx0PTkxKTo1MT09dD8ocS5wdXNoKEwpLHQ9Nyk6MjM9PXQ/dD0xMTo0MD09dD90PXcuS0o/NTI6NDM6ND09dD8oeT13LHc9bmV3IHI2KEosQyksRCQodyx5KSx0PTk4KTozOT09dD8ody50YXJnZXQ9dy50YXJnZXR8fEMsdD05OCk6NDE9PXQ/dD0hdy5LSiYmMDw9Vj8wOjQwOjgwPT10Pyh3PW5ldyByNih3LEMpLHQ9OTgpOjI9PXQ/KFc9dy5jdXJyZW50VGFyZ2V0PWRbVl0sZz0kTCgzOSx0cnVlLFcsZmFsc2UsSix3KSYmZyx0PTMzKTo5MT09dD90PTc5OjMzPT10JiYoVisrLHQ9MTEpfX0sSC5TPWZ1bmN0aW9uKCl7dGhpcy5Fcj0oKGlVLlUuUy5jYWxsKHRoaXMpLHRoaXMuaikmJnUodHJ1ZSwwLDIyLHRoaXMuaiksbnVsbCl9LEgueFM9ZnVuY3Rpb24oayxKLHksdyl7cmV0dXJuIHRoaXMuai54UyhTdHJpbmcoayksSix5LHcpfSxIKS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihrLEope3JldHVybiB0aGlzLmouaGFzTGlzdGVuZXIodm9pZCAwIT09az9TdHJpbmcoayk6dm9pZCAwLEopfTt2YXIgSnI7KEg9KFgoMiwoKChaKCgoKEg9KCJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLHBzKS5wcm90b3R5cGUsSCkuTj1mdW5jdGlvbihrKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBrP3RoaXMubkouZ2V0RWxlbWVudEJ5SWQoayk6a30sSC5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihrLEope3JldHVybihKfHx0aGlzLm5KKS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoaykpfSxILmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oayxKLHkpe3JldHVybiJhcHBsaWNhdGlvbi94aHRtbCt4bWwiPT09KEo9KHk9dGhpcy5uSixTdHJpbmcpKGspLHkuY29udGVudFR5cGUpJiYoSj1KLnRvTG93ZXJDYXNlKCkpLHkuY3JlYXRlRWxlbWVudChKKX0sSCkuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMubkouY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sSC5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLEope2suYXBwZW5kQ2hpbGQoSil9LEguYXBwZW5kPWZ1bmN0aW9uKGssSil7YVAoYXJndW1lbnRzLDk9PWsubm9kZVR5cGU/azprLm93bmVyRG9jdW1lbnR8fGsuZG9jdW1lbnQsIiIsMSxmYWxzZSwwLGspfSxILmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihrLEope2ZvcihKPTIwOzc5IT1KOyl7aWYoODI9PUope3N3aXRjaChrLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9aWYoMzU9PUopcmV0dXJuIGZhbHNlOzIwPT1KJiYoSj0xIT1rLm5vZGVUeXBlPzM1OjgyKX19LEgucmVtb3ZlTm9kZT1jRixILmNvbnRhaW5zPWZ1bmN0aW9uKGssSix5LHcpe2Zvcih3PTE2OzUyIT13OylpZig2Nj09dyl3PTc4O2Vsc2UgaWYoMTY9PXcpdz1rJiZKPzY6Njc7ZWxzZXtpZig2Nz09dylyZXR1cm4gZmFsc2U7aWYoMzI9PXcpdz03ODtlbHNle2lmKDQ2PT13KXJldHVybiBrPT1KfHxrLmNvbnRhaW5zKEopO2lmKDE3PT13KUo9Si5wYXJlbnROb2RlLHc9MzI7ZWxzZSBpZig3Nj09dyl3PSJ1bmRlZmluZWQiIT10eXBlb2Ygay5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8yOTo2NjtlbHNle2lmKDI5PT13KXJldHVybiBrPT1KfHwhISh5PWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oSiksLTIqfnkrfih5fDE2KSsofnleMTYpKzIqKH55JjE2KSk7aWYoNj09dyl3PWsuY29udGFpbnMmJjE9PUoubm9kZVR5cGU/NDY6NzY7ZWxzZSBpZig3OD09dyl3PUomJmshPUo/MTc6NTM7ZWxzZSBpZig1Mz09dylyZXR1cm4gSj09a319fX0sOTApLFl6KSxZeikucHJvdG90eXBlLlY5PTAsWXopLnByb3RvdHlwZS5JMz0iIiw1OSksQkcsaVUpLEJHKS5wcm90b3R5cGUsSC50bD1Zei5rUygpLEguTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkJ9LEguZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR0x9LEgpLlRMPWZ1bmN0aW9uKGssSil7Zm9yKEo9MjQ7OTIhPUo7KWlmKDQ1PT1KKUJHLlUuVEwuY2FsbCh0aGlzLGspLEo9OTI7ZWxzZXtpZig4Mj09Sil0aHJvdyBFcnJvcigiTWV0aG9kIG5vdCBzdXBwb3J0ZWQiKTsyND09SiYmKEo9dGhpcy5HTCYmdGhpcy5HTCE9az84Mjo0NSl9fSxILnM9ZnVuY3Rpb24oKXt0aGlzLlhzPSEoKExqKDY0LDcsZnVuY3Rpb24oayl7ay5YcyYmay5zKCl9LHRoaXMpLHRoaXMudikmJnUodHJ1ZSwwLDIxLHRoaXMudiksMSl9LEguUz1mdW5jdGlvbihrKXtmb3Ioaz0xNDs0MCE9azspMTQ9PWs/KHRoaXMuWHMmJnRoaXMucygpLGs9NDQpOjI5PT1rPyhMaig2NCw5LGZ1bmN0aW9uKEope3ZHKDE3LHRydWUsSiwyNyl9LHRoaXMpLCF0aGlzLnk5JiZ0aGlzLkImJmNGKHRoaXMuQiksdGhpcy5HTD10aGlzLkI9dGhpcy5iVz10aGlzLmNBPW51bGwsQkcuVS5TLmNhbGwodGhpcyksaz00MCk6NDQ9PWs/az10aGlzLnY/MzoyOTozPT1rJiYodkcoMTcsdHJ1ZSx0aGlzLnYsMjApLGRlbGV0ZSB0aGlzLnYsaz0yOSl9LEgucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDLEwsZyxxLHQsYil7Zm9yKGI9Mjg7NjMhPWI7KWlmKDQ5PT1iKXQ9dGhpcy5jQSxkIGluIHQmJmRlbGV0ZSB0W2RdLFooMzMsMSxrLHRoaXMuYlcpLGI9Njk7ZWxzZSBpZig0Mz09YilDLkdMPW51bGwsQkcuVS5UTC5jYWxsKEMsbnVsbCksYj01MTtlbHNlIGlmKDI1PT1iKWQ9eSxiPTI2O2Vsc2UgaWYoMjY9PWIpYj10aGlzLmNBJiZkPzcxOjg4O2Vsc2UgaWYoMTA9PWIpeT1rLGI9MjU7ZWxzZXtpZig2Nj09YilyZXR1cm4gaztpZigzNT09YilDPWssYj04MztlbHNlIGlmKDY5PT1iKWI9Sj8xMTozNTtlbHNle2lmKDQ1PT1iKXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtpZig2Nz09Yil0aHJvdyBFcnJvcigiQ2hpbGQgaXMgbm90IGluIHBhcmVudCBjb21wb25lbnQiKTs5Mz09Yj8oaz1nLGI9NDEpOjM3PT1iPyh5PVYsYj0yNSk6NTE9PWI/Yj1rPzY2OjY3Ojg5PT1iP2I9KFY9ay5zcik/Mzc6OTk6ODM9PWI/Yj1udWxsPT1DPzQ1OjQzOjg4PT1iPyhnPW51bGwsYj05Myk6NzE9PWI/KEw9dGhpcy5jQSxnPShudWxsIT09TCYmZCBpbiBMP0xbZF06dm9pZCAwKXx8bnVsbCxiPTkzKTo1OD09Yj9iPSJzdHJpbmciPT09dHlwZW9mIGs/MTA6ODk6MTE9PWI/KGsucygpLGsuQiYmY0Yoay5CKSxiPTM1KTo0MT09Yj9iPWQmJms/NDk6NTE6OTk9PWI/KFc9ay50bCxxPWssdz1XLkkzKyI6IisoVy5WOSsrKS50b1N0cmluZygzNiksVj1xLnNyPXcsYj0zNyk6Mjg9PWImJihiPWs/NTg6NTEpfX19O3ZhciBvUCxLaj17YnV0dG9uOihaKDI4LHEzKSwicHJlc3NlZCIpLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSx4TD0oWigoWCgyLCgoKChIPXEzLnByb3RvdHlwZSxILlN5PWZ1bmN0aW9uKGssSix5LHcpeyh3PUouTj9KLk4oKTpKKSYmKHk/WiQ6aU4pKHcsW2tdKX0sSC5EPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYpe2ZvcihWPTE3Ozc0IT1WOyk1MD09Vj8oKFc9dGhpcy5nS1trXSkmJnRoaXMuU3koVyxKLHkpLHRoaXMubWooZCxrLHkpLFY9NzQpOjY1PT1WP1Y9dGhpcy5nSz81MDo4Ojg9PVY/KHc9dGhpcy5hMSgpLHcucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLmdLPXsxOncrIi1kaXNhYmxlZCIsMjp3KyItaG92ZXIiLDQ6dysiLWFjdGl2ZSIsODp3KyItc2VsZWN0ZWQiLDE2OncrIi1jaGVja2VkIiwzMjp3KyItZm9jdXNlZCIsNjQ6dysiLW9wZW4ifSxWPTUwKToxNz09Vj8oZD1KLk4oKSxWPTI0KToyND09ViYmKFY9ZD82NTo3NCl9LEguWko9ZnVuY3Rpb24oayl7cmV0dXJuIGsuTigpfSxIKS5hMT1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifSxIKS51Vz1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCl7Zm9yKEM9ODIsTD04Mzs7KXRyeXtpZig2MT09QylicmVhaztlbHNlIDQ3PT1DPyhrLmRLJjQmJldHKDE3LDQsMCxrKSYmay5zZXRBY3RpdmUoZmFsc2UpLGsuZEsmMzImJldHKDE5LDMyLDAsaykmJnlWKDkxLDEzLDEsZmFsc2UsaywzMikmJmsuRChmYWxzZSwzMiksQz02OSk6MTc9PUM/Qz0hSiYmay5sJjMyPzY1OjY5OjY5PT1DP0M9KGQ9eS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzYyOjU3OjE5PT1DPyh3LnRhYkluZGV4PS0xLHcucmVtb3ZlQXR0cmlidXRlKCJ0YWJJbmRleCIpLEM9NjEpOjI9PUM/KHc9eSxDPTg4KTo1NT09Qz9DPWsubCYzMj80Nzo2OTo1Nz09Qz9DPWQhPUo/Mjo2MTo4OD09Qz9DPUo/NTQ6MTk6ODE9PUM/KEw9ODMsQz04OSk6NjU9PUM/KEw9MjMseS5ibHVyKCksQz04OSk6ODI9PUM/Qz1XRyg3LDMyLDAsaykmJih5PWsuWkooKSk/MTc6NjE6NTQ9PUM/KHcudGFiSW5kZXg9MCxDPTYxKTo2Mj09Qz8oVz15LnRhYkluZGV4LGQ9Im51bWJlciI9PT10eXBlb2YgVyYmMDw9VyYmMzI3Njg+VyxDPTU3KTo4OT09QyYmKEw9ODMsQz01NSl9Y2F0Y2goZyl7aWYoODM9PUwpdGhyb3cgZzsyMz09TCYmKFY9ZyxDPTgxKX19LEgpLm1qPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYpeyhkPWsuZ2V0QXR0cmlidXRlKChXPShvUHx8KG9QPXsxOiJkaXNhYmxlZCIsODoic2VsZWN0ZWQiLDE2OiJjaGVja2VkIiw2NDoiZXhwYW5kZWQifSksb1BbSl0pLCJyb2xlIikpfHxudWxsKT8odz1LaltkXXx8VyxWPSJjaGVja2VkIj09V3x8InNlbGVjdGVkIj09Vz93OlcpOlY9VyxWJiZ5Vig5MSwxMiwic29ydCIsImZhbHNlIixWLGsseSl9LDU3KSxOMyxxMyksMjcpLE4zKSx7fSk7aWYoKCgoKCgoSD0oWCgyLCgoTjMucHJvdG90eXBlLm1qPWZ1bmN0aW9uKGssSix5KXtzd2l0Y2goSil7Y2FzZSA4OmNhc2UgMTY6eVYoOTEsOCwic29ydCIsImZhbHNlIiwicHJlc3NlZCIsayx5KTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOk4zLlUubWouY2FsbCh0aGlzLGssSix5KX19LE4zKS5wcm90b3R5cGUuYTE9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1idXR0b24ifSw2MiksYSxCRyksYS5wcm90b3R5cGUpLEguUz1mdW5jdGlvbihrKXtmb3Ioaz0yNDsxMiE9azspNTA9PWs/az10aGlzLnJLPzcwOjQyOjI0PT1rPyhhLlUuUy5jYWxsKHRoaXMpLGs9NTApOjcwPT1rPyh2RygxNyx0cnVlLHRoaXMuckssMjEpLGRlbGV0ZSB0aGlzLnJLLGs9NDIpOjQyPT1rJiYoZGVsZXRlIHRoaXMuWix0aGlzLmk9bnVsbCxrPTEyKX0sSCkuWko9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5aLlpKKHRoaXMpfSxILkU4PTAsSC5mej0zOSxIKS5pPW51bGwsSC5TeT1mdW5jdGlvbihrLEoseSl7Zm9yKHk9MTM7NzkhPXk7KTEzPT15P3k9az81NTo3ODo1NT09eT95PUo/MTc6Nzk6MjU9PXk/eT0wPT10aGlzLmkubGVuZ3RoPzY1Ojk6OT09eT8odGhpcy5aLlN5KEosdGhpcyxmYWxzZSkseT03OSk6MTc9PXk/KHRoaXMuaT8wPD1kNigyOSwxMCwxLEosdGhpcy5pKXx8dGhpcy5pLnB1c2goSik6dGhpcy5pPVtKXSx0aGlzLlouU3koSix0aGlzLHRydWUpLHk9NzkpOjc4PT15P3k9SiYmdGhpcy5pJiZaKDE3LDEsSix0aGlzLmkpPzI1Ojc5OjY1PT15JiYodGhpcy5pPW51bGwseT05KX0sSCkubWk9dHJ1ZSxILmRLPTI1NSxIKS5sPTAsSC5zPWZ1bmN0aW9uKCl7KChhLlUucy5jYWxsKHRoaXMpLHRoaXMuckspJiZ0aGlzLnJLLmRldGFjaCgpLHRoaXMpLmlzVmlzaWJsZSgpJiZ0aGlzLmlzRW5hYmxlZCgpJiZ0aGlzLloudVcodGhpcyxmYWxzZSl9LEguaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWl9LEguaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLmwmMSl9LEguaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hISh0aGlzLmwmNCl9LEguc2V0QWN0aXZlPWZ1bmN0aW9uKGspe3lWKDkxLDUsMSxrLHRoaXMsNCkmJnRoaXMuRChrLDQpfSxIKS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9LEgpLkQ9ZnVuY3Rpb24oayxKLHksdyxXLGQsVixDKXtmb3IoQz00NDs4IT1DOykzNT09Qz9DPWQ/NTQ6NDE6NjI9PUM/KGQ9IWssVz10aGlzLmdldFBhcmVudCgpLEM9NTgpOjU4PT1DP0M9VyYmImZ1bmN0aW9uIj09dHlwZW9mIFcuaXNFbmFibGVkJiYhVy5pc0VuYWJsZWQoKXx8IXlWKDkxLDI5LDEsIWQsdGhpcywxKT84OjM1OjQ0PT1DP0M9eXx8MSE9Sj81OjYyOjc0PT1DPyh0aGlzLlouRChKLHRoaXMsayksdGhpcy5sPWs/KFY9dGhpcy5sLH4oViZKKS0yKn4oVnxKKS0oflYmSikrKH5WfEopKToodz10aGlzLmwsKHd8fkopLSh3Jn5+SiktKH53Jn5KKSksQz04KTo0MT09Qz8odGhpcy5zZXRBY3RpdmUoZmFsc2UpLHlWKDkxLDIxLDEsZmFsc2UsdGhpcywyKSYmdGhpcy5EKGZhbHNlLDIpLEM9NTQpOjU9PUM/Qz1XRyg4LEosMCx0aGlzKSYmayE9ISEodGhpcy5sJkopPzc0Ojg6NTQ9PUMmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLloudVcodGhpcyxkKSx0aGlzLkQoIWQsMSx0cnVlKSxDPTgpfSwiZnVuY3Rpb24iIT09dHlwZW9mIGEpdGhyb3cgRXJyb3IoIkludmFsaWQgY29tcG9uZW50IGNsYXNzICIrYSk7aWYoImZ1bmN0aW9uIiE9PXR5cGVvZiBxMyl0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK3EzKTt2YXIgSEY9c0QoMzYsMjMsYSksZ1A9KEEoImdvb2ctYnV0dG9uIiwoKFgoMiw2MSxWOSwoKChaKDI2LChYKDIsNTgsTnAsKEEoImdvb2ctY29udHJvbCIsNTYsKHhMW0hGXT1xMyxmdW5jdGlvbigpe3JldHVybiBuZXcgYShudWxsKX0pKSxOMykpLE5wKSksTnApLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGssSix5LHcsVyl7Zm9yKFc9MTs1OSE9VzspODU9PVc/Vz13JiYxPT1rPzYyOjU5OjYyPT1XPyh3LmRpc2FibGVkPXksVz01OSk6MT09VyYmKE5wLlUuRC5jYWxsKHRoaXMsayxKLHkpLHc9Si5OKCksVz04NSl9LE5wKS5wcm90b3R5cGUubWo9ZnVuY3Rpb24oKXt9LE5wLnByb3RvdHlwZS51Vz1mdW5jdGlvbigpe30sYSkpLFY5KS5wcm90b3R5cGUuUz1mdW5jdGlvbigpe2RlbGV0ZSAoVjkuVS5TLmNhbGwodGhpcyksZGVsZXRlIHRoaXMuUTksdGhpcykuZFl9LDU3KSxmdW5jdGlvbigpe3JldHVybiBuZXcgVjkobnVsbCl9KSxyLnJlcXVlc3RJZGxlQ2FsbGJhY2spP2Z1bmN0aW9uKGspe3JlcXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24oKXtrKCl9LHt0aW1lb3V0OjR9KX06ci5zZXRJbW1lZGlhdGU/ZnVuY3Rpb24oayl7c2V0SW1tZWRpYXRlKGspfTpmdW5jdGlvbihrKXtzZXRUaW1lb3V0KGssMCl9LG5zPXtwYXNzaXZlOnRydWUsY2FwdHVyZTp0cnVlfSxSUD1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxUWT1bXSxTXz1bXSx5OT1bXSxJSD1bXSxSSD0oaC5wcm90b3R5cGUubno9KGgucHJvdG90eXBlLnFxPSJ0b1N0cmluZyIsZmFsc2UpLFtdKSxKVT1bXSxqXz1bXSx0VT0oaC5wcm90b3R5cGUuSmw9dm9pZCAwLGgucHJvdG90eXBlLkhhPXZvaWQgMCx7fSksS3M9W10sajg9KCgoKGxOLElQLHZGLHJQLGZ1bmN0aW9uKCl7fSkoVUgpLGZ1bmN0aW9uKCl7fSkoR1kpLGgpLnByb3RvdHlwZS5tPSJjcmVhdGUiLHRVLmNvbnN0cnVjdG9yKSxXRj0oKCgoKEg9aC5wcm90b3R5cGUsSCkuWG89ZnVuY3Rpb24oKXtyZXR1cm4gWlUuY2FsbCh0aGlzLDUpfSxILnV2PTAsSC5sdj1mdW5jdGlvbigpe3JldHVybiBWVi5jYWxsKHRoaXMsODMsNil9LEgpLm8zPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYsQyxMKXtyZXR1cm4gZnMuY2FsbCh0aGlzLDEyLEosayx5LHcsVyxkLFYsQyxMKX0sSC5wej1mdW5jdGlvbihrLEoseSx3LFcsZCxWLEMsTCl7cmV0dXJuIHVVLmNhbGwodGhpcywzMixrLEoseSx3LFcsZCxWLEMsTCl9LEgpLlpCPWZ1bmN0aW9uKGssSix5LHcsVyxkLFYpe3JldHVybiBaLmNhbGwodGhpcyw0OCxrLEoseSx3LFcsZCxWKX0sSC5Kej1mdW5jdGlvbihrLEoseSx3LFcsZCl7cmV0dXJuIFEuY2FsbCh0aGlzLEosayw0OCx5LHcsVyxkKX0sSCkubz0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuelkrd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sSD1oLnByb3RvdHlwZSx2b2lkIDApO0guUD1mdW5jdGlvbihrLEope3JldHVybiBXRj0oSj0oaz17fSx7fSksZnVuY3Rpb24oKXtyZXR1cm4gSj09az85NTo4MX0pLGZ1bmN0aW9uKHksdyxXLGQsVixDLEwsZyxxLHQsYixtLFQsSSxSLE0sRCxlLHAsTyx2LEcsa0wsUCxxcCxFLE4sRixjLENzLEIsc0gsUyx6LG5qLG4seHope2ZvcihCPSh6PShTPShuPXVuZGVmaW5lZCw1MCksNzMpLGZhbHNlKTs7KXRyeXtpZigyMz09UylicmVhaztlbHNlIGlmKDUwPT1TKWc9SixKPWssUz03NjtlbHNlIGlmKDE3PT1TKXo9MixDPUlQKDIpLmNvbmNhdChsKHRoaXMsMzMxKSksQ1sxXT0odz1DWzBdLC0od3wwKSsod3wzKSsodyYtNCkpLENbM109Q1sxXV5lWzBdLENbNF09Q1sxXV5lWzFdLHQ9dGhpcy5BbChDKSxTPTMzO2Vsc2UgaWYoNzE9PVMpUz1QPEMubGVuZ3RoPzkwOjM1O2Vsc2UgaWYoOTk9PVMpcXA9eVsxXSxTPTI5O2Vsc2UgaWYoMTI9PVMpej05NSxiKCksUz05MztlbHNlIGlmKDU5PT1TKXlbMV0ucHVzaChsKHRoaXMsNTMpLmxlbmd0aCxsKHRoaXMsMzMxKS5sZW5ndGgsbCh0aGlzLDg2KS5sZW5ndGgsbCh0aGlzLDEzMSlbMF0sbCh0aGlzLDE0NykubGVuZ3RoLGwodGhpcyw0NykubGVuZ3RoLGwodGhpcywzMjApLmxlbmd0aCkseCh0aGlzLDExNyx5WzJdKSx0aGlzLllbMjgyXSYmRUgoMCx0aGlzLGwodGhpcywyODIpLDExNyw4MDAxKSxTPTk0O2Vsc2UgaWYoODI9PVMpYz12LmNoYXJDb2RlQXQoRiksUz0xODtlbHNlIGlmKDA9PVMpdW5kZWZpbmVkIT09bj8oUz1uLG49dW5kZWZpbmVkKTpTPTIzO2Vsc2UgaWYoNzc9PVMpUz1EPT1TXz8yNTo5NDtlbHNlIGlmKDg3PT1TKVM9RD09eTk/NDA6NDU7ZWxzZSBpZigzMz09UylTPXQ/NjA6OTc7ZWxzZSBpZig2MD09Uyl0PSIhIit0LFM9MzU7ZWxzZSBpZig0MT09Uyl6PTIsbU4oMTcsdGhpcyxzSCw4KSxuPTIzLFM9OTQ7ZWxzZSBpZig2Mj09UylTPUQ9PVJIPzMyOjg3O2Vsc2UgaWYoNzU9PVMpej03MCxNPWwodGhpcyw0ODYpLDA8TS5sZW5ndGgmJksodGhpcywzMzEsVShNLmxlbmd0aCwyKS5jb25jYXQoTSksMTUpLEsodGhpcywzMzEsVSh0aGlzLnk2LDEpLDEwNCksSyh0aGlzLDMzMSxVKHRoaXNbUkhdLmxlbmd0aCwxKSksa0w9bCh0aGlzLDMyMCksMDxrTC5sZW5ndGgmJksodGhpcyw1MyxVKGtMLmxlbmd0aCwyKS5jb25jYXQoa0wpLDEyNyksUj1sKHRoaXMsNTMpLDQ8Ui5sZW5ndGgmJksodGhpcywzMzEsVShSLmxlbmd0aCwyKS5jb25jYXQoUiksMTI2KSxXPTAsVy09KGwodGhpcywzMzEpLmxlbmd0aHwwKSs1LEc9bCh0aGlzLDg2KSxXKz1sKHRoaXMsMzEzKSYyMDQ3LDQ8Ry5sZW5ndGgmJihXLT0oRy5sZW5ndGh8MCkrMyksMDxXJiZLKHRoaXMsMzMxLFUoVywyKS5jb25jYXQoSVAoVykpLDEwKSw0PEcubGVuZ3RoJiZLKHRoaXMsMzMxLFUoRy5sZW5ndGgsMikuY29uY2F0KEcpLDE1MyksUz0yNDtlbHNlIGlmKDEzPT1TKU9bVCsrXT1jLFM9NjY7ZWxzZSBpZigyOT09Uyl6PTIyLHY9YXRvYihxcCksTz1bXSxUPUY9MCxTPTQ4O2Vsc2UgaWYoOTc9PVMpUD0wLHQ9IiIsUz00NztlbHNlIGlmKDI4PT1TKVM9RD09VFk/OTk6ODk7ZWxzZSBpZig5Mz09UylwPU4ubmV4dCgpLFM9MzQ7ZWxzZSBpZigyND09Uyl6PTIsdGhpcy5HPVYsUz0yMDtlbHNlIGlmKDQ5PT1TKU9bVCsrXT1jJjI1NSxjPj49OCxTPTEzO2Vsc2UgaWYoOTg9PVMpRS5sZW5ndGg9MCxTPTk0O2Vsc2UgaWYoMzY9PVMpYj1wLnZhbHVlLFM9MTI7ZWxzZSBpZig4PT1TKUNzPUVIKDAsdGhpcyx5WzFdLDExNyw4MDAxKSxuPTQ0LFM9OTQ7ZWxzZSBpZig5ND09Uyl6PTczLEo9ZyxTPTA7ZWxzZSBpZigyNT09Uyl7aWYocT0oRT1sKHRoaXMsMTIyKSwidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yKSYmRVtTeW1ib2wuaXRlcmF0b3JdKUk9cS5jYWxsKEUpO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBFLmxlbmd0aClJPXtuZXh0OlooMTEsMCxFKX07ZWxzZSB0aHJvdyBFcnJvcihTdHJpbmcoRSkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7cD0oTj1JLE4ubmV4dCgpKSxTPTg2fWVsc2UgaWYoMzU9PVMpZD10LGwodGhpcyw1MykubGVuZ3RoPUwuc2hpZnQoKSxsKHRoaXMsMzMxKS5sZW5ndGg9TC5zaGlmdCgpLGwodGhpcyw4NikubGVuZ3RoPUwuc2hpZnQoKSxsKHRoaXMsMTMxKVswXT1MLnNoaWZ0KCksbCh0aGlzLDE0NykubGVuZ3RoPUwuc2hpZnQoKSxsKHRoaXMsNDcpLmxlbmd0aD1MLnNoaWZ0KCksbCh0aGlzLDMyMCkubGVuZ3RoPUwuc2hpZnQoKSxDcz1kLG49NjQsUz05NDtlbHNlIGlmKDkwPT1TKW09Q1tQXVt0aGlzLnFxXSgxNiksMT09bS5sZW5ndGgmJihtPSIwIittKSx0Kz1tLFM9NTc7ZWxzZSBpZig0MD09UylFSCgwLHRoaXMseVsxXSwxMTcseVsyXSksUz05NDtlbHNle2lmKDY0PT1TKXJldHVybiBDcztpZig2Nj09UylGKyssUz0zO2Vsc2UgaWYoNDU9PVMpUz1EPT1KVT84Ojc3O2Vsc2UgaWYoMzI9PVMpTD15WzJdLGU9VSgobCh0aGlzLDMzMSkubGVuZ3RofDApKzIsMiksVj10aGlzLkcsdGhpcy5HPXRoaXMsUz03NTtlbHNlIGlmKDM9PVMpUz1GPHYubGVuZ3RoPzgyOjQ7ZWxzZSBpZig3Nj09Uyl6PTIsRD15WzBdLFM9Mjg7ZWxzZSBpZig0OD09UylTPTM7ZWxzZXtpZig0ND09UylyZXR1cm4gQ3M7aWYoMjA9PVMpUz11bmRlZmluZWQhPT1uPzk0OjE3O2Vsc2UgaWYoMTg9PVMpUz0yNTU8Yz80OToxMztlbHNlIGlmKDg5PT1TKVM9RD09SUg/NTk6NjI7ZWxzZSBpZig0Nz09UylTPTcxO2Vsc2UgaWYoMzQ9PVMpUz1wLmRvbmU/OTg6MzY7ZWxzZSBpZig0PT1TKXRoaXMuWVM9Tyx0aGlzLlg9dGhpcy5ZUy5sZW5ndGg8PDMseCh0aGlzLDI1OSxbMCwwLDBdKSxTPTg4O2Vsc2UgaWYoODY9PVMpUz0zNDtlbHNlIGlmKDkxPT1TKXo9MixTPTkzO2Vsc2UgaWYoNTc9PVMpUCsrLFM9NzE7ZWxzZSBpZig4OD09Uyl6PTIscGooMTM0LHRoaXMsODAwMSwyMiksUz05NDtlbHNlIGlmKDQzPT1TKXRocm93IHh6O319fWNhdGNoKGFIKXtpZig3Mz09KHh6PWFILHopKXRocm93IGFIOzk1PT16Pyhuaj1hSCxTPTkxKTo3MD09ej8obj00MyxTPTI0KToyMj09ej8oc0g9YUgsUz00MSk6Mj09eiYmKG49NDMsUz05NCl9fX0oKTt2YXIgelksT0g9KGgucHJvdG90eXBlW2pfXT1bMCwwLDEsMSwwLDEsMV0sSC54bT0wLEguZUo9MCxILldBPShILkFsPWZ1bmN0aW9uKGssSix5LHcsVyl7cmV0dXJuIExqLmNhbGwodGhpcyw2NCw3MSxrLEoseSx3LFcpfSxmdW5jdGlvbigpe3JldHVybiBWVi5jYWxsKHRoaXMsODMsMzIpfSksLy4vKSxGcj1UWS5wb3AuYmluZChoLnByb3RvdHlwZVtJSF0pLCR6PWZ1bmN0aW9uKGssSil7cmV0dXJuKEo9UEYoNjUsNzYsMSwyNSxudWxsLCJiZyIsImVycm9yIikpJiYxPT09ay5ldmFsKEouY3JlYXRlU2NyaXB0KCIxIikpP2Z1bmN0aW9uKHkpe3JldHVybiBKLmNyZWF0ZVNjcmlwdCh5KX06ZnVuY3Rpb24oeSl7cmV0dXJuIiIreX19KCgoelk9Y0coMzUsKE9IW2gucHJvdG90eXBlLnFxXT1Gcix7Z2V0OkZyfSksMzIsaC5wcm90b3R5cGUubSksaC5wcm90b3R5cGUpLmpKPXZvaWQgMCxyKSk7cmV0dXJuKGZ1bmN0aW9uKGspe3JldHVybiBoLnByb3RvdHlwZS5qSj1rLGVffSk7fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSkoSikody5zdWJzdHIoMCxiKSxkLFYscSxaKSxQKVsxXSxQWzBdKTticmVha31lbHNlIDE9PVImJihYPTIyLHg9IkZOTCIrRCxSPTgwKX1jYXRjaChCKXtpZigyMj09WCl0aHJvdyBCOzMwPT1YJiYoRD1CLFI9MSl9fSksW2Z1bmN0aW9uKGspe3JldHVybiBXP1coayk6IkZOTH4ifSxmdW5jdGlvbihrKXtJJiZJKGspfV19O30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+PGRpdiBpZD0icHJvZ3JhbSIgcHJvZ3JhbS1kYXRhPSJld0VGZW8zRDg2elE2S3Y2Q29ISGJCT3kxb3ZtYkgzT3RyQ1BoRk9BbW9CV2FUdzZpZFpkNkZVbzBQQXY2R2FpVWRNd1JSbFVJeTJ3bFVnaE5NbXVWZ0YrWU9haUxIeS9idUZmU29YQXZTUElyNUo3L1dnY3c5bmlMU1Zxam0rdXhDRXg5eTRuYlZtZi9Sd2lNOTRqRmF3VHo5c0M1N1RIbDI0Rk1qbDl6MHlCeWw5SGxUNlg3Z2RkSitvVDdoMjVFTnRsUVRlYjYzTU5DYmRUaXpPeWlCR05QVmJSYm0wVW1GVWE2NTFDOVBKSUFjOW9GaEorci80OGNpc3o2M2pHaVBBOVRWcGYwam4wWCs1aUd1SEFJT1NGbDRVemZVL0ZGQzFEV3d1MHFDMWJ0b3NSNk9lYXRCRENxSDVzWmlCNzF6TmZDQ0JDM3Y0eTRlbysyQjVWR0dscXY0d3RvNXVtRTBUTG5YR1ovT09Ha0JVcWZoQTNRNmZMYTNzTDNHc0R3amEyc0lDUGpZbk9FejdSVXZtNm1rWjh2ZUZVYnBqNGg0eG9FUkFnemJqL2oybmxhcGNncVZnelo2TXJlc1J2Y3F2a3ZjV0lsS3VKVC9FbE5YbUFkRGJINEg2Q1QwSXZ4SDY1a3k4Y2UxZUJKUng1VkpFMXJvRUJxSjlzZG5NdStkaUJSVmFXUWk1NGh0UFNIZlBqaGw4d2RFSWk1WmtpUCtmU0RhczNtOVh2Nm5saEc5YXhncmk0eEE4Vkk5bnA0SmRpK0ZFalRlMlJMTmlrcDVxVXpLVkEzUXZVY0NuQ3M4OFVyUDFPQTBJeXBRSUlKd3ZNR0RmNVk1dXJBcnJHUUkzQnBqWlEyNDV5bUlWb3o5WnFid2NnU1l0RVpPbUxHZkxUYkM0b3FxRTliajFUVG11WnRDWCswYmZFbVBPS0M1ZXZhbzg4NHduOHNCSTBqNGVDNDVzMkEvM0RYTDBkdkFPbmFYWGFNcTVrVHVIWW41L1hhVXpsUysvdnVCRVlmWWQ4UnRXYk8xZ2NZYi9vd2t3RlBJTzR0QXBPYTRFbytSYXhnNVBZN0lVMTM4MWprbnV6YkVZaUZqTGZtZEl3cVVNbUxHVEsyS3h1TUROTVNYNERpaTY4aDRhQXFCZEZJMkVibGh0UmhQR3Q1TEVkQXRLNUVaNC9tbXBXSS9kcUVpeFB4OEh1SWFJU3NSc1pvRDZJVzByQTIraUtibjlybHNrOG5YYjQrNEFDWXpxOWF6UkRkMlg0Z3pqb0dpOGE3RnI5N2xwWlZUQTN0V1dwdEdLTlFoQjl2dEl4MitXWk9WZUxjNzRsNmJsT2pCbmdlYjNLeVljQms4cHhYRGlZODAwUVpQRmZpY2RlNjBIV1A3ZUpCSVZScVRDVzhtcCtYQ0lZWTdoT2FNU1hZTEcvaWU2WmVwczZqcUdsYVlNZWJiYWFnYU83SWYzRGFpbW9oVnZqZnlQSjljVTRRcmtaSXFWd2k4VXdkdVRzTkJDcW54Ky9COW5uUURRalBzcEo1WGFsTktuM3hDVVNWSGcwaXY0U1ZSOUMzNktZSk8xU0lLcUNmQjQwNXVWTkNjdXljVWFzUTR2Z05FRzNLdlFBN3VvQkNpeStmYkhCS2NBZ1BlTkptZjRPWDNLbW5XRkFQTUk2d1ZETG9kZ0JIQ3pPWko0eHdIN1JNWnhuMzJpcHduZGJTZGZkZHkvVExPbkFWNXBZTUZsbUcrVWs1cFIzSGZsTUFXTU45R2tQSTR3TnovQWZrODUvV1pmMHFBTzJuWTI3ckllUG9FaURZSGZVQ2ZYdkEzdENuRDVORkVCT3N0OEVGUlFORklDRzF5aGYyWDZFNERkTzRnZ1pKc0dGK0JqSm94MVdQYWlHdEdtNm5GeDZPNE5BcHFhTlREZWt2aUJZQnpCZUNFK0JQa21xblQ3dlNWZVI3UzIxSFpuaER6VHV0emU0akxValVpYUp2NG5GUW1yalBhbDdnaFFEVUN6d1g2OTByNEZsU20zWTVTbU1lYnpKZE51aER6Z2NMeEVLNFF4NDI5SlZQOW9PL2NEcG92VlY0cDNYY201Y2dsQnhsWEdWNGNvMXhPcDc3QWxMZHpQZno3Ukl1NzM3QWc3L29DL2M4TE45V3ZpOHpabDIzT3BXRzJPemdiR0JXdzhYK25jeDV0YWRWeVlIWkc0MjM2bE04WFdXczJaN0ozN01kb0RkREI2UTQ4WlBUKytsc0p5UEYvQWxZbU0yVkVETDgvVFczdThRVHhmVXNza3pvYWNFeVpFSzJSUnhUVnFNeC9nSmNrMWFyTGl2Q2hIb0dkNFU3aHFNVnM1NVR1aS82L1lya2ZETlMvSFVYWlB0cWMyWVdiWkFMM2EyVm55bTF0TjFOREtBc1hLanhwcjhObG1IdzlQVWxyZ0t0THF5QkN1TVUzdTFKU0htQnBUSlhZMUJsamJCT1d0Q0cxTWtSQ1ZKQWJiQm5TMFZyTHF5Y1RDSG9ndVRQVmljVHIxSlFQZ0VadC80Z3laMGJPQU9xNldZc3IyMmpRdVRuaUtDdzNIbXlPL1c4RnRlSzJwcTJzTkUwbERBWFg2ckVucEJhdm5zbU03LzY5V2RWYjM1bk9lQnVtdUJTNVlPamsxWjRRM09WRHg0VkhNZFhFQjhUblo1cGs1VE9kSzZ6WGhMd0VYU3I2Qm9jY2U3WTVRUTVmSFhodVliWU5ubFY4VTJ0SzF1aHd3NEQ3L3hrMWZ6dk1xOEtxVE0vSTROZ3BLaXZTSWtUeGF1TmYvZk9yMElYKzFrbmNEUFRqSWdiUG4rN0Nna3NURXhabExLN2hSWWtRZzlXaVFEdU5VTmxWbzFLeFdTZUxvTkVOQU1oK0xTWnZFUktsSFRUeDQyZ2xyNEppTEVWMmxGUFFBMWZySDdhQW01bHNXWkRTNXFVazFzb2kzaVRKVlUrZUl5Q2NOMW13RW1kdEg1UnBnRXNtaXZhSFpHWU9tV1B0cGdlQ1dZMWNkU2RveE5HMnpsVnF6azdicStoVG1ZRUY2NGhsZmVSMVJVOWNqRmNYY3Z3TzNXVzdyZ2J2NExSSW4wVnNNWUhrWElQcnU2cVkzZWVsK1hsVG9FRm1JcDhYUnlSNzNuMUFRU1VxSVpla01menIwaS81YnpDNE8xZnNKV0NTVzFjVWgveTlUajlZMjRJZGtDUldJYWFjYjMzRGpmd0RJVmp3RW9vdFZWd1pJQXN4V1Qza0NhVFk0MjFFVzBaZHplQ3dESGpnKytMTGJtZW5UY3RwMVVPQ0FrTkFSdlprb3ozTUMzckpxU0ptTUFRTG9IVVZyaGJGZUJvcVJERnpyZEdUanFqZ25QQklUQXVMSW9KbDVCQlN6azhLRTExRkhsKzlmZFBCNytCU1UvY2VTMXB3T2Q3cFZONm1ZM2JQMGFyc2JpejcwZm8zY2R6akQrRDhBajlNWUxHSEVqRlUreCtFWVhIVG50MGpMcEJEN2I2ZURZMDBnZHJBbkVOQlBselpiU3A2QnRrY1lOQnpoNFBRZERhU0cwa2tiT0ZnVkdtM3VMVEFnejR2czI5Y3FKMTljcGNac2dlR21wZFAySCtUeC9OR3BQWFVTcjNMRjkyK1k2RWRrSzRGYlR4ejVOdlFPbkVyTDVJUk5TdW5IWHBDaUxJZzRndUFKNkdwK3ZscEt5eWIrcVFYaEkybXRDYlV3ZDFITE0xZzdoSXdvTnNMNFlmaDNTM0xDYWZYUys0TE5HRE45QXZwcFFaa1k4ZEc4M0pSZmdZS1VKQUpkUE40UG0wdTljSXdGRnJDQUxpRGJ6bUYxV3gwbVV2N3VhVysvQ3FnVW5CQ05QTHpwWUNTdkI0UWFHeEpGb0o5WnVRM1dIS2h4UHhMMzNxWlpZaExiZE00Q1MwSG1TR012Y1NsdXlhU05aVHplVkhBSTFDL2Jub3hVOEVOR05MT25ZVlcydXNNQ1FHS2hObDk0OUhqYUpFbitndUFldy9DRUhYaGozVHB4cHFlUEVDU25zNjR3VERmUVJ2UjZFN2pzQ1VGUnFieTNHdStZdHVvVVhVR2xtWlFhTUNOem10ZGwwZTRpOSthbHhQZnRkTVlRdGNUSVp3N2FLbVl3SFdHNFBTZ0xrV3NsUTdwS1YzTWRaN0J6ejJ5dGNDSU1FWHVCRmRJYitkL2lDOEwvRGZDNUYrbGllUnpETGF5Ty9SRGhHNWsvYkxQL0VGcllpS1pDTllDR2hZYVZCREs1TjBkRUJHOVJuRVV5VWtlZVJWQS9LUEhRS2JNQTNydmpJajVIci9jK0swREVyOFh1Q2hnalR5K1AyZUh0WVFncWlSSFFONTkxZTJNN3UvSTdrSE1seEhNd1pvejRHUzEwS1ZWZExGVUxEY21YVngxaVZqNUlybmJ6NVhvQVBReUZJRk02ZndjSUZ5eFkxN0pkQ1E3WlFRaFZBeERpbTQvNCt2M2V1NVlscC81TGpsYkpYNWlobjFFa1k0N0ppUDFFUkorQU1zbG9FMnJuRmF4MkkxR0RqSWRDL25iRjNtcmt3cHh1N3dQMFYxcnQ3Sno5bE5sRTUxbFN3WEZtTmt0dndMTFQvRk53VU03Rmx5Sk9SeHhhZWZUYU92T1FmNGgwdjBWSTNyVUJtb0FrSWNuZmVlSXloUGlnWXhFYVViZDBDYXRueXFCOU9HdVNGSk5seHJLaDRpSGgxUEpFZ0dpdlpVdGJIKzhKbzdNa2RGbVVLSWtOdWxpWHRWb0o4OTdsWElUbDBCUFFMTWlrb0YrWkJjemh0QkZEMldpLytJbEVvSU1ESHBaVVFqVENhVUlIemhVWGdIQjc5L1E0alRsbGZrK1ZCSU9FZlRzSmpBcDk4bVE2T3RpdGdZQlVZT2dwdFVOZitKR0k2MllCcGZGeFFwVFRaemszbXlLRU9WSjY1N0xsRXc0cHF3Q1BEeFBXUEFqb3BNQmhoejlnUFplcEo4WXIrL1FreHo5cEwrSmVyV0hLVXd4ZG9ydDBDRzdMQnN6SE1XdmI2ZWdldzBlZ25YYTNDaVArcktyVllXbk9ISnlWTEFLb2FjcldudmlHeG9LMndQbUkrZ0I5ZUg2OTZjeXNSL0duRm1JbHFoSzFDZEpBdmMxRndtRVpjSmUybUdWbm1wZlJVMXhCTWdPUnhyM2JDemRSM1RRUy9KK0h3dW5yaXRoYVlqNVVkcnpCWTlZZ3pyQlVZM3hMZkRrVDB6YnFKVldWRnA4RjhDNkN1aDFqUlJHWjdIcTVEYlVJcjVGTVVvZStNb3cxcVpKKzFnK3piRVUvOHJKVUpSdEhxSExHUTczOE8vUktLSnpGQ1NmWXkyUXFuZ0ZsZnFEZmVuT2FZd2RBY2xKMzBHQUdlSVQwVWtFMG4zNWVaLzI4T0lUbzh4ZjJRUzVueXZRSC9neFpmVW0rYW1XS1MrUUdaK0lRWHdKUkhpVGl2NjZKckpBcnN0OXlONGd3T2tYdk55UTIwR3dySjdkR1A1VFJaN0RVWllVZEJFdWsrd2FnU0s1RWxGK0RPdkRjTWEwRTNPRnludHY2Q1Q4MDhNWUJCNk9pWW9LUnc5Wlhvb09PblUxQm5WZlcyYU93anBENzVkYkxTR04xYWUyTGtWcFlIWDI5LzBuZ3ArZ3EwV0tYa1I5WFZqVXYybW1Bem56czJ3YUhkVGFrdlJYR3hKMDRTdTVxS0hDcXc0cUROK3Q2MWcwZWJPOXUvQmhrN1B4WVhBR2xDTjZPNjNsOExtckFXVVQyaktSNzFLU1JKTHRDU3hUdHhGOFl3MW9zVmR0RFgvTE1LcnUrUUx6R0FCR0V5UjZ4WmxlYUMzU2Y1WUlNL0hrRGNNZHhyVTRiK0lsOFQ1dkRyS3RoYlhpZ2YwZ0JtSzVWdHVrRWkxaVBBaWNnVWlxSmNqVVRDVDhkYjB5RHVBZ29NRVpyNndOSk8vQnBvV05jNnhpQ3BibHUrZU5LcThoajZEMDcvSjA1R013R2pvUU1WSEhsTU92UHAwbWU1TDNGVWNuNGFpWVFjYlQrQVlxbWNsL3RSTUxsOUw2aEpodWlhNWxZR0o1eDBWN2ZIT2FoZldsNWdzejllQjc5RGViT2RxYXZrV2tqRmdac28ySGx2aisxOXRZVlE4QkVnUnpVVFhUN1BDUW85WWFIcmNUblk0bW16eTdIU3duTGhMZ0tNMEhWbmhiVjkySnpydDNYTHNiNEZzWFBtQW9vUXZKU0kyL0VLbk5KWmJMZ01Dc1Axd1o4TFRqWVNFenRGVzF0Z3dJSlJBdThvSkZPSzQ0bTh5dCtqdFlsaUcweVdmaUh5cFhwZGN2K3N4M3gvMHl5RFQxc1ZsSkppdWQ1OGlWdlpvSFlHV0M0UjZmcmU2YmFOancrZnpnNytBOUpabWlld29hcnNMbVFIaHBYOGhLVXZ3dm1Wd3NaY29mUnNWWTBkbzlWRVFRN1A4SnpydWY1Zzh4djI1akpkYnVMWStBKytyQnQ4a3FRU3JQNTdnaVo4WCtxam5PR0N6TldmSWdQZ25uVFRUWEFDaGF6TGVJbEVPUURCYytUZzk4QmtPcFhNbWU2aGtuWU0rSGZORWhCL0lsT0w2YnZ0TmNDRU1NdjlXSnVhQy9IZE5waWwrbEQwY1B0K29XWURMc2E3UThIWWlBdHYzZmJWT3hxYkw1c1NFRkptb2FMcWRVRGVUT0tvQlE2bkZHSk45REduMzJHc2k0clZnUWxLMVFselNWMXZ0MWVQUm1wa2U2ZmErUXJ3ZitobHhTaHZyeFVMYkVZV3RBWDZHMXRrTFpEUkxCWG0vOTFaWStlRjZpcUlLdThTZGNRRVQ4cCtlNElRdFMxTHJUWnZYamxtMFhGZFB1eThTbm9jdmVvSUNYRkNXNWxtVURrYWRTbDU3VEZRL2VMWThVYkh1R0ZISUluTTc1U0VLWWNFeElGVENGcVJrNVJxTUR2VThzVjQrblVNNEMrcDBqNjNtSW5FTks0d2Z4SG56NUMvNlBseGdmKzF4b25Kek95TUIvYU8rRENlSThTVWVEQTVmUnA4NXdPNnpsSmtuMmRUZldkTlBLQ3F3aDViMElZdXFVM1dkSjM2V1pkTDVzZkVPWHFNYnB2ZXNxOFR0cnorbE1UVWJTa1FHR2JiZytLbDIra3RqUlZSM092VDlwVEdzVXNuK2dra2wvbGY3aTNwVzFPNktZMThtN3J0dVlJZ1g1YTJlclpCMERwMmUydHdQeVBRYlBqTXNkYlpNbVhDNFhRNURSejZQTGpUZmhLcXoxdzRKekJMaHBrK3RzR1hhK0d0TzVjMmFEb0F3TEZVSlJEMkJjR3U1Q2xrQWV1MjRFTEIrSmJaVGllazlHV3o2b1BxTWpiTTVYdnFYMkRHNVkvdUpiTld3YllzTWp4MHlnQzRGTkdKQUNtYmRwUHhFSmxKRDdtVXRnczdmbXZmK1RodXBBS2JkeS82R2t0R0J0UDdpdmdvL1kzUmtyVjJhTzh2RjZqajhGWkM0Si9VZDdhWDNvSUZrVzBzNUJkY0VBUjByZ2lwMUlqYnZBVll0dFJWVjhDOGpoeVhkaHRwSmdGcWRiNXJUVDBObXc4T1lRN0txaktLVmJDMmQ2VU9VTDBHSXNMUzRFUGExbGVnYTd1SE81a1hnZEIyenEwL2pBTVhGZE9NYkNsQ09rdThubFVGQmF6VmtNbW9NSkYxMUpiTER4OC81MjNKY1doWVNaM3MwWTU5cGlETm1MRE9IeWJZSUIyaDVzTU0yYnRkZ2gvc0hCY1E4NC9jMUJmZGhPcFExTENCU0h1SlhzTVRLem1rR3lJcVdiY0lMcW80cnd5WkxwakRlcUI4R1NpUW00NmVXOXRiOTBoanE2NXRFWW9ncXFOVmo5WFpaQkJjZ0pSOFFVTjhqUU10S01WQWYyaEZJdDdqK2FNMDdDZWRHU3NveS9TTlV6dmVwaFA3elE4cTBCNFFQK2tKVUpLZVFpTUF5dmY2djNzTDVGeHZMSlFCcGg0QTEwalFiQWhocHdleDQySEtGODBmNEgxQ2RCVlJ1UW9TR0lEV0RqUThQVmlyOVYzMTN0ZEcrakRZbHJRM2ovc0dWdDJEVnFTelJkSkNLNUVLTlRoZnFWWk16R2kvamNsZlNjNld5ekFDWFZkTTNrUlhtYjdyOXNSdHMybEkvamFBcENFM3VzdEh5ckhMWWh1ek42bWcxVERlTlpFZTdSSzdJbm9aTHh0SE9VVXhId1BobDBmc2hFVllYTzNKVExoYXYzd3dXdUV4MDBQZTRsS0lnNmhmWU9PVGJkUGI4d1hVTmhDWDdSKzFHNTJvR0hKNEI3QmpxQ0MwODNWN2wycnFtVmh1cVZWUDdDKzRMNVpxTXdsMDgwVTNMaURBS2xINlFZVDNXMVMxSHpsbW9zUnhpVXZTSUdoS0lLTHVnNFFHdWdqaytsTDJwUHVwcGppamVpYmlNR2FhZlA3ejEwK0pEa05SbnRvNytyNkxHZWo1bGVqYjh4MHc1YlNKa0U5RnFJR2I5OWFpb3orcUNsOGlTRUZ4eU1MN2NDLzRRT0ZKK1hsV1RLVngzdEJKc0RuYlB2c0ZoN1BiYlZDWHdpd2N1ajdpa3NXWjY3aVJ3RTJybm9rOWp1L045UUFZM254ZTk3Wkg2RTVlVW1JTUlEbk92UzRBZk9ZM1hnbmxWT01hbXJQTlc5V0MwWEtrWDVMTWJqemlsbStKS1I2ODYxQ00wT051R1N3S1hmSmRnVXhPSEJBWmU5Z1IrcnBIaDZkKzdkaFJtMVdReThzNzlSY1hwRWlVbG1EcENPMWVQT2s0WEh3YXArVUJUZzRPMEFDVklvSlI4b21zQ1AvL3FuM1ZIYUJJN0ZVZzRGRW9KazFiNVhjSk9Kbmw5YWdKZWFJNElXQXBNejNhUU5ZSkNzZnpQK3JZb2MyRTVIMzNwRE1RcW1tZFlUVkJJeHdFajV2cVQ3dkFDVlVXekRJY01EZVl6MTVOeS9QbHJSSmcrVFBZZ2xHZVBIVU1FQnZHSWkzRCswTEtwKzVhQ2tidmFLMWx5Nkp0c1kwREZpTzJCQTdCTDhna3FMRC95aDZqbW40NGt2ckJGLy9PYTU5cGc1NG5ZaHVyU2ViVWpvUi95bkFUQm8wclcxL2xBUm1ORW9pR3k2eXRDT2dTN09xR2l2Nnpka0YvUGJxZVhUT0lCSktIWFhzYStuNmk5Tk9IZ3BLcW90S0RTV2tETXhCallPZjZzMzJmZklVeEJRSVdkaTk0WWZWWitvT0dqMm0vYTdSbFZQU0srYTZ2MDNuQ1I2TXJhT0pjdzNoRXZJNnU2TUcwRGZIWjI5a3QrVmtyald3ajloYVZrUXc5TWNYN3VxWE9GaEVqYkdReVZDeVU0OTJTUC9rVUt1VGJJa0kyWlp3L05YZE92U3ZPQXMzQTYwZDVhdHIxZzBUcjR0NnphZ1RrUzgxZ1lDbTNPb2JPQlhxV2YweXJjUUxXOWRQcGtOZ3hCL1IyNUJ2cWNOZUtPVlROcXNSZzlVR1NqYVBZNFZzSkFhRll5dlphQnlLUVFjRXVlTnphcUZGbTRJU29RdjZoWHlQdjBPMnF4YUlsc2xHTmlCbW1NcHVHUEpXRmVteWdKT2R5djR1KzZ1VnBVMFBuekl5MGxUQ1F6Zjcxd3RNTUtOTjZjM2NVaFpieHZ4Y2FPczBranM2N0kwSkFQSWI4TlAxdnBKOHkxbTI3MUJJT1QwTlprRjV2OTlVQnErbHR5SGgvSkJydytyZVc4ZFNVVXpOWEl1Z0FXYUZubGJ1L0FOVHZ2S3l6NzZWOTZrblFSQkZEQ2RzMEh4TUY2TlFQR3YyK1BBRmF4S3hDT2w1UjlXUFJnSS9BNWFFdWJqMyt6a1k5WFZYWlBzQ1NESkF2eGJ0VnJMWVZVMzFoV1hSbGFJenZCY3lWRFY5OVVnaUUzL1lPRXBCemdLWU1XbmpHY3g5cHl0Lzh3ejNuMEdJNTFJMWI0akROVFR3RnJyOE8wMS9kd2c3bDIyUlNGQTIxSG9vczhmTVo0UEorcGR4dHFPSWZwMS9EZUZuRVBpRGtkOTl0WkQwUjBxNjhjdVNUVDZGYlg4b0JScW00bjcwNVkvaHJySGNEYlY1dUs1WGRuM09zOUhDY1Y4bXBDZnQ2MWpCZDljd3JhdmQ2aXVJZW5iSzRDNnpha0NoT0U2QTg3V1RxZnZOOTRGTDlSVlpNUlVRTHc0QWNBeFZpM2ZOMDk0MDV1SnY4ZzNMeW4rWlcxVUpLaUw0VHJlWU1BRSt4M3NaaEhlbldTQTExOW1vQlRwUlQyOXdReStncjBwTkFVeS9weHpNR0RLVlVhWTNveXQrUmtYQlJDQjBTU0NjNG5hQ2hXdjg2YmNOcDNaQnpMbG85Y2ErTVppemZpWitOMGJRK2dDL1JJZW8xQ2g2TWxkVUl1Rm4zZEQzODdMNzJyR2tBbHJxb1N1UzZxNXdDbFBtS2hiZER2ZXpKTC9FZmgvazhSdGRDRXhpZXBJcDJUbVZZL2g2Vk5xQ1dvNCswajdkRUtrb3JQc1dpVk9NaWpibnJPdENpbndlWkV1ckJ5L2ZicHRMcTR3YjdPWC9oZ0h4NUpmcElEMHRtS1R4UTJ4MnduNDR0RnBwRUVIRGJLbEVicWdsSkRnUFg5d3F0TWpsK21xWUljdElyNEErNldEdjlSZHdLbzJObU1wR2Z4cVUxQjJ6SVpKd0paelpmSzczNjdqRlhMb2xIdDhndG5BU2tFUjlCTUNNaW04WVU0SThISERXN2YwTmJ2RG9DWStJcVRiTFBHMlMwV0d0RERjbFpWSXNmbDYvY3c1aXV1YkY2YmpLZWZMYmZXeU9XbDMrckpLNXJyTXhoTzg2V0pNTlNwaUJETlE4cnJZRDFONlZYWkJnb2xyczB0dlNlOFdpUWRxbDRKNGo0ZWtnWlpLRm5iMjkwQ083NGkzSGthT3liUXVmMjY4by9aZWhUYllaeEdMQk9pUUoyV1ZKY1ZZT2pycG9UZmNtb1hMR25GdkZPQUFYcDN0ZDZqWmZwbjROalVKcVRFWE04c1FBQnB1OHFxb09WTDlNbllkWW5QWkhOZjFPNjdPZ2REMm43NE1BeFZPTmFtVEtQaWtlbWkwSXhneUtaL2hPeUtmTjFmWWJBeGpRREJYeFl4TUJPYm9Mc2pXNUF0T1hGSUN0UGtEeTNwbnBHNkI1elVFNXhQK0tudWwvUktTeHZqUGUzVzFXd0RTK1VmYmtLbXJEUUxPejk1SndlNTV0T2lHMFIzNzVWbFdMWXQ5QVV5NFBMQnE0bDhReWwyTm9rOXBneWlQamlwNEtHU3lDK3BLL1hXK1NhTVBYaUZVaUtOeDYvR3lwOWJueGNWa1U2V3h4d3dIUmh5aEJHQit5NUZ4WmpxMzc3RmhGRTI2RENvZE05SHRkaDR6YzlQSGw3R0cwRkRjWWFEQkxDMmJRbGRYbFhRL2dlK3hDcjhNSXBMSDFPU29xNjNhRGwwVHlvMTh1bG9WVGhiQ1ZubjJNODV4UFFIWXExVHVNVWRjVTluWEtVYnpEWmlZMWRuM0lHRHMrb1U3YXp2WFZxOExXNVQwOFRvdXBDVWtGTmF2YnZPcHp6MWd1MUpXQThjL0lZckZlbWdKMnBLSGUyVjNrRWlxaHN5QVJrRnV2OG1PalE5V1JyWXNaUkgyOWhKTHQ0ZC90VmVkbHpPKzg0NDBMWVViNFdOSlh2d2ZTQjd5QWhqR1RQblM2TTQ3YXJHbytCQmdISGdMOVNPZ3hWWGxFaXZ1OXlKS1VZcjVDcjl0dVZPRHJhQWFiL2s1Q2tBcGd6N0hVRUZyL1h2MlJkS2dxTWxoNUFPRzNsSERrUVl1eWJkb2VjdHp6L0w1WEtXOVE1Y3ZicmtBRFk2djhQWXBZRmhCMEh3T2NoQmpPT2RkME5PUjR3TUR3Z1p5Zi9BcXU0RmVCYXppT0dRdUVtQXZpR2JPK2xMamlvSmEyd3VVczE3NEZzVC9sQ2Ixb2Q0UE9sSEhkRThwOGRBTnBCTDliZ3l2ZG5FNGtzZFBGMytnMzhMbVc3MTI4NkN0WDZpc0tNbHhKVzJUM0Jid1Jndm42QXJhN2lLamFFLzRLcFdJWFQyVzM5L1czc1hsZXJLT2FjRWNkS2VRKzB0TElUQi93bkpVT2hRZ3h5VnFRTXZYaW1nRjNLSk42ZVlKU3FzWkVWYjFGWWQ1RUFhcG5qcmxBSjNDRldpUmNiTGZRV052MXRwWFl0cWVMVk1kdXBlWmF0aWMwL3Y2d0xaMVZqbjlpZlJUUE5GSEtWOVpMTVJYZnJoS3JJdUU3NlU3d0pIbHdLZkIvUmVybmRVZUYrU1AwTXJTYUJvQkpLU2Y2VkdJSWZyRE9CRGV3WFhDa1VqekVRMmcvN1ZNcThhcEpEU3hCbzZLd2RUM0xDNUhlZ29FbWlKVVd6UTdDbzFHcFBjNkVuTXpoKzV6T1JqbklJKzZEamFmWXJiWDdGZ2lIRTBlM2xkVGhMUnZkQWhWZkVGSVM0dVBlMmttR2VSWEMyWUNONE5YcEg0bk53OFN6YTdmMytjTzB6SnZHN2lvdXJYbnJ0bXdiRno0OGQveFpqcXR4N0dqOGk1aktwaktWQ2JlM2FMQVBrelJsQ2d3STFJNkxDeGFFb3ZQSlFuRHA4SUxzVUdSUEJndkw2Y3ZRcm4xTFBycWgzMFVtYktxUm9ITzNtSnhOc2JVSjhXVUdxeW1keldocWpmMFRvTlAvQks1Y3h5UFFFL2JOWnpBVU9uOFQzRmZ6MVRNZkRuclZuSEZwVlM0cTRiZ21ndlV5YXJnTFpkZENlT1ZnVTgreEx2dEZCdzkrZU92cXdmQkxZNjRBTldIb0dIZmg0Zk5DMTViK0VVS1lLRzFwNnNNdklYUUNnUTBUUHFVU3BJcytVeEtRSXAxb1JHc1RhK01FR0RuQ2IyYjg2aWhid1o4WElHZWh1TmdyeXYrL1RGbWRlQ2pRaHZKcUlhaHUrWFhUWnQ3L0tva2d3Q2JIZUU5TEwrK3lqdXBGT3dSUnVTVEJTalM0M0RnNlhtYUdqdjJ2bHFqVlF0OHpvQ0RQaDJqOEtmcXhNdWhrNURVSmM5SUVhbDh5N0JjTEhDVURrVmttMnZtVkpjMnlZdzJjT2FJaldWSGMyeTluTmRZR0cra1BTVk9WZU1ROG1Lc3JOcDFvbVh6di9EZ1pLVUhvQTBxS2dxVlg4eDJoNVQ1K2t4d0dNbzQ1ZzNIV2JWRVhRa1NQVW9ZR2NDeWJnd04za1pFUGk1RHdTNTJEUlRWc09aMitGclhtSFdTc241TFZsd1JtaWxrT1FjZFl6eXVZUldKUHRGRkp3cS9FMHVxejgvdEdxRlNHc29GWk9qMm85SVZTSWYyOVYzRk9tRnNvWDJpSFNCbmJwdGhxT2Q2Vzh3RnhSQmhqd2F4djgyUnJucVlkeXdBSjk0Z1Urc2htU3ZTem5YRjUvYitYb1FQQ2QrYXp1bzI5a2tKQkJod2xDOUZnSmtQclZkeGxLNzd5bXJBTmZqUERXZnhlejBrRTZ6VmpXcVhqUG13dU1yL2NJVWQ1dWdodkd2QmU5RkY0T1NvTk9JVWxNVXQyNUZmNHZmdjRYVjhaVG8vYVVxRk8xQ29sby9kbUFoVmhIQzNLYU1ORWpySkZ3aWFtZnVTcWtiMFk2dzl4TitWTVRRYVZNeXZGV0NTdXNYTkMwVVVINHo1ZVpBZ0ozK2s5V2hvTmdnem5WeTFvaWF5TlQvUko5YTN3VFFXbmdtM0Z0VEdmajJBUjVadlhRSDFsUXVLZkFCU2UrN0hWTDhiL2lWdk51ck9HWVZ4dStvcVpNVjlNT1NrcEFjalkweldSamt2dG9ncjU5cHhpbDlybGszcFk2V1ZkMGJHdERtRElMYTdGRlc5Qnp6TERjTm1lTjlBeGtTRXJTQnNuRkh3aGlwQWRoaW92OGR6bDJOanlvVXdBT0Z1UWIwdkFyUVhEQ2picVpjQTY3N1FrTFo5K0ExTXVxQmpjNEdmeEtHa3hEN2txTFFmS3dvVkthSUhBMlU0V2NadWxHVUdkdk5UYnRzelhmeG5DNTlhNm5ETSs4NjlZTUJYaFhNQVlYN2lpRUNxYWloLzlyeFEwNmhSTDZoYmRwWTl5bVVCQ2ZDRXpYcTBTY0hFUXNFRjRzdC93UlhJUFZPWjZJaDBUbjd0S2cxam5nM0ROd05wK1ZCdnNBQk5tVmgrSGROTzh4NHhtWUs2OU1rMTBLNGtyNk1OSXdaajdtQXVJTjFUWE9xNk9JaTMvRWJIOWlJdFRDREc4bVZSb3Z1TXJMUXZ6WDQvS3E5RThFVnhwZjF1STRMSDFxaVRxdzZBa3lFUEVoZUN5Nml6ZFVqcWhEZGlIcVZ1MXR4N0xzd1hONlhicThTcHpPSVBjcE05UUhDQ2NWNy9mazJvYnJqanBHaWpaZ0IrUTRqUkptWGxuYk1QWVNVYmZTbjJqM0xzYm1xSm8rZ1VnWDJCclJQamoyYWQ5dGxlYnRyL2djTXJvSWJhQ1F3cy8vV3VrWW1MeUx4dmhJNHNzWnZXZDlFeDRSRzhhNHczS3NsS1lST0FOUGVVRDUzSDdrRHNzUHpuNndYS2U3cGU3V3hZUVJsalUyZzNWNW1OU2lFeFg4QWlZMzAwOU1iYXZ3NDZ3dHZHN1YyMlpMR0w1OXpvcHM1Ny9KN3BJVHNBbVJETjVOQVZsMDlVa3phaXRURTNXV1JIdWtMUHNLUjVWak9rUFBTczFTaHpzbmw4NGhHRk5BNXhaY05xazNGRS83RVpMYlM3NGppd3hWMUI0M2duOEtlZndGWXh5elFKYzdsOVpvQjZxaUFFV3dwOW5OZmtqUVk2UzRXdThUS3AxYzMyT0MrdEJtUWFmMC9EbUxWRXJ1WC9HRkhxRG5PaFB4VkI3am1xd3pyb1BoZXpza0dyZkJSNXUxTW1IOTNDR3VGNVlXTGdkcFlRSUNCRlovNW9NdUc4cXpod0ZBb20rS2lPeEpNRnZyQUFCeXdvM1JySGk3WXdTUnh4cEU5dGZPdlhDT1BHcndvZFlCYXM5bjcySXZ3YTNhbkd1dHpvbVU0ZmdzUUNYWlNQbDEyYjdKeVJ4WFRqdjNyNmhOM0k0cFc2NnB5WkdXaDBBOHp5RXFIbHpRbzlqY2Q2ZWZBMWtvN1RnbjlhalN1SGFSQjhwUGhDaEJXRitUMFhvTG54eXMwR1lCMDBRZlBtT1dsdUpVemR5SmtyN0ljQXpXRFlEZjhVVkVJd3ZRdmxJVEhOd2dXMTZLbzl3bFd2c0g0WCtUM0FJN3F1OVhsMnpuS2huL254ampHTUFFek85SGFoZ0luL0l4Vlh0bklrc0V6ZzRpY2diSnIrUXZsWGJ1azNYMWV6WUxOZVljaHJvNy9YVUNMbGVHZGVSb2NpbHU0am5vNTJ2dFpRL1JGQXNuZjloUU5DdGVyeFBFZjdzblhmUHZuOUtZUXZ4NXdEYitGN1FtU3VyaFI4NXBBY25SMHJHY0dya0pXdTV3UTNmRzJPRURsdlVROGJwTVBtSDlDRlUyaHN1NS9VQmRjTzRpMnRINXBUeFJrR09WN0xkbmc3T0tLMTV6VEM0VVA0V0FpNFZlNzMzdUQvMHFPM1Jmb0d4b1ltb1Y3bHRVaXU4Z2JuUnp3MXhkNkhISCtZajB1Z29rODVlN2FIZC9ZZFZFbXZNVWF0UUc0VVl1bXYzM25pZmY3VWpIZ29WMHZ1VS9NVGN1bnJWbjFmcG5xekFjVExLMHhjOE1mNTdkVWdBUG00UW5jTUFQNDFTMmozUHd3V1F2N0JBNm90NE1VNlBDaXlpMFdKRkViT0pscklnTysyOFlicVBwY0hqK0VQZjZNUXdRQXhkYzBLcUhWZlA3bDl6VTRNeWNUT2RQak5BYXZ3SHBvMWJ5SjVxQjZhNVNIN0xhYjRUeXhtaGxKREtwT2c4RDlEUXFpSlNFSmNhSlhWSXRBdXBLZFZrVWpjazFnNDZDOFUzS1ZML05LbjVXK3dIT2NTbmZyYWdFZkJRRkhCNVRzb1FlNHM0MjNObkt5Y3REcWhWVmNYaXgzWkJ2REMydDFzSGlzR3NaNlVYdmtEdEhRekpaNmRDcm82bHdwd096ZDF4NkpZZVNRUk9aaHdIQXpRRnRQc04vNzBzc05LUlNrUmVMNmNnVm00aVU4dnZMcVJJSSswSUdlbnNBT3dNVEVpY2hsTUFIcU5oT29heC9HNDAxWnVReUhya21UQTdUUGQ3T3dyQlBvbTYxNGdpVkc2SGR4QXdqN1lzVFNnbit2QlpIMHJSRUJibXNlK1NPcjEvejJBamRhR0FkSmo1S3lzczI4YUpEYWRGT2tFR0s4OTZXNEVtV08yOVZsT2F3MmxoVlNJUXJFVmN1MnhqcEx2R3VBcnAzYUxNbnJXRVNQZ1F6K1cySmtxMG9sRUw2RGxueEdRcEM4UkRBdGdwUUJnQm5iVnNCOFRNNlhNT3Ruc0ZWRWNibXd3dmY1ZFYwV2s4SHVxQm5yNERWZFJMNy9JSHVCQ2xXUWV4akJTdG1paGF6d1ZKbE1EZWp6a2tMWUU2S29OTSt5YTRtejdmcDhMaUJaS0VPTnpqVEl4SHRGRmg2S2hEeG0wdHYzOTl0U3lBR1AzN1p1SjdCaWRVSlQxc282OHR6WmdJVXJicXp2ekhtOW9BWE9sVGh2WXQ3VDBtczI2YjE0NDJFQk96WUo0enVvaWtHL0xTSWI5azF5TmEyQlJyTThpS3ZpUkFBQTdMQTVVMlAxcEV0RW1sNFM1UHBXZkF4OFpiYkVqNmYyelhNMDJKN3JCSmdNS0x2WlFGZWlyQW83WlJ1Y1dVTmgyU1NBa3F5ZHdHODBvTHRrRWhKM3BvTFZrSVJiOHlMd3VoaHUyRTVJaW1nZFJQYkVnMFp0eG9vZkZ4dGlRZXo5dTJYeld3YVJxNnlvaEh3cXpaT0hjT1NyeUw5dmx0MzZ6VGJBRGhIZ0VkZG1QL0FnMnhHUzNYMmIyTVljcXhPQTlPc0ZFcDdpR014TkhWZkpqUDJ5RWx2cVQ0R2o0d0x5YkdmR2JjRVZXQUFmN281dkd0dzM1WDloZXBDTXdRbk9vQnhQa3kyajlYZ3hmb1VjVjB5Ym1sM05RcmlPZnBiNXp6NmY4bDN3UEpEbnhiRE15ZzNRN3pPeXJsKzdoSUhKZ1p5anluQkxTQ01EQXJiL21BMXZJektzbVFpUVcrR0ZpNWVRVHpTVGhTNW5ydG1kM0dkZzdocmYxbEhNWWhoNnFkTitzbk15Z1poT1ZLSzduWitZVmd1Wkhxbk81ZHhGTW8vRTgwNWF5UEVobURBZDVKMWU2TDBQQTI4L0JTVngrenc5aFowckxNcU1HNFVtQUp5L3JuNUw0R0phMVpYalg0MS8rVUJpRGEweWtxVFppSGc5akFNc2FScmljZWpaZkZaUkZGZE0rYzZCbTBFUWpyNlh4TUFIcVB5V1hHV241QVRHMGVTMVNNYy82VTNtdjdneFZZbkNPN2EvZjhVSE9wVkVvWU5VNE5nM0ZWMys4djVaT1N5UXRiVmxPNnJTQTRYZkJRbEtXRUVCS3hvSTVwNmdLbldHbnBRMUI0SEViY3VqNFJKYzdZTnlLa1dQdlVrd2RFa1Iwc01hTkhUZHQ4cFZQVG9BYWR0NTAwenpLRHdTTDgxVHNlUWM2SUlaN3BkWmlZTWxWRE85aCtUTFRWa1BnVmVHNlU0Mitsd3c1Nk1EZXRPdWxpOGRWZVBQb1dGU2FWQ0NDb0pCRU55bTZoMEVCc1duNjI2cG5UNnkyUDNJdEVIakFwMlB0SG9LeVpBbU4xcFdyYlNaWllBdFRnWWwrb1ozYjhUUGNva050d2JsVTFwWHY3NDFLSHdFSHJPSW5UYjU0dmJ5TTJ1Z2tNZTljYXh1Z01BNkJVQTd2REVXQXlFTGQ1YWxSVHc4Szh0dE9OVjY3cTJWWEVsZ2h2REtVY2poaVFIM0JuRUpEUGNCMnZnMVh3Z1N2eXFid01hRzUrQ1Y1WWNKNjZGcVBsa3JuVmVxNzdLNzh5OFFSYllWQ09IVlRONE1rRVRNSzB0c3RiM1h3T1hWMzZBNk5GSVU5c2ZsRUVpeStNaEYyai96bURyVk1CQW9FYkVYSWRONE5wY0o0ZitRTjlHRjM2ZlFvQkt5ckx5RWpDcGlJdk1MYnNMSUtWNXRiMlJkVkVpcVpQUHdwU2lzMCtxSmhsOXR6aENQSWFZcFpDOTMyWnFRaWJxVnBheEx3VWR2bHdpTWFURHlKOHl0SnVhWjhSYjNrQk9vamkwNzExNDhHYjRTcE1oZTZtQ0xPWTI3RnFjVXJ5SXZha2VvS25BSmowZnVQdVpaVDRycnpxcVlhQjhUbDBNN2U5ZG1pSEhDOFB0a082MzlhMzFkSmN6WFZjSlhXNzVjV0ZwNlV3R0l3YTJ6WnZNaVAwWFY2bGZJQXRZMW1xZ2RMTHpzdVVJNnY3SHVFT3g3TDFWRzh1eGNiSVVMZW44OW5vWlNKemNJaXR4R2JCbS85azhhQTdVU2lQcFRnQ1JiQ1N0aHhnN1d5RnVOcmt4ZHByL09YdGtqTzVaaFpoc296VDAxZ1h4eWp3OGVtdDkzcmoxcFd3S1E1UHpLNG12VHdhcWxkVTFqa1FiWGFEc1ovUHhlVFM1NkdUQnRPRnROdnFxWThILzJPK295Z1VRL2NGSlJUU3FoMmtOOTc1cG9DdEVsOUJxZk1IU0ppQVQzVGNqbjFaNWx4KzRVZ1dQVm8vOWVsU3ZOMm03WGkwd1c5eGZVemlMS0Y3M01jbi9uYnh3em90RHY2TjRWOTZlQlJVcXJDdTJ2SkhETldWYzlTNlp6dFllb3Bua2ozTkZHNWxkdHQxc05na2w2bk5mL1JmUTU4M2tBTWdRRng2RnVPNW92M09nTXFWbk9PS1l3b2g0bEtya0x6N0htNXNjRzRjS2dLbnpLSCtOOWRoaUtsK0EyRUpmMHVhM2lRN1A5aEVTY3h0eVdKaFgxWEVqVTZHdUJaRzVncU9lS0FKZTBwS2N1STJwOS9BQXQ5M0lURjhKVUJYNzU1bzBIRzhHUUVRRUE3VkpaZldYMm5TUWYvUDBOQ0RsYSs2ZFRFb0JiOC9CWVFCNHkzU1dDMFdwaStRKzMraDMyWUtMOGRTN1Vxc1hSWUFPRXZCbGZzb1djOFM3OFFUNmFDTDlTNFhneU1QSzM3MW9KOWZBZVQ2VTd1MmNOWkV2dXM4VXZuS2xCaTNtWkp5NGpGRFZGUlpoWFRZOUtPVElPdXVEM0toUTNTeHgwZVJiSkpJUDB4VWp3U2JTRHNIdHExcjhIbm12ckd2WElVaVZyaUZkS0ovZFdiMEg4NUlrOS9aVlBzWVVaa0wrZk9zcW1YclJ1YjlLV091ZHc4TjQ1VXNkNVhDbW4xaG13TTIxbSt4UnBuTjhXRCtMUWZZWGFRU2dnMEVwS09zMnh6OHJvNmE1TCtWNXlhNy9FeTFMQzZrNlNIMnY2a1VwelBnaStMeUVYT3JPR1VjKzh3c0NUbzNPUzFUSTliQ05Kd0hNUzVwV2NEb1hQV3djNEVUMzRvcUY2UnY5UXpqamRjYTdyalQvbTh3K0FpVE9WQjZoeHZHMkRjd0ZqQVQ3cE1UNlJCSkhPeEZMb0ZrSk9BRWl5YklXaWkwTC9DV1RPWDgrNDhydWVPV0VZYkRhQjc0VlljZDA4RStmV2tlSlRkSzg2ODhrOXpWekhvQXQ4Ymh0Q0hsdlZGUWcxaEhFZjFCcEprOWhzSDVrN0FJNnZ3UGx4bjFNWWdMcGtremR0azJMZk1iOUFYSi9hbkh4a1NJKzludGRtdmNCNm9Wc0NWT214SmF5R1NSbzhONFpEaVFNa3BCMDJQeGRFQ1B2N3h0Q3lTMDVpUFRLTkg5QmVKVk5XRzlYVnJKY3U3cHJ6L1BpK1lMcU40UXZwZlB0S3NIUmN6QlYyRzBmWm9rSXBJWEo3Q0F1Z3JQaVhoRnNIcm01MzRnWVlqVmFCVjlQUUlZTU1JUXNXNVc1V1JzS3ZkTG8yMTRMT3hCK3A1Y1NxNUpqelFka3ZYOVh3L2k5QUFzdVgvSE1HbkdEMXdnNWdaMkZEaDRXUXJuNGJvdjRxRzJSZkJQN3BNZTFXa0d5bit4OW9CVkRQRVZEL2ZmLzR0Q2VhSzMvWHJqMGJEMWRzSk0xdzBUUksvVEJmWm8yWEJzYVBUckZUd0hmTUJ6Snd4TnJ2QXJkTDR4VGZoVDczTTNaQkNSbHFaMFZDR1MxUEQzTUVOc3EvYzlUdUxEYXFTZFVXOEFmd004dk1lNC9ETGYyYk5sNCtkSHZZTlZSQ2UxdkNXaXo5dzYvL3htS3o2bFVMbXZrN2tHdm5VSjNLNW96U3RkaUFONVlrRVJUZHAzWHJ3Z2kwL0dLNUdWWkdjejVRUkhYQzFPNFozdWRuUEFtNFg1OCt3Q3Z3aUFWcTNoZ3FaSUZHVXNPbmFhZDVzeGhuWGF2bFZuUUxiU3U1MEdoZ1ZxSlFwVG9OdGFXbFpzci8wczJ1cFB0RGNSVEczTGVwN2dEYlFWNEYraC9tVnFxZTRhNC9TUVNiUVNtUWs3V25GTFk5RDhPZnM5U2I3VkRMZ3d3OTRmU1V3YlZQWVRYelZkUjA3RmxHWDhYMlNOcUFVVzJHSkxBS2VlREV1OE5Vd0w2elQ4cmRORk1mTVFaSy9ZYkpQbWdkQzZhTnpVWXVZWE9jZUErdkh2WkZqLzJvVWFSWmNyMjFzS092cFgxU2Iwc1FxcE9VMnlIZzFNVkQxTHZDRGQvY0xNNTNtbzVDNFE5UWpRK2k1akVRU3ZvNVJWVWx4bHpCSzdsRWNjYTJHK0YvWThCZmhDS2YrbGxLTitZTHRjZmc2Rk5mUHN3WDJoT2hoNm4wMkxUbTJKV25qSHUyazRPNVBSbllSZUgzcmQxNUprNkVzZmZkUmJhbTFDakoxS2YxS3AvTjNGK01TaFJKSVNWYXlHQ2NXeUJuZEdzcURheVhjWERIblE5aTVEMGZzbFZranJ3NFJEWFJyYzBSL2NtS3hmMVgwUkIxcnZnU2dDeC9QRmpQWXhuaWpmZFF1VXR0dExaSnlRQno4TUltdWhVeUozb0tlNE4vTmRqcmpaaWsrRFFtU1E2VVIycXl0YytRMU5UL2NReVlseXJHa0d4SjVUZHU0akNKYUUvZ1RuZEpwL3dQei83MktlK01mVnVxb2gvWXVsN0xGSDhrQnk0N293QzN5dmFWbVk2NGhxU0NYbFltZ0xiNFZwa3hJWHFDOEJPODRDcEh0aHBySUJVQ3duQm94ZEtNYktCN0RReFRqd0dsb2M3bEVBaFVjOHJ6M1FqUnEyTUFWT3Z5SVhBOWlaOFNZMzZJNnFienpmSDNtNDRFOFJ5RGV3cXQ4bTEzYWFMQTVyTnc1N0JpMzVDbzBKTjRDZHlVd0k5aEZlcDhSblZMRnBwOWN3emhaeUM2eDE3NTNtNzlhOWU3MGZFZnY3dHBBaHFGUm1UOEM3VHU0Q3lLVjlkRSt3aE5DYzNZSHRNQ0hFbit5WEFLOEFNcXJaRDFRSDV5V2JUVXEwUEFNUklsRitoQk9wNlRpZW5qWnY2Q21IV3d4ZDRwYUYvU0tWblVMUlFkcG5pd2xISm5WN2h6SzJ4d284NEc5Uk10YVNDZlo0UWZ1Y1loeE1iTjM1VVFwN0cyemcwVlNUVFVDQWxpWmg0N2QyRzBkNllDbldwTm96TXYyYmRrYkhoMWZMZHRTU0Y0alZ1RTZoMUhCT1lGY3IzN0JicCtjbjcxRW1pZzhBVHlWNFNjeDFPai80Z0I2dDNtaVU1SmY2QUtRRVZIekNBeURqWkRLWmpEbWlRYVlrR3pRYVZiRWNWdktnSFlyYTU0cE9QdlFaSFJPR0ZtamF3d3o2TEFJZGNkZENFZDJuMGVodysySWFCeklLSCtkVGRkWERUTzE2Uzdpb1Y3Q2tEYlRJa3UzSzRRaTlnbmg0b094blJ4Si83dmdDS1h2SjJOOXlGazN2MEFQVkZHYlVHbVU4V3hxemYzOStmUHRwTXp4c2Y0MTNXQUhZRHRqWUU3aERzR2ZlcWpET1VYQ3F4d21TWXNaaXhhTVlZSVg2UW1uODl2a0FBZ2l2VFpYVkVyK3BIVzB4SXQ5THRHWUUyVW5wU3FFQit4WDFxN1JjaExxWE50aXFRSW5BRkhTalo2Ym9oZTJNcVdEZ0Z3dTZ2NnFvd3oySktGVU9zS0FDQVJkcTNHQWRsaStGZ0xkYzdDUFFsZktxdzFMNXBXNXcraDhQQjV4TU9TVlFNWGIvQm1YV1FIaDFPdlZMM2V0azBYMzM0Y3o4U3pQeEFxQVlXRyt1YVBzSW5vVlp3OGpvbEo0NVk1TEFsSGxiUVlEZVduU0RQTUowVWNRSHFxT3dTdmRSbTJCMjhvTmtCaFovQ3U1eWhiQXJ3anB4SWhYVDFJL3hGNCtpeXpaV0g1NXhBUzgrNnlGU1R0MFIyTFJGWjJocmxYUFMzQnZsalRZdGlFR0FWNDhZMzlBZGZJQnc0bmdvUVBZTm1JaEJSQTNSc3lpbDlPdkE4U240a0R1ZjBIczc2N2d1akVwR2ZDb29ZVitVNDl6WE5tSnJTZitVd09pZ3BGWGQ1VkYxY1Uxb0h4VVY0dUZyaXRGMDlJOWtNMFdwazdVQXBHTEFMZ05FRFRGWEs5K205YXBZUFdrM3dZMlV1MEF5T09VM3JqbmtTaWNEOEdBUXk2NEhJejYzVlF0NjB1dHVBK2xRbnFGRk5BbzFqYVlta1pVZzZ5empZcjllaUFENmpCZWZiM3FFQ1hNdDRRLzA2MGFJcFN0cmZMTGNrdnN5azFocUdXci95T3JUeFIzbFE3OFdWM013ZzZtZTlUZlNSdk05TEprSGNQTFlnRTNFNW5vUXRXMVhqZ1ZQaWp1ZVVVUlYycjRvZUtIeVpCb2s0MVhScTZSMWdxZ3BMUkhtQUdHOUsrRllyRGQzY1BaT3A0UU9DeUFSbm9laDRZamdveTdBaXMyRkFmby9nTW5IUlhuR2Zxb3hvcHlMZGdvUk9nQXlLSXV1SEtqSUdRbVhVNUlIRnlybGVFQ2pjY2l3OWVqL0Z2ODZJUXNDUm5HUkpxOEtiTEFDRXNaMitkWkw4dzkvSXlZS0ZHSVFDcndQSzUzVHpMdThnYlV6V2VLK3JrMnJ6UkM2UFFhQ1V4SFdQclNEaHN1U3IvbGZxcG1nb0E2Q0NFZTFRTVVRUXlXSGJGOU5WUTdYRG1wYXJqUHd5Y082WmkwUVRXeUJlSWRrQWtVWEtlZk94Tmd4OGk1Z1ZUL0JCNlRzWXJsak5ia1Z5emcvWHJvV0phc2hYMlYyNEVpbXlKTzF3V1JVTUxidjNzUXROVGJSNCtHSXlaS3VhNkg4ZmgxTm9iblpiTmg1MFBtc1VZckg4RmMyTFlCT1RJcWhzUFpQWFRxZjd4Zy9uRlhoNjVoWGNScVQ1K3N5a1k4enFzamZINmE3Q0FoYUtkUmp0d0d1ckNUd0VmS1g3QkRtaTYzNTJiaUVPWHExWGFHNFNlTkJ5WUw3QzRiTHhZaEhnQU1rVGR4NkkzYzBpbW83T1FXUU0yQWR5UDQySXlwTmJTQVJOblJXWlM4WTQySUVCMThzUCsraXlBeE41dzNBcG1HeXlhTE1wdUM4bGRjbDgzb09SYm43b25Campzcy8wUmdMY2V2WHM1cUsrdGRWQVR1UGR2UlBuRGNBTTRFM1BadjFiR0F5a0RqMWVzN1pzdWU3VWpHZm1LK3RqbTdpWXBlQlNjcm5yeHN3SVVpbzFSTnhMODZ3b0lLTmJNNk9reXkxK0FPM2xtK05Ed0xSVDdwY3A4VVRpMFNjaCtueldxS0liQ1g1QnNTUkM3VHNYejhvUFRNTm5nTm1jbERBa0lvVnUrbEtpQjQ0OXh1d3hLd0l4d2R2dnhtUzNqV0U0WXVZemRrNjBFMlhoNnVFVmI1NFpQeGt5QlVTaVdIeUNaRExPY2VGZ3BCWkFyWTZUbzMxbEROZlEzZkJKK05TWkNrKzVuRU9iTnhJZkk1aUZGSmRqKzRwVEJLR0VUbk1sWFFBWWJmQ1Jzdlc2cUtuV0hsYmg4R1RtKys1R0xYMlFtOEdDNFhWdUFCWkdsMmJJdnFZTnI5eWtjZTRqcE1BcTBzU0lCbU9yU3VaVjlxSE5yU2FWajRGYnZReHhJeXBZbWZaR1RadUNRVXluWHYvbS9UVnVrWTZ3cktWMFVsb1JHc1R4eTcyQnREZ3l4dkZWZkFERjhBMno0UWphUno4bWxPTVpVdk9XamZmZWRRaXQrWnFSR1VtbTJWRndNbjRvbnU1S1B1Q3FkSlIzZExXb3QyQ0JvTm42dFlUZVJNbWJiTkQyWXYzbUZudDh0elhmT2sxY2dRbWJ5d3EydkphUWlQTk9HdUorb2tram5hdytHeTNQNHdVTGc4dWxWQjdxVmJpZDdrVnI2VHR3NkdzUXROMzk5bjhLTVR6SGN4bmhPaGd0Z2FJc2Z6MDNRcWVsaXYwZzlZK3gya1ArUERUTHhJenpIRUpJNS9BaXdJelZkajd6dlFubml4RGVqUTlFeURlOVVxM3BTUTZqU1drOEJ2OCtjQzg0clFQR0IzS21TZk9WdFNNcHUyU09oZFB5U2Y2ZERQRk1UT05YYTQxZGZBdU14RXdyZkliN3g1VU90WWgyMmUrNk5tV0lRZ3hPUHRuRTBLRFNwcXBUOGtQZEFKSUlJbnAwTkJXSXErZEVES1RXQUwwVmpONkZ3dmxxMlJ6UU9HS0YyTzZ5Z1NoZDFJZVExQWxqU0VTTXZYcElmeHRRdVF6czYwV0tRY2NGb015Mk1iaVc4R2dPVXhKVzdWY3JmTzNxUTMvR0QrZGRHQU44L0NkazJQZEFvUkNMZEQ0bnN0ZjlBOExIQmx0TnNOZFNPa05ITkVtbkl2Z3ZGbFBMV1RpTzBvTFdDUXRmM0dkejhoeklVQWVYU3VSUldFeW9tWllSQnNhUTVSc281T0ZpVDBxZDRXNnRNdUNuMm1oL1E1eUtVMjNLSWZ1RVBZRFVYeVNMRUgvbEJVR2JWQmZJaUZ3MXVWSnBxSVBDR0V1Z1dpUVkyTWNqZkpyOXJOQ1B2UXpobTc4Mk1nckJVaTVuVnhPLzJvOHVpOUtsdXBNeUhjcWduYUQxaVp5R2VKL2cvTmVYQzlqNDFid29wRlFub1VFOE9zMm13Mm9FWllseWRRdG9jblVMRDU3T1pPOEFOdUZITEw3WUVlV0Y2MXdtQ1JiVVRkMkdyQ0RGaWZqSlBmVlIyRTJDWDhFWFBScndBRnliK2RIaGJoN1RIQmVJN2lVd0NLWEIvZ2ZvT2g5OGNEbGJETHBIS0l3OXNkWGhhbTFONTBBZUpFbnJYRW90ZkpQV0tFamNRWlByeGJGVm9pMkI3ZzJHSVlEQTJjWHJ6Y2NacmJoRUwrdWVvNFdQUEkxSEY2TGxuM3pNUHdvM0hoR3haR2EwUmV5bDZ1SHNER21CcE03T3lsS0hOWkJraTkyR0MyQVJZMTJVaUFtbEhvRXJlSUUrV212RHZJc2s3SU5xeVdmaVlST3BRMXZsSFFzMitVNVRQb2xpU3NYS29HSTI0TVNqZm50S2Q1RFNmTFBsdWo2OWR1UFJmek80NXpDcjl3SkxxVzFIQWhlR2tNUEVPenY3Uld6VURYZUYrTTljVW9SZytyQ3lSOVpRN2FJajd1dW5NZFAwT01qdzJRZFhtbEgvLzViRFc0bVZQNEpZR2F2eGN2am5OeUdJejV4TWRNU0IxbXVMNXdCVkxCMU5uSG1zS3A2QjVVcXVkYlhuQnQydWJ6SzdQYjFtbHVBZlhyQzJjRWs1SE9hbFRjWWdQbE9nT3plejEyNXFYQ2dnWTMyTzEvYzVvQy9QSyswNTJseWFhaUpWUHkrN2NRSC9PSWthT0RXNkpJSU92Q0p0ZUVpVlBzbkJTVXM5SEFQN1dqNUNqb0VUbnZiRFRtbE9rWnU4RWdzMnBXN0h1dkNLdWZvWkF3TkJXYytvVlpuc1BDbEhCcHBHaFhJV2k4aXh3NGF3M3JBblY0WCtlbmZoNzFYTURZTkRoa3ErSTA5OVAxaGpvQ3FsTnc1RkJUdzd2Rkh5S291T051dmFobmc1K2VLb05zenFhalRnaFlUeWtOWWllelJQMGRTSkdJcWFFQzJ6dWh4U3hHQjN1Ymw4d1pHVEhOWkFDbjA2Q3BnYTJhYzUxWHNPUU1tYWs2a3RMb3g1cnNJODVwMkpaYUtYVEtJSnFsREJxOUF3bzhtWXIzb0dSMWZST1NJV2ZNMEtZYmtpbUJXejF5WnhHSmZYcnU0ZERUL211eTBTcUx1NmtMbHRBb2xwc2dRU3VPbFA5QTdPK2lsc1NGYzNoREtPb1pMM0I4Qk9Wb0dpZENLdi96bGtkZmxvMEhZQTNZMytqaU5Jc0N6VWt6Um1jRjIyeU1pL0JjVWpRUTNRbUg3K010YzZzYjMxWWlSVVU4cDhqdEwvLzdsQWp3ckdCK3ppRG1CMlQ3cVhlRTRKY21PVitMTllYbjZjM2M1S2plUlVSd3JRbjJ4TVZPK0hGZ1dydjRhYWVNKzBFZldNbG9QUE1UcW8weUlYTVpsS3hRQ3o5L3FnaU9uRmY2aS81N0FmZmY3eDJ2SFlTcU9iNm8zdjNoTnl2VG1SYTlsQUVUK3hUbzNEVDF3bjczVWZNSXFjNSsvdjBmbC9ValFqN3kyRUtxaEJmOUtHQmt5YnpmVDRWVFdNVDVGckNXTnE2d0VDTWlxcTZaVGFuenlQL3g4N3dTZlRMTWw2WXdhVDBwQjhEK2pUbXZQT1c0TWM2U0RzeldldDlNbnNpb2hUNytzWURJcmIxUlRzN2RIaTMxeCtTTFdrbWJadUxid2RlbitYa2tTaVlkUjB4MTFSSFc4T1hSKzdsTDZtQTBhREQ2Sy8vUDNkSE1jSGc5MzI5UzVrVUZvR3grQzAydzNPdk9kbFVCeDIzZ0k2QVRjakNrZjc3NlFWNU1GREpHb01MWXFnSHFNWmkyZXBLQWdJQUprUGZiTGR3UWNLZ1JTMm5mQk04L1JYeW5xMEREamEySHhzeENlbnFNSlg0YUdnTzRseUxYU2lJSUdERkpJTG1OaWxIN3BiZXJrYVh2RUlDbnVWbjZ0blFrd3FlTjVzNTJTeWlhUXNla2dLK20ybTlEbUovbkhtRDBLTytBcFpab0ZUTWlMOFhOeFY1WHJmdGF3SjJQZm5idGdDL1hhNm91U1J6L0pqQ2JrZ01ocjZSYXFFcGozNXVKcHRFTkw1aW43YXFDM1NsTXNVVEJzYmZFRURWNE1FbmVPMyt5MXhGZUxsWjcyQVp5TzNYTlpyaDlKbGpxbHFDWUE4YW5vcW9NMmNwSCtNTnRHMFhrb1Y4Q1dhZ3pTSTAwam1YV211VExENk1tOEdhZmlwSkVXeFR6ajhlUG44MW13bC9aNVRzU043LytuQTBLWEtSZXBBSVkzNmpQUDRLQTNuS2FSeW1UaVg5cGprZ1pIVGw1cUZMNW1TVUxyRWNRVjMxWjFzblJibm0yMDA3SEF0cWhZekFlZTErVzJRaDBzU2k5d01UUFVuT3Z4bDFpWk9sMVBUSHUwSXBrMU16aVkxNS9WYWZ6eHBDWml3T2QrU1J0YWY1aU9jdzVwUUNhLzF5NDJIK1VicGRQT01SSnJha0FibjdKcEpLTERyVW1pSEpydHg3QWhDSE9PcDl5RVVLdFhKeUV3QkJxMHBySmd2eGRXV0JMbDBRcW9ESzB2aDBPNHB3ZTNEbWVRSXVkN3B6R1pCMnRoWVNSVTN0MmdmZGIwRWo5UStLVUtla255eXZqWkp4WGEzZVpET296dGJSdUlBS28ySjhhUFQ0ZDNpOVkzeWc3NGN0TmVsdkVLbmR6N1h4RHF1UGRaVlhvRmhIS0d0MXhCdnR1RWdzdlRaOWExb2E5T2lQcFMxSEloZ1ErL3EydklpTEJndVFJYnNMdUFkWjdxMmJyWERoN2h1S1VhSEtnUi8vdEhuS3JUQlNLNEpISC9xYUpIaTZjTU9IUU90Skx3M25acjZ0aEM3RjVwRWJFcmNNbnhna1JyK2czTzByQ0ljakVNZkZZWmZlNHNTQ0dCNFUrL2xobzRvQkdWUU96elY3Rmh5ZUNZL3A0ajJHZTRMZEZTMjhyQk1zY0RibGs2cWw3OC9VM2R0TGxBTmFCZ0Z4Qy9TWG9mb1h0ZGFkazMwUWFYUitLTFJDUGVzKzNFSkVTdG9JaW9FMXFOaDNrZ1lsNUxjbGpGREFsNU1vOVBSU2dtMVk4UUlZc1dBL1poQ0VlSzBMWi9tLzRqNnIxWU5YUjZ4OEd4ZDBzS1BhWmc4TDVzTVJjazBvb2lGZEdFY3EwTVZ6RE5WN2lpcW1pa3YyVnhnalptVCtwVmt1WWVid21QWnRWeW12NFRUYVNqRGRaeGk4U2c5SW00TWJCNkdqTThUTTBWalZ4Q1VYL1l0M243WDNNZVRjcTU0cnlhb0NqRm1NQVlmWU5QQ2J0S3ZWYUo2OUU2ZzMwVDNTc0pjT3VNaGVPWDVZNVFVeGQyS3ZCdVZDWG9rMCtoSnZtVVRqcXBjeWRVT3ltakU3VjVtWjkybG1uWkpXbGtzaXcrNWlSVDR1bFkzc0Qvc1d4NHdsc0lOUmliWTZZRFlEcGZKaGRGaWFoYWdOQkRUbksvMzZKWXNEVlJwSk16U2h5a04rcWI3VWlsQTdVNWVSMEZreURGMjVJRGJ2VXFBQWM1Sk9zaVJpQnk4ekYrWGNxUmtIMHRMQU1mcmtFN3k1cC8xa3ppMVdCWUgreG9iWENpWmI4cDh4SFpYMm4raE42My94bWg2L01BNTlVZzBjZUYvalJXQU15OTdSMDBwdXZSc2htZG5KK0U0MEtTL1E0clRYT3NLU1lpcm5FaVJKaWFIYzk1dFp5eWJUV2NvMWdEejFYMWQzU0krUjhwY2ZjMFJodFl2YkRsaUtTNTA0d1VYVXpyTUdDU3RXSG8zWnEzNnRmdytHeDVVVGVwbk1mUlF5MFYzVGxvUTZYdktoK1NPVlJ0Z1VFVm91RUJQREFDZGV6N2lTUFp0akJIemNDNmgxTXhNd0dYN1UveGhocktNb1NQWE02bUN5cVJuVDE3RTlOMnNFSlc1aXZNMndCVjdIL1ZlTGc5ZnhLKy9JNGFYVlZwVURoa3o0UGNsaFA3WktCaDB2ZHJOWndhNmlmRklzYS9yS3NhcVFURDlwWmo2cmNGS205b3NmMnJFT0dlT1VLcStyNVlqL0U3bVgyZW9iMVhoK2IyVGtzQWQ1bjR6T01ETE9lbzdvWjJ4SjdVSVptallMQUZPb3pWdzEwbVFHR1FaYkRuVnZPSUloRTVDRlpPZjV6c005c1c1UUpMcW9pNVlKU1BqSWF1djJha1ZncmhXK1BzdXlTeE1wZm5Ya3dwc3FneVpCZXdkdlJoWURGOFlxRFZIOXJkWUpJWVdobWZhTVZDd3JuSzcyaTlRSnNZTzFvUkNCU1grQkMrNkI3NHg3d0hKQmlUSWx6T3V3anlxWDQvd1pIalFKSWcrbEJ5TFkrQXNuZHVxNHFvM01TcE12M3E5UisrRXgzekhoK3JoWUFpczdaakRSVXQ0YzRTRXYxR1RSV3UvcVdJd3BnWVlYa1BtcGtrSmJzcC9EQkQ1bHhOdjQ1UzRtQi9PRGFnekltQkNEMzZ2czJ3SmxoYjBVS0djSXpHOXE0Z1N4cUxRQjVSL3Z3TXRZRWJGZUVtTHo3UHpscEdWSEd3ejhVTHdjeFRTdWU3QzJOTFdCUUljcU4xaldkWnMwamtyQjIxSXRJRHJweG44dDF2RU5Vc081ZldtWWFTc0lxMXZiVFhNenFhQURUOWYwYkJzdkRFNE5IU0RkUHpBY29ndDh5L3lFa01CMDVLUWpodFgrU2lUaUJBdTRzTXdoR2xrSnZqMWkrM1BsZ25JN01VdVI1TEZTY01FRjEyR0p0ZmRseUp5V0xrcnFlbDF3K3llNlpzSVA0M0hKZFpxZi9YZGZuRVFNSjBGUVRTcG5qWXFjZHhwRnBValJEbjRqS1dFamZYbyt5Y1VyLzQ4aGhNNWlDYXJNczFaNVE2czJ6a2FaL1Fla1RCMERlclNnc2dsSkREYVhyWGNxaUF2dytkWEJBOVpRclhVOUVmSHVvQlAxNm13QmZYRk1ML0Nvd3NOak02VUZhQko4RFF3WWdVZE5Mc1JmZUlBakxqWmxqWXk0czR4OGxON3VINlRlT21TZVhJa1NNeEZrWEp4NklFNWJpeUtLaUgyYjYyaGd0dUdFWVM0cG8rb0VNbk9UWFkweVQrSjZhQVc4RkVXV21yb2pUeW1OcUZEVTJnTk5hYy9oQ2RSYk1Dc1ZiZFZaL2N2dllteW1IZkpJR2xZanhlaFdFMzlXUzFRTVlJN3FVODkzNFBjNkZVNjl0R2ZraDhpQlhVMmZ1UURYZ3RVT2JPYk1vMk9nTkNDdS9DWTZ6TldTUFMrZHNLSjdwSmM4QXJ2cDhhU0pPNGRYSmdGYlM3cVhyNHd5M2ZsRzdSZ3VkRGhRN29SS09aZlZEeGdkMnA0ZHJHbkRaOVAydGNlYk41RTIvVGxKeE1ZSWlaWlozWEZEZEErNE1kMzFVN244VGs0cStaRHEzUVFRTk9NY0p4L05pQjkxZkRORHJmOTBKVkxPZk5xdVNQRzJOblpSN0xzK2VZUC80K0w1QllyUjk2L2VYekV5VWFaRWhRbW1FWjUyQWVNdCs4VG5YY1d4WUFOV3JQT2FKRlYybkc5M3RtZFdHMDlBWE82dDVocnV6RHJTaTJHNHp2emZhQ09IMGZmMU81ZUZQazExbkdKdzNsVkJlWVdtOEpyUmtPcy85SHJKMjByR2hjdlhMc3NmbEZlZ29nQXVta2pWcHYzeGJjUFI0R3JUdDRSaloxZHhtYUhBRldYTWV1aGRUcXBLYkprWVlITmNJci93MmJ5dzBZbTVTdmpQNmIwdnc2aDFsUnE3NUwxZmVtbVlINWJrYXhXWVUzRExwODRJZy92SEdFMDA2d2FOS3pXVE1Dd1hpT2QxSVEvYmFLQi9CSEFzQVRCU3FpcG5hZzZYNUt4dXBiVzZaWko0cmwweFc1ZHdMbHBwNHRGVE83a1g1R1FaY2hUNnpUUDNWakFMZXoyUFVHME9pNHI4MDZIOVp0eFNDckpzb3M2bkkxcVRGSDJqd1BXaEpVanRFZ3doM0hPKzk5SlNEa3YyRldWWGp3VW1LNzl0Q1VlSHZsUzUwYVB6ZWs5djI4MkpFMXl2UGMyQ2lWT0JJektzV2RDTkxUNjE3ZzY5aHozVjY1L1M3eXNCazNUOXlkdzIrTDc1WTgzUUhkUCtDa2txZVlBUXE3QUJVWWRXRU5KR2RPMGRZSlZFODRRYXRWcFFNNWhOMnlSV29iWDQxTDM1STJmdXVoaUlXL1ZXREs5S1h4UWlrM2M0MEZoUWo1NHlONWEwUnVSaG1Vc0VsaGJGL1lJVXlDUTFSaC9GVFdQRzh2WTR0aVFLYVptVFVuUXBHOUJuaTVSSkFTem1hRlhUVEpVa1dZbU5uN3BsRmFzcXJscWVTSFpaRUczdXB2eXZMVnJENUE3SzRYQkFvc3lZdCtGMVV5RE9wS0FkY0ZZVnFGVnRKTHgrOHZ2K0QzM0JFUU9qcFVlSlBZVDNwQ3YzQW5yVnJVWEFJejJIc0NzeXl5cjc2QXpDd1hUSkVWNXNZMEJkNEVyeWhoY3hBLy9MMTh2WW5OalpuSmhiV1UiPjwvZGl2PjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJncmVzcG9uc2UiIHZhbHVlPSJqc19kaXNhYmxlZCIgaWQ9ImJncmVzcG9uc2UiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxzY3JpcHQgbm9uY2U9Ii1YbnFNdXBSZkd2TVRQMnVWNE1XNlEiPihmdW5jdGlvbigpeyd1c2Ugc3RyaWN0Jzt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sZj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RpdltkYXRhLWJ1dHRvbi10eXBlPSJtdWx0aXBsZUNob2ljZUlkZW50aWZpZXIiXScpLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZigibnVtYmVyIj09dHlwZW9mIGEubGVuZ3RoKXJldHVybntuZXh0OmQoYSl9O3Rocm93IEVycm9yKFN0cmluZyhhKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTt9Oy8qCgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCnZhciBsPWZ1bmN0aW9uKCl7dGhpcy5pPW5ldyB3aW5kb3cuYm90Z3VhcmQuYmcoayxmdW5jdGlvbigpe30pO3RoaXMuaD10aGlzLmc9bnVsbDt0aGlzLmkmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzLmouYmluZCh0aGlzKSl9O2wucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGlkZGVuTXVsdGlwbGVDaG9pY2VJZGVudGlmaWVyIik7dGhpcy5oPWZ1bmN0aW9uKCl7YS5pLmludm9rZShhLmwpfTt0aGlzLmc/bSh0aGlzKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLHRoaXMuaC5iaW5kKHRoaXMpKX07bC5wcm90b3R5cGUubD1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmdyZXNwb25zZSIpO2ImJihiLnZhbHVlPWEpfTsKdmFyIG09ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWZ1bmN0aW9uKGUpe2EuZyYmKGEuZy52YWx1ZT1lKTthLmgoKX0scT1mdW5jdGlvbihlLHApezEzPT09cC5rZXlDb2RlJiYoYS5nJiYoYS5nLnZhbHVlPWUpLGEuaCgpKX0sZz1mKCksYz1nLm5leHQoKTshYy5kb25lO2M9Zy5uZXh0KCkpe2M9Yy52YWx1ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIilbMF07dmFyIGg9Yy52YWx1ZTtjLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiLmJpbmQoYSxoKSk7Yy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixxLmJpbmQoYSxoKSl9fSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcm9ncmFtIik7aWYobil7dmFyIGs9bi5nZXRBdHRyaWJ1dGUoInByb2dyYW0tZGF0YSIpO2smJm5ldyBsfTt9KS5jYWxsKHRoaXMpOwo8L3NjcmlwdD48L3NwYW4+PHNwYW4ganNuYW1lPSJaVmZUcWQiPjwvc3Bhbj48Yy13aXoganNzaGFkb3cganNkYXRhPSJkZWZlcnJlZC1pMyIganNtb2RlbD0iaGM2VWJkIiBjLXdpej48c2NyaXB0IG5vbmNlPSItWG5xTXVwUmZHdk1UUDJ1VjRNVzZRIj4oZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7dmFyIGFhPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9LGJhPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgYz1hW2JdO2lmKGMmJmMuTWF0aD09TWF0aClyZXR1cm4gY310aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpOwp9LGNhPWJhKHRoaXMpLHA9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBjPWNhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKWJyZWFrIGE7Yz1jW2VdfWE9YVthLmxlbmd0aC0xXTtkPWNbYV07Yj1iKGQpO2IhPWQmJm51bGwhPWImJm4oYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX07CnAoIlN5bWJvbCIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihmLGspe3RoaXMuZz1mO24odGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfTtiLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBjPSJqc2NvbXBfc3ltYm9sXyIrKDFFOSpNYXRoLnJhbmRvbSgpPj4+MCkrIl8iLGQ9MCxlPWZ1bmN0aW9uKGYpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO3JldHVybiBuZXcgYihjKyhmfHwiIikrIl8iK2QrKyxmKX07cmV0dXJuIGV9KTsKcCgiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJTeW1ib2wuaXRlcmF0b3IiKTtmb3IodmFyIGI9IkFycmF5IEludDhBcnJheSBVaW50OEFycmF5IFVpbnQ4Q2xhbXBlZEFycmF5IEludDE2QXJyYXkgVWludDE2QXJyYXkgSW50MzJBcnJheSBVaW50MzJBcnJheSBGbG9hdDMyQXJyYXkgRmxvYXQ2NEFycmF5Ii5zcGxpdCgiICIpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9Y2FbYltjXV07ImZ1bmN0aW9uIj09PXR5cGVvZiBkJiYiZnVuY3Rpb24iIT10eXBlb2YgZC5wcm90b3R5cGVbYV0mJm4oZC5wcm90b3R5cGUsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGRhKGFhKHRoaXMpKX19KX1yZXR1cm4gYX0pOwp2YXIgZGE9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9LHE9ZnVuY3Rpb24oYSl7dmFyIGI9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZigibnVtYmVyIj09dHlwZW9mIGEubGVuZ3RoKXJldHVybntuZXh0OmFhKGEpfTt0aHJvdyBFcnJvcihTdHJpbmcoYSkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7fSxyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTsKcCgiV2Vha01hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBjKGgpe3ZhciBsPXR5cGVvZiBoO3JldHVybiJvYmplY3QiPT09bCYmbnVsbCE9PWh8fCJmdW5jdGlvbiI9PT1sfWZ1bmN0aW9uIGQoaCl7aWYoIXIoaCxmKSl7dmFyIGw9bmV3IGI7bihoLGYse3ZhbHVlOmx9KX19ZnVuY3Rpb24gZShoKXt2YXIgbD1PYmplY3RbaF07bCYmKE9iamVjdFtoXT1mdW5jdGlvbihtKXtpZihtIGluc3RhbmNlb2YgYilyZXR1cm4gbTtPYmplY3QuaXNFeHRlbnNpYmxlKG0pJiZkKG0pO3JldHVybiBsKG0pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaD1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbT1uZXcgYShbW2gsMl0sW2wsM11dKTtpZigyIT1tLmdldChoKXx8MyE9bS5nZXQobCkpcmV0dXJuITE7bS5kZWxldGUoaCk7bS5zZXQobCw0KTtyZXR1cm4hbS5oYXMoaCkmJjQ9PW0uZ2V0KGwpfWNhdGNoKEYpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtlKCJmcmVlemUiKTtlKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2UoInNlYWwiKTt2YXIgaz0wLGc9ZnVuY3Rpb24oaCl7dGhpcy5nPShrKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoaCl7aD1xKGgpO2Zvcih2YXIgbDshKGw9aC5uZXh0KCkpLmRvbmU7KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX07Zy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGgsbCl7aWYoIWMoaCkpdGhyb3cgRXJyb3IoIkludmFsaWQgV2Vha01hcCBrZXkiKTtkKGgpO2lmKCFyKGgsZikpdGhyb3cgRXJyb3IoIldlYWtNYXAga2V5IGZhaWw6ICIraCk7aFtmXVt0aGlzLmddPWw7cmV0dXJuIHRoaXN9O2cucHJvdG90eXBlLmdldD1mdW5jdGlvbihoKXtyZXR1cm4gYyhoKSYmcihoLGYpP2hbZl1bdGhpcy5nXTp2b2lkIDB9O2cucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4gYyhoKSYmcihoLGYpJiZyKGhbZl0sdGhpcy5nKX07CmcucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihoKXtyZXR1cm4gYyhoKSYmcihoLGYpJiZyKGhbZl0sdGhpcy5nKT9kZWxldGUgaFtmXVt0aGlzLmddOiExfTtyZXR1cm4gZ30pOwpwKCJNYXAiLGZ1bmN0aW9uKGEpe2lmKGZ1bmN0aW9uKCl7aWYoIWF8fCJmdW5jdGlvbiIhPXR5cGVvZiBhfHwhYS5wcm90b3R5cGUuZW50cmllc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIE9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgZz1PYmplY3Quc2VhbCh7eDo0fSksaD1uZXcgYShxKFtbZywicyJdXSkpO2lmKCJzIiE9aC5nZXQoZyl8fDEhPWguc2l6ZXx8aC5nZXQoe3g6NH0pfHxoLnNldCh7eDo0fSwidCIpIT1ofHwyIT1oLnNpemUpcmV0dXJuITE7dmFyIGw9aC5lbnRyaWVzKCksbT1sLm5leHQoKTtpZihtLmRvbmV8fG0udmFsdWVbMF0hPWd8fCJzIiE9bS52YWx1ZVsxXSlyZXR1cm4hMTttPWwubmV4dCgpO3JldHVybiBtLmRvbmV8fDQhPW0udmFsdWVbMF0ueHx8InQiIT1tLnZhbHVlWzFdfHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaChGKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGI9bmV3IFdlYWtNYXAsYz1mdW5jdGlvbihnKXt0aGlzWzBdPXt9O3RoaXNbMV09CmYoKTt0aGlzLnNpemU9MDtpZihnKXtnPXEoZyk7Zm9yKHZhciBoOyEoaD1nLm5leHQoKSkuZG9uZTspaD1oLnZhbHVlLHRoaXMuc2V0KGhbMF0saFsxXSl9fTtjLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oZyxoKXtnPTA9PT1nPzA6Zzt2YXIgbD1kKHRoaXMsZyk7bC5saXN0fHwobC5saXN0PXRoaXNbMF1bbC5pZF09W10pO2wubT9sLm0udmFsdWU9aDoobC5tPXtuZXh0OnRoaXNbMV0sdjp0aGlzWzFdLnYsaGVhZDp0aGlzWzFdLGtleTpnLHZhbHVlOmh9LGwubGlzdC5wdXNoKGwubSksdGhpc1sxXS52Lm5leHQ9bC5tLHRoaXNbMV0udj1sLm0sdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oZyl7Zz1kKHRoaXMsZyk7cmV0dXJuIGcubSYmZy5saXN0PyhnLmxpc3Quc3BsaWNlKGcuaW5kZXgsMSksZy5saXN0Lmxlbmd0aHx8ZGVsZXRlIHRoaXNbMF1bZy5pZF0sZy5tLnYubmV4dD1nLm0ubmV4dCxnLm0ubmV4dC52PWcubS52LGcubS5oZWFkPQpudWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS52PWYoKTt0aGlzLnNpemU9MH07Yy5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGcpe3JldHVybiEhZCh0aGlzLGcpLm19O2MucHJvdG90eXBlLmdldD1mdW5jdGlvbihnKXtyZXR1cm4oZz1kKHRoaXMsZykubSkmJmcudmFsdWV9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGcpe3JldHVybltnLmtleSxnLnZhbHVlXX0pfTtjLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihnKXtyZXR1cm4gZy5rZXl9KX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihnKXtyZXR1cm4gZy52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGcsaCl7Zm9yKHZhciBsPXRoaXMuZW50cmllcygpLG07IShtPWwubmV4dCgpKS5kb25lOyltPQptLnZhbHVlLGcuY2FsbChoLG1bMV0sbVswXSx0aGlzKX07Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1jLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBkPWZ1bmN0aW9uKGcsaCl7dmFyIGw9aCYmdHlwZW9mIGg7Im9iamVjdCI9PWx8fCJmdW5jdGlvbiI9PWw/Yi5oYXMoaCk/bD1iLmdldChoKToobD0iIisgKytrLGIuc2V0KGgsbCkpOmw9InBfIitoO3ZhciBtPWdbMF1bbF07aWYobSYmcihnWzBdLGwpKWZvcihnPTA7ZzxtLmxlbmd0aDtnKyspe3ZhciBGPW1bZ107aWYoaCE9PWgmJkYua2V5IT09Ri5rZXl8fGg9PT1GLmtleSlyZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6ZyxtOkZ9fXJldHVybntpZDpsLGxpc3Q6bSxpbmRleDotMSxtOnZvaWQgMH19LGU9ZnVuY3Rpb24oZyxoKXt2YXIgbD1nWzFdO3JldHVybiBkYShmdW5jdGlvbigpe2lmKGwpe2Zvcig7bC5oZWFkIT1nWzFdOylsPWwudjtmb3IoO2wubmV4dCE9bC5oZWFkOylyZXR1cm4gbD1sLm5leHQse2RvbmU6ITEsdmFsdWU6aChsKX07Cmw9bnVsbH1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fSl9LGY9ZnVuY3Rpb24oKXt2YXIgZz17fTtyZXR1cm4gZy52PWcubmV4dD1nLmhlYWQ9Z30saz0wO3JldHVybiBjfSk7cCgiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXthOnt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7Zm9yKHZhciBlPWQubGVuZ3RoLGY9MDtmPGU7ZisrKXt2YXIgaz1kW2ZdO2lmKGIuY2FsbChjLGssZixkKSl7Yj1rO2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifX0pOwp2YXIgZWE9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBjPTAsZD0hMSxlPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWQmJmM8YS5sZW5ndGgpe3ZhciBmPWMrKztyZXR1cm57dmFsdWU6YihmLGFbZl0pLGRvbmU6ITF9fWQ9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2VbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBlfTtyZXR1cm4gZX07cCgiQXJyYXkucHJvdG90eXBlLmVudHJpZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gZWEodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybltiLGNdfSl9fSk7cCgiQXJyYXkucHJvdG90eXBlLmtleXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gZWEodGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYn0pfX0pOwpwKCJBcnJheS5wcm90b3R5cGUudmFsdWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7cmV0dXJuIGVhKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4gY30pfX0pO3AoIkFycmF5LmZyb20iLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjLGQpe2M9bnVsbCE9Yz9jOmZ1bmN0aW9uKGcpe3JldHVybiBnfTt2YXIgZT1bXSxmPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3ImJmJbU3ltYm9sLml0ZXJhdG9yXTtpZigiZnVuY3Rpb24iPT10eXBlb2YgZil7Yj1mLmNhbGwoYik7Zm9yKHZhciBrPTA7IShmPWIubmV4dCgpKS5kb25lOyllLnB1c2goYy5jYWxsKGQsZi52YWx1ZSxrKyspKX1lbHNlIGZvcihmPWIubGVuZ3RoLGs9MDtrPGY7aysrKWUucHVzaChjLmNhbGwoZCxiW2tdLGspKTtyZXR1cm4gZX19KTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgZmE9ZmF8fHt9LHQ9dGhpc3x8c2VsZix1PWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiJvYmplY3QiPT1iJiZudWxsIT1hfHwiZnVuY3Rpb24iPT1ifSxoYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX0saWE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXRocm93IEVycm9yKCk7aWYoMjxhcmd1bWVudHMubGVuZ3RoKXt2YXIgZD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShlLGQpO3JldHVybiBhLmFwcGx5KGIsZSl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGIsYXJndW1lbnRzKX19LHY9ZnVuY3Rpb24oYSxiLGMpe3Y9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJi0xIT1GdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIik/CmhhOmlhO3JldHVybiB2LmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5QPWIucHJvdG90eXBlO2EucHJvdG90eXBlPW5ldyBjO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7YS5qYT1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBrPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMiksZz0yO2c8YXJndW1lbnRzLmxlbmd0aDtnKyspa1tnLTJdPWFyZ3VtZW50c1tnXTtyZXR1cm4gYi5wcm90b3R5cGVbZV0uYXBwbHkoZCxrKX19O3ZhciBqYT1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTtmdW5jdGlvbiB4KGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyx4KTtlbHNle3ZhciBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO3ZvaWQgMCE9PWImJih0aGlzLmNhdXNlPWIpfXcoeCxFcnJvcik7eC5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO2Z1bmN0aW9uIHkoYSxiKXthPWEuc3BsaXQoIiVzIik7Zm9yKHZhciBjPSIiLGQ9YS5sZW5ndGgtMSxlPTA7ZTxkO2UrKyljKz1hW2VdKyhlPGIubGVuZ3RoP2JbZV06IiVzIik7eC5jYWxsKHRoaXMsYythW2RdKX13KHkseCk7eS5wcm90b3R5cGUubmFtZT0iQXNzZXJ0aW9uRXJyb3IiO2Z1bmN0aW9uIGthKGEsYixjLGQpe3ZhciBlPSJBc3NlcnRpb24gZmFpbGVkIjtpZihjKXtlKz0iOiAiK2M7dmFyIGY9ZH1lbHNlIGEmJihlKz0iOiAiK2EsZj1iKTt0aHJvdyBuZXcgeSgiIitlLGZ8fFtdKTt9CnZhciB6PWZ1bmN0aW9uKGEsYixjKXthfHxrYSgiIixudWxsLGIsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpKX0sbGE9ZnVuY3Rpb24oYSxiKXt0aHJvdyBuZXcgeSgiRmFpbHVyZSIrKGE/IjogIithOiIiKSxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpO30sQT1mdW5jdGlvbihhLGIsYyl7aWYoIm51bWJlciIhPT10eXBlb2YgYSl7dmFyIGQ9dHlwZW9mIGE7a2EoIkV4cGVjdGVkIG51bWJlciBidXQgZ290ICVzOiAlcy4iLFsib2JqZWN0IiE9ZD9kOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmQ6Im51bGwiLGFdLGIsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpKX1yZXR1cm4gYX07LyoKCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgbWE9e307dmFyIEI9ZnVuY3Rpb24oYSl7aWYobWEhPT1tYSl0aHJvdyBFcnJvcigiQmFkIHNlY3JldCIpO3RoaXMuZz1hfTtCLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O25ldyBCKCJhYm91dDpibGFuayIpO3ZhciBuYT1uZXcgQigiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiKTt2YXIgb2E9ZnVuY3Rpb24oYSl7dGhpcy5nYT1hfTtmdW5jdGlvbiBDKGEpe3JldHVybiBuZXcgb2EoZnVuY3Rpb24oYil7cmV0dXJuIGIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoifSl9dmFyIHBhPVtDKCJkYXRhIiksQygiaHR0cCIpLEMoImh0dHBzIiksQygibWFpbHRvIiksQygiZnRwIiksbmV3IG9hKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8/I118JCkvLnRlc3QoYSl9KV0scWE9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaSxyYT1bXSxzYT1mdW5jdGlvbigpe307dGEoZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJBIFVSTCB3aXRoIGNvbnRlbnQgJyIrYSsiJyB3YXMgc2FuaXRpemVkIGF3YXkuIil9KTtmdW5jdGlvbiB0YShhKXstMT09PXJhLmluZGV4T2YoYSkmJnJhLnB1c2goYSk7c2E9ZnVuY3Rpb24oYil7cmEuZm9yRWFjaChmdW5jdGlvbihjKXtjKGIpfSl9fTt2YXIgdWE9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/ZnVuY3Rpb24oYSxiKXt6KG51bGwhPWEubGVuZ3RoKTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtpZigic3RyaW5nIj09PXR5cGVvZiBhKXJldHVybiJzdHJpbmciIT09dHlwZW9mIGJ8fDEhPWIubGVuZ3RoPy0xOmEuaW5kZXhPZihiLDApO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9O2Z1bmN0aW9uIHZhKGEsYil7Yj11YShhLGIpO3ZhciBjO2lmKGM9MDw9Yil6KG51bGwhPWEubGVuZ3RoKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTt2YXIgd2E9ImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKTtmdW5jdGlvbiB4YShhLGIpe2Zvcih2YXIgYyxkLGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXtkPWFyZ3VtZW50c1tlXTtmb3IoYyBpbiBkKWFbY109ZFtjXTtmb3IodmFyIGY9MDtmPHdhLmxlbmd0aDtmKyspYz13YVtmXSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxjKSYmKGFbY109ZFtjXSl9fTt2YXIgeWE9e30semE9ZnVuY3Rpb24oKXtpZih5YSE9PXlhKXRocm93IEVycm9yKCJTYWZlU3R5bGUgaXMgbm90IG1lYW50IHRvIGJlIGJ1aWx0IGRpcmVjdGx5Iik7fTt6YS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIi50b1N0cmluZygpfTtuZXcgemE7dmFyIEFhPXt9LEJhPWZ1bmN0aW9uKCl7aWYoQWEhPT1BYSl0aHJvdyBFcnJvcigiU2FmZVN0eWxlU2hlZXQgaXMgbm90IG1lYW50IHRvIGJlIGJ1aWx0IGRpcmVjdGx5Iik7fTtCYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIi50b1N0cmluZygpfTtuZXcgQmE7dmFyIENhLEQ7YTp7Zm9yKHZhciBEYT1bIkNMT1NVUkVfRkxBR1MiXSxFPXQsRWE9MDtFYTxEYS5sZW5ndGg7RWErKylpZihFPUVbRGFbRWFdXSxudWxsPT1FKXtEPW51bGw7YnJlYWsgYX1EPUV9dmFyIEZhPUQmJkRbNjEwNDAxMzAxXTtDYT1udWxsIT1GYT9GYTohMTtmdW5jdGlvbiBHKCl7dmFyIGE9dC5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifXZhciBHYSxIYT10Lm5hdmlnYXRvcjtHYT1IYT9IYS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7dmFyIElhPXt9LEphPWZ1bmN0aW9uKCl7dmFyIGE9dC50cnVzdGVkVHlwZXMmJnQudHJ1c3RlZFR5cGVzLmVtcHR5SFRNTHx8IiI7aWYoSWEhPT1JYSl0aHJvdyBFcnJvcigiU2FmZUh0bWwgaXMgbm90IG1lYW50IHRvIGJlIGJ1aWx0IGRpcmVjdGx5Iik7dGhpcy5nPWF9O0phLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcudG9TdHJpbmcoKX07bmV3IEphO3ZhciBLYT1PYmplY3QuZnJlZXplfHxmdW5jdGlvbihhKXtyZXR1cm4gYX07dmFyIEg9ZnVuY3Rpb24oYSxiKXt0aGlzLm5hbWU9YTt0aGlzLnZhbHVlPWJ9O0gucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX07dmFyIEk9bmV3IEgoIk9GRiIsSW5maW5pdHkpLExhPW5ldyBIKCJTRVZFUkUiLDFFMyksTWE9bmV3IEgoIkNPTkZJRyIsNzAwKSxOYT1uZXcgSCgiRklORSIsNTAwKSxPYT1mdW5jdGlvbigpe30sUGEsUWE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMucmVzZXQoYXx8SSxiLGMsdm9pZCAwLHZvaWQgMCl9O1FhLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe307CnZhciBSYT1mdW5jdGlvbihhLGIpe3RoaXMuZz1udWxsO3RoaXMubD1bXTt0aGlzLmk9KHZvaWQgMD09PWI/bnVsbDpiKXx8bnVsbDt0aGlzLmo9W107dGhpcy5vPXtnOmZ1bmN0aW9uKCl7cmV0dXJuIGF9fX0sU2E9ZnVuY3Rpb24oYSl7aWYoYS5nKXJldHVybiBhLmc7aWYoYS5pKXJldHVybiBTYShhLmkpO2xhKCJSb290IGxvZ2dlciBoYXMgbm8gbGV2ZWwgc2V0LiIpO3JldHVybiBJfSxUYT1mdW5jdGlvbihhLGIpe2Zvcig7YTspYS5sLmZvckVhY2goZnVuY3Rpb24oYyl7YyhiKX0pLGE9YS5pfSxVYT1mdW5jdGlvbigpe3RoaXMuZW50cmllcz17fTt2YXIgYT1uZXcgUmEoIiIpO2EuZz1NYTt0aGlzLmVudHJpZXNbIiJdPWF9LFZhLEo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmVudHJpZXNbYl07aWYoYylyZXR1cm4gYztjPUooYSxiLnNsaWNlKDAsTWF0aC5tYXgoYi5sYXN0SW5kZXhPZigiLiIpLDApKSk7dmFyIGQ9bmV3IFJhKGIsYyk7YS5lbnRyaWVzW2JdPWQ7Yy5qLnB1c2goZCk7CnJldHVybiBkfSxXYT1mdW5jdGlvbigpe1ZhfHwoVmE9bmV3IFVhKTtyZXR1cm4gVmF9LFhhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZihkPWEpaWYoZD1hJiZiKXtkPWIudmFsdWU7dmFyIGU9YT9TYShKKFdhKCksYS5nKCkpKTpJO2Q9ZD49ZS52YWx1ZX1kJiYoYj1ifHxJLGQ9SihXYSgpLGEuZygpKSwiZnVuY3Rpb24iPT09dHlwZW9mIGMmJihjPWMoKSksUGF8fChQYT1uZXcgT2EpLGE9bmV3IFFhKGIsYyxhLmcoKSksVGEoZCxhKSl9LFlhPWZ1bmN0aW9uKGEsYil7YSYmWGEoYSxMYSxiKX0sSz1mdW5jdGlvbihhLGIpe2EmJlhhKGEsTmEsYil9O3ZhciBMPWZ1bmN0aW9uKCl7dGhpcy5nPSgidW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50P251bGw6ZG9jdW1lbnQpfHx7Y29va2llOiIifX07CkwucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYoIm9iamVjdCI9PT10eXBlb2YgYyl7dmFyIGU9Yy5sYTtkPWMubWF8fCExO3ZhciBmPWMuZG9tYWlufHx2b2lkIDA7dmFyIGs9Yy5wYXRofHx2b2lkIDA7dmFyIGc9Yy5rYX1pZigvWzs9XHNdLy50ZXN0KGEpKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK2ErJyInKTtpZigvWztcclxuXS8udGVzdChiKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrYisnIicpO3ZvaWQgMD09PWcmJihnPS0xKTt0aGlzLmcuY29va2llPWErIj0iK2IrKGY/Ijtkb21haW49IitmOiIiKSsoaz8iO3BhdGg9IitrOiIiKSsoMD5nPyIiOjA9PWc/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKSsxRTMqZykpLnRvVVRDU3RyaW5nKCkpKyhkPyI7c2VjdXJlIjoiIikrKG51bGwhPWU/IjtzYW1lc2l0ZT0iKwplOiIiKX07TC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWErIj0iLGQ9KHRoaXMuZy5jb29raWV8fCIiKS5zcGxpdCgiOyIpLGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWphKGRbZV0pO2lmKDA9PWYubGFzdEluZGV4T2YoYywwKSlyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07TC5wcm90b3R5cGUubz1mdW5jdGlvbigpe2Zvcih2YXIgYT0odGhpcy5nLmNvb2tpZXx8IiIpLnNwbGl0KCI7IiksYj1bXSxjPVtdLGQsZSxmPTA7ZjxhLmxlbmd0aDtmKyspZT1qYShhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLC0xPT1kPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybiBjfTt2YXIgWmE9bmV3IEw7dmFyIE09ZnVuY3Rpb24oKXt0aGlzLkg9dGhpcy5IO3RoaXMuZz10aGlzLmd9O00ucHJvdG90eXBlLkg9ITE7TS5wcm90b3R5cGUuRz1mdW5jdGlvbigpe2lmKHRoaXMuZylmb3IoO3RoaXMuZy5sZW5ndGg7KXRoaXMuZy5zaGlmdCgpKCl9O3ZhciBOPWZ1bmN0aW9uKGEsYil7dGhpcy50eXBlPWE7dGhpcy5nPXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPSExfTtOLnByb3RvdHlwZS5pPWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTt2YXIgJGE9ZnVuY3Rpb24oKXtpZighdC5hZGRFdmVudExpc3RlbmVyfHwhT2JqZWN0LmRlZmluZVByb3BlcnR5KXJldHVybiExO3ZhciBhPSExLGI9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7YT0hMH19KTt0cnl7dmFyIGM9ZnVuY3Rpb24oKXt9O3QuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsYyxiKTt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO3ZhciBhYj1mdW5jdGlvbihhKXthYlsiICJdKGEpO3JldHVybiBhfTthYlsiICJdPWZ1bmN0aW9uKCl7fTt2YXIgYmI9Q2EmJkdhJiYwPEdhLmJyYW5kcy5sZW5ndGg/ITE6LTEhPUcoKS5pbmRleE9mKCJUcmlkZW50Iil8fC0xIT1HKCkuaW5kZXhPZigiTVNJRSIpLGNiPS0xIT1HKCkuaW5kZXhPZigiR2Vja28iKSYmISgtMSE9RygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikmJi0xPT1HKCkuaW5kZXhPZigiRWRnZSIpKSYmISgtMSE9RygpLmluZGV4T2YoIlRyaWRlbnQiKXx8LTEhPUcoKS5pbmRleE9mKCJNU0lFIikpJiYtMT09RygpLmluZGV4T2YoIkVkZ2UiKTt2YXIgTz1mdW5jdGlvbihhLGIpe04uY2FsbCh0aGlzLGE/YS50eXBlOiIiKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5nPXRoaXMudGFyZ2V0PW51bGw7dGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPTA7dGhpcy5rZXk9IiI7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5qPW51bGw7aWYoYSl7dmFyIGM9dGhpcy50eXBlPWEudHlwZSxkPWEuY2hhbmdlZFRvdWNoZXMmJmEuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP2EuY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1hLnRhcmdldHx8YS5zcmNFbGVtZW50O3RoaXMuZz1iO2lmKGI9YS5yZWxhdGVkVGFyZ2V0KXtpZihjYil7YTp7dHJ5e2FiKGIubm9kZU5hbWUpO3ZhciBlPSEwO2JyZWFrIGF9Y2F0Y2goZil7fWU9CiExfWV8fChiPW51bGwpfX1lbHNlIm1vdXNlb3ZlciI9PWM/Yj1hLmZyb21FbGVtZW50OiJtb3VzZW91dCI9PWMmJihiPWEudG9FbGVtZW50KTt0aGlzLnJlbGF0ZWRUYXJnZXQ9YjtkPyh0aGlzLmNsaWVudFg9dm9pZCAwIT09ZC5jbGllbnRYP2QuY2xpZW50WDpkLnBhZ2VYLHRoaXMuY2xpZW50WT12b2lkIDAhPT1kLmNsaWVudFk/ZC5jbGllbnRZOmQucGFnZVksdGhpcy5zY3JlZW5YPWQuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ZC5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPXZvaWQgMCE9PWEuY2xpZW50WD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9dm9pZCAwIT09YS5jbGllbnRZP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXk9YS5rZXl8fCIiO3RoaXMuY3RybEtleT1hLmN0cmxLZXk7dGhpcy5hbHRLZXk9YS5hbHRLZXk7dGhpcy5zaGlmdEtleT0KYS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9InN0cmluZyI9PT10eXBlb2YgYS5wb2ludGVyVHlwZT9hLnBvaW50ZXJUeXBlOmRiW2EucG9pbnRlclR5cGVdfHwiIjt0aGlzLnN0YXRlPWEuc3RhdGU7dGhpcy5qPWE7YS5kZWZhdWx0UHJldmVudGVkJiZPLlAuaS5jYWxsKHRoaXMpfX07dyhPLE4pO3ZhciBkYj1LYSh7MjoidG91Y2giLDM6InBlbiIsNDoibW91c2UifSk7Ty5wcm90b3R5cGUuaT1mdW5jdGlvbigpe08uUC5pLmNhbGwodGhpcyk7dmFyIGE9dGhpcy5qO2EucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITF9O3ZhciBQPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoMUU2Kk1hdGgucmFuZG9tKCl8MCk7dmFyIGViPTA7dmFyIGZiPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5NPWU7dGhpcy5rZXk9KytlYjt0aGlzLko9dGhpcy5MPSExfSxnYj1mdW5jdGlvbihhKXthLko9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuTT1udWxsfTt2YXIgaGI9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLmc9e307dGhpcy5pPTB9O2hiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLnRvU3RyaW5nKCk7YT10aGlzLmdbZl07YXx8KGE9dGhpcy5nW2ZdPVtdLHRoaXMuaSsrKTt2YXIgaz1pYihhLGIsZCxlKTstMTxrPyhiPWFba10sY3x8KGIuTD0hMSkpOihiPW5ldyBmYihiLHRoaXMuc3JjLGYsISFkLGUpLGIuTD1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O3ZhciBqYj1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEuZyYmdmEoYS5nW2NdLGIpJiYoZ2IoYiksMD09YS5nW2NdLmxlbmd0aCYmKGRlbGV0ZSBhLmdbY10sYS5pLS0pKX0saWI9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoIWYuSiYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuTT09ZClyZXR1cm4gZX1yZXR1cm4tMX07dmFyIGtiPSJjbG9zdXJlX2xtXyIrKDFFNipNYXRoLnJhbmRvbSgpfDApLGxiPXt9LG1iPTAsb2I9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpbmIoYSxiLGMsZCxlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspb2IoYSxiW2ZdLGMsZCxlKTtlbHNlIGM9cGIoYyksYSYmYVtQXT8oZD11KGQpPyEhZC5jYXB0dXJlOiEhZCxxYihhKSxhLnUuYWRkKFN0cmluZyhiKSxjLCExLGQsZSkpOnJiKGEsYixjLCExLGQsZSl9LHJiPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighYil0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7dmFyIGs9dShlKT8hIWUuY2FwdHVyZTohIWUsZz1zYihhKTtnfHwoYVtrYl09Zz1uZXcgaGIoYSkpO2M9Zy5hZGQoYixjLGQsayxmKTtpZighYy5wcm94eSl7ZD10YigpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpJGF8fChlPWspLHZvaWQgMD09PQplJiYoZT0hMSksYS5hZGRFdmVudExpc3RlbmVyKGIudG9TdHJpbmcoKSxkLGUpO2Vsc2UgaWYoYS5hdHRhY2hFdmVudClhLmF0dGFjaEV2ZW50KHViKGIudG9TdHJpbmcoKSksZCk7ZWxzZSBpZihhLmFkZExpc3RlbmVyJiZhLnJlbW92ZUxpc3RlbmVyKXooImNoYW5nZSI9PT1iLCJNZWRpYVF1ZXJ5TGlzdCBvbmx5IGhhcyBhIGNoYW5nZSBldmVudCIpLGEuYWRkTGlzdGVuZXIoZCk7ZWxzZSB0aHJvdyBFcnJvcigiYWRkRXZlbnRMaXN0ZW5lciBhbmQgYXR0YWNoRXZlbnQgYXJlIHVuYXZhaWxhYmxlLiIpO21iKyt9fSx0Yj1mdW5jdGlvbigpe3ZhciBhPXZiLGI9ZnVuY3Rpb24oYyl7cmV0dXJuIGEuY2FsbChiLnNyYyxiLmxpc3RlbmVyLGMpfTtyZXR1cm4gYn0sbmI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKW5iKGEsYltmXSxjLGQsZSk7ZWxzZSBjPXBiKGMpLGEmJmFbUF0/YS51LmFkZChTdHJpbmcoYiksCmMsITAsdShkKT8hIWQuY2FwdHVyZTohIWQsZSk6cmIoYSxiLGMsITAsZCxlKX0sd2I9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKXdiKGEsYltmXSxjLGQsZSk7ZWxzZShkPXUoZCk/ISFkLmNhcHR1cmU6ISFkLGM9cGIoYyksYSYmYVtQXSk/KGE9YS51LGI9U3RyaW5nKGIpLnRvU3RyaW5nKCksYiBpbiBhLmcmJihmPWEuZ1tiXSxjPWliKGYsYyxkLGUpLC0xPGMmJihnYihmW2NdKSx6KG51bGwhPWYubGVuZ3RoKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoZixjLDEpLDA9PWYubGVuZ3RoJiYoZGVsZXRlIGEuZ1tiXSxhLmktLSkpKSk6YSYmKGE9c2IoYSkpJiYoYj1hLmdbYi50b1N0cmluZygpXSxhPS0xLGImJihhPWliKGIsYyxkLGUpKSwoYz0tMTxhP2JbYV06bnVsbCkmJnhiKGMpKX0seGI9ZnVuY3Rpb24oYSl7aWYoIm51bWJlciIhPT10eXBlb2YgYSYmYSYmIWEuSil7dmFyIGI9YS5zcmM7aWYoYiYmCmJbUF0pamIoYi51LGEpO2Vsc2V7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudCh1YihjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO21iLS07KGM9c2IoYikpPyhqYihjLGEpLDA9PWMuaSYmKGMuc3JjPW51bGwsYltrYl09bnVsbCkpOmdiKGEpfX19LHViPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIGxiP2xiW2FdOmxiW2FdPSJvbiIrYX0sdmI9ZnVuY3Rpb24oYSxiKXtpZihhLkopYT0hMDtlbHNle2I9bmV3IE8oYix0aGlzKTt2YXIgYz1hLmxpc3RlbmVyLGQ9YS5NfHxhLnNyYzthLkwmJnhiKGEpO2E9Yy5jYWxsKGQsYil9cmV0dXJuIGF9LHNiPWZ1bmN0aW9uKGEpe2E9YVtrYl07cmV0dXJuIGEgaW5zdGFuY2VvZiBoYj9hOm51bGx9LHliPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrCigxRTkqTWF0aC5yYW5kb20oKT4+PjApLHBiPWZ1bmN0aW9uKGEpe3ooYSwiTGlzdGVuZXIgY2FuIG5vdCBiZSBudWxsLiIpO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgYSlyZXR1cm4gYTt6KGEuaGFuZGxlRXZlbnQsIkFuIG9iamVjdCBsaXN0ZW5lciBtdXN0IGhhdmUgaGFuZGxlRXZlbnQgbWV0aG9kLiIpO2FbeWJdfHwoYVt5Yl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVt5Yl19O3ZhciBRPWZ1bmN0aW9uKCl7TS5jYWxsKHRoaXMpO3RoaXMudT1uZXcgaGIodGhpcyk7dGhpcy5qPXRoaXM7dGhpcy5pPW51bGx9O3coUSxNKTtRLnByb3RvdHlwZVtQXT0hMDtRLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe29iKHRoaXMsYSxiLGMsZCl9O1EucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7d2IodGhpcyxhLGIsYyxkKX07ClEucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7cWIodGhpcyk7dmFyIGI9dGhpcy5pO2lmKGIpe3ZhciBjPVtdO2Zvcih2YXIgZD0xO2I7Yj1iLmkpYy5wdXNoKGIpLHooMUUzPisrZCwiaW5maW5pdGUgbG9vcCIpfWI9dGhpcy5qO2Q9YS50eXBlfHxhO2lmKCJzdHJpbmciPT09dHlwZW9mIGEpYT1uZXcgTihhLGIpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIE4pYS50YXJnZXQ9YS50YXJnZXR8fGI7ZWxzZXt2YXIgZT1hO2E9bmV3IE4oZCxiKTt4YShhLGUpfWU9ITA7aWYoYylmb3IodmFyIGY9Yy5sZW5ndGgtMTswPD1mO2YtLSl7dmFyIGs9YS5nPWNbZl07ZT16YihrLGQsITAsYSkmJmV9az1hLmc9YjtlPXpiKGssZCwhMCxhKSYmZTtlPXpiKGssZCwhMSxhKSYmZTtpZihjKWZvcihmPTA7ZjxjLmxlbmd0aDtmKyspaz1hLmc9Y1tmXSxlPXpiKGssZCwhMSxhKSYmZTtyZXR1cm4gZX07ClEucHJvdG90eXBlLkc9ZnVuY3Rpb24oKXtRLlAuRy5jYWxsKHRoaXMpO2lmKHRoaXMudSl7dmFyIGE9dGhpcy51LGI9MCxjO2ZvcihjIGluIGEuZyl7Zm9yKHZhciBkPWEuZ1tjXSxlPTA7ZTxkLmxlbmd0aDtlKyspKytiLGdiKGRbZV0pO2RlbGV0ZSBhLmdbY107YS5pLS19fXRoaXMuaT1udWxsfTt2YXIgemI9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLnUuZ1tTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtmb3IodmFyIGU9ITAsZj0wO2Y8Yi5sZW5ndGg7KytmKXt2YXIgaz1iW2ZdO2lmKGsmJiFrLkomJmsuY2FwdHVyZT09Yyl7dmFyIGc9ay5saXN0ZW5lcixoPWsuTXx8ay5zcmM7ay5MJiZqYihhLnUsayk7ZT0hMSE9PWcuY2FsbChoLGQpJiZlfX1yZXR1cm4gZSYmIWQuZGVmYXVsdFByZXZlbnRlZH0scWI9ZnVuY3Rpb24oYSl7eihhLnUsIkV2ZW50IHRhcmdldCBpcyBub3QgaW5pdGlhbGl6ZWQuIERpZCB5b3UgY2FsbCB0aGUgc3VwZXJjbGFzcyAoZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQpIGNvbnN0cnVjdG9yPyIpfTt2YXIgQWI9ZnVuY3Rpb24oKXt9O0FiLnByb3RvdHlwZS5nPW51bGw7dmFyIEJiPWZ1bmN0aW9uKGEpe3ZhciBiOyhiPWEuZyl8fChiPWEuZz17fSk7cmV0dXJuIGJ9O3ZhciBDYixEYj1mdW5jdGlvbigpe307dyhEYixBYik7Q2I9bmV3IERiO3ZhciBFYj1mdW5jdGlvbihhLGIsYyl7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBhKWMmJihhPXYoYSxjKSk7ZWxzZSBpZihhJiYiZnVuY3Rpb24iPT10eXBlb2YgYS5oYW5kbGVFdmVudClhPXYoYS5oYW5kbGVFdmVudCxhKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIDIxNDc0ODM2NDc8TnVtYmVyKGIpPy0xOnQuc2V0VGltZW91dChhLGJ8fDApfTt2YXIgRmI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKSxHYj1mdW5jdGlvbihhLGIpe2lmKGEpe2E9YS5zcGxpdCgiJiIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLmluZGV4T2YoIj0iKSxlPW51bGw7aWYoMDw9ZCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZSgvXCsvZywiICIpKToiIil9fX07dmFyIFI9ZnVuY3Rpb24oYSl7US5jYWxsKHRoaXMpO3RoaXMuaGVhZGVycz1uZXcgTWFwO3RoaXMuZWE9YXx8bnVsbDt0aGlzLkE9ITE7dGhpcy5UPXRoaXMuaD1udWxsO3RoaXMuST10aGlzLlk9dGhpcy5PPSIiO3RoaXMuQj10aGlzLlc9dGhpcy5OPXRoaXMuVj0hMTt0aGlzLks9MDt0aGlzLlI9bnVsbDt0aGlzLmJhPSIiO3RoaXMuUz10aGlzLmlhPXRoaXMuZGE9ITE7dGhpcy5VPXRoaXMuWD1udWxsfTt3KFIsUSk7Ui5wcm90b3R5cGUucz1KKFdhKCksImdvb2cubmV0LlhocklvIikubzt2YXIgSGI9L15odHRwcz8kL2ksSWI9WyJQT1NUIiwiUFVUIl0sSmI9W107Ui5wcm90b3R5cGUuZmE9ZnVuY3Rpb24oKXt0aGlzLkh8fCh0aGlzLkg9ITAsdGhpcy5HKCkpO3ZhKEpiLHRoaXMpfTtSLnByb3RvdHlwZS5zZXRUcnVzdFRva2VuPWZ1bmN0aW9uKGEpe3RoaXMuWD1hfTtSLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZz1mdW5jdGlvbihhKXt0aGlzLlU9YX07ClIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5oKXRocm93IEVycm9yKCJbZ29vZy5uZXQuWGhySW9dIE9iamVjdCBpcyBhY3RpdmUgd2l0aCBhbm90aGVyIHJlcXVlc3Q9Iit0aGlzLk8rIjsgbmV3VXJpPSIrYSk7Yj1iP2IudG9VcHBlckNhc2UoKToiR0VUIjt0aGlzLk89YTt0aGlzLkk9IiI7dGhpcy5ZPWI7dGhpcy5WPSExO3RoaXMuQT0hMDt0aGlzLmg9bmV3IFhNTEh0dHBSZXF1ZXN0O3RoaXMuVD10aGlzLmVhP0JiKHRoaXMuZWEpOkJiKENiKTt0aGlzLmgub25yZWFkeXN0YXRlY2hhbmdlPXYodGhpcy5hYSx0aGlzKTt0aGlzLmlhJiYib25wcm9ncmVzcyJpbiB0aGlzLmgmJih0aGlzLmgub25wcm9ncmVzcz12KGZ1bmN0aW9uKGspe3RoaXMuWihrLCEwKX0sdGhpcyksdGhpcy5oLnVwbG9hZCYmKHRoaXMuaC51cGxvYWQub25wcm9ncmVzcz12KHRoaXMuWix0aGlzKSkpO3RyeXtLKHRoaXMucyxTKHRoaXMsIk9wZW5pbmcgWGhyIikpLHRoaXMuVz0hMCwKdGhpcy5oLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuVz0hMX1jYXRjaChrKXtLKHRoaXMucyxTKHRoaXMsIkVycm9yIG9wZW5pbmcgWGhyOiAiK2subWVzc2FnZSkpO0tiKHRoaXMsayk7cmV0dXJufWE9Y3x8IiI7Yz1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoZClpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCk9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgZSBpbiBkKWMuc2V0KGUsZFtlXSk7ZWxzZSBpZigiZnVuY3Rpb24iPT09dHlwZW9mIGQua2V5cyYmImZ1bmN0aW9uIj09PXR5cGVvZiBkLmdldCl7ZT1xKGQua2V5cygpKTtmb3IodmFyIGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKWY9Zi52YWx1ZSxjLnNldChmLGQuZ2V0KGYpKX1lbHNlIHRocm93IEVycm9yKCJVbmtub3duIGlucHV0IHR5cGUgZm9yIG9wdF9oZWFkZXJzOiAiK1N0cmluZyhkKSk7ZD1BcnJheS5mcm9tKGMua2V5cygpKS5maW5kKGZ1bmN0aW9uKGspe3JldHVybiJjb250ZW50LXR5cGUiPT1rLnRvTG93ZXJDYXNlKCl9KTsKZT10LkZvcm1EYXRhJiZhIGluc3RhbmNlb2YgdC5Gb3JtRGF0YTshKDA8PXVhKEliLGIpKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Yj1xKGMpO2ZvcihkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSljPXEoZC52YWx1ZSksZD1jLm5leHQoKS52YWx1ZSxjPWMubmV4dCgpLnZhbHVlLHRoaXMuaC5zZXRSZXF1ZXN0SGVhZGVyKGQsYyk7dGhpcy5iYSYmKHRoaXMuaC5yZXNwb25zZVR5cGU9dGhpcy5iYSk7IndpdGhDcmVkZW50aWFscyJpbiB0aGlzLmgmJnRoaXMuaC53aXRoQ3JlZGVudGlhbHMhPT10aGlzLmRhJiYodGhpcy5oLndpdGhDcmVkZW50aWFscz10aGlzLmRhKTtpZigic2V0VHJ1c3RUb2tlbiJpbiB0aGlzLmgmJnRoaXMuWCl0cnl7dGhpcy5oLnNldFRydXN0VG9rZW4odGhpcy5YKX1jYXRjaChrKXtLKHRoaXMucyxTKHRoaXMsIkVycm9yIFNldFRydXN0VG9rZW46ICIrCmsubWVzc2FnZSkpfWlmKCJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiB0aGlzLmgmJnRoaXMuVSl0cnl7dGhpcy5oLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKHRoaXMuVSl9Y2F0Y2goayl7Syh0aGlzLnMsUyh0aGlzLCJFcnJvciBTZXRBdHRyaWJ1dGlvblJlcG9ydGluZzogIitrLm1lc3NhZ2UpKX10cnl7TGIodGhpcyksMDx0aGlzLksmJih0aGlzLlM9TWIodGhpcy5oKSxLKHRoaXMucyxTKHRoaXMsIldpbGwgYWJvcnQgYWZ0ZXIgIit0aGlzLksrIm1zIGlmIGluY29tcGxldGUsIHhocjIgIit0aGlzLlMpKSx0aGlzLlM/KHRoaXMuaC50aW1lb3V0PXRoaXMuSyx0aGlzLmgub250aW1lb3V0PXYodGhpcy5jYSx0aGlzKSk6dGhpcy5SPUViKHRoaXMuY2EsdGhpcy5LLHRoaXMpKSxLKHRoaXMucyxTKHRoaXMsIlNlbmRpbmcgcmVxdWVzdCIpKSx0aGlzLk49ITAsdGhpcy5oLnNlbmQoYSksdGhpcy5OPSExfWNhdGNoKGspe0sodGhpcy5zLFModGhpcywiU2VuZCBlcnJvcjogIitrLm1lc3NhZ2UpKSwKS2IodGhpcyxrKX19O3ZhciBNYj1mdW5jdGlvbihhKXtyZXR1cm4gYmImJiJudW1iZXIiPT09dHlwZW9mIGEudGltZW91dCYmdm9pZCAwIT09YS5vbnRpbWVvdXR9O1IucHJvdG90eXBlLmNhPWZ1bmN0aW9uKCl7InVuZGVmaW5lZCIhPXR5cGVvZiBmYSYmdGhpcy5oJiYodGhpcy5JPSJUaW1lZCBvdXQgYWZ0ZXIgIit0aGlzLksrIm1zLCBhYm9ydGluZyIsSyh0aGlzLnMsUyh0aGlzLHRoaXMuSSkpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTt2YXIgS2I9ZnVuY3Rpb24oYSxiKXthLkE9ITE7YS5oJiYoYS5CPSEwLGEuaC5hYm9ydCgpLGEuQj0hMSk7YS5JPWI7TmIoYSk7T2IoYSl9LE5iPWZ1bmN0aW9uKGEpe2EuVnx8KGEuVj0hMCxhLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksYS5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07ClIucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7dGhpcy5oJiZ0aGlzLkEmJihLKHRoaXMucyxTKHRoaXMsIkFib3J0aW5nIikpLHRoaXMuQT0hMSx0aGlzLkI9ITAsdGhpcy5oLmFib3J0KCksdGhpcy5CPSExLHRoaXMuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSx0aGlzLmRpc3BhdGNoRXZlbnQoImFib3J0IiksT2IodGhpcykpfTtSLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7dGhpcy5oJiYodGhpcy5BJiYodGhpcy5BPSExLHRoaXMuQj0hMCx0aGlzLmguYWJvcnQoKSx0aGlzLkI9ITEpLE9iKHRoaXMsITApKTtSLlAuRy5jYWxsKHRoaXMpfTtSLnByb3RvdHlwZS5hYT1mdW5jdGlvbigpe3RoaXMuSHx8KHRoaXMuV3x8dGhpcy5OfHx0aGlzLkI/UGIodGhpcyk6dGhpcy5oYSgpKX07Ui5wcm90b3R5cGUuaGE9ZnVuY3Rpb24oKXtQYih0aGlzKX07CnZhciBQYj1mdW5jdGlvbihhKXtpZihhLkEmJiJ1bmRlZmluZWQiIT10eXBlb2YgZmEpaWYoYS5UWzFdJiY0PT1UKGEpJiYyPT1RYihhKSlLKGEucyxTKGEsIkxvY2FsIHJlcXVlc3QgZXJyb3IgZGV0ZWN0ZWQgYW5kIGlnbm9yZWQiKSk7ZWxzZSBpZihhLk4mJjQ9PVQoYSkpRWIoYS5hYSwwLGEpO2Vsc2UgaWYoYS5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksND09VChhKSl7SyhhLnMsUyhhLCJSZXF1ZXN0IGNvbXBsZXRlIikpO2EuQT0hMTt0cnl7aWYoUmIoYSkpYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgic3VjY2VzcyIpO2Vsc2V7dHJ5e3ZhciBiPTI8VChhKT9hLmguc3RhdHVzVGV4dDoiIn1jYXRjaChjKXtLKGEucywiQ2FuIG5vdCBnZXQgc3RhdHVzOiAiK2MubWVzc2FnZSksYj0iIn1hLkk9YisiIFsiK1FiKGEpKyJdIjtOYihhKX19ZmluYWxseXtPYihhKX19fTsKUi5wcm90b3R5cGUuWj1mdW5jdGlvbihhLGIpe3ooInByb2dyZXNzIj09PWEudHlwZSwiZ29vZy5uZXQuRXZlbnRUeXBlLlBST0dSRVNTIGlzIG9mIHRoZSBzYW1lIHR5cGUgYXMgcmF3IFhIUiBwcm9ncmVzcy4iKTt0aGlzLmRpc3BhdGNoRXZlbnQoU2IoYSwicHJvZ3Jlc3MiKSk7dGhpcy5kaXNwYXRjaEV2ZW50KFNiKGEsYj8iZG93bmxvYWRwcm9ncmVzcyI6InVwbG9hZHByb2dyZXNzIikpfTsKdmFyIFNiPWZ1bmN0aW9uKGEsYil7cmV0dXJue3R5cGU6YixsZW5ndGhDb21wdXRhYmxlOmEubGVuZ3RoQ29tcHV0YWJsZSxsb2FkZWQ6YS5sb2FkZWQsdG90YWw6YS50b3RhbH19LE9iPWZ1bmN0aW9uKGEsYil7aWYoYS5oKXtMYihhKTt2YXIgYz1hLmgsZD1hLlRbMF0/ZnVuY3Rpb24oKXt9Om51bGw7YS5oPW51bGw7YS5UPW51bGw7Ynx8YS5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT1kfWNhdGNoKGUpe1lhKGEucywiUHJvYmxlbSBlbmNvdW50ZXJlZCByZXNldHRpbmcgb25yZWFkeXN0YXRlY2hhbmdlOiAiK2UubWVzc2FnZSl9fX0sTGI9ZnVuY3Rpb24oYSl7YS5oJiZhLlMmJihhLmgub250aW1lb3V0PW51bGwpO2EuUiYmKHQuY2xlYXJUaW1lb3V0KGEuUiksYS5SPW51bGwpfTtSLnByb3RvdHlwZS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5ofTsKdmFyIFJiPWZ1bmN0aW9uKGEpe3ZhciBiPVFiKGEpO2E6c3dpdGNoKGIpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjA0OmNhc2UgMjA2OmNhc2UgMzA0OmNhc2UgMTIyMzp2YXIgYz0hMDticmVhayBhO2RlZmF1bHQ6Yz0hMX1pZighYyl7aWYoYj0wPT09YilhPVN0cmluZyhhLk8pLm1hdGNoKEZiKVsxXXx8bnVsbCwhYSYmdC5zZWxmJiZ0LnNlbGYubG9jYXRpb24mJihhPXQuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksYj0hSGIudGVzdChhP2EudG9Mb3dlckNhc2UoKToiIik7Yz1ifXJldHVybiBjfSxUPWZ1bmN0aW9uKGEpe3JldHVybiBhLmg/YS5oLnJlYWR5U3RhdGU6MH0sUWI9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiAyPFQoYSk/YS5oLnN0YXR1czotMX1jYXRjaChiKXtyZXR1cm4tMX19OwpSLnByb3RvdHlwZS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtpZih0aGlzLmgmJjQ9PVQodGhpcykpcmV0dXJuIGE9dGhpcy5oLmdldFJlc3BvbnNlSGVhZGVyKGEpLG51bGw9PT1hP3ZvaWQgMDphfTtSLnByb3RvdHlwZS5nZXRBbGxSZXNwb25zZUhlYWRlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oJiYyPD1UKHRoaXMpP3RoaXMuaC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiJ9O3ZhciBTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIrIiBbIithLlkrIiAiK2EuTysiICIrUWIoYSkrIl0ifTt2YXIgVT1mdW5jdGlvbihhKXt0aGlzLmc9dGhpcy5EPXRoaXMubD0iIjt0aGlzLkY9bnVsbDt0aGlzLkM9dGhpcy5pPSIiO3RoaXMubz0hMTt2YXIgYjthIGluc3RhbmNlb2YgVT8odGhpcy5vPWEubyxUYih0aGlzLGEubCksdGhpcy5EPWEuRCx0aGlzLmc9YS5nLFViKHRoaXMsYS5GKSxWYih0aGlzLGEuaSksV2IodGhpcyxYYihhLmopKSx0aGlzLkM9YS5DKTphJiYoYj1TdHJpbmcoYSkubWF0Y2goRmIpKT8odGhpcy5vPSExLFRiKHRoaXMsYlsxXXx8IiIsITApLHRoaXMuRD1WKGJbMl18fCIiKSx0aGlzLmc9VihiWzNdfHwiIiwhMCksVWIodGhpcyxiWzRdKSxWYih0aGlzLGJbNV18fCIiLCEwKSxXYih0aGlzLGJbNl18fCIiLCEwKSx0aGlzLkM9VihiWzddfHwiIikpOih0aGlzLm89ITEsdGhpcy5qPW5ldyBXKG51bGwsdGhpcy5vKSl9OwpVLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBhPVtdLGI9dGhpcy5sO2ImJmEucHVzaChYKGIsWWIsITApLCI6Iik7dmFyIGM9dGhpcy5nO2lmKGN8fCJmaWxlIj09YilhLnB1c2goIi8vIiksKGI9dGhpcy5EKSYmYS5wdXNoKFgoYixZYiwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLkYsbnVsbCE9YyYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5pKXRoaXMuZyYmIi8iIT1jLmNoYXJBdCgwKSYmYS5wdXNoKCIvIiksYS5wdXNoKFgoYywiLyI9PWMuY2hhckF0KDApP1piOiRiLCEwKSk7KGM9dGhpcy5qLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMuQykmJmEucHVzaCgiIyIsWChjLGFjKSk7cmV0dXJuIGEuam9pbigiIil9OwpVLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBVKHRoaXMpLGM9ISFhLmw7Yz9UYihiLGEubCk6Yz0hIWEuRDtjP2IuRD1hLkQ6Yz0hIWEuZztjP2IuZz1hLmc6Yz1udWxsIT1hLkY7dmFyIGQ9YS5pO2lmKGMpVWIoYixhLkYpO2Vsc2UgaWYoYz0hIWEuaSl7aWYoIi8iIT1kLmNoYXJBdCgwKSlpZih0aGlzLmcmJiF0aGlzLmkpZD0iLyIrZDtlbHNle3ZhciBlPWIuaS5sYXN0SW5kZXhPZigiLyIpOy0xIT1lJiYoZD1iLmkuc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZigiLi4iPT1lfHwiLiI9PWUpZD0iIjtlbHNlIGlmKC0xIT1lLmluZGV4T2YoIi4vIil8fC0xIT1lLmluZGV4T2YoIi8uIikpe2Q9MD09ZS5sYXN0SW5kZXhPZigiLyIsMCk7ZT1lLnNwbGl0KCIvIik7Zm9yKHZhciBmPVtdLGs9MDtrPGUubGVuZ3RoOyl7dmFyIGc9ZVtrKytdOyIuIj09Zz9kJiZrPT1lLmxlbmd0aCYmZi5wdXNoKCIiKToiLi4iPT1nPygoMTxmLmxlbmd0aHx8MT09Zi5sZW5ndGgmJiIiIT0KZlswXSkmJmYucG9wKCksZCYmaz09ZS5sZW5ndGgmJmYucHVzaCgiIikpOihmLnB1c2goZyksZD0hMCl9ZD1mLmpvaW4oIi8iKX1lbHNlIGQ9ZX1jP1ZiKGIsZCk6Yz0iIiE9PWEuai50b1N0cmluZygpO2M/V2IoYixYYihhLmopKTpjPSEhYS5DO2MmJihiLkM9YS5DKTtyZXR1cm4gYn07CnZhciBUYj1mdW5jdGlvbihhLGIsYyl7YS5sPWM/VihiLCEwKTpiO2EubCYmKGEubD1hLmwucmVwbGFjZSgvOiQvLCIiKSl9LFViPWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fDA+Yil0aHJvdyBFcnJvcigiQmFkIHBvcnQgbnVtYmVyICIrYik7YS5GPWJ9ZWxzZSBhLkY9bnVsbH0sVmI9ZnVuY3Rpb24oYSxiLGMpe2EuaT1jP1YoYiwhMCk6YjtyZXR1cm4gYX0sV2I9ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBXPyhhLmo9YixiYyhhLmosYS5vKSk6KGN8fChiPVgoYixjYykpLGEuaj1uZXcgVyhiLGEubykpO3JldHVybiBhfSxWPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE/Yj9kZWNvZGVVUkkoYS5yZXBsYWNlKC8lMjUvZywiJTI1MjUiKSk6ZGVjb2RlVVJJQ29tcG9uZW50KGEpOiIifSxYPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBhPyhhPWVuY29kZVVSSShhKS5yZXBsYWNlKGIsZGMpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLAoiJSQxIikpLGEpOm51bGx9LGRjPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9LFliPS9bI1wvXD9AXS9nLCRiPS9bI1w/Ol0vZyxaYj0vWyNcP10vZyxjYz0vWyNcP0BdL2csYWM9LyMvZyxXPWZ1bmN0aW9uKGEsYil7dGhpcy5pPXRoaXMuZz1udWxsO3RoaXMuaj1hfHxudWxsO3RoaXMubD0hIWJ9LFk9ZnVuY3Rpb24oYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5pPTAsYS5qJiZHYihhLmosZnVuY3Rpb24oYixjKXthLmFkZChkZWNvZGVVUklDb21wb25lbnQoYi5yZXBsYWNlKC9cKy9nLCIgIikpLGMpfSkpfTtXLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXtZKHRoaXMpO3RoaXMuaj1udWxsO2E9Wih0aGlzLGEpO3ZhciBjPXRoaXMuZy5nZXQoYSk7Y3x8dGhpcy5nLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLmk9QSh0aGlzLmkpKzE7cmV0dXJuIHRoaXN9Owp2YXIgZWM9ZnVuY3Rpb24oYSxiKXtZKGEpO2I9WihhLGIpO2EuZy5oYXMoYikmJihhLmo9bnVsbCxhLmk9QShhLmkpLWEuZy5nZXQoYikubGVuZ3RoLGEuZy5kZWxldGUoYikpfSxmYz1mdW5jdGlvbihhLGIpe1koYSk7Yj1aKGEsYik7cmV0dXJuIGEuZy5oYXMoYil9O1cucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtZKHRoaXMpO3RoaXMuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2EuY2FsbChiLGUsZCx0aGlzKX0sdGhpcyl9LHRoaXMpfTtXLnByb3RvdHlwZS5vPWZ1bmN0aW9uKGEpe1kodGhpcyk7dmFyIGI9W107aWYoInN0cmluZyI9PT10eXBlb2YgYSlmYyh0aGlzLGEpJiYoYj1iLmNvbmNhdCh0aGlzLmcuZ2V0KFoodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmcudmFsdWVzKCkpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpXLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXtZKHRoaXMpO3RoaXMuaj1udWxsO2E9Wih0aGlzLGEpO2ZjKHRoaXMsYSkmJih0aGlzLmk9QSh0aGlzLmkpLXRoaXMuZy5nZXQoYSkubGVuZ3RoKTt0aGlzLmcuc2V0KGEsW2JdKTt0aGlzLmk9QSh0aGlzLmkpKzE7cmV0dXJuIHRoaXN9O1cucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5vKGEpO3JldHVybiAwPGEubGVuZ3RoP1N0cmluZyhhWzBdKTpifTsKVy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLmopcmV0dXJuIHRoaXMuajtpZighdGhpcy5nKXJldHVybiIiO2Zvcih2YXIgYT1bXSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdLGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7ZD10aGlzLm8oZCk7Zm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBrPWU7IiIhPT1kW2ZdJiYoays9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZFtmXSkpKTthLnB1c2goayl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgWGI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFc7Yi5qPWEuajthLmcmJihiLmc9bmV3IE1hcChhLmcpLGIuaT1hLmkpO3JldHVybiBifSxaPWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5sJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifSxiYz1mdW5jdGlvbihhLGIpe2ImJiFhLmwmJihZKGEpLGEuaj1udWxsLGEuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2lmKGQhPWUmJihlYyh0aGlzLGQpLGVjKHRoaXMsZSksMDxjLmxlbmd0aCkpe3RoaXMuaj1udWxsO2Q9dGhpcy5nO3ZhciBmPWQuc2V0O2U9Wih0aGlzLGUpO3ZhciBrPWMubGVuZ3RoO2lmKDA8ayl7Zm9yKHZhciBnPUFycmF5KGspLGg9MDtoPGs7aCsrKWdbaF09Y1toXTtrPWd9ZWxzZSBrPVtdO2YuY2FsbChkLGUsayk7dGhpcy5pPUEodGhpcy5pKStjLmxlbmd0aH19LGEpKTthLmw9Yn07dmFyIGhjPWZ1bmN0aW9uKCl7dGhpcy5pPXZvaWQgMDt0aGlzLmc9bnVsbDtnYyh0aGlzLDApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzLm8uYmluZCh0aGlzKSl9OwpoYy5wcm90b3R5cGUubD1mdW5jdGlvbihhKXtpZih0aGlzLmcpe2E9YS50YXJnZXQ7dmFyIGI7aWYoYj1SYihhKSl7dHJ5e3ZhciBjPWEuaD9hLmgucmVzcG9uc2VUZXh0OiIifWNhdGNoKGYpe0soYS5zLCJDYW4gbm90IGdldCByZXNwb25zZVRleHQ6ICIrZi5tZXNzYWdlKSxjPSIifWI9Ik9LIj09PWN9aWYoYil7dGhpcy5qKCk7Yz13aW5kb3cubG9jYXRpb247YT1WYihuZXcgVSh3aW5kb3cubG9jYXRpb24pLCIvU2VydmljZUxvZ2luIikudG9TdHJpbmcoKTt2YXIgZD12b2lkIDA9PT1kP3BhOmQ7YTppZihkPXZvaWQgMD09PWQ/cGE6ZCxhIGluc3RhbmNlb2YgQilkPWE7ZWxzZXtmb3IoYj0wO2I8ZC5sZW5ndGg7KytiKXt2YXIgZT1kW2JdO2lmKGUgaW5zdGFuY2VvZiBvYSYmZS5nYShhKSl7ZD1uZXcgQihhKTticmVhayBhfX1kPXZvaWQgMH12b2lkIDA9PT1kJiZzYShhLnRvU3RyaW5nKCkpO2E9ZHx8bmE7aWYoYSBpbnN0YW5jZW9mIEIpaWYoYSBpbnN0YW5jZW9mIEIpYT1hLmc7CmVsc2UgdGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdHlwZSB3aGVuIHVud3JhcHBpbmcgU2FmZVVybCwgZ290ICciK2ErIicgb2YgdHlwZSAnIit0eXBlb2YgYSsiJyIpO2Vsc2UoZD0hcWEudGVzdChhKSkmJnNhKGEpLGE9ZD92b2lkIDA6YTt2b2lkIDAhPT1hJiYoYy5ocmVmPWEpfWVsc2UgZ2ModGhpcyw1RTMpfX07CnZhciBnYz1mdW5jdGlvbihhLGIpe2EuZz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoYS5nKXt2YXIgYz1aYS5nZXQoIkFQSVNJRCIpO2lmKGM9PT1hLmkpZ2MoYSw1RTMpO2Vsc2V7YS5pPWM7Yz1uZXcgVSgiL1Bhc3NpdmVMb2dpblByb2JlciIpO3ZhciBkPShuZXcgVSh3aW5kb3cubG9jYXRpb24pKS5qO2M9V2IoYyxkKS50b1N0cmluZygpO2Q9YS5sLmJpbmQoYSk7dmFyIGU9bmV3IFI7SmIucHVzaChlKTtkJiYocWIoZSksZS51LmFkZCgiY29tcGxldGUiLGQsITEsdm9pZCAwLHZvaWQgMCkpO2UudS5hZGQoInJlYWR5IixlLmZhLCEwLHZvaWQgMCx2b2lkIDApO2Uuc2VuZChjLHZvaWQgMCx2b2lkIDAsdm9pZCAwKX19fSxiKX07aGMucHJvdG90eXBlLm89ZnVuY3Rpb24oKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLHRoaXMuai5iaW5kKHRoaXMpKX07CmhjLnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7dGhpcy5nJiYoY2xlYXJUaW1lb3V0KHRoaXMuZyksdGhpcy5nPW51bGwpfTtuZXcgaGM7fSkuY2FsbCh0aGlzKTsKPC9zY3JpcHQ+PGMtZGF0YSBpZD0iaTMiPjwvYy1kYXRhPjwvYy13aXo+PC9kaXY+PC9zZWN0aW9uPjwvZGl2PjxzcGFuIGpzc2xvdD48ZGl2IGNsYXNzPSJENHJZMGIiPjxwIGNsYXNzPSJ2T1p1biI+Tm90IHlvdXIgY29tcHV0ZXI/IFVzZSBhIHByaXZhdGUgYnJvd3Npbmcgd2luZG93IHRvIHNpZ24gaW4uIDxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2FjY291bnRzP3A9c2lnbmluX3ByaXZhdGVicm93c2luZyZhbXA7aGw9ZW4tVVMiIGpzbmFtZT0iSkZ5b3pjIiB0YXJnZXQ9Il9ibGFuayI+TGVhcm4gbW9yZSBhYm91dCB1c2luZyBHdWVzdCBtb2RlPC9hPjwvcD48L2Rpdj48L3NwYW4+PGRpdiBjbGFzcz0iaTJrbkljIiBqc25hbWU9IkRINlJrZiI+PGRpdiBjbGFzcz0id2cwZkZiIiBqc25hbWU9IkRoSzBVIj48ZGl2IGNsYXNzPSJSaFR4QmYiIGpzbmFtZT0iazc3SWlmIj48YnV0dG9uIG5hbWU9ImFjdGlvbiIgY2xhc3M9IkpuT002ZSBUclpFVWMgckRpc1ZlIiB2YWx1ZT0iMSIganNuYW1lPSJOanRodGIiIGlkPSJpZGVudGlmaWVyTmV4dCI+TmV4dDwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InRtTWNJZiIganNuYW1lPSJRa05zdGYiPjxhIGhyZWY9Ii9saWZlY3ljbGUvZmxvd3Mvc2lnbnVwP2NvbnRpbnVlPWh0dHBzOi8vZHJpdmUudXNlcmNvbnRlbnQuZ29vZ2xlLmNvbS9kb3dubG9hZD9pZCUzRDBCd2ZjaEsyaU5PWWRURVpyV0RkTmFFWTFaRWsmYW1wO2RzaD1TMjAxNDEwOTYwOToxNzE0NjQ1Njg0MjE2ODMzJmFtcDtmbG93RW50cnk9U2lnblVwJmFtcDtmbG93TmFtZT1HbGlmV2ViU2lnbkluJmFtcDtmb2xsb3d1cD1odHRwczovL2RyaXZlLnVzZXJjb250ZW50Lmdvb2dsZS5jb20vZG93bmxvYWQ/aWQlM0QwQndmY2hLMmlOT1lkVEVacldEZE5hRVkxWkVrJmFtcDtpZmt2PUFhU3hvUXo0SWpNUzlEamg2bElKWUhBdHdjQmNDODFnbVZqNXdVSXdsUGcwbXEwWVFmWFBtb0VVZ2J2S2xWSUthQTgyeFc2LWZ5MXAmYW1wO3NlcnZpY2U9d2lzZSIgY2xhc3M9IkpuT002ZSBUclpFVWMga1RlaDkgS1hiUTRiIj5DcmVhdGUgYWNjb3VudDwvYT48L2Rpdj48L2Rpdj48L2Rpdj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhdCIgdmFsdWU9IkFMdDRWZTBIci1HaWxValp4QUlpNU9hOENiVVc6MTcxNDY0NTY4NDM0NSI+PC9mb3JtPjwvZGl2PjwvZGl2PjxzY3JpcHQgYXJpYS1oaWRkZW49InRydWUiIG5vbmNlPSItWG5xTXVwUmZHdk1UUDJ1VjRNVzZRIj53aW5kb3cud2l6X3Byb2dyZXNzJiZ3aW5kb3cud2l6X3Byb2dyZXNzKCk7d2luZG93Lndpel90aWNrJiZ3aW5kb3cud2l6X3RpY2soJ2NoQTdmZScpOzwvc2NyaXB0PjwvYm9keT48L2h0bWw+PC9kaXY+PGMtd2l6IGpzcmVuZGVyZXI9IlpkUnA3ZSIganNzaGFkb3cganNkYXRhPSJkZWZlcnJlZC1pMSIgZGF0YS1ub2RlLWluZGV4PSIwOzAiIGpzbW9kZWw9ImhjNlViZCIgYy13aXo+PGZvb3RlciBjbGFzcz0iSFVZRnQiIGRhdGEtYXV0by1pbml0PSJGb290ZXIiPjxkaXYgY2xhc3M9ImhYczJUIj48Zm9ybSBhdXRvY29tcGxldGU9Im9mZiI+PHNlbGVjdCBuYW1lPSJobCIgY2xhc3M9Ik4xNTh0IiBkYXRhLWxhbmd1YWdlLXNlbGVjdG9yLXNlbGVjdCBqc25hbWU9InJmQ1VwZCI+PG9wdGlvbiB2YWx1ZT0iYWYiPkFmcmlrYWFuczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImF6Ij5hesmZcmJheWNhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJzIj5ib3NhbnNraTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNhIj5jYXRhbMOgPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY3MiPsSMZcWhdGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImN5Ij5DeW1yYWVnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGEiPkRhbnNrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGUiPkRldXRzY2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJldCI+ZWVzdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJlbi1HQiI+RW5nbGlzaCAoVW5pdGVkIEtpbmdkb20pPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZW4tVVMiIHNlbGVjdGVkPkVuZ2xpc2ggKFVuaXRlZCBTdGF0ZXMpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZXMtRVMiPkVzcGHDsW9sIChFc3Bhw7FhKTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImVzLTQxOSI+RXNwYcOxb2wgKExhdGlub2Ftw6lyaWNhKTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImV1Ij5ldXNrYXJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmlsIj5GaWxpcGlubzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZyLUNBIj5GcmFuw6dhaXMgKENhbmFkYSk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmci1GUiI+RnJhbsOnYWlzIChGcmFuY2UpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ2EiPkdhZWlsZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJnbCI+Z2FsZWdvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaHIiPkhydmF0c2tpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaWQiPkluZG9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Inp1Ij5pc2ladWx1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaXMiPsOtc2xlbnNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Iml0Ij5JdGFsaWFubzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InN3Ij5LaXN3YWhpbGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJsdiI+bGF0dmllxaF1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibHQiPmxpZXR1dmnFszwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Imh1Ij5tYWd5YXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtcyI+TWVsYXl1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibmwiPk5lZGVybGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJubyI+bm9yc2s8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1eiI+b+KAmHpiZWs8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwbCI+cG9sc2tpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icHQtQlIiPlBvcnR1Z3XDqnMgKEJyYXNpbCk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwdC1QVCI+UG9ydHVndcOqcyAoUG9ydHVnYWwpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icm8iPnJvbcOibsSDPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic3EiPnNocWlwPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2siPlNsb3ZlbsSNaW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2wiPnNsb3ZlbsWhxI1pbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzci1MYXRuIj5zcnBza2kgKGxhdGluaWNhKTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpIj5TdW9taTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InN2Ij5TdmVuc2thPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idmkiPlRp4bq/bmcgVmnhu4d0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idHIiPlTDvHJrw6dlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZWwiPs6VzrvOu863zr3Ouc66zqw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJiZSI+0LHQtdC70LDRgNGD0YHQutCw0Y88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJiZyI+0LHRitC70LPQsNGA0YHQutC4PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ia3kiPtC60YvRgNCz0YvQt9GH0LA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJrayI+0pvQsNC30LDSmyDRgtGW0LvRljwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1rIj7QvNCw0LrQtdC00L7QvdGB0LrQuDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1uIj7QvNC+0L3Qs9C+0Ls8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJydSI+0KDRg9GB0YHQutC40Lk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzci1DeXJsIj7RgdGA0L/RgdC60LggKNGb0LjRgNC40LvQuNGG0LApPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idWsiPtCj0LrRgNCw0ZfQvdGB0YzQutCwPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ia2EiPuGDpeGDkOGDoOGDl+GDo+GDmuGDmDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Imh5Ij7VsNWh1bXVpdaA1aXVtjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Iml3Ij7igKvXoteR16jXmdeq4oCs4oCOPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXIiPuKAq9in2LHYr9mI4oCs4oCOPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXIiPuKAq9in2YTYudix2KjZitip4oCs4oCOPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmEiPuKAq9mB2KfYsdiz24zigKzigI48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhbSI+4Yqg4Yib4Yit4YqbPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibmUiPuCkqOClh+CkquCkvuCksuClgDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1yIj7gpK7gpLDgpL7gpKDgpYA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJoaSI+4KS54KS/4KSo4KWN4KSm4KWAPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXMiPuCmheCmuOCmruCngOCmr+CmvOCmvjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJuIj7gpqzgpr7gpoLgprLgpr48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwYSI+4Kiq4Kmw4Kic4Ki+4Kis4KmAPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3UiPuCql+CrgeCqnOCqsOCqvuCqpOCrgDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im9yIj7grJPgrKHgrLzgrL/grIY8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0YSI+4K6k4K6u4K6/4K604K+NPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGUiPuCwpOCxhuCwsuCxgeCwl+CxgTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImtuIj7gspXgsqjgs43gsqjgsqE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtbCI+4LSu4LSy4LSv4LS+4LSz4LSCPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2kiPuC3g+C3kuC2guC3hOC2vTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InRoIj7guYTguJfguKI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJsbyI+4Lql4Lqy4LqnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibXkiPuGAmeGAvOGAlOGAuuGAmeGArDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImttIj7hnoHhn5Lhnpjhn4Lhnpo8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJrbyI+7ZWc6rWt7Ja0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iemgtSEsiPuS4reaWh++8iOmmmea4r++8iTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImphIj7ml6XmnKzoqp48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ6aC1DTiI+566A5L2T5Lit5paHPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iemgtVFciPue5gemrlOS4reaWhzwvb3B0aW9uPjwvc2VsZWN0PjwvZm9ybT48L2Rpdj48dWwgY2xhc3M9Ik0ybktnZSI+PGxpIGNsYXNzPSJ2b210b2UiPjxhIGNsYXNzPSJwVVAwTmQgVHJaRVVjIiBocmVmPSJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9hY2NvdW50cz9obD1lbi1VUyZhbXA7cD1hY2NvdW50X2lwaCIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJVc2tDeWYiPkhlbHA8L3NwYW4+PC9hPjwvbGk+PGxpIGNsYXNzPSJ2b210b2UiPjxhIGNsYXNzPSJwVVAwTmQgVHJaRVVjIiBocmVmPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vVE9TP2xvYz1QTCZhbXA7aGw9ZW4tVVMmYW1wO3ByaXZhY3k9dHJ1ZSIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJVc2tDeWYiPlByaXZhY3k8L3NwYW4+PC9hPjwvbGk+PGxpIGNsYXNzPSJ2b210b2UiPjxhIGNsYXNzPSJwVVAwTmQgVHJaRVVjIiBocmVmPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vVE9TP2xvYz1QTCZhbXA7aGw9ZW4tVVMiIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iVXNrQ3lmIj5UZXJtczwvc3Bhbj48L2E+PC9saT48L3VsPjwvZm9vdGVyPjxjLWRhdGEgaWQ9ImkxIiBqc2RhdGE9IiBPc2pMeTtfOzEiPjwvYy1kYXRhPjwvYy13aXo+PHNjcmlwdCBhcmlhLWhpZGRlbj0idHJ1ZSIgbm9uY2U9Ii1YbnFNdXBSZkd2TVRQMnVWNE1XNlEiPndpbmRvdy53aXpfcHJvZ3Jlc3MmJndpbmRvdy53aXpfcHJvZ3Jlc3MoKTt3aW5kb3cud2l6X3RpY2smJndpbmRvdy53aXpfdGljaygnWmRScDdlJyk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iLVhucU11cFJmR3ZNVFAydVY0TVc2USI+KGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3ZhciBhPWZ1bmN0aW9uKGIpe3ZhciBjPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGM8Yi5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YltjKytdfTp7ZG9uZTohMH19fSxrPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYixjLGQpe2lmKGI9PUFycmF5LnByb3RvdHlwZXx8Yj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYjtiW2NdPWQudmFsdWU7cmV0dXJuIGJ9LGFhPWZ1bmN0aW9uKGIpe2I9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxiLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKXt2YXIgZD1iW2NdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpOwp9LG09YWEodGhpcyksbj1mdW5jdGlvbihiLGMpe2lmKGMpYTp7dmFyIGQ9bTtiPWIuc3BsaXQoIi4iKTtmb3IodmFyIGU9MDtlPGIubGVuZ3RoLTE7ZSsrKXt2YXIgZj1iW2VdO2lmKCEoZiBpbiBkKSlicmVhayBhO2Q9ZFtmXX1iPWJbYi5sZW5ndGgtMV07ZT1kW2JdO2M9YyhlKTtjIT1lJiZudWxsIT1jJiZrKGQsYix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19OwpuKCJTeW1ib2wiLGZ1bmN0aW9uKGIpe2lmKGIpcmV0dXJuIGI7dmFyIGM9ZnVuY3Rpb24oZyxoKXt0aGlzLmk9ZztrKHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmh9KX07Yy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pfTt2YXIgZD0ianNjb21wX3N5bWJvbF8iKygxRTkqTWF0aC5yYW5kb20oKT4+PjApKyJfIixlPTAsZj1mdW5jdGlvbihnKXtpZih0aGlzIGluc3RhbmNlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGMoZCsoZ3x8IiIpKyJfIitlKyssZyl9O3JldHVybiBmfSk7Cm4oIlN5bWJvbC5pdGVyYXRvciIsZnVuY3Rpb24oYil7aWYoYilyZXR1cm4gYjtiPVN5bWJvbCgiU3ltYm9sLml0ZXJhdG9yIik7Zm9yKHZhciBjPSJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSIuc3BsaXQoIiAiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPW1bY1tkXV07ImZ1bmN0aW9uIj09PXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZS5wcm90b3R5cGVbYl0mJmsoZS5wcm90b3R5cGUsYix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGJhKGEodGhpcykpfX0pfXJldHVybiBifSk7CnZhciBiYT1mdW5jdGlvbihiKXtiPXtuZXh0OmJ9O2JbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtyZXR1cm4gYn0scD1mdW5jdGlvbihiKXt2YXIgYz0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYoYylyZXR1cm4gYy5jYWxsKGIpO2lmKCJudW1iZXIiPT10eXBlb2YgYi5sZW5ndGgpcmV0dXJue25leHQ6YShiKX07dGhyb3cgRXJyb3IoU3RyaW5nKGIpKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO30sY2E9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihiKXt2YXIgYz1mdW5jdGlvbigpe307Yy5wcm90b3R5cGU9YjtyZXR1cm4gbmV3IGN9LHE7CmlmKCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2YpcT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZWxzZXt2YXIgcjthOnt2YXIgZGE9e2E6ITB9LHQ9e307dHJ5e3QuX19wcm90b19fPWRhO3I9dC5hO2JyZWFrIGF9Y2F0Y2goYil7fXI9ITF9cT1yP2Z1bmN0aW9uKGIsYyl7Yi5fX3Byb3RvX189YztpZihiLl9fcHJvdG9fXyE9PWMpdGhyb3cgbmV3IFR5cGVFcnJvcihiKyIgaXMgbm90IGV4dGVuc2libGUiKTtyZXR1cm4gYn06bnVsbH0KdmFyIHU9cSx2PWZ1bmN0aW9uKGIsYyl7Yi5wcm90b3R5cGU9Y2EoYy5wcm90b3R5cGUpO2IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWI7aWYodSl1KGIsYyk7ZWxzZSBmb3IodmFyIGQgaW4gYylpZigicHJvdG90eXBlIiE9ZClpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLGQpO2UmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShiLGQsZSl9ZWxzZSBiW2RdPWNbZF07Yi5vPWMucHJvdG90eXBlfSxlYT1mdW5jdGlvbihiLGMpe2IgaW5zdGFuY2VvZiBTdHJpbmcmJihiKz0iIik7dmFyIGQ9MCxlPSExLGY9e25leHQ6ZnVuY3Rpb24oKXtpZighZSYmZDxiLmxlbmd0aCl7dmFyIGc9ZCsrO3JldHVybnt2YWx1ZTpjKGcsYltnXSksZG9uZTohMX19ZT0hMDtyZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fX07ZltTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGZ9O3JldHVybiBmfTsKbigiQXJyYXkucHJvdG90eXBlLmtleXMiLGZ1bmN0aW9uKGIpe3JldHVybiBiP2I6ZnVuY3Rpb24oKXtyZXR1cm4gZWEodGhpcyxmdW5jdGlvbihjKXtyZXR1cm4gY30pfX0pOy8qCgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCnZhciB4PXRoaXN8fHNlbGYseT1mdW5jdGlvbihiLGMpe2Z1bmN0aW9uIGQoKXt9ZC5wcm90b3R5cGU9Yy5wcm90b3R5cGU7Yi5vPWMucHJvdG90eXBlO2IucHJvdG90eXBlPW5ldyBkO2IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWI7Yi5zPWZ1bmN0aW9uKGUsZixnKXtmb3IodmFyIGg9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0yKSxsPTI7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyloW2wtMl09YXJndW1lbnRzW2xdO3JldHVybiBjLnByb3RvdHlwZVtmXS5hcHBseShlLGgpfX0sej1mdW5jdGlvbihiKXtyZXR1cm4gYn07dmFyIEE9ZnVuY3Rpb24oYil7dGhpcy5pPWI7dGhpcy5qKCl9O2Z1bmN0aW9uIEIoYixjKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLEIpO2Vsc2V7dmFyIGQ9RXJyb3IoKS5zdGFjaztkJiYodGhpcy5zdGFjaz1kKX1iJiYodGhpcy5tZXNzYWdlPVN0cmluZyhiKSk7dm9pZCAwIT09YyYmKHRoaXMuY2F1c2U9Yyl9eShCLEVycm9yKTtCLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7ZnVuY3Rpb24gQyhiLGMpe2I9Yi5zcGxpdCgiJXMiKTtmb3IodmFyIGQ9IiIsZT1iLmxlbmd0aC0xLGY9MDtmPGU7ZisrKWQrPWJbZl0rKGY8Yy5sZW5ndGg/Y1tmXToiJXMiKTtCLmNhbGwodGhpcyxkK2JbZV0pfXkoQyxCKTtDLnByb3RvdHlwZS5uYW1lPSJBc3NlcnRpb25FcnJvciI7dmFyIEQ9ZnVuY3Rpb24oYixjLGQpe2lmKCFiKXt2YXIgZT0iQXNzZXJ0aW9uIGZhaWxlZCI7aWYoYyl7ZSs9IjogIitjO3ZhciBmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKX10aHJvdyBuZXcgQygiIitlLGZ8fFtdKTt9cmV0dXJuIGJ9O3ZhciBFPWZ1bmN0aW9uKCl7QS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3YoRSxBKTtFLnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5pLnF1ZXJ5U2VsZWN0b3IoIkZPUk0iLnRvU3RyaW5nKCkpO2ImJnRoaXMuaS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLGZ1bmN0aW9uKGMpeyJ0cnVlIj09PWIuZ2V0QXR0cmlidXRlKCJkYXRhLWlzLXN1Ym1pdHRlZCIpP2MucHJldmVudERlZmF1bHQoKTpiLnNldEF0dHJpYnV0ZSgiZGF0YS1pcy1zdWJtaXR0ZWQiLCJ0cnVlIil9KX07dmFyIEY7LyoKCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgRz17fTt2YXIgSD1mdW5jdGlvbihiKXtpZihHIT09Ryl0aHJvdyBFcnJvcigiQmFkIHNlY3JldCIpO3RoaXMuaT1ifTtILnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O25ldyBIKCJhYm91dDpibGFuayIpO3ZhciBmYT1uZXcgSCgiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiKTt2YXIgST1mdW5jdGlvbihiKXt0aGlzLm09Yn07ZnVuY3Rpb24gSihiKXtyZXR1cm4gbmV3IEkoZnVuY3Rpb24oYyl7cmV0dXJuIGMuc3Vic3RyKDAsYi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWIrIjoifSl9dmFyIEs9W0ooImRhdGEiKSxKKCJodHRwIiksSigiaHR0cHMiKSxKKCJtYWlsdG8iKSxKKCJmdHAiKSxuZXcgSShmdW5jdGlvbihiKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGIpfSldLGhhPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2ksTD1bXSxNPWZ1bmN0aW9uKCl7fTtpYShmdW5jdGlvbihiKXtjb25zb2xlLndhcm4oIkEgVVJMIHdpdGggY29udGVudCAnIitiKyInIHdhcyBzYW5pdGl6ZWQgYXdheS4iKX0pO2Z1bmN0aW9uIGlhKGIpey0xPT09TC5pbmRleE9mKGIpJiZMLnB1c2goYik7TT1mdW5jdGlvbihjKXtMLmZvckVhY2goZnVuY3Rpb24oZCl7ZChjKX0pfX07dmFyIE49e30samE9ZnVuY3Rpb24oKXtpZihOIT09Til0aHJvdyBFcnJvcigiU2FmZVN0eWxlIGlzIG5vdCBtZWFudCB0byBiZSBidWlsdCBkaXJlY3RseSIpO307amEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIudG9TdHJpbmcoKX07bmV3IGphO3ZhciBrYT17fSxsYT1mdW5jdGlvbigpe2lmKGthIT09a2EpdGhyb3cgRXJyb3IoIlNhZmVTdHlsZVNoZWV0IGlzIG5vdCBtZWFudCB0byBiZSBidWlsdCBkaXJlY3RseSIpO307bGEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIudG9TdHJpbmcoKX07bmV3IGxhO3ZhciBtYT17fSxPPWZ1bmN0aW9uKGIpe2lmKG1hIT09bWEpdGhyb3cgRXJyb3IoIlNhZmVIdG1sIGlzIG5vdCBtZWFudCB0byBiZSBidWlsdCBkaXJlY3RseSIpO3RoaXMuaT1ifTtPLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmkudG9TdHJpbmcoKX07bmV3IE8oeC50cnVzdGVkVHlwZXMmJngudHJ1c3RlZFR5cGVzLmVtcHR5SFRNTHx8IiIpO3ZhciBQPWZ1bmN0aW9uKCl7QS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3YoUCxBKTtQLnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5pLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLWxhbmd1YWdlLXNlbGVjdG9yLXNlbGVjdF0iKTtiJiZuYShiKX07CnZhciBuYT1mdW5jdGlvbihiKXtiLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oYyl7Yz1jLnRhcmdldDtpZihjLnZhbHVlKXt2YXIgZD1uZXcgVVJMKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpO2Quc2VhcmNoUGFyYW1zLnNldCgiaGwiLGMudmFsdWUpO2M9d2luZG93LmxvY2F0aW9uO2Q9ZC50b1N0cmluZygpO3ZhciBlPXZvaWQgMD09PWU/SzplO2E6aWYoZT12b2lkIDA9PT1lP0s6ZSxkIGluc3RhbmNlb2YgSCllPWQ7ZWxzZXtmb3IodmFyIGY9MDtmPGUubGVuZ3RoOysrZil7dmFyIGc9ZVtmXTtpZihnIGluc3RhbmNlb2YgSSYmZy5tKGQpKXtlPW5ldyBIKGQpO2JyZWFrIGF9fWU9dm9pZCAwfXZvaWQgMD09PWUmJk0oZC50b1N0cmluZygpKTtkPWV8fGZhO2lmKGQgaW5zdGFuY2VvZiBIKWlmKGQgaW5zdGFuY2VvZiBIKWQ9ZC5pO2Vsc2UgdGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdHlwZSB3aGVuIHVud3JhcHBpbmcgU2FmZVVybCwgZ290ICciK2QrIicgb2YgdHlwZSAnIisKdHlwZW9mIGQrIiciKTtlbHNlKGU9IWhhLnRlc3QoZCkpJiZNKGQpLGQ9ZT92b2lkIDA6ZDt2b2lkIDAhPT1kJiYoYy5ocmVmPWQpfX0pfTt2YXIgUT1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIFIoYixjKXtRW2JdfHwoUVtiXT1jKX07dmFyIFM9ZnVuY3Rpb24oKXtBLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07dihTLEEpO1MucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmkucXVlcnlTZWxlY3RvcigiI3BsYXlDYXB0Y2hhQnV0dG9uIiksYz10aGlzLmkucXVlcnlTZWxlY3RvcigiI2NhcHRjaGFBdWRpbyIpLGQ9dGhpcy5pLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9Y2FdIik7YiYmYyYmZCYmYi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2MucmVhZHlTdGF0ZT09PUhUTUxNZWRpYUVsZW1lbnQuSEFWRV9OT1RISU5HP2MubG9hZCgpOmMucGF1c2VkJiZjLnBsYXkoKTtkLnZhbHVlPSIiO2QuZm9jdXMoKX0pfTt2YXIgVD1mdW5jdGlvbigpe0EuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2KFQsQSk7VC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMuaS5kYXRhc2V0Lmhhc0RvbWFpblN1ZmZpeCYmKG9hKHRoaXMuaSkscGEodGhpcy5pKSl9O3ZhciBwYT1mdW5jdGlvbihiKXtiLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixmdW5jdGlvbigpe29hKGIpfSl9LG9hPWZ1bmN0aW9uKGIpezA8Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSU5QVVQiLnRvU3RyaW5nKCkpLml0ZW0oMCkudmFsdWUuaW5kZXhPZigiQCIpP2IuZGF0YXNldC5oYXNBdFNpZ249IiI6ZGVsZXRlIGIuZGF0YXNldC5oYXNBdFNpZ259O3ZhciBVPWZ1bmN0aW9uKCl7QS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sPTB9O3YoVSxBKTtVLnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPUQodGhpcy5pLnF1ZXJ5U2VsZWN0b3IoIltqc25hbWU9J01pMGZKYyddIikpLmlkLGQ9RCh0aGlzLmkuZGF0YXNldC5zaXRlS2V5KTt3aW5kb3cuZ3JlY2FwdGNoYS5yZWFkeShmdW5jdGlvbigpe3FhKGIsZCxjKX0pfTt2YXIgcWE9ZnVuY3Rpb24oYixjLGQpe2IubD13aW5kb3cuZ3JlY2FwdGNoYS5yZW5kZXIoZCx7c2l0ZWtleTpjLGNhbGxiYWNrOmZ1bmN0aW9uKGUpe0QoYi5pLnF1ZXJ5U2VsZWN0b3IoIltqc25hbWU9J0JoS1RoYiddIikpLnNldEF0dHJpYnV0ZSgidmFsdWUiLGUpfSwiZXhwaXJlZC1jYWxsYmFjayI6ZnVuY3Rpb24oKXt3aW5kb3cuZ3JlY2FwdGNoYS5yZXNldChiLmwpfX0pfTt2YXIgVj1mdW5jdGlvbigpe0EuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2KFYsQSk7Vi5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3ZhciBiPXRoaXMuaTt2b2lkIDAhPT1iLmRhdGFzZXQuaGFzRG9tYWluU3VmZml4JiYocmEoYiksc2EoYikpfTt2YXIgc2E9ZnVuY3Rpb24oYil7Yi5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsZnVuY3Rpb24oKXtyYShiKX0pfSxyYT1mdW5jdGlvbihiKXswPGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIklOUFVUIi50b1N0cmluZygpKS5pdGVtKDApLnZhbHVlLmluZGV4T2YoIkAiKT9iLmRhdGFzZXQuaGFzQXRTaWduPSIiOmRlbGV0ZSBiLmRhdGFzZXQuaGFzQXRTaWdufTt2YXIgVz17Q09VTlRSWTp7IjAwMSI6IndvcmxkIiwiMDAyIjoiQWZyaWNhIiwiMDAzIjoiTm9ydGggQW1lcmljYSIsIjAwNSI6IlNvdXRoIEFtZXJpY2EiLCIwMDkiOiJPY2VhbmlhIiwiMDExIjoiV2VzdGVybiBBZnJpY2EiLCIwMTMiOiJDZW50cmFsIEFtZXJpY2EiLCIwMTQiOiJFYXN0ZXJuIEFmcmljYSIsIjAxNSI6Ik5vcnRoZXJuIEFmcmljYSIsIjAxNyI6Ik1pZGRsZSBBZnJpY2EiLCIwMTgiOiJTb3V0aGVybiBBZnJpY2EiLCIwMTkiOiJBbWVyaWNhcyIsIjAyMSI6Ik5vcnRoZXJuIEFtZXJpY2EiLCIwMjkiOiJDYXJpYmJlYW4iLCIwMzAiOiJFYXN0ZXJuIEFzaWEiLCIwMzQiOiJTb3V0aGVybiBBc2lhIiwiMDM1IjoiU291dGhlYXN0IEFzaWEiLCIwMzkiOiJTb3V0aGVybiBFdXJvcGUiLCIwNTMiOiJBdXN0cmFsYXNpYSIsIjA1NCI6Ik1lbGFuZXNpYSIsIjA1NyI6Ik1pY3JvbmVzaWFuIFJlZ2lvbiIsIjA2MSI6IlBvbHluZXNpYSIsMTQyOiJBc2lhIiwxNDM6IkNlbnRyYWwgQXNpYSIsCjE0NToiV2VzdGVybiBBc2lhIiwxNTA6IkV1cm9wZSIsMTUxOiJFYXN0ZXJuIEV1cm9wZSIsMTU0OiJOb3J0aGVybiBFdXJvcGUiLDE1NToiV2VzdGVybiBFdXJvcGUiLDIwMjoiU3ViLVNhaGFyYW4gQWZyaWNhIiw0MTk6IkxhdGluIEFtZXJpY2EiLEFDOiJBc2NlbnNpb24gSXNsYW5kIixBRDoiQW5kb3JyYSIsQUU6IlVuaXRlZCBBcmFiIEVtaXJhdGVzIixBRjoiQWZnaGFuaXN0YW4iLEFHOiJBbnRpZ3VhICYgQmFyYnVkYSIsQUk6IkFuZ3VpbGxhIixBTDoiQWxiYW5pYSIsQU06IkFybWVuaWEiLEFPOiJBbmdvbGEiLEFROiJBbnRhcmN0aWNhIixBUjoiQXJnZW50aW5hIixBUzoiQW1lcmljYW4gU2Ftb2EiLEFUOiJBdXN0cmlhIixBVToiQXVzdHJhbGlhIixBVzoiQXJ1YmEiLEFYOiJcdTAwYzVsYW5kIElzbGFuZHMiLEFaOiJBemVyYmFpamFuIixCQToiQm9zbmlhICYgSGVyemVnb3ZpbmEiLEJCOiJCYXJiYWRvcyIsQkQ6IkJhbmdsYWRlc2giLEJFOiJCZWxnaXVtIixCRjoiQnVya2luYSBGYXNvIiwKQkc6IkJ1bGdhcmlhIixCSDoiQmFocmFpbiIsQkk6IkJ1cnVuZGkiLEJKOiJCZW5pbiIsQkw6IlN0LiBCYXJ0aFx1MDBlOWxlbXkiLEJNOiJCZXJtdWRhIixCTjoiQnJ1bmVpIixCTzoiQm9saXZpYSIsQlE6IkNhcmliYmVhbiBOZXRoZXJsYW5kcyIsQlI6IkJyYXppbCIsQlM6IkJhaGFtYXMiLEJUOiJCaHV0YW4iLEJWOiJCb3V2ZXQgSXNsYW5kIixCVzoiQm90c3dhbmEiLEJZOiJCZWxhcnVzIixCWjoiQmVsaXplIixDQToiQ2FuYWRhIixDQzoiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMiLENEOiJDb25nbyAtIEtpbnNoYXNhIixDRjoiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIixDRzoiQ29uZ28gLSBCcmF6emF2aWxsZSIsQ0g6IlN3aXR6ZXJsYW5kIixDSToiQ1x1MDBmNHRlIGRcdTIwMTlJdm9pcmUiLENLOiJDb29rIElzbGFuZHMiLENMOiJDaGlsZSIsQ006IkNhbWVyb29uIixDTjoiQ2hpbmEiLENPOiJDb2xvbWJpYSIsQ1A6IkNsaXBwZXJ0b24gSXNsYW5kIixDUToiU2FyayIsCkNSOiJDb3N0YSBSaWNhIixDVToiQ3ViYSIsQ1Y6IkNhcGUgVmVyZGUiLENXOiJDdXJhXHUwMGU3YW8iLENYOiJDaHJpc3RtYXMgSXNsYW5kIixDWToiQ3lwcnVzIixDWjoiQ3plY2hpYSIsREU6Ikdlcm1hbnkiLERHOiJEaWVnbyBHYXJjaWEiLERKOiJEamlib3V0aSIsREs6IkRlbm1hcmsiLERNOiJEb21pbmljYSIsRE86IkRvbWluaWNhbiBSZXB1YmxpYyIsRFo6IkFsZ2VyaWEiLEVBOiJDZXV0YSAmIE1lbGlsbGEiLEVDOiJFY3VhZG9yIixFRToiRXN0b25pYSIsRUc6IkVneXB0IixFSDoiV2VzdGVybiBTYWhhcmEiLEVSOiJFcml0cmVhIixFUzoiU3BhaW4iLEVUOiJFdGhpb3BpYSIsRVU6IkV1cm9wZWFuIFVuaW9uIixFWjoiRXVyb3pvbmUiLEZJOiJGaW5sYW5kIixGSjoiRmlqaSIsRks6IkZhbGtsYW5kIElzbGFuZHMgKElzbGFzIE1hbHZpbmFzKSIsRk06Ik1pY3JvbmVzaWEiLEZPOiJGYXJvZSBJc2xhbmRzIixGUjoiRnJhbmNlIixHQToiR2Fib24iLEdCOiJVbml0ZWQgS2luZ2RvbSIsCkdEOiJHcmVuYWRhIixHRToiR2VvcmdpYSIsR0Y6IkZyZW5jaCBHdWlhbmEiLEdHOiJHdWVybnNleSIsR0g6IkdoYW5hIixHSToiR2licmFsdGFyIixHTDoiR3JlZW5sYW5kIixHTToiR2FtYmlhIixHTjoiR3VpbmVhIixHUDoiR3VhZGVsb3VwZSIsR1E6IkVxdWF0b3JpYWwgR3VpbmVhIixHUjoiR3JlZWNlIixHUzoiU291dGggR2VvcmdpYSAmIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMiLEdUOiJHdWF0ZW1hbGEiLEdVOiJHdWFtIixHVzoiR3VpbmVhLUJpc3NhdSIsR1k6Ikd1eWFuYSIsSEs6IkhvbmcgS29uZyIsSE06IkhlYXJkICYgTWNEb25hbGQgSXNsYW5kcyIsSE46IkhvbmR1cmFzIixIUjoiQ3JvYXRpYSIsSFQ6IkhhaXRpIixIVToiSHVuZ2FyeSIsSUM6IkNhbmFyeSBJc2xhbmRzIixJRDoiSW5kb25lc2lhIixJRToiSXJlbGFuZCIsSUw6IklzcmFlbCIsSU06IklzbGUgb2YgTWFuIixJTjoiSW5kaWEiLElPOiJCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkiLElROiJJcmFxIiwKSVI6IklyYW4iLElTOiJJY2VsYW5kIixJVDoiSXRhbHkiLEpFOiJKZXJzZXkiLEpNOiJKYW1haWNhIixKTzoiSm9yZGFuIixKUDoiSmFwYW4iLEtFOiJLZW55YSIsS0c6Ikt5cmd5enN0YW4iLEtIOiJDYW1ib2RpYSIsS0k6IktpcmliYXRpIixLTToiQ29tb3JvcyIsS046IlN0LiBLaXR0cyAmIE5ldmlzIixLUDoiTm9ydGggS29yZWEiLEtSOiJTb3V0aCBLb3JlYSIsS1c6Ikt1d2FpdCIsS1k6IkNheW1hbiBJc2xhbmRzIixLWjoiS2F6YWtoc3RhbiIsTEE6Ikxhb3MiLExCOiJMZWJhbm9uIixMQzoiU3QuIEx1Y2lhIixMSToiTGllY2h0ZW5zdGVpbiIsTEs6IlNyaSBMYW5rYSIsTFI6IkxpYmVyaWEiLExTOiJMZXNvdGhvIixMVDoiTGl0aHVhbmlhIixMVToiTHV4ZW1ib3VyZyIsTFY6IkxhdHZpYSIsTFk6IkxpYnlhIixNQToiTW9yb2NjbyIsTUM6Ik1vbmFjbyIsTUQ6Ik1vbGRvdmEiLE1FOiJNb250ZW5lZ3JvIixNRjoiU3QuIE1hcnRpbiIsTUc6Ik1hZGFnYXNjYXIiLE1IOiJNYXJzaGFsbCBJc2xhbmRzIiwKTUs6Ik5vcnRoIE1hY2Vkb25pYSIsTUw6Ik1hbGkiLE1NOiJNeWFubWFyIChCdXJtYSkiLE1OOiJNb25nb2xpYSIsTU86Ik1hY2FvIixNUDoiTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIixNUToiTWFydGluaXF1ZSIsTVI6Ik1hdXJpdGFuaWEiLE1TOiJNb250c2VycmF0IixNVDoiTWFsdGEiLE1VOiJNYXVyaXRpdXMiLE1WOiJNYWxkaXZlcyIsTVc6Ik1hbGF3aSIsTVg6Ik1leGljbyIsTVk6Ik1hbGF5c2lhIixNWjoiTW96YW1iaXF1ZSIsTkE6Ik5hbWliaWEiLE5DOiJOZXcgQ2FsZWRvbmlhIixORToiTmlnZXIiLE5GOiJOb3Jmb2xrIElzbGFuZCIsTkc6Ik5pZ2VyaWEiLE5JOiJOaWNhcmFndWEiLE5MOiJOZXRoZXJsYW5kcyIsTk86Ik5vcndheSIsTlA6Ik5lcGFsIixOUjoiTmF1cnUiLE5VOiJOaXVlIixOWjoiTmV3IFplYWxhbmQiLE9NOiJPbWFuIixQQToiUGFuYW1hIixQRToiUGVydSIsUEY6IkZyZW5jaCBQb2x5bmVzaWEiLFBHOiJQYXB1YSBOZXcgR3VpbmVhIixQSDoiUGhpbGlwcGluZXMiLApQSzoiUGFraXN0YW4iLFBMOiJQb2xhbmQiLFBNOiJTdC4gUGllcnJlICYgTWlxdWVsb24iLFBOOiJQaXRjYWlybiBJc2xhbmRzIixQUjoiUHVlcnRvIFJpY28iLFBTOiJQYWxlc3RpbmUiLFBUOiJQb3J0dWdhbCIsUFc6IlBhbGF1IixQWToiUGFyYWd1YXkiLFFBOiJRYXRhciIsUU86Ik91dGx5aW5nIE9jZWFuaWEiLFJFOiJSXHUwMGU5dW5pb24iLFJPOiJSb21hbmlhIixSUzoiU2VyYmlhIixSVToiUnVzc2lhIixSVzoiUndhbmRhIixTQToiU2F1ZGkgQXJhYmlhIixTQjoiU29sb21vbiBJc2xhbmRzIixTQzoiU2V5Y2hlbGxlcyIsU0Q6IlN1ZGFuIixTRToiU3dlZGVuIixTRzoiU2luZ2Fwb3JlIixTSDoiU3QuIEhlbGVuYSIsU0k6IlNsb3ZlbmlhIixTSjoiU3ZhbGJhcmQgJiBKYW4gTWF5ZW4iLFNLOiJTbG92YWtpYSIsU0w6IlNpZXJyYSBMZW9uZSIsU006IlNhbiBNYXJpbm8iLFNOOiJTZW5lZ2FsIixTTzoiU29tYWxpYSIsU1I6IlN1cmluYW1lIixTUzoiU291dGggU3VkYW4iLFNUOiJTXHUwMGUzbyBUb21cdTAwZTkgJiBQclx1MDBlZG5jaXBlIiwKU1Y6IkVsIFNhbHZhZG9yIixTWDoiU2ludCBNYWFydGVuIixTWToiU3lyaWEiLFNaOiJFc3dhdGluaSIsVEE6IlRyaXN0YW4gZGEgQ3VuaGEiLFRDOiJUdXJrcyAmIENhaWNvcyBJc2xhbmRzIixURDoiQ2hhZCIsVEY6IkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyIsVEc6IlRvZ28iLFRIOiJUaGFpbGFuZCIsVEo6IlRhamlraXN0YW4iLFRLOiJUb2tlbGF1IixUTDoiVGltb3ItTGVzdGUiLFRNOiJUdXJrbWVuaXN0YW4iLFROOiJUdW5pc2lhIixUTzoiVG9uZ2EiLFRSOiJUXHUwMGZjcmtpeWUiLFRUOiJUcmluaWRhZCAmIFRvYmFnbyIsVFY6IlR1dmFsdSIsVFc6IlRhaXdhbiIsVFo6IlRhbnphbmlhIixVQToiVWtyYWluZSIsVUc6IlVnYW5kYSIsVU06IlUuUy4gT3V0bHlpbmcgSXNsYW5kcyIsVU46IlVuaXRlZCBOYXRpb25zIixVUzoiVW5pdGVkIFN0YXRlcyIsVVk6IlVydWd1YXkiLFVaOiJVemJla2lzdGFuIixWQToiVmF0aWNhbiBDaXR5IixWQzoiU3QuIFZpbmNlbnQgJiBHcmVuYWRpbmVzIiwKVkU6IlZlbmV6dWVsYSIsVkc6IkJyaXRpc2ggVmlyZ2luIElzbGFuZHMiLFZJOiJVLlMuIFZpcmdpbiBJc2xhbmRzIixWTjoiVmlldG5hbSIsVlU6IlZhbnVhdHUiLFdGOiJXYWxsaXMgJiBGdXR1bmEiLFdTOiJTYW1vYSIsWEs6Iktvc292byIsWUU6IlllbWVuIixZVDoiTWF5b3R0ZSIsWkE6IlNvdXRoIEFmcmljYSIsWk06IlphbWJpYSIsWlc6IlppbWJhYndlIixaWjoiVW5rbm93biBSZWdpb24ifX07dmFyIHRhPXthYzp7bmFtZTpXLkNPVU5UUlkuQUMsZzoiMjQ3IixpbmRleDo1fSxhZDp7bmFtZTpXLkNPVU5UUlkuQUQsZzoiMzc2IixpbmRleDo0NX0sYWU6e25hbWU6Vy5DT1VOVFJZLkFFLGc6Ijk3MSIsaW5kZXg6MTgwfSxhZjp7bmFtZTpXLkNPVU5UUlkuQUYsZzoiOTMiLGluZGV4OjE4N30sYWc6e25hbWU6Vy5DT1VOVFJZLkFHLGc6IjEiLGluZGV4OjY3LGg6ITB9LGFpOntuYW1lOlcuQ09VTlRSWS5BSSxnOiIxIixpbmRleDoxNTgsaDohMH0sYWw6e25hbWU6Vy5DT1VOVFJZLkFMLGc6IjM1NSIsaW5kZXg6Nzd9LGFtOntuYW1lOlcuQ09VTlRSWS5BTSxnOiIzNzQiLGluZGV4OjEyfSxhbzp7bmFtZTpXLkNPVU5UUlkuQU8sZzoiMjQ0IixpbmRleDoxNTV9LGFyOntuYW1lOlcuQ09VTlRSWS5BUixnOiI1NCIsaW5kZXg6MTkzfSxhczp7bmFtZTpXLkNPVU5UUlkuQVMsZzoiMSIsaW5kZXg6MTIxLGg6ITB9LGF0OntuYW1lOlcuQ09VTlRSWS5BVCxnOiI0MyIsaW5kZXg6MTAyfSxhdTp7bmFtZTpXLkNPVU5UUlkuQVUsCmc6IjYxIixpbmRleDoxMzR9LGF3OntuYW1lOlcuQ09VTlRSWS5BVyxnOiIyOTciLGluZGV4OjYwfSxhejp7bmFtZTpXLkNPVU5UUlkuQVosZzoiOTk0IixpbmRleDo5NH0sYmE6e25hbWU6Vy5DT1VOVFJZLkJBLGc6IjM4NyIsaW5kZXg6MTIzfSxiYjp7bmFtZTpXLkNPVU5UUlkuQkIsZzoiMSIsaW5kZXg6MTIyLGg6ITB9LGJkOntuYW1lOlcuQ09VTlRSWS5CRCxnOiI4ODAiLGluZGV4OjEzOX0sYmU6e25hbWU6Vy5DT1VOVFJZLkJFLGc6IjMyIixpbmRleDowfSxiZjp7bmFtZTpXLkNPVU5UUlkuQkYsZzoiMjI2IixpbmRleDo1Nn0sYmc6e25hbWU6Vy5DT1VOVFJZLkJHLGc6IjM1OSIsaW5kZXg6MjA4fSxiaDp7bmFtZTpXLkNPVU5UUlkuQkgsZzoiOTczIixpbmRleDoxMTV9LGJpOntuYW1lOlcuQ09VTlRSWS5CSSxnOiIyNTciLGluZGV4OjE1MH0sYmo6e25hbWU6Vy5DT1VOVFJZLkJKLGc6IjIyOSIsaW5kZXg6OTl9LGJsOntuYW1lOlcuQ09VTlRSWS5CTCxnOiI1OTAiLGluZGV4OjE5LApoOiEwfSxibTp7bmFtZTpXLkNPVU5UUlkuQk0sZzoiMSIsaW5kZXg6MTUyLGg6ITB9LGJuOntuYW1lOlcuQ09VTlRSWS5CTixnOiI2NzMiLGluZGV4OjEzMX0sYm86e25hbWU6Vy5DT1VOVFJZLkJPLGc6IjU5MSIsaW5kZXg6MTI4fSxicTp7bmFtZTpXLkNPVU5UUlkuQlEsZzoiNTk5IixpbmRleDoyMjAsaDohMH0sYnI6e25hbWU6Vy5DT1VOVFJZLkJSLGc6IjU1IixpbmRleDo1OX0sYnM6e25hbWU6Vy5DT1VOVFJZLkJTLGc6IjEiLGluZGV4OjI3LGg6ITB9LGJ0OntuYW1lOlcuQ09VTlRSWS5CVCxnOiI5NzUiLGluZGV4OjE0Nn0sYnc6e25hbWU6Vy5DT1VOVFJZLkJXLGc6IjI2NyIsaW5kZXg6MjE5fSxieTp7bmFtZTpXLkNPVU5UUlkuQlksZzoiMzc1IixpbmRleDo4M30sYno6e25hbWU6Vy5DT1VOVFJZLkJaLGc6IjUwMSIsaW5kZXg6MzZ9LGNhOntuYW1lOlcuQ09VTlRSWS5DQSxnOiIxIixpbmRleDoxMDYsaDohMH0sY2Q6e25hbWU6Vy5DT1VOVFJZLkNELGc6IjI0MyIsaW5kZXg6MTE3fSwKY2Y6e25hbWU6Vy5DT1VOVFJZLkNGLGc6IjIzNiIsaW5kZXg6MTQ1fSxjZzp7bmFtZTpXLkNPVU5UUlkuQ0csZzoiMjQyIixpbmRleDoxNDF9LGNoOntuYW1lOlcuQ09VTlRSWS5DSCxnOiI0MSIsaW5kZXg6MTAxfSxjaTp7bmFtZTpXLkNPVU5UUlkuQ0ksZzoiMjI1IixpbmRleDoxMjl9LGNrOntuYW1lOlcuQ09VTlRSWS5DSyxnOiI2ODIiLGluZGV4OjE4M30sY2w6e25hbWU6Vy5DT1VOVFJZLkNMLGc6IjU2IixpbmRleDoxMDN9LGNtOntuYW1lOlcuQ09VTlRSWS5DTSxnOiIyMzciLGluZGV4OjE2NX0sY246e25hbWU6Vy5DT1VOVFJZLkNOLGc6Ijg2IixpbmRleDo2M30sY286e25hbWU6Vy5DT1VOVFJZLkNPLGc6IjU3IixpbmRleDoyNH0sY3I6e25hbWU6Vy5DT1VOVFJZLkNSLGc6IjUwNiIsaW5kZXg6MTY4fSxjdTp7bmFtZTpXLkNPVU5UUlkuQ1UsZzoiNTMiLGluZGV4OjU4fSxjdjp7bmFtZTpXLkNPVU5UUlkuQ1YsZzoiMjM4IixpbmRleDoyMTR9LGN3OntuYW1lOlcuQ09VTlRSWS5DVywKZzoiNTk5IixpbmRleDoyMjF9LGN5OntuYW1lOlcuQ09VTlRSWS5DWSxnOiIzNTciLGluZGV4OjQzfSxjejp7bmFtZTpXLkNPVU5UUlkuQ1osZzoiNDIwIixpbmRleDoxODJ9LGRlOntuYW1lOlcuQ09VTlRSWS5ERSxnOiI0OSIsaW5kZXg6MjAzfSxkajp7bmFtZTpXLkNPVU5UUlkuREosZzoiMjUzIixpbmRleDoxNjl9LGRrOntuYW1lOlcuQ09VTlRSWS5ESyxnOiI0NSIsaW5kZXg6MTA3fSxkbTp7bmFtZTpXLkNPVU5UUlkuRE0sZzoiMSIsaW5kZXg6MTk3LGg6ITB9LCJkbyI6e25hbWU6Vy5DT1VOVFJZLkRPLGc6IjEiLGluZGV4OjExOCxoOiEwfSxkejp7bmFtZTpXLkNPVU5UUlkuRFosZzoiMjEzIixpbmRleDo0MH0sZWM6e25hbWU6Vy5DT1VOVFJZLkVDLGc6IjU5MyIsaW5kZXg6OTB9LGVlOntuYW1lOlcuQ09VTlRSWS5FRSxnOiIzNzIiLGluZGV4OjE5Nn0sZWc6e25hbWU6Vy5DT1VOVFJZLkVHLGc6IjIwIixpbmRleDoxNzh9LGVyOntuYW1lOlcuQ09VTlRSWS5FUixnOiIyOTEiLAppbmRleDo1NX0sZXM6e25hbWU6Vy5DT1VOVFJZLkVTLGc6IjM0IixpbmRleDo4N30sZXQ6e25hbWU6Vy5DT1VOVFJZLkVULGc6IjI1MSIsaW5kZXg6MTk4fSxmaTp7bmFtZTpXLkNPVU5UUlkuRkksZzoiMzU4IixpbmRleDoxNTF9LGZqOntuYW1lOlcuQ09VTlRSWS5GSixnOiI2NzkiLGluZGV4OjE0N30sZms6e25hbWU6Vy5DT1VOVFJZLkZLLGc6IjUwMCIsaW5kZXg6MjI0fSxmbTp7bmFtZTpXLkNPVU5UUlkuRk0sZzoiNjkxIixpbmRleDoxMzZ9LGZvOntuYW1lOlcuQ09VTlRSWS5GTyxnOiIyOTgiLGluZGV4Ojg0fSxmcjp7bmFtZTpXLkNPVU5UUlkuRlIsZzoiMzMiLGluZGV4OjE5fSxnYTp7bmFtZTpXLkNPVU5UUlkuR0EsZzoiMjQxIixpbmRleDo2OH0sZ2I6e25hbWU6Vy5DT1VOVFJZLkdCLGc6IjQ0IixpbmRleDo1fSxnZDp7bmFtZTpXLkNPVU5UUlkuR0QsZzoiMSIsaW5kZXg6MTk1LGg6ITB9LGdlOntuYW1lOlcuQ09VTlRSWS5HRSxnOiI5OTUiLGluZGV4OjY2fSxnZjp7bmFtZTpXLkNPVU5UUlkuR0YsCmc6IjU5NCIsaW5kZXg6MTl9LGdoOntuYW1lOlcuQ09VTlRSWS5HSCxnOiIyMzMiLGluZGV4OjE3MH0sZ2k6e25hbWU6Vy5DT1VOVFJZLkdJLGc6IjM1MCIsaW5kZXg6MjB9LGdsOntuYW1lOlcuQ09VTlRSWS5HTCxnOiIyOTkiLGluZGV4OjEzOH0sZ206e25hbWU6Vy5DT1VOVFJZLkdNLGc6IjIyMCIsaW5kZXg6NDh9LGduOntuYW1lOlcuQ09VTlRSWS5HTixnOiIyMjQiLGluZGV4OjIwN30sZ3A6e25hbWU6Vy5DT1VOVFJZLkdQLGc6IjU5MCIsaW5kZXg6MzB9LGdxOntuYW1lOlcuQ09VTlRSWS5HUSxnOiIyNDAiLGluZGV4OjExNn0sZ3I6e25hbWU6Vy5DT1VOVFJZLkdSLGc6IjMwIixpbmRleDoxMX0sZ3Q6e25hbWU6Vy5DT1VOVFJZLkdULGc6IjUwMiIsaW5kZXg6NzF9LGd1OntuYW1lOlcuQ09VTlRSWS5HVSxnOiIxIixpbmRleDoxOTIsaDohMH0sZ3c6e25hbWU6Vy5DT1VOVFJZLkdXLGc6IjI0NSIsaW5kZXg6MTUzfSxneTp7bmFtZTpXLkNPVU5UUlkuR1ksZzoiNTkyIixpbmRleDo2MX0sCmhrOntuYW1lOlcuQ09VTlRSWS5ISyxnOiI4NTIiLGluZGV4OjIxOH0saG46e25hbWU6Vy5DT1VOVFJZLkhOLGc6IjUwNCIsaW5kZXg6MTc0fSxocjp7bmFtZTpXLkNPVU5UUlkuSFIsZzoiMzg1IixpbmRleDo2OX0saHQ6e25hbWU6Vy5DT1VOVFJZLkhULGc6IjUwOSIsaW5kZXg6MjN9LGh1OntuYW1lOlcuQ09VTlRSWS5IVSxnOiIzNiIsaW5kZXg6NTN9LGlkOntuYW1lOlcuQ09VTlRSWS5JRCxnOiI2MiIsaW5kZXg6MTU2fSxpZTp7bmFtZTpXLkNPVU5UUlkuSUUsZzoiMzUzIixpbmRleDoxNTd9LGlsOntuYW1lOlcuQ09VTlRSWS5JTCxnOiI5NzIiLGluZGV4OjI1fSwiaW4iOntuYW1lOlcuQ09VTlRSWS5JTixnOiI5MSIsaW5kZXg6MTMyfSxpbzp7bmFtZTpXLkNPVU5UUlkuSU8sZzoiMjQ2IixpbmRleDo1fSxpcTp7bmFtZTpXLkNPVU5UUlkuSVEsZzoiOTY0IixpbmRleDo1MH0saXI6e25hbWU6Vy5DT1VOVFJZLklSLGc6Ijk4IixpbmRleDoxNjF9LGlzOntuYW1lOlcuQ09VTlRSWS5JUywKZzoiMzU0IixpbmRleDoxNTl9LGl0OntuYW1lOlcuQ09VTlRSWS5JVCxnOiIzOSIsaW5kZXg6OX0sam06e25hbWU6Vy5DT1VOVFJZLkpNLGc6IjEiLGluZGV4OjEzNSxoOiEwfSxqbzp7bmFtZTpXLkNPVU5UUlkuSk8sZzoiOTYyIixpbmRleDoxMTJ9LGpwOntuYW1lOlcuQ09VTlRSWS5KUCxnOiI4MSIsaW5kZXg6MzF9LGtlOntuYW1lOlcuQ09VTlRSWS5LRSxnOiIyNTQiLGluZGV4OjIxMn0sa2c6e25hbWU6Vy5DT1VOVFJZLktHLGc6Ijk5NiIsaW5kZXg6MTI2fSxraDp7bmFtZTpXLkNPVU5UUlkuS0gsZzoiODU1IixpbmRleDoxN30sa2k6e25hbWU6Vy5DT1VOVFJZLktJLGc6IjY4NiIsaW5kZXg6Mjh9LGttOntuYW1lOlcuQ09VTlRSWS5LTSxnOiIyNjkiLGluZGV4OjExMH0sa246e25hbWU6Vy5DT1VOVFJZLktOLGc6IjEiLGluZGV4OjYsaDohMH0sa3A6e25hbWU6Vy5DT1VOVFJZLktQLGc6Ijg1MCIsaW5kZXg6MTQyfSxrcjp7bmFtZTpXLkNPVU5UUlkuS1IsZzoiODIiLGluZGV4OjE4MX0sCmt3OntuYW1lOlcuQ09VTlRSWS5LVyxnOiI5NjUiLGluZGV4OjIwMn0sa3k6e25hbWU6Vy5DT1VOVFJZLktZLGc6IjEiLGluZGV4OjIyLGg6ITB9LGt6OntuYW1lOlcuQ09VTlRSWS5LWixnOiI3IixpbmRleDo5MixoOiEwfSxsYTp7bmFtZTpXLkNPVU5UUlkuTEEsZzoiODU2IixpbmRleDozM30sbGI6e25hbWU6Vy5DT1VOVFJZLkxCLGc6Ijk2MSIsaW5kZXg6OTV9LGxjOntuYW1lOlcuQ09VTlRSWS5MQyxnOiIxIixpbmRleDoxMDgsaDohMH0sbGk6e25hbWU6Vy5DT1VOVFJZLkxJLGc6IjQyMyIsaW5kZXg6NzV9LGxrOntuYW1lOlcuQ09VTlRSWS5MSyxnOiI5NCIsaW5kZXg6MjEzfSxscjp7bmFtZTpXLkNPVU5UUlkuTFIsZzoiMjMxIixpbmRleDoxNjZ9LGxzOntuYW1lOlcuQ09VTlRSWS5MUyxnOiIyNjYiLGluZGV4OjE3N30sbHQ6e25hbWU6Vy5DT1VOVFJZLkxULGc6IjM3MCIsaW5kZXg6ODV9LGx1OntuYW1lOlcuQ09VTlRSWS5MVSxnOiIzNTIiLGluZGV4OjExM30sbHY6e25hbWU6Vy5DT1VOVFJZLkxWLApnOiIzNzEiLGluZGV4OjE1NH0sbHk6e25hbWU6Vy5DT1VOVFJZLkxZLGc6IjIxOCIsaW5kZXg6OH0sbWE6e25hbWU6Vy5DT1VOVFJZLk1BLGc6IjIxMiIsaW5kZXg6MTg5fSxtYzp7bmFtZTpXLkNPVU5UUlkuTUMsZzoiMzc3IixpbmRleDo3MH0sbWQ6e25hbWU6Vy5DT1VOVFJZLk1ELGc6IjM3MyIsaW5kZXg6MjE3fSxtZTp7bmFtZTpXLkNPVU5UUlkuTUUsZzoiMzgyIixpbmRleDoxNzV9LG1mOntuYW1lOlcuQ09VTlRSWS5NRixnOiI1OTAiLGluZGV4OjUsaDohMH0sbWc6e25hbWU6Vy5DT1VOVFJZLk1HLGc6IjI2MSIsaW5kZXg6OTh9LG1oOntuYW1lOlcuQ09VTlRSWS5NSCxnOiI2OTIiLGluZGV4Ojg2fSxtazp7bmFtZTpXLkNPVU5UUlkuTUssZzoiMzg5IixpbmRleDoxMDR9LG1sOntuYW1lOlcuQ09VTlRSWS5NTCxnOiIyMjMiLGluZGV4OjIwNH0sbW06e25hbWU6Vy5DT1VOVFJZLk1NLGc6Ijk1IixpbmRleDoxfSxtbjp7bmFtZTpXLkNPVU5UUlkuTU4sZzoiOTc2IixpbmRleDoyMDZ9LAptbzp7bmFtZTpXLkNPVU5UUlkuTU8sZzoiODUzIixpbmRleDoyMDl9LG1wOntuYW1lOlcuQ09VTlRSWS5NUCxnOiIxIixpbmRleDo1NCxoOiEwfSxtcTp7bmFtZTpXLkNPVU5UUlkuTVEsZzoiNTk2IixpbmRleDoxNH0sbXI6e25hbWU6Vy5DT1VOVFJZLk1SLGc6IjIyMiIsaW5kZXg6MTh9LG1zOntuYW1lOlcuQ09VTlRSWS5NUyxnOiIxIixpbmRleDo0NCxoOiEwfSxtdDp7bmFtZTpXLkNPVU5UUlkuTVQsZzoiMzU2IixpbmRleDoxMjB9LG11OntuYW1lOlcuQ09VTlRSWS5NVSxnOiIyMzAiLGluZGV4OjE3Nn0sbXY6e25hbWU6Vy5DT1VOVFJZLk1WLGc6Ijk2MCIsaW5kZXg6NDd9LG13OntuYW1lOlcuQ09VTlRSWS5NVyxnOiIyNjUiLGluZGV4OjE3M30sbXg6e25hbWU6Vy5DT1VOVFJZLk1YLGc6IjUyIixpbmRleDoxNjJ9LG15OntuYW1lOlcuQ09VTlRSWS5NWSxnOiI2MCIsaW5kZXg6MTQ4fSxtejp7bmFtZTpXLkNPVU5UUlkuTVosZzoiMjU4IixpbmRleDo0OX0sbmE6e25hbWU6Vy5DT1VOVFJZLk5BLApnOiIyNjQiLGluZGV4OjE0OX0sbmM6e25hbWU6Vy5DT1VOVFJZLk5DLGc6IjY4NyIsaW5kZXg6OTd9LG5lOntuYW1lOlcuQ09VTlRSWS5ORSxnOiIyMjciLGluZGV4OjQyfSxuZjp7bmFtZTpXLkNPVU5UUlkuTkYsZzoiNjcyIixpbmRleDoxNX0sbmc6e25hbWU6Vy5DT1VOVFJZLk5HLGc6IjIzNCIsaW5kZXg6MjAxfSxuaTp7bmFtZTpXLkNPVU5UUlkuTkksZzoiNTA1IixpbmRleDoxMH0sbmw6e25hbWU6Vy5DT1VOVFJZLk5MLGc6IjMxIixpbmRleDoxMTF9LG5vOntuYW1lOlcuQ09VTlRSWS5OTyxnOiI0NyIsaW5kZXg6NjR9LG5wOntuYW1lOlcuQ09VTlRSWS5OUCxnOiI5NzciLGluZGV4Ojd9LG5yOntuYW1lOlcuQ09VTlRSWS5OUixnOiI2NzQiLGluZGV4OjEzN30sbnU6e25hbWU6Vy5DT1VOVFJZLk5VLGc6IjY4MyIsaW5kZXg6MTY3fSxuejp7bmFtZTpXLkNPVU5UUlkuTlosZzoiNjQiLGluZGV4OjExOX0sb206e25hbWU6Vy5DT1VOVFJZLk9NLGc6Ijk2OCIsaW5kZXg6MTk5fSwKcGE6e25hbWU6Vy5DT1VOVFJZLlBBLGc6IjUwNyIsaW5kZXg6NjV9LHBlOntuYW1lOlcuQ09VTlRSWS5QRSxnOiI1MSIsaW5kZXg6NzJ9LHBmOntuYW1lOlcuQ09VTlRSWS5QRixnOiI2ODkiLGluZGV4OjEzM30scGc6e25hbWU6Vy5DT1VOVFJZLlBHLGc6IjY3NSIsaW5kZXg6MTE0fSxwaDp7bmFtZTpXLkNPVU5UUlkuUEgsZzoiNjMiLGluZGV4OjE0M30scGs6e25hbWU6Vy5DT1VOVFJZLlBLLGc6IjkyIixpbmRleDoxNjN9LHBsOntuYW1lOlcuQ09VTlRSWS5QTCxnOiI0OCIsaW5kZXg6ODl9LHBtOntuYW1lOlcuQ09VTlRSWS5QTSxnOiI1MDgiLGluZGV4OjgxfSxwcjp7bmFtZTpXLkNPVU5UUlkuUFIsZzoiMSIsaW5kZXg6MzUsaDohMH0scHM6e25hbWU6Vy5DT1VOVFJZLlBTLGc6Ijk3MCIsaW5kZXg6OTF9LHB0OntuYW1lOlcuQ09VTlRSWS5QVCxnOiIzNTEiLGluZGV4OjM5fSxwdzp7bmFtZTpXLkNPVU5UUlkuUFcsZzoiNjgwIixpbmRleDoxNn0scHk6e25hbWU6Vy5DT1VOVFJZLlBZLApnOiI1OTUiLGluZGV4OjE5MH0scWE6e25hbWU6Vy5DT1VOVFJZLlFBLGc6Ijk3NCIsaW5kZXg6MzR9LHJlOntuYW1lOlcuQ09VTlRSWS5SRSxnOiIyNjIiLGluZGV4OjE5fSxybzp7bmFtZTpXLkNPVU5UUlkuUk8sZzoiNDAiLGluZGV4OjUyfSxyczp7bmFtZTpXLkNPVU5UUlkuUlMsZzoiMzgxIixpbmRleDoyMDB9LHJ1OntuYW1lOlcuQ09VTlRSWS5SVSxnOiI3IixpbmRleDo1MX0scnc6e25hbWU6Vy5DT1VOVFJZLlJXLGc6IjI1MCIsaW5kZXg6MjE2fSxzYTp7bmFtZTpXLkNPVU5UUlkuU0EsZzoiOTY2IixpbmRleDozfSxzYjp7bmFtZTpXLkNPVU5UUlkuU0IsZzoiNjc3IixpbmRleDo4MH0sc2M6e25hbWU6Vy5DT1VOVFJZLlNDLGc6IjI0OCIsaW5kZXg6Nzh9LHNkOntuYW1lOlcuQ09VTlRSWS5TRCxnOiIyNDkiLGluZGV4OjI2fSxzZTp7bmFtZTpXLkNPVU5UUlkuU0UsZzoiNDYiLGluZGV4OjI5fSxzZzp7bmFtZTpXLkNPVU5UUlkuU0csZzoiNjUiLGluZGV4OjJ9LHNoOntuYW1lOlcuQ09VTlRSWS5TSCwKZzoiMjkwIixpbmRleDozN30sc2k6e25hbWU6Vy5DT1VOVFJZLlNJLGc6IjM4NiIsaW5kZXg6OTN9LHNrOntuYW1lOlcuQ09VTlRSWS5TSyxnOiI0MjEiLGluZGV4OjE3OX0sc2w6e25hbWU6Vy5DT1VOVFJZLlNMLGc6IjIzMiIsaW5kZXg6NTd9LHNtOntuYW1lOlcuQ09VTlRSWS5TTSxnOiIzNzgiLGluZGV4OjE3MX0sc246e25hbWU6Vy5DT1VOVFJZLlNOLGc6IjIyMSIsaW5kZXg6MTcyfSxzbzp7bmFtZTpXLkNPVU5UUlkuU08sZzoiMjUyIixpbmRleDoxMDV9LHNyOntuYW1lOlcuQ09VTlRSWS5TUixnOiI1OTciLGluZGV4OjIxNX0sc3M6e25hbWU6Vy5DT1VOVFJZLlNTLGc6IjIxMSIsaW5kZXg6MjIyfSxzdDp7bmFtZTpXLkNPVU5UUlkuU1QsZzoiMjM5IixpbmRleDoxOTR9LHN2OntuYW1lOlcuQ09VTlRSWS5TVixnOiI1MDMiLGluZGV4OjEyN30sc3g6e25hbWU6Vy5DT1VOVFJZLlNYLGc6IjEiLGluZGV4OjIyNSxoOiEwfSxzeTp7bmFtZTpXLkNPVU5UUlkuU1ksZzoiOTYzIixpbmRleDoxNDR9LApzejp7bmFtZTpXLkNPVU5UUlkuU1osZzoiMjY4IixpbmRleDoxODR9LHRjOntuYW1lOlcuQ09VTlRSWS5UQyxnOiIxIixpbmRleDoxMDAsaDohMH0sdGQ6e25hbWU6Vy5DT1VOVFJZLlRELGc6IjIzNSIsaW5kZXg6NjJ9LHRnOntuYW1lOlcuQ09VTlRSWS5URyxnOiIyMjgiLGluZGV4OjQ2fSx0aDp7bmFtZTpXLkNPVU5UUlkuVEgsZzoiNjYiLGluZGV4OjczfSx0ajp7bmFtZTpXLkNPVU5UUlkuVEosZzoiOTkyIixpbmRleDoxM30sdGs6e25hbWU6Vy5DT1VOVFJZLlRLLGc6IjY5MCIsaW5kZXg6MjIzfSx0bDp7bmFtZTpXLkNPVU5UUlkuVEwsZzoiNjcwIixpbmRleDoyMjZ9LHRtOntuYW1lOlcuQ09VTlRSWS5UTSxnOiI5OTMiLGluZGV4OjIwNX0sdG46e25hbWU6Vy5DT1VOVFJZLlROLGc6IjIxNiIsaW5kZXg6NDF9LHRvOntuYW1lOlcuQ09VTlRSWS5UTyxnOiI2NzYiLGluZGV4OjgyfSx0cjp7bmFtZTpXLkNPVU5UUlkuVFIsZzoiOTAiLGluZGV4OjEyNX0sdHQ6e25hbWU6Vy5DT1VOVFJZLlRULApnOiIxIixpbmRleDozMixoOiEwfSx0djp7bmFtZTpXLkNPVU5UUlkuVFYsZzoiNjg4IixpbmRleDoyMX0sdHc6e25hbWU6Vy5DT1VOVFJZLlRXLGc6Ijg4NiIsaW5kZXg6Mzh9LHR6OntuYW1lOlcuQ09VTlRSWS5UWixnOiIyNTUiLGluZGV4OjE4NX0sdWE6e25hbWU6Vy5DT1VOVFJZLlVBLGc6IjM4MCIsaW5kZXg6MTYwfSx1Zzp7bmFtZTpXLkNPVU5UUlkuVUcsZzoiMjU2IixpbmRleDo4OH0sdXM6e25hbWU6Vy5DT1VOVFJZLlVTLGc6IjEiLGluZGV4OjR9LHV5OntuYW1lOlcuQ09VTlRSWS5VWSxnOiI1OTgiLGluZGV4OjIxMH0sdXo6e25hbWU6Vy5DT1VOVFJZLlVaLGc6Ijk5OCIsaW5kZXg6NzZ9LHZhOntuYW1lOlcuQ09VTlRSWS5WQSxnOiIzOSIsaW5kZXg6MTg4LGg6ITB9LHZjOntuYW1lOlcuQ09VTlRSWS5WQyxnOiIxIixpbmRleDoyMTEsaDohMH0sdmU6e25hbWU6Vy5DT1VOVFJZLlZFLGc6IjU4IixpbmRleDo3OX0sdmc6e25hbWU6Vy5DT1VOVFJZLlZHLGc6IjEiLGluZGV4OjEwOSwKaDohMH0sdmk6e25hbWU6Vy5DT1VOVFJZLlZJLGc6IjEiLGluZGV4OjE0MCxoOiEwfSx2bjp7bmFtZTpXLkNPVU5UUlkuVk4sZzoiODQiLGluZGV4Ojc0fSx2dTp7bmFtZTpXLkNPVU5UUlkuVlUsZzoiNjc4IixpbmRleDo5Nn0sd2Y6e25hbWU6Vy5DT1VOVFJZLldGLGc6IjY4MSIsaW5kZXg6MTl9LHdzOntuYW1lOlcuQ09VTlRSWS5XUyxnOiI2ODUiLGluZGV4OjE4Nn0seGs6e25hbWU6Vy5DT1VOVFJZLlhLLGc6IjM4MyIsaW5kZXg6MjI3fSx5ZTp7bmFtZTpXLkNPVU5UUlkuWUUsZzoiOTY3IixpbmRleDoxMzB9LHphOntuYW1lOlcuQ09VTlRSWS5aQSxnOiIyNyIsaW5kZXg6MTkxfSx6bTp7bmFtZTpXLkNPVU5UUlkuWk0sZzoiMjYwIixpbmRleDoxMjR9LHp3OntuYW1lOlcuQ09VTlRSWS5aVyxnOiIyNjMiLGluZGV4OjE2NH19O3ZhciBYPWZ1bmN0aW9uKCl7QS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3YoWCxBKTsKWC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3ZhciBiPXRoaXMuaS5xdWVyeVNlbGVjdG9yKCJTRUxFQ1QiLnRvU3RyaW5nKCkpLGM9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGQ9T2JqZWN0LmtleXModGEpLGU9KHRoaXMuaS5kYXRhc2V0LnJlZ2lvbkNvZGV8fCIiKS50b0xvd2VyQ2FzZSgpO2Q9cChkKTtmb3IodmFyIGY9ZC5uZXh0KCk7IWYuZG9uZTtmPWQubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2Y9dGFbZ107dmFyIGg9Zi5nLGw9Zi5uYW1lO2Y9Zy50b0xvd2VyQ2FzZSgpPT09ZTt2YXIgdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJPUFRJT04iLnRvU3RyaW5nKCkpO3cudmFsdWU9ZztnPXZvaWQgMDtoPSIoKyIraCsiKSAiK2w7Zz12b2lkIDA9PT1nP3t9Omc7aWYoIShoIGluc3RhbmNlb2YgTykpe2g9U3RyaW5nKGgpLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpLnJlcGxhY2UoLycvZywKIiZhcG9zOyIpO2cudiYmKGg9aC5yZXBsYWNlKC8oXnxbXHJcblx0IF0pIC9nLCIkMSYjMTYwOyIpKTtnLnUmJihoPWgucmVwbGFjZSgvKFxyXG58XG58XHIpL2csIjxicj4iKSk7Zy5BJiYoaD1oLnJlcGxhY2UoLyhcdCspL2csJzxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPiQxPC9zcGFuPicpKTtpZih2b2lkIDA9PT1GKWlmKGc9bnVsbCwobD14LnRydXN0ZWRUeXBlcykmJmwuY3JlYXRlUG9saWN5KXt0cnl7Zz1sLmNyZWF0ZVBvbGljeSgiZ29vZyNodG1sIix7Y3JlYXRlSFRNTDp6LGNyZWF0ZVNjcmlwdDp6LGNyZWF0ZVNjcmlwdFVSTDp6fSl9Y2F0Y2god2Epe3guY29uc29sZSYmeC5jb25zb2xlLmVycm9yKHdhLm1lc3NhZ2UpfUY9Z31lbHNlIEY9ZztoPShnPUYpP2cuY3JlYXRlSFRNTChoKTpoO2g9bmV3IE8oaCl9dy50ZXh0Q29udGVudD1oLnRvU3RyaW5nKCk7ZiYmKHcuc2VsZWN0ZWQ9ITApO2MuYXBwZW5kQ2hpbGQodyl9Yi5hcHBlbmRDaGlsZChjKX07UigiQ2FwdGNoYUlucHV0IixTKTtSKCJDYXJkIixFKTtSKCJDb3VudHJ5U2VsZWN0IixYKTtSKCJFbWFpbElucHV0IixUKTtSKCJGb290ZXIiLFApO1IoIklkZW50aWZpZXJJbnB1dCIsVik7UigiUmVjYXB0Y2hhSW5wdXQiLFUpO2Zvcih2YXIgdWE9W10sdmE9cChbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWF1dG8taW5pdF0iKSkpLFk9dmEubmV4dCgpOyFZLmRvbmU7WT12YS5uZXh0KCkpe3ZhciBaPVkudmFsdWUseGE9Wi5nZXRBdHRyaWJ1dGUoImRhdGEtYXV0by1pbml0Iik7aWYoIXhhKXRocm93IEVycm9yKCJhdXRvLWluaXQgYXR0cmlidXRlIHJlcXVpcmVzIGEgdmFsdWUuIik7dmFyIHlhPW5ldyBRW3hhXShaKTt1YS5wdXNoKHlhKTtaLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1hdXRvLWluaXQiKX07fSkuY2FsbCh0aGlzKTsKPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PC9ib2R5Pg==