PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPk91dHB1dCB0ZXN0aW5nIHRvb2w8L3RpdGxlPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3N0eWxlL3N0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiPgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc0LjAiPgo8bGluayByZWw9ImhvbWUiIGhyZWY9Ii4uLy4uL2luZGV4Lmh0bWwiIHRpdGxlPSJCb29zdCBUZXN0IExpYnJhcnkiPgo8bGluayByZWw9InVwIiBocmVmPSIuLi90ZXN0aW5nLXRvb2xzLmh0bWwiIHRpdGxlPSJUaGUgVVRGIHRlc3RpbmcgdG9vbHMgb3IgdGVzdGVyJ3MgdG9vbGJveCBmb3IgYWxsIG9jY2FzaW9ucyI+CjxsaW5rIHJlbD0icHJldiIgaHJlZj0iLi4vdGVzdGluZy10b29scy5odG1sIiB0aXRsZT0iVGhlIFVURiB0ZXN0aW5nIHRvb2xzIG9yIHRlc3RlcidzIHRvb2xib3ggZm9yIGFsbCBvY2Nhc2lvbnMiPgo8bGluayByZWw9Im5leHQiIGhyZWY9ImN1c3RvbS1wcmVkaWNhdGUuaHRtbCIgdGl0bGU9IkN1c3RvbSBwcmVkaWNhdGUgc3VwcG9ydCI+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQxLjIiIHNyYz0iLi4vLi4vLi4vanMvYm9vc3QtdGVzdC5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgo8dGFibGUgd2lkdGg9IjEwMCUiPjx0cj4KPHRkIHdpZHRoPSIxMCUiPjxhIGhyZWY9Ii4uLy4uL2luZGV4Lmh0bWwiPjxpbWcgYWx0PSJIb21lIiB3aWR0aD0iMjI5IiBoZWlnaHQ9IjYxIiBib3JkZXI9IjAiIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90ZXN0L2RvY2Jvb2svaW1nL2Jvb3N0LnRlc3QubG9nby5wbmciPjwvYT48L3RkPgo8dGQgdmFsaWduPSJtaWRkbGUiIGFsaWduPSJsZWZ0Ij4gJmd0OyA8YSBocmVmPSIuLi8uLi91dGYuaHRtbCI+VGhlIFVuaXQgVGVzdCBGcmFtZXdvcms8L2E+ICZndDsgPGEgaHJlZj0iLi4vdGVzdGluZy10b29scy5odG1sIj5UZXN0aW5nIHRvb2xzPC9hPjxhIGhyZWY9Ii4uL3VzYWdlLXJlY29tbWVuZGF0aW9ucy5odG1sIj4KICAgICAgJmd0OwogICAgICA8L2E+PGI+T3V0cHV0IHRlc3RpbmcgdG9vbDwvYj4KPC90ZD4KPHRkPjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBocmVmPSIuLi90ZXN0aW5nLXRvb2xzLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGhyZWY9ImN1c3RvbS1wcmVkaWNhdGUuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9uZXh0LnBuZyIgYWx0PSJOZXh0Ij48L2E+CjwvZGl2PjwvdGQ+CjwvdHI+PC90YWJsZT4KPGhyPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoNCBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJ1dGYudGVzdGluZy10b29scy5vdXRwdXQtdGVzdCI+PC9hPk91dHB1dCB0ZXN0aW5nIHRvb2w8L2g0PjwvZGl2PjwvZGl2PjwvZGl2Pgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgIEhvdyBkbyB5b3UgcGVyZm9ybSBjb3JyZWN0bmVzcyB0ZXN0IGZvciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPm9wZXJhdG9yJmx0OyZsdDsoIHN0ZDo6b3N0cmVhbSZhbXA7LCAuLi4gKTwvY29kZT4KICAgb3BlcmF0aW9ucz8gWW91IGNhbiBwcmludCBpbnRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgc3RyZWFtIGFuZCBtYW51YWxseSBjaGVjayB0aGF0IGl0IGlzIG1hdGNoaW5nIHlvdXIgZXhwZWN0YXRpb25zLgogICBVbmZvcnR1bmF0ZWx5LCB0aGlzIGlzIG5vdCByZWFsbHkgYWNjZXB0YWJsZSBmb3IgdGhlIHJlZ3Jlc3Npb24gdGVzdGluZyBhbmQgZG9lc24ndCBzZXJ2ZSBhIGxpbmcgdGVybSBwdXJwb3NlIG9mIGEKICAgdW5pdCB0ZXN0LiBZb3UgY2FuIHVzZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPnN0ZDo6c3RyaW5nc3RyZWFtPC9jb2RlPiBhbmQgY29tcGFyZSByZXN1bHRpbmcgb3V0cHV0IGJ1ZmZlciB3aXRoIHRoZQogICBleHBlY3RlZCBwYXR0ZXJuIHN0cmluZywgYnV0IHlvdSBhcmUgcmVxdWlyZWQgdG8gcGVyZm9ybSBzZXZlcmFsIGFkZGl0aW9uYWwgb3BlcmF0aW9ucyB3aXRoIGV2ZXJ5IGNoZWNrIHlvdSBkby4gU28gaXQKICAgYmVjb21lcyB0ZWRpb3VzIHZlcnkgZmFzdC4gVGhlIGNsYXNzIDxlbSBjbGFzcz0iZmlyc3R0ZXJtIj48Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPm91dHB1dF90ZXN0X3N0cmVhbTwvY29kZT48L2VtPiBpcyBkZXNpZ25lZCB0bwogICBhdXRvbWF0ZSB0aGVzZSB0YXNrcyBmb3IgeW91LiBUaGlzIGlzIGEgc2ltcGxlLCBidXQgcG93ZXJmdWwgdG9vbCBmb3IgdGVzdGluZyBzdGFuZGFyZAogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPnN0ZDo6b3N0cmVhbTwvY29kZT4gYmFzZWQgb3V0cHV0IG9wZXJhdGlvbi4gVGhlIGNsYXNzIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+b3V0cHV0X3Rlc3Rfc3RyZWFtPC9jb2RlPgogICBjb21wbGllcyB0byA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPnN0ZDo6b3N0cmVhbTwvY29kZT4gaW50ZXJmYWNlIHNvIGl0IGNhbiBiZSB1c2VkIGluIHBsYWNlIG9mIGFueQogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPnN0ZDo6b3N0cmVhbTwvY29kZT4gcGFyYW1ldGVyLiBJdCBwcm92aWRlcyBzZXZlcmFsIHRlc3QgbWV0aG9kcyB0byB2YWxpZGF0ZSBvdXRwdXQgY29udGVudCwKICAgaW5jbHVkaW5nIHRlc3QgZm9yIG1hdGNoIHRvIGV4cGVjdGVkIG91dHB1dCBjb250ZW50IG9yIHRlc3QgZm9yIGV4cGVjdGVkIG91dHB1dCBsZW5ndGguIEZsdXNoaW5nLCBzeW5jaHJvbml6aW5nLAogICBzdHJpbmcgY29tcGFyaXNvbiBhbmQgZXJyb3IgbWVzc2FnZSBnZW5lcmF0aW9uIGlzIGF1dG9tYXRlZCBieSB0aGUgdG9vbCBpbXBsZW1lbnRhdGlvbi4KICA8L3A+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgSW4gc29tZSBjYXNlcyBpdCBzdGlsbCBtYXkgbm90IGJlIGdvb2QgZW5vdWdoLiBJdCBiZWNvbWVzIGV2ZW4gbW9yZSBvYnZpb3VzIHdoZW4gaXQncyBkaWZmaWN1bHQgdG8gZ2VuZXJhdGUgdGhlCiAgIGV4cGVjdGVkIHBhdHRlcm4uIFdoYXQgd2UgbmVlZCBpbiBjYXNlcyBsaWtlIHRoaXMgaXMgdG8gYmUgYWJsZSB0byBjaGVjayBvbmNlIG1hbnVhbGx5IHRoYXQgdGhlIG91dHB1dCBpcyBhcyBleHBlY3RlZAogICBhbmQgdG8gYmUgYWJsZSBpbiBhIGZ1dHVyZSBjaGVjayB0aGF0IGl0IHN0YXlzIHRoZSBzYW1lLiBUbyBoZWxwIG1hbmFnZSB0aGlzIGxvZ2ljIHRoZSBjbGFzcwogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPm91dHB1dF90ZXN0X3N0cmVhbTwvY29kZT4gYWxsb3dzIG1hdGNoaW5nIG91dHB1dCBjb250ZW50IHZlcnN1cyBzcGVjaWZpZWQgcGF0dGVybiBmaWxlIGFuZCBwcm9kdWNlCiAgIHBhdHRlcm4gZmlsZSBiYXNlZCBvbiBzdWNjZXNzZnVsIHRlc3QgcnVuLgogIDwvcD4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICBEZXRhaWxlZCBzcGVjaWZpY2F0aW9uIG9mIGNsYXNzIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+b3V0cHV0X3Rlc3Rfc3RyZWFtPC9jb2RlPiBpcyBjb3ZlcmVkIGluIHJlZmVyZW5jZSBzZWN0aW9uLgogIDwvcD4KPGRpdiBjbGFzcz0ic2VjdGlvbiIgbGFuZz0iZW4iPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDUgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0idXRmLnRlc3RpbmctdG9vbHMub3V0cHV0LXRlc3QudXNhZ2UiPjwvYT5Vc2FnZTwvaDU+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIFRoZXJlIGFyZSB0d28gd2F5cyB0byBlbXBsb3kgdGhlIGNsYXNzIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+b3V0cHV0X3Rlc3Rfc3RyZWFtPC9jb2RlPjogZXhwbGljaXQgb3V0cHV0IGNoZWNrcyBhbmQKICAgIHBhdHRlcm4gZmlsZSBtYXRjaGluZy4KICAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+CjxhIG5hbWU9InV0Zi50ZXN0aW5nLXRvb2xzLm91dHB1dC10ZXN0LmV4YW1wbGUyOCI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+RXhhbXBsZaAzNC6gb3V0cHV0X3Rlc3Rfc3RyZWFtIHVzYWdlIHdpdGggZXhwbGljaXQgb3V0cHV0IGNoZWNrczwvYj48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUtY29udGVudHMiPgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBVc2UgdGhlIGluc3RhbmNlIG9mIGNsYXNzIG91dHB1dF90ZXN0X3N0cmVhbSBhcyBhbiBvdXRwdXQgc3RyZWFtIGFuZCBjaGVjayBvdXRwdXQgY29udGVudCB1c2luZyB0b29sJ3MgbWV0aG9kcy4KICAgIE5vdGUgdXNlIG9mIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5mYWxzZTwvY29kZT4gdG8gcHJldmVudCBvdXRwdXQgZmx1c2hpbmcgaW4gZmlyc3QgdHdvIGludm9jYXRpb24gb2YgY2hlY2sgZnVuY3Rpb25zLiBVbmxlc3MKICAgIHlvdSB3YW50IHRvIHBlcmZvcm0gc2V2ZXJhbCBkaWZmZXJlbnQgY2hlY2tzIGZvciB0aGUgc2FtZSBvdXRwdXQgeW91IHdvdWxkbid0IG5lZWQgdG8gdXNlIGl0IHRob3VnaC4gWW91cgogICAgdGVzdCB3aWxsIGxvb2sgbGlrZSBhIHNlcmlvdXMgb2Ygb3V0cHV0IG9wZXJhdG9ycyBmb2xsb3dlZCBieSBvbmUgY2hlY2suIEFuZCBzbyBvbiBhZ2Fpbi4gVHJ5IHRvIHBlcmZvcm0gY2hlY2tzIGFzCiAgICBmcmVxdWVudGx5IGFzIHBvc3NpYmxlLiBJdCBub3Qgb25seSBzaW1wbGlmaWVzIHBhdHRlcm5zIHlvdSBjb21wYXJlIHdpdGgsIGJ1dCBhbHNvIGFsbG93cyB5b3UgdG8gbW9yZSBjbG9zZWx5CiAgICBpZGVudGlmeSBwb3NzaWJsZSBzb3VyY2Ugb2YgZmFpbHVyZS4KICAgPC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSBCT09TVF9URVNUX01PRFVMRSBleGFtcGxlCiNpbmNsdWRlICZsdDtib29zdC90ZXN0L2luY2x1ZGVkL3VuaXRfdGVzdC5ocHAmZ3Q7CiNpbmNsdWRlICZsdDtib29zdC90ZXN0L291dHB1dF90ZXN0X3N0cmVhbS5ocHAmZ3Q7IAp1c2luZyBib29zdDo6dGVzdF90b29sczo6b3V0cHV0X3Rlc3Rfc3RyZWFtOwoKLy9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fLy8KCkJPT1NUX0FVVE9fVEVTVF9DQVNFKCB0ZXN0ICkKewogICAgb3V0cHV0X3Rlc3Rfc3RyZWFtIG91dHB1dDsKICAgIGludCBpPTI7CiAgICBvdXRwdXQgJmx0OyZsdDsgImk9IiAmbHQ7Jmx0OyBpOwogICAgQk9PU1RfQ0hFQ0soICFvdXRwdXQuaXNfZW1wdHkoIGZhbHNlICkgKTsKICAgIEJPT1NUX0NIRUNLKCBvdXRwdXQuY2hlY2tfbGVuZ3RoKCAzLCBmYWxzZSApICk7CiAgICBCT09TVF9DSEVDSyggb3V0cHV0LmlzX2VxdWFsKCAiaT0zIiApICk7Cn0KCi8vX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXy8vCjwvcHJlPgo8dGFibGUgY2xhc3M9InNpbXBsZWxpc3QiIGJvcmRlcj0iMCIgc3VtbWFyeT0iU2ltcGxlIGxpc3QiPjx0cj4KPHRkPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj48YSBocmVmPSIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvZXhhbXBsZTI4LmNwcCIgdGFyZ2V0PSJfdG9wIj5Tb3VyY2UgY29kZTwvYT48L2NvZGU+PC90ZD4KPHRkPiB8IDwvdGQ+Cjx0ZD48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+PGEgaHJlZj0iIyIgdGFyZ2V0PSJfdG9wIiBpZD0iaWQ2NTgxNjIiIG9uY2xpY2s9InRvZ2dsZV9lbGVtZW50KCAnZXhhbXBsZTI4LW91dHB1dCcsICdpZDY1ODE2MicsICdTaG93IG91dHB1dCcsICdIaWRlIG91dHB1dCcgKTsgcmV0dXJuIGZhbHNlOyI+U2hvdyBvdXRwdXQ8L2E+PC9jb2RlPjwvdGQ+CjwvdHI+PC90YWJsZT4KPHByZSBjbGFzcz0iZXhhbXBsZS1vdXRwdXQiIGlkPSJleGFtcGxlMjgtb3V0cHV0Ij4mZ3Q7IGV4YW1wbGUKUnVubmluZyAxIHRlc3QgY2FzZS4uLgp0ZXN0LmNwcCgxNSk6IGVycm9yIGluICJ0ZXN0IjogY2hlY2sgb3V0cHV0LmlzX2VxdWFsKCAiaT0zIiApIGZhaWxlZC4gT3V0cHV0IGNvbnRlbnQ6ICJpPTIiCgoqKiogMSBmYWlsdXJlIGRldGVjdGVkIGluIHRlc3Qgc3VpdGUgImV4YW1wbGUiCjwvcHJlPgo8L2Rpdj4KPC9kaXY+CjxiciBjbGFzcz0iZXhhbXBsZS1icmVhayI+PGRpdiBjbGFzcz0iZXhhbXBsZSI+CjxhIG5hbWU9InV0Zi50ZXN0aW5nLXRvb2xzLm91dHB1dC10ZXN0LmV4YW1wbGUyOSI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+RXhhbXBsZaAzNS6gb3V0cHV0X3Rlc3Rfc3RyZWFtIHVzYWdlIGZvciBwYXR0ZXJuIGZpbGUgbWF0Y2hpbmc8L2I+PC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlLWNvbnRlbnRzIj4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICAgRXZlbiBzaW1wbGVyOiBubyBuZWVkIHRvIGdlbmVyYXRlIGV4cGVjdGVkIHBhdHRlcm5zLiBUaG91Z2ggeW91IG5lZWQgdG8ga2VlcCB0aGUgcGF0dGVybiBmaWxlIGFsbCB0aGUgdGltZSBzb21ld2hlcmUKICAgIGFyb3VuZC4gWW91ciB0ZXN0aW5nIHdpbGwgbG9vayBsaWtlIGEgc2VyaW91cyBvZiBvdXRwdXQgb3BlcmF0b3JzIGZvbGxvd2VkIGJ5IG1hdGNoIHBhdHRlcm4gY2hlY2tzIHJlcGVhdGVkIHNldmVyYWwKICAgIHRpbWVzLiBUcnkgdG8gcGVyZm9ybSBjaGVja3MgYXMgZnJlcXVlbnRseSBhcyBwb3NzaWJsZSwgYmVjYXVzZSBpdCBhbGxvd3MgeW91IHRvIG1vcmUgY2xvc2VseSBpZGVudGlmeSBwb3NzaWJsZSBzb3VyY2UKICAgIG9mIGZhaWx1cmUuIENvbnRlbnQgb2YgdGhlIHBhdHRlcm4gZmlsZSBpczoKICAgPC9wPgo8cD4KICAgPGRpdiBjbGFzcz0ibGl0ZXJhbGxheW91dCI+PHA+aT0yPGJyPgpGaWxlOqB0ZXN0LmNwcKBMaW5lOqAxNDwvcD48L2Rpdj4KICAgPC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSBCT09TVF9URVNUX01PRFVMRSBleGFtcGxlCiNpbmNsdWRlICZsdDtib29zdC90ZXN0L2luY2x1ZGVkL3VuaXRfdGVzdC5ocHAmZ3Q7CiNpbmNsdWRlICZsdDtib29zdC90ZXN0L291dHB1dF90ZXN0X3N0cmVhbS5ocHAmZ3Q7IAp1c2luZyBib29zdDo6dGVzdF90b29sczo6b3V0cHV0X3Rlc3Rfc3RyZWFtOwoKLy9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fLy8KCkJPT1NUX0FVVE9fVEVTVF9DQVNFKCB0ZXN0ICkKewogICAgb3V0cHV0X3Rlc3Rfc3RyZWFtIG91dHB1dCggInBhdHRlcm5fZmlsZSIsIHRydWUgKTsKICAgIGludCBpPTI7CiAgICBvdXRwdXQgJmx0OyZsdDsgImk9IiAmbHQ7Jmx0OyBpOwogICAgQk9PU1RfQ0hFQ0soIG91dHB1dC5tYXRjaF9wYXR0ZXJuKCkgKTsKCiAgICBvdXRwdXQgJmx0OyZsdDsgIlxuRmlsZTogIiAmbHQ7Jmx0OyBfX0ZJTEVfXyAmbHQ7Jmx0OyAiIExpbmU6ICIgJmx0OyZsdDsgX19MSU5FX187CiAgICBCT09TVF9DSEVDSyggb3V0cHV0Lm1hdGNoX3BhdHRlcm4oKSApOwp9CgovL19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18vLwo8L3ByZT4KPHRhYmxlIGNsYXNzPSJzaW1wbGVsaXN0IiBib3JkZXI9IjAiIHN1bW1hcnk9IlNpbXBsZSBsaXN0Ij48dHI+Cjx0ZD48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+PGEgaHJlZj0iLi4vLi4vLi4vc3JjL2V4YW1wbGVzL2V4YW1wbGUyOS5jcHAiIHRhcmdldD0iX3RvcCI+U291cmNlIGNvZGU8L2E+PC9jb2RlPjwvdGQ+Cjx0ZD4gfCA8L3RkPgo8dGQ+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPjxhIGhyZWY9IiMiIHRhcmdldD0iX3RvcCIgaWQ9ImlkNjU4MjY5IiBvbmNsaWNrPSJ0b2dnbGVfZWxlbWVudCggJ2V4YW1wbGUyOS1vdXRwdXQnLCAnaWQ2NTgyNjknLCAnU2hvdyBvdXRwdXQnLCAnSGlkZSBvdXRwdXQnICk7IHJldHVybiBmYWxzZTsiPlNob3cgb3V0cHV0PC9hPjwvY29kZT48L3RkPgo8L3RyPjwvdGFibGU+CjxwcmUgY2xhc3M9ImV4YW1wbGUtb3V0cHV0IiBpZD0iZXhhbXBsZTI5LW91dHB1dCI+Jmd0OyBleGFtcGxlClJ1bm5pbmcgMSB0ZXN0IGNhc2UuLi4KdGVzdC5jcHAoMTYpOiBlcnJvciBpbiAidGVzdCI6IGNoZWNrIG91dHB1dC5tYXRjaF9wYXR0ZXJuKCkgZmFpbGVkLiBNaXNtYXRjaCBhdCBwb3NpdGlvbiAyMwouLi41Li4uCi4uLjQuLi4KCioqKiAxIGZhaWx1cmUgZGV0ZWN0ZWQgaW4gdGVzdCBzdWl0ZSAiZXhhbXBsZSIKPC9wcmU+CjwvZGl2Pgo8L2Rpdj4KPGJyIGNsYXNzPSJleGFtcGxlLWJyZWFrIj4KPC9kaXY+Cjx0YWJsZSB4bWxuczpyZXY9Imh0dHA6Ly93d3cuY3MucnBpLmVkdS9+Z3JlZ29kL2Jvb3N0L3Rvb2xzL2RvYy9yZXZpc2lvbiIgd2lkdGg9IjEwMCUiPjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij48L3RkPgo8dGQgYWxpZ249InJpZ2h0Ij48ZGl2IGNsYXNzPSJjb3B5cmlnaHQtZm9vdGVyIj5Db3B5cmlnaHQgqSAyMDAxLTIwMDcgR2VubmFkaXkgUm96ZW50YWw8L2Rpdj48L3RkPgo8L3RyPjwvdGFibGU+Cjxocj4KPGRpdiBjbGFzcz0ic3Bpcml0LW5hdiI+CjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iLi4vdGVzdGluZy10b29scy5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3ByZXYucG5nIiBhbHQ9IlByZXYiPjwvYT48YSBhY2Nlc3NrZXk9InUiIGhyZWY9Ii4uL3Rlc3RpbmctdG9vbHMuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy91cC5wbmciIGFsdD0iVXAiPjwvYT48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uLy4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvaG9tZS5wbmciIGFsdD0iSG9tZSI+PC9hPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iY3VzdG9tLXByZWRpY2F0ZS5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=