PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9hdXRobl9kYmQgLSBBcGFjaGUgSFRUUCBTZXJ2ZXI8L3RpdGxlPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik1haW4gc3R5bGVzaGVldCIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLXByaW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIHR5cGU9InRleHQvY3NzIiAvPgo8bGluayBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0ic2hvcnRjdXQgaWNvbiIgLz48L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPkFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuMzwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5naWYiIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAgU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MtcHJvamVjdC8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuMzwvYT4gJmd0OyA8YSBocmVmPSIuLyI+TW9kdWxlczwvYT48L2Rpdj4KPGRpdiBpZD0icGFnZS1jb250ZW50Ij4KPGRpdiBpZD0icHJlYW1ibGUiPjxoMT5BcGFjaGUgTW9kdWxlIG1vZF9hdXRobl9kYmQ8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfYXV0aG5fZGJkLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8dGFibGUgY2xhc3M9Im1vZHVsZSI+PHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+VXNlciBhdXRoZW50aWNhdGlvbiB1c2luZyBhbiBTUUwgZGF0YWJhc2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjTW9kdWxlSWRlbnRpZmllciI+TW9kdWxloElkZW50aWZpZXI6PC9hPjwvdGg+PHRkPmF1dGhuX2RiZF9tb2R1bGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTb3VyY2VGaWxlIj5Tb3VyY2WgRmlsZTo8L2E+PC90aD48dGQ+bW9kX2F1dGhuX2RiZC5jPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl0eTo8L2E+PC90aD48dGQ+QXZhaWxhYmxlIGluIEFwYWNoZSAyLjEgYW5kIGxhdGVyPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCiAgICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhdXRoZW50aWNhdGlvbiBmcm9udC1lbmRzIHN1Y2ggYXMKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9kaWdlc3QuaHRtbCI+bW9kX2F1dGhfZGlnZXN0PC9hPjwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9iYXNpYy5odG1sIj5tb2RfYXV0aF9iYXNpYzwvYT48L2NvZGU+CiAgICB0byBhdXRoZW50aWNhdGUgdXNlcnMgYnkgbG9va2luZyB1cCB1c2VycyBpbiBTUUwgdGFibGVzLgogICAgU2ltaWxhciBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkIGJ5LCBmb3IgZXhhbXBsZSwKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aG5fZmlsZS5odG1sIj5tb2RfYXV0aG5fZmlsZTwvYT48L2NvZGU+LjwvcD4KICAgIDxwPlRoaXMgbW9kdWxlIHJlbGllcyBvbiA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2RiZC5odG1sIj5tb2RfZGJkPC9hPjwvY29kZT4gdG8gc3BlY2lmeQogICAgdGhlIGJhY2tlbmQgZGF0YWJhc2UgZHJpdmVyIGFuZCBjb25uZWN0aW9uIHBhcmFtZXRlcnMsIGFuZAogICAgbWFuYWdlIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9ucy48L3A+CgogICAgPHA+V2hlbiB1c2luZyA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhfYmFzaWMuaHRtbCI+bW9kX2F1dGhfYmFzaWM8L2E+PC9jb2RlPiBvcgogICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoX2RpZ2VzdC5odG1sIj5tb2RfYXV0aF9kaWdlc3Q8L2E+PC9jb2RlPiwgdGhpcyBtb2R1bGUgaXMgaW52b2tlZCB2aWEgdGhlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhfYmFzaWMuaHRtbCNhdXRoYmFzaWNwcm92aWRlciI+QXV0aEJhc2ljUHJvdmlkZXI8L2E+PC9jb2RlPiBvcgogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoX2RpZ2VzdC5odG1sI2F1dGhkaWdlc3Rwcm92aWRlciI+QXV0aERpZ2VzdFByb3ZpZGVyPC9hPjwvY29kZT4KICAgIHdpdGggdGhlIDxjb2RlPmRiZDwvY29kZT4gdmFsdWUuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2F1dGhkYmR1c2VycHdxdWVyeSI+QXV0aERCRFVzZXJQV1F1ZXJ5PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2F1dGhkYmR1c2VycmVhbG1xdWVyeSI+QXV0aERCRFVzZXJSZWFsbVF1ZXJ5PC9hPjwvbGk+CjwvdWw+CjxoMz5Ub3BpY3M8L2gzPgo8dWwgaWQ9InRvcGljcyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2V4YW1wbGUiPkNvbmZpZ3VyYXRpb24gRXhhbXBsZTwvYT48L2xpPgo8L3VsPjxoMz5TZWUgYWxzbzwvaDM+Cjx1bCBjbGFzcz0ic2VlYWxzbyI+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2F1dGhuYW1lIj5BdXRoTmFtZTwvYT48L2NvZGU+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYXV0aHR5cGUiPkF1dGhUeXBlPC9hPjwvY29kZT48L2xpPgo8bGk+CiAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoX2Jhc2ljLmh0bWwjYXV0aGJhc2ljcHJvdmlkZXIiPkF1dGhCYXNpY1Byb3ZpZGVyPC9hPjwvY29kZT4KPC9saT4KPGxpPgogIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9kaWdlc3QuaHRtbCNhdXRoZGlnZXN0cHJvdmlkZXIiPkF1dGhEaWdlc3RQcm92aWRlcjwvYT48L2NvZGU+CjwvbGk+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2RiZC5odG1sI2RiZHJpdmVyIj5EQkRyaXZlcjwvYT48L2NvZGU+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGJkLmh0bWwjZGJkcGFyYW1zIj5EQkRQYXJhbXM8L2E+PC9jb2RlPjwvbGk+CjwvdWw+PC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImV4YW1wbGUiIGlkPSJleGFtcGxlIj5Db25maWd1cmF0aW9uIEV4YW1wbGU8L2E+PC9oMj4KCjxwPlRoaXMgc2ltcGxlIGV4YW1wbGUgc2hvd3MgdXNlIG9mIHRoaXMgbW9kdWxlIGluIHRoZSBjb250ZXh0IG9mCnRoZSBBdXRoZW50aWNhdGlvbiBhbmQgREJEIGZyYW1ld29ya3MuPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48cHJlPgojRGF0YWJhc2UgTWFuYWdlbWVudAoKI1VzZSB0aGUgUG9zdGdyZVNRTCBkcml2ZXIKPGNvZGU+REJEcml2ZXIgcGdzcWw8L2NvZGU+CgojQ29ubmVjdGlvbiBzdHJpbmc6IGRhdGFiYXNlIG5hbWUgYW5kIGxvZ2luIGNyZWRlbnRpYWxzCjxjb2RlPkRCRFBhcmFtcyAiZGJuYW1lPWh0cGFzc3dkIHVzZXI9YXBhY2hlIHBhc3M9eHh4eHh4IjwvY29kZT4KCiNQYXJhbWV0ZXJzIGZvciBDb25uZWN0aW9uIFBvb2wgTWFuYWdlbWVudAo8Y29kZT5EQkRNaW4gIDEKREJES2VlcCAyCkRCRE1heCAgMTAKREJERXhwdGltZSA2MDwvY29kZT4KCiNBdXRoZW50aWNhdGlvbiBTZWN0aW9uCjxjb2RlPiZsdDtEaXJlY3RvcnkgL3Vzci93d3cvbXlob3N0L3ByaXZhdGUmZ3Q7PC9jb2RlPgoKICAgICNtb2RfYXV0aCBjb25maWd1cmF0aW9uIGZvciBhdXRobl9kYmQKICAgIDxjb2RlPkF1dGhUeXBlIEJhc2ljCiAgICBBdXRoTmFtZSAiTXkgU2VydmVyIgogICAgQXV0aEJhc2ljUHJvdmlkZXIgZGJkPC9jb2RlPgoKICAgICNhdXRoeiBjb25maWd1cmF0aW9uCiAgICA8Y29kZT5SZXF1aXJlIHZhbGlkLXVzZXI8L2NvZGU+CgogICAgI1NRTCBxdWVyeSB0byB2ZXJpZnkgYSB1c2VyCiAgICAjKG5vdGU6IERCRCBkcml2ZXJzIHJlY29nbmlzZSBib3RoIHN0ZGlvLWxpa2UgJXMgYW5kIG5hdGl2ZSBzeW50YXgpCiAgICA8Y29kZT5BdXRoREJEVXNlclBXUXVlcnkgInNlbGVjdCBwYXNzd29yZCBmcm9tIGF1dGhuIHdoZXJlIHVzZXJuYW1lID0gJXMiCiZsdDsvRGlyZWN0b3J5Jmd0OzwvY29kZT4KPC9wcmU+PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJBdXRoREJEVXNlclBXUXVlcnkiIGlkPSJBdXRoREJEVXNlclBXUXVlcnkiPkF1dGhEQkRVc2VyUFdRdWVyeTwvYT4gPGEgbmFtZT0iYXV0aGRiZHVzZXJwd3F1ZXJ5IiBpZD0iYXV0aGRiZHVzZXJwd3F1ZXJ5Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5TUUwgcXVlcnkgdG8gbG9vayB1cCBhIHBhc3N3b3JkIGZvciBhIHVzZXI8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+QXV0aERCRFVzZXJQV1F1ZXJ5IDx2YXI+cXVlcnk8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+ZGlyZWN0b3J5PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5BdXRoQ29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfYXV0aG5fZGJkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+VGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkF1dGhEQkRVc2VyUFdRdWVyeTwvY29kZT4gc3BlY2lmaWVzIGFuCiAgICBTUUwgcXVlcnkgdG8gbG9vayB1cCBhIHBhc3N3b3JkIGZvciBhIHNwZWNpZmllZCB1c2VyLgogICAgVGhlIHF1ZXJ5IG11c3QgdGFrZSBhIHNpbmdsZSBzdHJpbmcgKHR5cGljYWxseSBTUUwgdmFyY2hhcikKICAgIGFyZ3VtZW50ICh1c2VybmFtZSksIGFuZCByZXR1cm4gYSBzaW5nbGUgdmFsdWUgKGVuY3J5cHRlZCBwYXNzd29yZCkuCiAgICA8L3A+CiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgIEF1dGhEQkRVc2VyUFdRdWVyeSAiU0VMRUNUIHBhc3N3b3JkIEZST00gYXV0aG4gV0hFUkUgdXNlcm5hbWUgPSAlcyIKICAgIDwvY29kZT48L3A+PC9kaXY+CgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkF1dGhEQkRVc2VyUmVhbG1RdWVyeSIgaWQ9IkF1dGhEQkRVc2VyUmVhbG1RdWVyeSI+QXV0aERCRFVzZXJSZWFsbVF1ZXJ5PC9hPiA8YSBuYW1lPSJhdXRoZGJkdXNlcnJlYWxtcXVlcnkiIGlkPSJhdXRoZGJkdXNlcnJlYWxtcXVlcnkiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNRTCBxdWVyeSB0byBsb29rIHVwIGEgcGFzc3dvcmQgaGFzaCBmb3IgYSB1c2VyIGFuZCByZWFsbS4KPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkF1dGhEQkRVc2VyUmVhbG1RdWVyeSA8dmFyPnF1ZXJ5PC92YXI+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2F1dGhuX2RiZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPlRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5BdXRoREJEVXNlclJlYWxtUFdRdWVyeTwvY29kZT4gc3BlY2lmaWVzIGFuCiAgICBTUUwgcXVlcnkgdG8gbG9vayB1cCBhIHBhc3N3b3JkIGZvciBhIHNwZWNpZmllZCB1c2VyIGFuZCByZWFsbS4KICAgIFRoZSBxdWVyeSBtdXN0IHRha2UgdHdvIHN0cmluZyAodHlwaWNhbGx5IFNRTCB2YXJjaGFyKSBhcmd1bWVudHMKICAgICh1c2VybmFtZSBhbmQgcmVhbG0pLCBhbmQgcmV0dXJuIGEgc2luZ2xlIHZhbHVlIChlbmNyeXB0ZWQgcGFzc3dvcmQpLgogICAgPC9wPgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICBBdXRoREJEVXNlclJlYWxtUFdRdWVyeSAiU0VMRUNUIHBhc3N3b3JkIEZST00gYXV0aG4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgdXNlcm5hbWUgPSAlcyBBTkQgcmVhbG0gPSAlcyIKICAgIDwvY29kZT48L3A+PC9kaXY+CgoKPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfYXV0aG5fZGJkLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAxOTk1LTIwMDUgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG9yIGl0cyBsaWNlbnNvcnMsIGFzIGFwcGxpY2FibGUuPGJyIC8+TGljZW5zZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+PC9kaXY+CjwvYm9keT48L2h0bWw+