PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPlRoZSBzdGF0aWMgbGlicmFyeSB2YXJpYW50IG9mIHRoZSBVVEY8L3RpdGxlPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3N0eWxlL3N0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiPgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc0LjAiPgo8bGluayByZWw9ImhvbWUiIGhyZWY9Ii4uLy4uLy4uL2luZGV4Lmh0bWwiIHRpdGxlPSJCb29zdCBUZXN0IExpYnJhcnkiPgo8bGluayByZWw9InVwIiBocmVmPSIuLi91c2FnZS12YXJpYW50cy5odG1sIiB0aXRsZT0iVGhlIFVURiB1c2FnZSB2YXJpYW50cyBvciB0aGUgQnVyaWRhbidzIGRvbmtleSBwYXJhYmxlIj4KPGxpbmsgcmVsPSJwcmV2IiBocmVmPSIuLi91c2FnZS12YXJpYW50cy5odG1sIiB0aXRsZT0iVGhlIFVURiB1c2FnZSB2YXJpYW50cyBvciB0aGUgQnVyaWRhbidzIGRvbmtleSBwYXJhYmxlIj4KPGxpbmsgcmVsPSJuZXh0IiBocmVmPSJkeW5hbWljLWxpYi12YXJpYW50Lmh0bWwiIHRpdGxlPSJUaGUgZHluYW1pYyBsaWJyYXJ5IHZhcmlhbnQgb2YgdGhlIFVURiI+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQxLjIiIHNyYz0iLi4vLi4vLi4vLi4vanMvYm9vc3QtdGVzdC5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgo8dGFibGUgd2lkdGg9IjEwMCUiPjx0cj4KPHRkIHdpZHRoPSIxMCUiPjxhIGhyZWY9Ii4uLy4uLy4uL2luZGV4Lmh0bWwiPjxpbWcgYWx0PSJIb21lIiB3aWR0aD0iMjI5IiBoZWlnaHQ9IjYxIiBib3JkZXI9IjAiIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90ZXN0L2RvY2Jvb2svaW1nL2Jvb3N0LnRlc3QubG9nby5wbmciPjwvYT48L3RkPgo8dGQgdmFsaWduPSJtaWRkbGUiIGFsaWduPSJsZWZ0Ij4gJmd0OyA8YSBocmVmPSIuLi8uLi8uLi91dGYuaHRtbCI+VGhlIFVuaXQgVGVzdCBGcmFtZXdvcms8L2E+ICZndDsgPGEgaHJlZj0iLi4vLi4vdXNlci1ndWlkZS5odG1sIj5Vc2VyJ3MgZ3VpZGU8L2E+PGEgaHJlZj0iLi4vLi4vdGVzdGluZy10b29scy5odG1sIj4KICAgICAgJmd0OwogICAgICA8L2E+PGEgaHJlZj0iLi4vdXNhZ2UtdmFyaWFudHMuaHRtbCI+VXNhZ2UgdmFyaWFudHM8L2E+PGEgaHJlZj0iLi4vdGVzdC1ydW5uZXJzLmh0bWwiPgogICAgICAmZ3Q7CiAgICAgIDwvYT48Yj5TdGF0aWMgbGlicmFyeTwvYj4KPC90ZD4KPHRkPjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBocmVmPSIuLi91c2FnZS12YXJpYW50cy5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3ByZXYucG5nIiBhbHQ9IlByZXYiPjwvYT48YSBocmVmPSJkeW5hbWljLWxpYi12YXJpYW50Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvbmV4dC5wbmciIGFsdD0iTmV4dCI+PC9hPgo8L2Rpdj48L3RkPgo8L3RyPjwvdGFibGU+Cjxocj4KPGRpdiBjbGFzcz0ic2VjdGlvbiIgbGFuZz0iZW4iPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDUgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0idXRmLnVzZXItZ3VpZGUuc3RhdGljLWxpYi12YXJpYW50Ij48L2E+VGhlIHN0YXRpYyBsaWJyYXJ5IHZhcmlhbnQgb2YgdGhlIDxhY3JvbnltIGNsYXNzPSJhY3JvbnltIj5VVEY8L2Fjcm9ueW0+CjwvaDU+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIFRoZSA8YWNyb255bSBjbGFzcz0iYWNyb255bSI+VVRGPC9hY3JvbnltPiBjYW4gYmUgYnVpbHQgaW50byBhIHN0YXRpYyBsaWJyYXJ5LiBJZiB5b3Ugb3B0IHRvIGxpbmsgYSB0ZXN0IG1vZHVsZSB3aXRoIHRoZSAKICAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSIuLi8uLi9jb21waWxhdGlvbi9zdGFuZGFsb25lLmh0bWwiIHRpdGxlPSJTdGFuZGFsb25lIGxpYnJhcnkgY29tcGlsYXRpb24iPnN0YW5kYWxvbmUgc3RhdGljIGxpYnJhcnk8L2E+LCB0aGlzIHVzYWdlIGlzIGNhbGxlZCB0aGUgc3RhdGljIGxpYnJhcnkKICAgIHZhcmlhbnQgb2YgdGhlIDxhY3JvbnltIGNsYXNzPSJhY3JvbnltIj5VVEY8L2Fjcm9ueW0+LgogICA8L3A+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIFRoZSB0ZXN0IHJ1bm5lciBzdXBwbGllZCB3aXRoIHRoaXMgdmFyaWFudCByZXF1aXJlcyB5b3UgdG8gaW1wbGVtZW50IHRoZSA8YSBjbGFzcz0ibGluayIgaHJlZj0iLi4vLi4vdXNlci1ndWlkZS5odG1sI3Rlc3QtbW9kdWxlLmRlZiI+dGVzdAogICAgbW9kdWxlPC9hPiBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB0aGF0IG1hdGNoZXMgb25lIG9mIHRoZSB0d28gc3BlY2lmaWNhdGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBjb21waWxhdGlvbiBmbGFnCiAgICA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iLi4vLi4vY29tcGlsYXRpb24uaHRtbCN1dGYuZmxhZy5hbHQtaW5pdC1hcGkiPkJPT1NUX1RFU1RfQUxURVJOQVRJVkVfSU5JVF9BUEk8L2E+LiBJZiBmbGFnIGlzbid0IGRlZmluZWQgeW91IGFyZSByZXF1aXJlZAogICAgdG8gbWF0Y2ggdGhlIG9yaWdpbmFsIHNwZWNpZmljYXRpb24uIElmIHlvdSBkZWZpbmUgdGhlIGZsYWcgPGEgY2xhc3M9InhyZWYiIGhyZWY9Ii4uLy4uL2NvbXBpbGF0aW9uLmh0bWwjdXRmLmZsYWcuYWx0LWluaXQtYXBpIj5CT09TVF9URVNUX0FMVEVSTkFUSVZFX0lOSVRfQVBJPC9hPiBkdXJpbmcgYSB0ZXN0IG1vZHVsZSBjb21waWxhdGlvbiB5b3UgYXJlIHJlcXVpcmVkIHRvIHVzZSB0aGUgYWx0ZXJuYXRpdmUgCiAgICBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBzcGVjaWZpY2F0aW9uLiBUaGUgPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPlVURjwvYWNyb255bT4gcHJvdmlkZXMgYW4gYWJpbGl0eSB0bwogICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9Ii4uL2luaXRpYWxpemF0aW9uLmh0bWwjdXRmLnVzZXItZ3VpZGUuaW5pdGlhbGl6YXRpb24uYXV0by1nZW5lcmF0aW9uIiB0aXRsZT0iQXV0b21hdGVkIGdlbmVyYXRpb24gb2YgdGhlIHRlc3QgbW9kdWxlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIj5hdXRvbWF0aWNhbGx5IGdlbmVyYXRlPC9hPiBhbiBlbXB0eSB0ZXN0IG1vZHVsZSAKICAgIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHdpdGggY29ycmVjdCBzcGVjaWZpY2F0aW9uIGlmIG5vIGN1c3RvbSBpbml0aWFsaXphdGlvbiBpcyByZXF1aXJlZCBieSBhIHRlc3QgbW9kdWxlLgogICA8L3A+CjxkaXYgY2xhc3M9ImltcG9ydGFudCI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iSW1wb3J0YW50Ij4KPHRyPgo8dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltJbXBvcnRhbnRdIiBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9pbXBvcnRhbnQucG5nIj48L3RkPgo8dGggYWxpZ249ImxlZnQiPkltcG9ydGFudDwvdGg+CjwvdHI+Cjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48cD4KICAgICBJZiB5b3Ugb3B0ZWQgdG8gdXNlIGFuIGFsdGVybmF0aXZlIGluaXRpYWxpemF0aW9uIEFQSSwgZm9yIGEgdGVzdCBtb2R1bGUgdG8gYmUgYWJsZSB0byBsaW5rIHdpdGggcHJlYnVpbHQgbGlicmFyeSwgCiAgICAgdGhlIGZsYWcgPGEgY2xhc3M9InhyZWYiIGhyZWY9Ii4uLy4uL2NvbXBpbGF0aW9uLmh0bWwjdXRmLmZsYWcuYWx0LWluaXQtYXBpIj5CT09TVF9URVNUX0FMVEVSTkFUSVZFX0lOSVRfQVBJPC9hPiBoYXMgdG8gYmUgZGVmaW5lZCBib3RoIGR1cmluZyAKICAgICBsaWJyYXJ5IGFuZCBhIHRlc3QgbW9kdWxlIGNvbXBpbGF0aW9uLgogICAgPC9wPjwvdGQ+PC90cj4KPC90YWJsZT48L2Rpdj4KPC9kaXY+Cjx0YWJsZSB4bWxuczpyZXY9Imh0dHA6Ly93d3cuY3MucnBpLmVkdS9+Z3JlZ29kL2Jvb3N0L3Rvb2xzL2RvYy9yZXZpc2lvbiIgd2lkdGg9IjEwMCUiPjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij48L3RkPgo8dGQgYWxpZ249InJpZ2h0Ij48ZGl2IGNsYXNzPSJjb3B5cmlnaHQtZm9vdGVyIj5Db3B5cmlnaHQgqSAyMDAxLTIwMDcgR2VubmFkaXkgUm96ZW50YWw8L2Rpdj48L3RkPgo8L3RyPjwvdGFibGU+Cjxocj4KPGRpdiBjbGFzcz0ic3Bpcml0LW5hdiI+CjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iLi4vdXNhZ2UtdmFyaWFudHMuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9wcmV2LnBuZyIgYWx0PSJQcmV2Ij48L2E+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSIuLi91c2FnZS12YXJpYW50cy5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3VwLnBuZyIgYWx0PSJVcCI+PC9hPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vLi4vLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9ob21lLnBuZyIgYWx0PSJIb21lIj48L2E+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJkeW5hbWljLWxpYi12YXJpYW50Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvbmV4dC5wbmciIGFsdD0iTmV4dCI+PC9hPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==