PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vLi4vY29tLmlibS5oZWxwLmRvYy9zd2dfaW5mb19jb21tb24uY3NzIiAvPgo8dGl0bGU+SW1wb3J0aW5nIFdlYiBhcmNoaXZlIChXQVIpIGZpbGVzPC90aXRsZT4KPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CiAgICBmdW5jdGlvbiBwb3B1cF93aW5kb3coIHVybCwgaWQsIHdpZHRoLCBoZWlnaHQgKQogICAgewogICAgICBwb3B1cCA9IHdpbmRvdy5vcGVuKCB1cmwsIGlkLCAndG9vbGJhcj1ubyxzY3JvbGxiYXJzPW5vLGxvY2F0aW9uPW5vLHN0YXR1c2Jhcj1ubyxtZW51YmFyPW5vLHJlc2l6YWJsZT1ubyx3aWR0aD0nICsgd2lkdGggKyAnLGhlaWdodD0nICsgaGVpZ2h0ICsgJyxsZWZ0PSx0b3A9JyApOwogICAgICBwb3B1cC5mb2N1cygpOwogICAgfQo8L3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiBzcmM9ImhlbHAvbGl2ZUhlbHAuanMiPjwvc2NyaXB0PjwvaGVhZD4KPGJvZHkgaWQ9InR3aW1wd2FyIj48YSBuYW1lPSJ0d2ltcHdhciI+PCEtLSAtLT48L2E+Cgo8aDEgY2xhc3M9InRvcGljdGl0bGUxIj5JbXBvcnRpbmcgV2ViIGFyY2hpdmUgKFdBUikgZmlsZXM8L2gxPgo8ZGl2PjxwPkEgV2ViIEFyY2hpdmUgKFdBUikgZmlsZSBpcyBhIHBvcnRhYmxlLCBwYWNrYWdlZCBXZWIgYXBwbGljYXRpb24KCnRoYXQgeW91IGNhbiBpbXBvcnQgaW50byB5b3VyIHdvcmtzcGFjZS4gPC9wPgogPHA+IDxiPk5vdGU8L2I+OiBpZiB5b3Ugd2FudAoKdG8gd29yayB3aXRoIGFuIGV4aXN0aW5nIHdvcmtiZW5jaCBXZWIgcHJvamVjdCBvciBzaGFyZSBXZWIgcHJvamVjdHMsIHdlIGhpZ2hseQoKcmVjb21tZW5kIHRoYXQgeW91IHVzZSB0aGUgPGEgaHJlZj0iLi4vLi4vY29tLmlibS5ldG9vbHMuajJlZWFwcC5kb2MvdG9waWNzL3Rqc2hhcmluZy5odG1sIj4gUHJvamVjdCBJbnRlcmNoYW5nZTwvYT4gZmVhdHVyZSwgYXMgdGhpcyBmZWF0dXJlIHByZXNlcnZlcwoKYWxsIHlvdXIgbWV0YWRhdGEuICA8L3A+CjxwPiBCZWZvcmUgaW1wb3J0aW5nIGEgV0FSIGZpbGUsIHlvdSBzaG91bGQgZmlyc3QKCmRldGVybWluZSBpZiB0aGUgV0FSIGZpbGUgY29udGFpbnMgbmVlZGVkIEphdmGZIHNvdXJjZSBmaWxlcy4gV2hlbiBpbXBvcnRpbmcgYSBXQVIKCmZpbGUgaW50byBhbiBleGlzdGluZyBXZWIgcHJvamVjdCwgdGhlIGltcG9ydGVkIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IKCmZpbGVzIGFyZSBlaXRoZXIgbm90IGNoYW5nZWQgb3Igb3ZlcndyaXR0ZW4gYnkgdGhlIG9uZXMgaW5jbHVkZWQgaW4gdGhlIGltcG9ydGVkCgpXQVIgZmlsZSwgYmFzZWQgb24geW91ciByZXNwb25zZSB0byB0aGUgcHJvbXB0IHRoYXQgaXMgcHJvdmlkZWQuICBJbiBlaXRoZXIKCmNhc2UsIHRoaXMgYWN0aW9uIGRvZXMgPGk+bm90PC9pPiByZXByZXNlbnQgYSBtZXJnaW5nIG9mIHRoZSB0d28gc2V0cyBvZiBkZXBsb3ltZW50CgpkZXNjcmlwdG9ycy4gIDwvcD4KICA8cD5UbyBpbXBvcnQgdGhlIFdlYiBwcm9qZWN0IHJlc291cmNlcyBpbiBhIFdBUiBmaWxlIGludG8KCnlvdXIgd29ya3NwYWNlLCBjb21wbGV0ZSB0aGUgZm9sbG93aW5nIHN0ZXBzOjwvcD4KPC9kaXY+CjxvbD48bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+U2VsZWN0IDxzcGFuPjxzcGFuIGNsYXNzPSJtZW51Y2FzY2FkZSI+PHNwYW4gY2xhc3M9InVpY29udHJvbCI+RmlsZTwvc3Bhbj4gJmd0OyA8c3BhbiBjbGFzcz0idWljb250cm9sIj5JbXBvcnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj4uPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj4gSW4gdGhlIEltcG9ydCBkaWFsb2csIHNlbGVjdCA8c3Bhbj48c3BhbiBjbGFzcz0idWljb250cm9sIj5XQVIgZmlsZTwvc3Bhbj48L3NwYW4+IGFuZAoKdGhlbiBjbGljayA8c3Bhbj48c3BhbiBjbGFzcz0idWljb250cm9sIj5OZXh0PC9zcGFuPjwvc3Bhbj4uIDwvc3Bhbj48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+TG9jYXRlIHRoZSBXQVIgZmlsZSB0aGF0IHlvdSB3YW50IHRvIGltcG9ydCB1c2luZyB0aGUgPHNwYW4+PHNwYW4gY2xhc3M9InVpY29udHJvbCI+QnJvd3NlPC9zcGFuPjwvc3Bhbj4gYnV0dG9uLjwvc3Bhbj48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+IFRoZSB3aXphcmQgYXNzdW1lcyB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgV2ViIHByb2plY3Qgd2l0aCB0aGUKCnNhbWUgbmFtZSBhcyB0aGUgV0FSIGZpbGUuIElmIHlvdSBhY2NlcHQgdGhpcyBjaG9pY2UsIHRoZSBwcm9qZWN0IHdpbGwgYmUKCmNyZWF0ZWQgd2l0aCB0aGUgc2FtZSBzZXJ2bGV0IHZlcnNpb24gYXMgc3BlY2lmaWVkIGJ5IHRoZSBXQVIgZmlsZSBhbmQgaW4KCnRoZSBzYW1lIGxvY2F0aW9uLiBJZiB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGVzZSBzZXR0aW5ncywgeW91IGNhbiBjbGljayA8Yj5OZXc8L2I+IGFuZAoKc3BlY2lmeSB5b3VyIG5ldyBzZXR0aW5ncyBpbiB0aGUgRHluYW1pYyBXZWIgUHJvamVjdCB3aXphcmQuPC9zcGFuPiAgPHA+SWYKCnlvdSB3YW50IHRvIGltcG9ydCB0aGUgV0FSIGZpbGUgaW50byBhbiBleGlzdGluZyBXZWIgcHJvamVjdCwgeW91IGNhbiBzZWxlY3QKCnRoZSBwcm9qZWN0IGZyb20gdGhlIFdlYiBwcm9qZWN0IGRyb3AtZG93biBsaXN0LiBOb3RlIHRoYXQgaWYgeW91IHNlbGVjdCBhbgoKZXhpc3RpbmcgcHJvamVjdCwgeW91IG11c3QgZGVjaWRlIHdoZXRoZXIgeW91IHdhbnQgdG8gc2VsZWN0IHRoZSBzZXR0aW5nIHRvIDxiPm92ZXJ3cml0ZQoKZXhpc3RpbmcgcmVzb3VyY2VzIHdpdGhvdXQgd2FybmluZzwvYj48L3A+CjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5DbGljayA8c3Bhbj48c3BhbiBjbGFzcz0idWljb250cm9sIj5GaW5pc2g8L3NwYW4+PC9zcGFuPiB0byBwb3B1bGF0ZSB0aGUgV2ViCgpwcm9qZWN0Ljwvc3Bhbj48L2xpPgo8L29sPgo8IS0tIDxkaXY+PHA+PGIgY2xhc3M9InJlbGNvbmNlcHRzaGQiPlJlbGF0ZWQgY29uY2VwdHM8L2I+PGJyIC8+CjxhIGhyZWY9Ii4uLy4uL29yZy5lY2xpcHNlLndzdC53ZWJ0b29sc2NvcmUuZG9jLnVzZXIvdG9waWNzL2N3d2Fyb3ZyLmh0bWwiPldlYiBhcmNoaXZlIChXQVIpIGZpbGVzPC9hPjxiciAvPgo8YSBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3Qud3JkLmFubm90YXRpb24uZG9jLnVzZXIvdG9waWNzL2NvdmVydmlldy5odG1sIj5Bbm5vdGF0aW9uLWJhc2VkIHByb2dyYW1taW5nIG92ZXJ2aWV3PC9hPjxiciAvPgo8L3A+CjwvZGl2Pi0tPgo8cD4KCQkoQykgQ29weXJpZ2h0IElCTSBDb3Jwb3JhdGlvbiAyMDAwLCAyMDA1LiBBbGwgUmlnaHRzIFJlc2VydmVkLgoJCTwvcD4gCjwvYm9keT4KPC9odG1sPg==