PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9mY2dpZCAtIEFwYWNoZSBIVFRQIFNlcnZlcjwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+QXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi4yPC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLmdpZiIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+SFRUUCBTZXJ2ZXI8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuMjwvYT4gJmd0OyA8YSBocmVmPSIuLyI+TW9kdWxlczwvYT48L2Rpdj4KPGRpdiBpZD0icGFnZS1jb250ZW50Ij4KPGRpdiBpZD0icHJlYW1ibGUiPjxoMT5BcGFjaGUgTW9kdWxlIG1vZF9mY2dpZDwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9mY2dpZC5odG1sIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+PC9wPgo8L2Rpdj4KPHRhYmxlIGNsYXNzPSJtb2R1bGUiPjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlByb3ZpZGVzIGZvciBleGVjdXRpb24gb2YgRmFzdENHSSBhcHBsaWNhdGlvbnM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5Nb2R1bGWgSWRlbnRpZmllcjo8L2E+PC90aD48dGQ+ZmNnaWRfbW9kdWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU291cmNlRmlsZSI+U291cmNloEZpbGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZC5jPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl0eTo8L2E+PC90aD48dGQ+QXBhY2hlIDIuMCBhbmQgaGlnaGVyPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCiAgICA8cD5BbnkgcHJvZ3JhbSBhc3NpZ25lZCB0byB0aGUgaGFuZGxlciA8Y29kZT5mY2dpZC1zY3JpcHQ8L2NvZGU+IGlzIHByb2Nlc3NlZAogICAgdXNpbmcgdGhlIEZhc3RDR0kgcHJvdG9jb2w7IDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZmNnaWQuaHRtbCI+bW9kX2ZjZ2lkPC9hPjwvY29kZT4gc3RhcnRzIGEgc3VmZmljaWVudAogICAgbnVtYmVyIGluc3RhbmNlcyBvZiB0aGUgcHJvZ3JhbSB0byBoYW5kbGUgY29uY3VycmVudCByZXF1ZXN0cywgYW5kIHRoZXNlCiAgICBwcm9ncmFtcyByZW1haW4gcnVubmluZyB0byBoYW5kbGUgZnVydGhlciBpbmNvbWluZyByZXF1ZXN0cy4gIFRoaXMgaXMKICAgIHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gdXNpbmcgdGhlIGRlZmF1bHQgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9jZ2kuaHRtbCI+bW9kX2NnaTwvYT48L2NvZGU+IG9yCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2NnaWQuaHRtbCI+bW9kX2NnaWQ8L2E+PC9jb2RlPiBtb2R1bGVzIHRvIGxhdW5jaCB0aGUgcHJvZ3JhbSB1cG9uIGVhY2ggcmVxdWVzdC4KICAgIEhvd2V2ZXIsIHRoZSBwcm9ncmFtcyBpbnZva2VkIGJ5IDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZmNnaWQuaHRtbCI+bW9kX2ZjZ2lkPC9hPjwvY29kZT4gY29udGludWUgdG8KICAgIGNvbnN1bWUgcmVzb3VyY2VzLCBzbyB0aGUgYWRtaW5pc3RyYXRvciBtdXN0IHdlaWdoIHRoZSBpbXBhY3Qgb2YgaW52b2tpbmcKICAgIGEgcGFydGljdWxhciBwcm9ncmFtIG9uY2UgcGVyIHJlcXVlc3QgYWdhaW5zdCB0aGUgcmVzb3VyY2VzIHJlcXVpcmVkIHRvCiAgICBsZWF2ZSBhIHN1ZmZpY2llbnQgbnVtYmVyIG9mIGluc3RhbmNlcyBydW5uaW5nIGNvbnRpbnVvdXNseS48L3A+CgogICAgPHA+VGhlIHBvb2wgb2YgZmNnaWQtaW52b2tlZCBwcm9ncmFtcyBpcyBzaGFyZWQgYmV0d2VlbiBhbGwgaHR0cGQgd29ya2Vycy4KICAgIENvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcyBiZWxvdyBsZXQgdGhlIGFkbWluaXN0cmF0b3IgdHVuZSB0aGUgbnVtYmVyIG9mCiAgICBpbnN0YW5jZXMgb2YgdGhlIHByb2dyYW0gdGhhdCB3aWxsIHJ1biBjb25jdXJyZW50bHkuPC9wPgoKICAgIDxwPlNwZWNpZmljIGV4ZWN1dGFibGVzIGFyZSBhc3NpZ25lZCB0aGlzIGhhbmRsZXIgZWl0aGVyIGJ5IGhhdmluZyBhIG5hbWUgCiAgICBjb250YWluaW5nIGFuIGV4dGVuc2lvbiBkZWZpbmVkIGJ5IHRoZSAKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfbWltZS5odG1sI2FkZGhhbmRsZXIiPkFkZEhhbmRsZXI8L2E+PC9jb2RlPiBkaXJlY3RpdmUsIG9yIHdpdGggYW4KICAgIG92ZXJyaWRlIHVzaW5nIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX21pbWUuaHRtbCNzZXRoYW5kbGVyIj5TZXRIYW5kbGVyPC9hPjwvY29kZT4gCiAgICBkaXJlY3RpdmUgKGUuZy4sIGZvciBhbGwgZmlsZXMgaW4gYSBzcGVjaWZpYyBkaXJlY3Rvcnkgc3VjaCBhcyBjZ2ktYmluKS48L3A+CgogICAgPHA+U29tZSBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIGluIHRoZSBBU0YgcmVsZWFzZSBvZiBtb2RfZmNnaWQgd2hpY2gKICAgIGNhbiBhZmZlY3QgZXhpc3RpbmcgY29uZmlndXJhdGlvbnMuICBBbGwgZG9jdW1lbnRhdGlvbiByZWZlcnMgdG8gbmV3CiAgICBuYW1lcyBmb3IgdGhlIGRpcmVjdGl2ZXMuICAoVGhlIG9sZCBuYW1lcyBzdGlsbCB3b3JrIGJ1dCBhcmUgbm93IAogICAgZGVwcmVjYXRlZC4pICBQbGVhc2UgcmVhZCB0aGUgPGEgaHJlZj0iI3VwZ3JhZGUiPlVwZ3JhZGUgTm90ZXM8L2E+IGZvcgogICAgZGV0YWlscy48L3A+CgogICAgPHA+Rm9yIGFuIGludHJvZHVjdGlvbiB0byB1c2luZyBDR0kgc2NyaXB0cyB3aXRoIEFwYWNoZSwgc2VlCiAgICB0aGUgZ2VuZXJpYyB0dXRvcmlhbCBvbiA8YSBocmVmPSIuLi9ob3d0by9jZ2kuaHRtbCI+RHluYW1pYyBDb250ZW50CiAgICBXaXRoIENHSTwvYT4uPC9wPgoKICA8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkYWNjZXNzY2hlY2tlciI+RmNnaWRBY2Nlc3NDaGVja2VyPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkYWNjZXNzY2hlY2tlcmF1dGhvcml0YXRpdmUiPkZjZ2lkQWNjZXNzQ2hlY2tlckF1dGhvcml0YXRpdmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRhdXRoZW50aWNhdG9yIj5GY2dpZEF1dGhlbnRpY2F0b3I8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRhdXRoZW50aWNhdG9yYXV0aG9yaXRhdGl2ZSI+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGF1dGhvcml6ZXIiPkZjZ2lkQXV0aG9yaXplcjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGF1dGhvcml6ZXJhdXRob3JpdGF0aXZlIj5GY2dpZEF1dGhvcml6ZXJBdXRob3JpdGF0aXZlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkYnVzeXNjYW5pbnRlcnZhbCI+RmNnaWRCdXN5U2NhbkludGVydmFsPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkYnVzeXRpbWVvdXQiPkZjZ2lkQnVzeVRpbWVvdXQ8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRjbWRvcHRpb25zIj5GY2dpZENtZE9wdGlvbnM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRjb25uZWN0dGltZW91dCI+RmNnaWRDb25uZWN0VGltZW91dDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGVycm9yc2NhbmludGVydmFsIj5GY2dpZEVycm9yU2NhbkludGVydmFsPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkZml4cGF0aGluZm8iPkZjZ2lkRml4UGF0aGluZm88L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRpZGxlc2NhbmludGVydmFsIj5GY2dpZElkbGVTY2FuSW50ZXJ2YWw8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRpZGxldGltZW91dCI+RmNnaWRJZGxlVGltZW91dDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGluaXRpYWxlbnYiPkZjZ2lkSW5pdGlhbEVudjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGlvdGltZW91dCI+RmNnaWRJT1RpbWVvdXQ8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRpcGNkaXIiPkZjZ2lkSVBDRGlyPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkbWF4cHJvY2Vzc2VzIj5GY2dpZE1heFByb2Nlc3NlczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZG1heHByb2Nlc3Nlc3BlcmNsYXNzIj5GY2dpZE1heFByb2Nlc3Nlc1BlckNsYXNzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdGlubWVtIj5GY2dpZE1heFJlcXVlc3RJbk1lbTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZG1heHJlcXVlc3RsZW4iPkZjZ2lkTWF4UmVxdWVzdExlbjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZG1heHJlcXVlc3RzcGVycHJvY2VzcyI+RmNnaWRNYXhSZXF1ZXN0c1BlclByb2Nlc3M8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRtaW5wcm9jZXNzZXNwZXJjbGFzcyI+RmNnaWRNaW5Qcm9jZXNzZXNQZXJDbGFzczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZG91dHB1dGJ1ZmZlcnNpemUiPkZjZ2lkT3V0cHV0QnVmZmVyU2l6ZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHBhc3NoZWFkZXIiPkZjZ2lkUGFzc0hlYWRlcjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHByb2Nlc3NsaWZldGltZSI+RmNnaWRQcm9jZXNzTGlmZVRpbWU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRwcm9jZXNzdGFibGVmaWxlIj5GY2dpZFByb2Nlc3NUYWJsZUZpbGU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JlIj5GY2dpZFNwYXduU2NvcmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JldXBsaW1pdCI+RmNnaWRTcGF3blNjb3JlVXBMaW1pdDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHRlcm1pbmF0aW9uc2NvcmUiPkZjZ2lkVGVybWluYXRpb25TY29yZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHRpbWVzY29yZSI+RmNnaWRUaW1lU2NvcmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWR3cmFwcGVyIj5GY2dpZFdyYXBwZXI8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWR6b21iaWVzY2FuaW50ZXJ2YWwiPkZjZ2lkWm9tYmllU2NhbkludGVydmFsPC9hPjwvbGk+CjwvdWw+CjxoMz5Ub3BpY3M8L2gzPgo8dWwgaWQ9InRvcGljcyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3VwZ3JhZGUiPlVwZ3JhZGUgTm90ZXM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZXhhbXBsZXMiPkV4YW1wbGVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3Byb2Nlc3MtbWdtdCI+UHJvY2VzcyBNYW5hZ2VtZW50PC9hPjwvbGk+CjwvdWw+PGgzPlNlZSBhbHNvPC9oMz4KPHVsIGNsYXNzPSJzZWVhbHNvIj4KPGxpPjxhIGhyZWY9Ii4uL2hvd3RvL2NnaS5odG1sIj5EeW5hbWljIENvbnRlbnQgV2l0aCBDR0k8L2E+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfY2dpLmh0bWwiPm1vZF9jZ2k8L2E+PC9jb2RlPjwvbGk+CjxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2NnaWQuaHRtbCI+bW9kX2NnaWQ8L2E+PC9jb2RlPjwvbGk+CjwvdWw+PC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InVwZ3JhZGUiIGlkPSJ1cGdyYWRlIj5VcGdyYWRlIE5vdGVzPC9hPjwvaDI+CiAgICAKICAgIDxwPlRoZSBmb2xsb3dpbmcgY2hhbmdlcyBoYXZlIGJlZW4gbWFkZSBpbiB0aGUgQVNGIHJlbGVhc2Ugb2YgbW9kX2ZjZ2lkCiAgICBhbmQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgd2hlbiB1cGdyYWRpbmcgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbiBieQogICAgUnlhbiBQYW4gKFBhbiBRaW5nZmVuZykuCiAgICA8dWw+CiAgICAgIDxsaT5BbGwgZGlyZWN0aXZlcyBoYXZlIGJlZW4gcmVuYW1lZCBpbiBvcmRlciB0byB1c2UgYSBjb21tb24gcHJlZml4ICJGY2dpZCIuCiAgICAgIFVuZGVyc2NvcmVzIGluIGRpcmVjdGl2ZSBuYW1lcyBoYXZlIGJlZW4gZWxpbWluYXRlZCBpbiBmYXZvciBvZgogICAgICBDYW1lbENhc2UuIFRoZSBvbGQgZGlyZWN0aXZlIG5hbWVzIHdpbGwgc3RpbGwgd29yayBidXQgYXJlIGRlcHJlY2F0ZWQuCiAgICAgIFRvIGZpeCB5b3VyIGNvbmZpZ3VyYXRpb24geW91IGNhbiB1c2UgdGhlIHNlZCBzY3JpcHQgYnVpbGQvZml4Y29uZi5zZWQuCiAgICAgIFRoZSBmb2xsb3dpbmcgdGFibGUgY29udGFpbnMgb2xkIGFuZCBuZXcgZGlyZWN0aXZlIG5hbWVzOgogICAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPk9sZCBOYW1lPC90aD48dGg+TmV3IE5hbWU8L3RoPjwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5CdXN5U2NhbkludGVydmFsPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkYnVzeXNjYW5pbnRlcnZhbCI+RmNnaWRCdXN5U2NhbkludGVydmFsPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5CdXN5VGltZW91dDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGJ1c3l0aW1lb3V0Ij5GY2dpZEJ1c3lUaW1lb3V0PC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5EZWZhdWx0SW5pdEVudjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGluaXRpYWxlbnYiPkZjZ2lkSW5pdGlhbEVudjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RGVmYXVsdE1heENsYXNzUHJvY2Vzc0NvdW50PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkRlZmF1bHRNaW5DbGFzc1Byb2Nlc3NDb3VudDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1pbnByb2Nlc3Nlc3BlcmNsYXNzIj5GY2dpZE1pblByb2Nlc3Nlc1BlckNsYXNzPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5FcnJvclNjYW5JbnRlcnZhbDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGVycm9yc2NhbmludGVydmFsIj5GY2dpZEVycm9yU2NhbkludGVydmFsPC9hPjwvY29kZT48L3RkPiAKICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RmFzdENnaUFjY2Vzc0NoZWNrZXI8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRhY2Nlc3NjaGVja2VyIj5GY2dpZEFjY2Vzc0NoZWNrZXI8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkZhc3RDZ2lBY2Nlc3NDaGVja2VyQXV0aG9yaXRhdGl2ZTwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGFjY2Vzc2NoZWNrZXJhdXRob3JpdGF0aXZlIj5GY2dpZEFjY2Vzc0NoZWNrZXJBdXRob3JpdGF0aXZlPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GYXN0Q2dpQXV0aGVudGljYXRvcjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGF1dGhlbnRpY2F0b3IiPkZjZ2lkQXV0aGVudGljYXRvcjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RmFzdENnaUF1dGhlbnRpY2F0b3JBdXRob3JpdGF0aXZlPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkYXV0aGVudGljYXRvcmF1dGhvcml0YXRpdmUiPkZjZ2lkQXV0aGVudGljYXRvckF1dGhvcml0YXRpdmU8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkZhc3RDZ2lBdXRob3JpemVyPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkYXV0aG9yaXplciI+RmNnaWRBdXRob3JpemVyPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GYXN0Q2dpQXV0aG9yaXplckF1dGhvcml0YXRpdmU8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRhdXRob3JpemVyYXV0aG9yaXRhdGl2ZSI+RmNnaWRBdXRob3JpemVyQXV0aG9yaXRhdGl2ZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RkNHSVdyYXBwZXI8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWR3cmFwcGVyIj5GY2dpZFdyYXBwZXI8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPklkbGVTY2FuSW50ZXJ2YWw8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxlc2NhbmludGVydmFsIj5GY2dpZElkbGVTY2FuSW50ZXJ2YWw8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPklkbGVUaW1lb3V0PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaWRsZXRpbWVvdXQiPkZjZ2lkSWRsZVRpbWVvdXQ8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPklQQ0NvbW1UaW1lb3V0PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaW90aW1lb3V0Ij5GY2dpZElPVGltZW91dDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+SVBDQ29ubmVjdFRpbWVvdXQ8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRjb25uZWN0dGltZW91dCI+RmNnaWRDb25uZWN0VGltZW91dDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+TWF4UHJvY2Vzc0NvdW50PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cHJvY2Vzc2VzIj5GY2dpZE1heFByb2Nlc3NlczwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+TWF4UmVxdWVzdEluTWVtPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdGlubWVtIj5GY2dpZE1heFJlcXVlc3RJbk1lbTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+TWF4UmVxdWVzdExlbjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1heHJlcXVlc3RsZW4iPkZjZ2lkTWF4UmVxdWVzdExlbjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+TWF4UmVxdWVzdHNQZXJQcm9jZXNzPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdHNwZXJwcm9jZXNzIj5GY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzczwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+T3V0cHV0QnVmZmVyU2l6ZTwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG91dHB1dGJ1ZmZlcnNpemUiPkZjZ2lkT3V0cHV0QnVmZmVyU2l6ZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+UGFzc0hlYWRlcjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHBhc3NoZWFkZXIiPkZjZ2lkUGFzc0hlYWRlcjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+UEhQX0ZpeF9QYXRoaW5mb19FbmFibGU8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRmaXhwYXRoaW5mbyI+RmNnaWRGaXhQYXRoaW5mbzwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+UHJvY2Vzc0xpZmVUaW1lPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkcHJvY2Vzc2xpZmV0aW1lIj5GY2dpZFByb2Nlc3NMaWZlVGltZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+U2hhcmVtZW1QYXRoPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkcHJvY2Vzc3RhYmxlZmlsZSI+RmNnaWRQcm9jZXNzVGFibGVGaWxlPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5Tb2NrZXRQYXRoPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaXBjZGlyIj5GY2dpZElQQ0RpcjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+U3Bhd25TY29yZTwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmUiPkZjZ2lkU3Bhd25TY29yZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+U3Bhd25TY29yZVVwTGltaXQ8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JldXBsaW1pdCI+RmNnaWRTcGF3blNjb3JlVXBMaW1pdDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+VGVybWluYXRpb25TY29yZTwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHRlcm1pbmF0aW9uc2NvcmUiPkZjZ2lkVGVybWluYXRpb25TY29yZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+VGltZVNjb3JlPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkdGltZXNjb3JlIj5GY2dpZFRpbWVTY29yZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Wm9tYmllU2NhbkludGVydmFsPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkem9tYmllc2NhbmludGVydmFsIj5GY2dpZFpvbWJpZVNjYW5JbnRlcnZhbDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8L3RhYmxlPgogICAgICA8L2xpPgogICAgPC91bD4KICAgIDwvcD4KCiAgPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZXhhbXBsZXMiIGlkPSJleGFtcGxlcyI+RXhhbXBsZXM8L2E+PC9oMj4KICAgIAoKICAgIDxkaXYgY2xhc3M9Im5vdGUiPjxoMz5Ob3RlPC9oMz4KICAgIDxwPlRoZSBleGFtcGxlcyBhc3N1bWUgdGhhdCBtb2RfZmNnaWQgYW5kIG90aGVyIG5lY2Vzc2FyeQogICAgbW9kdWxlcyBhcmUgbG9hZGVkIGludG8gdGhlIHNlcnZlciBhbHJlYWR5LCBlaXRoZXIgYnVpbHQtaW4gb3IgCiAgICB2aWEgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc28uaHRtbCNsb2FkbW9kdWxlIj5Mb2FkTW9kdWxlPC9hPjwvY29kZT4KICAgIGRpcmVjdGl2ZS48L3A+CgogICAgPHA+QWRkaXRpb25hbGx5LCB0aGUgZXhhbXBsZSBjb25maWd1cmF0aW9ucyBwcm92aWRlIGZ1bGwgYWNjZXNzCiAgICB0byB0aGUgYXBwbGljYXRpb25zIHVzaW5nIGFjY2VzcyBjb250cm9sIGRpcmVjdGl2ZXMgd2hpY2ggd29yayAKICAgIHdpdGggQXBhY2hlIDIuMCBhbmQgMi4yLiAgVGhlc2UgZGlyZWN0aXZlcyBhcmUgbm90IGFwcHJvcHJpYXRlCiAgICBmb3IgYWxsIGVudmlyb25tZW50cywgYW5kIHRoZXkgZG8gbm90IHdvcmsgZm9yIGRldmVsb3BtZW50CiAgICBsZXZlbHMgb2YgQXBhY2hlIEhUVFAgU2VydmVyIChTdWJ2ZXJzaW9uIHRydW5rKS48L3A+CiAgICA8L2Rpdj4KCiAgICA8cD5UaGUgZmlyc3QgZXhhbXBsZSBpcyBhIHZlcnkgc2ltcGxlIFBlcmwgRmFzdENHSSBhcHBsaWNhdGlvbiwKICAgIGFuZCBpdHMgY29uZmlndXJhdGlvbiBkaXJlY3RpdmVzLiAgVGhpcyBpcyB0eXBpY2FsIGZvciBGYXN0Q0dJCiAgICBhcHBsaWNhdGlvbnMgd2hpY2ggcmVxdWlyZSBubyBzcGVjaWFsIGNvbmZpZ3VyYXRpb24uPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5QZXJsIEZhc3RDR0kgYXBwbGljYXRpb24gLSAvdXNyL2xvY2FsL2FwYWNoZS9mY2dpLWJpbi9mb28ucGw8L2gzPjxwPjxjb2RlPgogICAgIyEvdXNyL2Jpbi9wZXJsPGJyIC8+CiAgICB1c2UgQ0dJOjpGYXN0OzxiciAvPgogICAgPGJyIC8+CiAgICB3aGlsZSAobXkgJHEgPSBDR0k6OkZhc3QtJmd0O25ldykgezxiciAvPgogICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgICAgcHJpbnQoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpblxuXG4iKTs8YnIgLz4KICAgICAgICBmb3JlYWNoICR2YXIgKHNvcnQoa2V5cyglRU5WKSkpIHs8YnIgLz4KICAgICAgICA8c3BhbiBjbGFzcz0iaW5kZW50Ij4KICAgICAgICAgICAgJHZhbCA9ICRFTlZ7JHZhcn07PGJyIC8+CiAgICAgICAgICAgICR2YWwgPX4gc3xcbnxcXG58Zzs8YnIgLz4KICAgICAgICAgICAgJHZhbCA9fiBzfCJ8XFwifGc7PGJyIC8+CiAgICAgICAgICAgIHByaW50ICIke3Zhcn09XCIke3ZhbH1cIlxuIjs8YnIgLz4KICAgICAgICA8L3NwYW4+CiAgICAgICAgfTxiciAvPgogICAgPC9zcGFuPgogICAgfTxiciAvPgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+Q29uZmlndXJhdGlvbiBkaXJlY3RpdmVzPC9oMz48cD48Y29kZT4KICAgICZsdDtEaXJlY3RvcnkgL3Vzci9sb2NhbC9hcGFjaGUvZmNnaS1iaW4vJmd0OzxiciAvPgogICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgIFNldEhhbmRsZXIgZmNnaWQtc2NyaXB0PGJyIC8+CiAgICAgIE9wdGlvbnMgK0V4ZWNDR0k8YnIgLz4KICAgICAgPGJyIC8+CiAgICAgICMgQ3VzdG9taXplIHRoZSBuZXh0IHR3byBkaXJlY3RpdmVzIGZvciB5b3VyIHJlcXVpcmVtZW50cy48YnIgLz4KICAgICAgT3JkZXIgYWxsb3csZGVueTxiciAvPgogICAgICBBbGxvdyBmcm9tIGFsbDxiciAvPgogICAgPC9zcGFuPgogICAgJmx0Oy9EaXJlY3RvcnkmZ3Q7PGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPlBIUCBhcHBsaWNhdGlvbnMgYXJlIHVzdWFsbHkgY29uZmlndXJlZCB1c2luZyB0aGUKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHdyYXBwZXIiPkZjZ2lkV3JhcHBlcjwvYT48L2NvZGU+IGRpcmVjdGl2ZQogICAgYW5kIGEgY29ycmVzcG9uZGluZyB3cmFwcGVyIHNjcmlwdC4gIFRoZSB3cmFwcGVyIHNjcmlwdCBjYW4gYmUgCiAgICBhbiBhcHByb3ByaWF0ZSBwbGFjZSB0byBkZWZpbmUgYW55IGVudmlyb25tZW50IHZhcmlhYmxlcyByZXF1aXJlZAogICAgYnkgdGhlIGFwcGxpY2F0aW9uLCBzdWNoIGFzIDxjb2RlPlBIUF9GQ0dJX01BWF9SRVFVRVNUUzwvY29kZT4KICAgIG9yIGFueXRoaW5nIGVsc2UuICAoRW52aXJvbm1lbnQgdmFyaWFibGVzIGNhbiBhbHNvIGJlIHNldCB3aXRoCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpbml0aWFsZW52Ij5GY2dpZEluaXRpYWxFbnY8L2E+PC9jb2RlPiwKICAgIGJ1dCB0aGV5IHRoZW4gYXBwbHkgdG8gYWxsIGFwcGxpY2F0aW9ucy4pPC9wPgoKICAgIDxwPkhlcmUgaXMgYW4gZXhhbXBsZSB0aGF0IHVzZXMgYSB3cmFwcGVyIHNjcmlwdCB0byBpbnZva2UgUEhQOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+UEhQIGFwcGxpY2F0aW9uIC0gL3Vzci9sb2NhbC9waHBhcHAvcGhwaW5mby5waHA8L2gzPjxwPjxjb2RlPgogICAgJmx0Oz9waHA8YnIgLz4KICAgIDxzcGFuIGNsYXNzPSJpbmRlbnQiPgogICAgICBwaHBpbmZvKCk7PGJyIC8+CiAgICA8L3NwYW4+CiAgICA/Jmd0OzxiciAvPgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+Q29uZmlndXJhdGlvbiBkaXJlY3RpdmVzPC9oMz48cD48Y29kZT4KICAgICMgRmNnaWRNYXhSZXF1ZXN0c1BlclByb2Nlc3Mgc2hvdWxkIGJlICZsdDs9IFBIUF9GQ0dJX01BWF9SRVFVRVNUUzxiciAvPgogICAgIyBUaGUgZXhhbXBsZSBQSFAgd3JhcHBlciBzY3JpcHQgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IFBIUCBzZXR0aW5nLjxiciAvPgogICAgRmNnaWRNYXhSZXF1ZXN0c1BlclByb2Nlc3MgMTAwMDA8YnIgLz4KICAgIDxiciAvPgogICAgIyBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIGlmIGNnaS5maXhfcGF0aGluZm8gaXMgc2V0IHRvIDEgaW48YnIgLz4KICAgICMgcGhwLmluaTo8YnIgLz4KICAgICMgRmNnaWRGaXhQYXRoaW5mbyAxPGJyIC8+CiAgICA8YnIgLz4KICAgIEFsaWFzIC9waHBhcHAvIC91c3IvbG9jYWwvcGhwYXBwLzxiciAvPgogICAgJmx0O0xvY2F0aW9uIC9waHBhcHAvJmd0OzxiciAvPgogICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgIEFkZEhhbmRsZXIgZmNnaWQtc2NyaXB0IC5waHA8YnIgLz4KICAgICAgT3B0aW9ucyArRXhlY0NHSTxiciAvPgogICAgICBGY2dpZFdyYXBwZXIgL3Vzci9sb2NhbC9iaW4vcGhwLXdyYXBwZXIgLnBocDxiciAvPgogICAgICA8YnIgLz4KICAgICAgIyBDdXN0b21pemUgdGhlIG5leHQgdHdvIGRpcmVjdGl2ZXMgZm9yIHlvdXIgcmVxdWlyZW1lbnRzLjxiciAvPgogICAgICBPcmRlciBhbGxvdyxkZW55PGJyIC8+CiAgICAgIEFsbG93IGZyb20gYWxsPGJyIC8+CiAgICA8L3NwYW4+CiAgICAmbHQ7L0xvY2F0aW9uJmd0OzxiciAvPgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+UEhQIHdyYXBwZXIgc2NyaXB0IC0gL3Vzci9sb2NhbC9iaW4vcGhwLXdyYXBwZXI8L2gzPjxwPjxjb2RlPgogICAgIyEvYmluL3NoPGJyIC8+CiAgICAjIFNldCBkZXNpcmVkIFBIUF9GQ0dJXyogZW52aXJvbm1lbnQgdmFyaWFibGVzLjxiciAvPgogICAgIyBFeGFtcGxlOjxiciAvPgogICAgIyBQSFAgRmFzdENHSSBwcm9jZXNzZXMgZXhpdCBhZnRlciA1MDAgcmVxdWVzdHMgYnkgZGVmYXVsdC48YnIgLz4KICAgIFBIUF9GQ0dJX01BWF9SRVFVRVNUUz0xMDAwMDxiciAvPgogICAgZXhwb3J0IFBIUF9GQ0dJX01BWF9SRVFVRVNUUzxiciAvPgogICAgPGJyIC8+CiAgICAjIFJlcGxhY2Ugd2l0aCB0aGUgcGF0aCB0byB5b3VyIEZhc3RDR0ktZW5hYmxlZCBQSFAgZXhlY3V0YWJsZTxiciAvPgogICAgZXhlYyAvdXNyL2xvY2FsL2Jpbi9waHAtY2dpPGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im5vdGUiPjxoMz5TcGVjaWFsIFBIUCBjb25zaWRlcmF0aW9uczwvaDM+CiAgICA8cD5CeSBkZWZhdWx0LCBQSFAgRmFzdENHSSBwcm9jZXNzZXMgZXhpdCBhZnRlciBoYW5kbGluZyA1MDAKICAgIHJlcXVlc3RzLCBhbmQgdGhleSBtYXkgZXhpdCBhZnRlciB0aGlzIG1vZHVsZSBoYXMgYWxyZWFkeQogICAgY29ubmVjdGVkIHRvIHRoZSBhcHBsaWNhdGlvbiBhbmQgc2VudCB0aGUgbmV4dCByZXF1ZXN0LiAgV2hlbiB0aGF0CiAgICBvY2N1cnMsIGFuIGVycm9yIHdpbGwgYmUgbG9nZ2VkIGFuZCA8Y29kZT41MDAgSW50ZXJuYWwgU2VydmVyCiAgICBFcnJvcjwvY29kZT4gd2lsbCBiZSByZXR1cm5lZCB0byB0aGUgY2xpZW50LiAgVGhpcyBQSFAgYmVoYXZpb3IKICAgIGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIDxjb2RlPlBIUF9GQ0dJX01BWF9SRVFVRVNUUzwvY29kZT4gdG8KICAgIDAsIGJ1dCB0aGF0IGNhbiBiZSBhIHByb2JsZW0gaWYgdGhlIFBIUCBhcHBsaWNhdGlvbiBsZWFrcwogICAgcmVzb3VyY2VzLiAgQWx0ZXJuYXRpdmVseSwgPGNvZGU+UEhQX0ZDR0lfTUFYX1JFUVVFU1RTPC9jb2RlPiBjYW4KICAgIGJlIHNldCB0byBhIG11Y2ggaGlnaGVyIHZhbHVlIHRoYW4gdGhlIGRlZmF1bHQgdG8gcmVkdWNlIHRoZQogICAgZnJlcXVlbmN5IG9mIHRoaXMgcHJvYmxlbS4KICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1heHJlcXVlc3RzcGVycHJvY2VzcyI+RmNnaWRNYXhSZXF1ZXN0c1BlclByb2Nlc3M8L2E+PC9jb2RlPgogICAgY2FuIGJlIHNldCB0byBhIHZhbHVlIGxlc3MgdGhhbiBvciBlcXVhbCB0bwogICAgPGNvZGU+UEhQX0ZDR0lfTUFYX1JFUVVFU1RTPC9jb2RlPiB0byByZXNvbHZlIHRoZSBwcm9ibGVtLjwvcD4KCiAgICA8cD5QSFAgY2hpbGQgcHJvY2VzcyBtYW5hZ2VtZW50ICg8Y29kZT5QSFBfRkNHSV9DSElMRFJFTjwvY29kZT4pCiAgICBzaG91bGQgYWx3YXlzIGJlIGRpc2FibGVkIHdpdGggbW9kX2ZjZ2lkLCB3aGljaCB3aWxsIG9ubHkgcm91dGUKICAgIG9uZSByZXF1ZXN0IGF0IGEgdGltZSB0byBhcHBsaWNhdGlvbiBwcm9jZXNzZXMgaXQgaGFzIHNwYXduZWQ7CiAgICB0aHVzLCBhbnkgY2hpbGQgcHJvY2Vzc2VzIGNyZWF0ZWQgYnkgUEhQIHdpbGwgbm90IGJlIHVzZWQKICAgIGVmZmVjdGl2ZWx5LiAgKEFkZGl0aW9uYWxseSwgdGhlIFBIUCBjaGlsZCBwcm9jZXNzZXMgbWF5IG5vdCBiZSAKICAgIHRlcm1pbmF0ZWQgcHJvcGVybHkuKSBCeSBkZWZhdWx0LCBhbmQgd2l0aCB0aGUgZW52aXJvbm1lbnQKICAgIHZhcmlhYmxlIHNldHRpbmcgPGNvZGU+UEhQX0ZDR0lfQ0hJTERSRU49MDwvY29kZT4sIFBIUCBjaGlsZAogICAgcHJvY2VzcyBtYW5hZ2VtZW50IGlzIGRpc2FibGVkLjwvcD4KCiAgICA8cD5UaGUgcG9wdWxhciBBUEMgb3Bjb2RlIGNhY2hlIGZvciBQSFAgY2Fubm90IHNoYXJlIGEgY2FjaGUKICAgIGJldHdlZW4gUEhQIEZhc3RDR0kgcHJvY2Vzc2VzIHVubGVzcyBQSFAgbWFuYWdlcyB0aGUgY2hpbGQKICAgIHByb2Nlc3Nlcy4gIFRodXMsIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHRoZSBjYWNoZSBpcyBsaW1pdGVkIHdpdGgKICAgIG1vZF9mY2dpZDsgY29uY3VycmVudCBQSFAgcmVxdWVzdHMgd2lsbCB1c2UgZGlmZmVyZW50IG9wY29kZQogICAgY2FjaGVzLjwvcD4KICAgIDwvZGl2PgoKICA8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJwcm9jZXNzLW1nbXQiIGlkPSJwcm9jZXNzLW1nbXQiPlByb2Nlc3MgTWFuYWdlbWVudDwvYT48L2gyPgogICAgCgogICAgPHA+bW9kX2ZjZ2lkIGhhcyBzZXZlcmFsIHR5cGVzIG9mIGNvbnRyb2xzIHdoaWNoIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgIG9mIGFkZGl0aW9uYWwgYXBwbGljYXRpb24gcHJvY2Vzc2VzOjwvcD4KCiAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPlR5cGUgb2YgY29udHJvbDwvdGg+PHRoPkRpcmVjdGl2ZTwvdGg+PC90cj4KPHRyPgogICAgICAgIDx0ZD5nbG9iYWwgbGltaXQgb24gbnVtYmVyIG9mIHByb2Nlc3NlczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1heHByb2Nlc3NlcyI+RmNnaWRNYXhQcm9jZXNzZXM8L2E+PC9jb2RlPjwvdGQ+CiAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICA8dGQ+bGltaXQgb24gbnVtYmVyIG9mIHByb2Nlc3NlcyBwZXIgYXBwbGljYXRpb248L3RkPgogICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhwcm9jZXNzZXNwZXJjbGFzcyI+RmNnaWRNYXhQcm9jZXNzZXNQZXJDbGFzczwvYT48L2NvZGU+PC90ZD4KICAgICAgPC90cj4KPHRyPgogICAgICAgIDx0ZD5saW1pdCBvbiByYXRlIG9mIHNwYXduaW5nIG5ldyBhcHBsaWNhdGlvbiBwcm9jZXNzZXM8L3RkPgogICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JldXBsaW1pdCI+RmNnaWRTcGF3blNjb3JlVXBMaW1pdDwvYT48L2NvZGU+IGFuZAogICAgICAgIG90aGVyIHNjb3JlLXJlbGF0ZWQgZGlyZWN0aXZlczwvdGQ+CiAgICAgIDwvdHI+CjwvdGFibGU+CgogICAgPHA+bW9kX2ZjZ2lkIGhhcyBzZXZlcmFsIHR5cGVzIG9mIGNvbnRyb2xzIHdoaWNoIGFmZmVjdCB0aGUgdGVybWluYXRpb24KICAgIG9mIGV4aXN0aW5nIGFwcGxpY2F0aW9uIHByb2Nlc3Nlczo8L3A+CgogICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5UeXBlIG9mIGNvbnRyb2w8L3RoPjx0aD5EaXJlY3RpdmU8L3RoPjwvdHI+Cjx0cj4KICAgICAgICA8dGQ+dGVybWluYXRpb24gYWZ0ZXIgYW4gaWRsZSBwZXJpb2Q8L3RkPgogICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxldGltZW91dCI+RmNnaWRJZGxlVGltZW91dDwvYT48L2NvZGU+PC90ZD4KICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgIDx0ZD50ZXJtaW5hdGlvbiBhZnRlciBpdCBoYW5kbGVzIGEgY2VydGFpbiBudW1iZXIgb2YgcmVxdWVzdHM8L3RkPgogICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhyZXF1ZXN0c3BlcnByb2Nlc3MiPkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzPC9hPjwvY29kZT48L3RkPgogICAgICA8L3RyPgo8dHI+CiAgICAgICAgPHRkPnRlcm1pbmF0aW9uIGFmdGVyIGEgY2VydGFpbiBsaWZldGltZTwvdGQ+CiAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHByb2Nlc3NsaWZldGltZSI+RmNnaWRQcm9jZXNzTGlmZXRpbWU8L2E+PC9jb2RlPjwvdGQ+CiAgICAgIDwvdHI+CjwvdGFibGU+CgogICAgPHA+U2V2ZXJhbCBvZiB0aGUgZGlyZWN0aXZlcyBjb250cm9sIHByb2Nlc3NpbmcgZm9yIGEgPGVtPnByb2Nlc3MgCiAgICBjbGFzczwvZW0+LiAgQSBwcm9jZXNzIGNsYXNzIGlzIHRoZSBzZXQgb2YgcHJvY2Vzc2VzIHdoaWNoIHdlcmUgc3RhcnRlZCAKICAgIHdpdGggdGhlIHNhbWUgZXhlY3V0YWJsZSBmaWxlIGFuZCBzaGFyZSBjZXJ0YWluIG90aGVyIGNoYXJhY3RlcmlzdGljcyBzdWNoCiAgICBhcyB2aXJ0dWFsIGhvc3QgYW5kIGlkZW50aXR5LiAgVHdvIGNvbW1hbmRzIHdoaWNoIGFyZSBsaW5rcyB0byBvciBvdGhlcndpc2UKICAgIHJlZmVyIHRvIHRoZSBzYW1lIGV4ZWN1dGFibGUgZmlsZSBzaGFyZSB0aGUgc2FtZSBwcm9jZXNzIGNsYXNzLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJub3RlIj48aDM+Tm90ZTwvaDM+CiAgICA8cD5DZXJ0YWluIHNldHRpbmdzIG9yIG90aGVyIGNvbmNlcHRzIHRoYXQgZGVwZW5kIG9uIHRoZSB2aXJ0dWFsIGhvc3QsCiAgICBzdWNoIGFzIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGluaXRpYWxlbnYiPkZjZ2lkSW5pdGlhbEVudjwvYT48L2NvZGU+CiAgICBvciBwcm9jZXNzIGNsYXNzZXMsIGRpc3Rpbmd1aXNoIGJldHdlZW4gdmlydHVhbCBob3N0cyBvbmx5IGlmIHRoZXkKICAgIGhhdmUgZGlzdGluY3Qgc2VydmVyIG5hbWVzLiAgKFNlZSB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+U2VydmVyTmFtZTwvY29kZT4KICAgIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uKSBJbiB0aGUgY2FzZSBvZgogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaW5pdGlhbGVudiI+RmNnaWRJbml0aWFsRW52PC9hPjwvY29kZT4sIGlmIHR3bwogICAgdmlydHVhbCBob3N0cyBoYXZlIHRoZSBzYW1lIHNlcnZlciBuYW1lIGJ1dCBkaWZmZXJlbnQgZW52aXJvbm1lbnRzIGFzCiAgICBkZWZpbmVkIGJ5IAogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaW5pdGlhbGVudiI+RmNnaWRJbml0aWFsRW52PC9hPjwvY29kZT4sIHRoZSAKICAgIGVudmlyb25tZW50IHVzZWQgZm9yIGEgcGFydGljdWxhciByZXF1ZXN0IHdpbGwgYmUgdGhhdCBkZWZpbmVkIGZvciB0aGUKICAgIHZpcnR1YWwgaG9zdCBvZiB0aGUgcmVxdWVzdCB0aGF0IGNhdXNlZCB0aGUgRmFzdENHSSBwcm9jZXNzIHRvIGJlIAogICAgc3RhcnRlZC48L3A+CiAgICA8L2Rpdj4KCiAgICA8cD5JbmZvcm1hdGlvbiBhYm91dCBlYWNoIHByb2Nlc3Mgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIAogICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9zdGF0dXMuaHRtbCI+bW9kX3N0YXR1czwvYT48L2NvZGU+IHNlcnZlci1zdGF0dXMgcGFnZS48L3A+CiAgPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQWNjZXNzQ2hlY2tlciIgaWQ9IkZjZ2lkQWNjZXNzQ2hlY2tlciI+RmNnaWRBY2Nlc3NDaGVja2VyPC9hPiA8YSBuYW1lPSJmY2dpZGFjY2Vzc2NoZWNrZXIiIGlkPSJmY2dpZGFjY2Vzc2NoZWNrZXIiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPmZ1bGwgcGF0aCB0byBGYXN0Q0dJIGFjY2VzcyBjaGVja2VyPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQWNjZXNzQ2hlY2tlciA8ZW0+Y29tbWFuZDwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPjxlbT5ub25lPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+ZGlyZWN0b3J5LCAuaHRhY2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNPdmVycmlkZSI+T3ZlcnJpZGU6PC9hPjwvdGg+PHRkPkZpbGVJbmZvPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+QWNjZXNzIGNoZWNraW5nIG9yLCBtb3JlIGZvcm1hbGx5LCBhY2Nlc3MgY29udHJvbCwgaXMgYSBwcm9jZWR1cmUgCiAgICAgIHdoaWNoIHZlcmlmaWVzIHRoYXQgdGhlIGNsaWVudCBpcyBhbGxvd2VkIHRvIGFjY2VzcyBhIHJlc291cmNlLCB1c2luZyAKICAgICAgc29tZSBtZWNoYW5pc20gb3RoZXIgdGhhbiBhdXRoZW50aWNhdGlvbiBhbmQgYXV0aG9yaXphdGlvbi48L3A+CgogICAgICA8cD5LZXkgZW52aXJvbm1lbnQgdmFyaWFibGVzIHBhc3NlZCB0byB0aGUgYXBwbGljYXRpb24gZm9yIGFjY2VzcwogICAgICBjaGVja2luZyBhcmU6PC9wPgoKICAgICAgPGRsPgogICAgICAgIDxkdD48Y29kZT5GQ0dJX0FQQUNIRV9ST0xFPC9jb2RlPjwvZHQ+CiAgICAgICAgPGRkPnNldCB0byA8Y29kZT5BQ0NFU1NfQ0hFQ0tFUjwvY29kZT47IGJ5IGNoZWNraW5nIHRoZSBjdXJyZW50IHJvbGUsCiAgICAgICAgdGhlIHNhbWUgRmFzdENHSSBhcHBsaWNhdGlvbiBjYW4gaGFuZGxlIG11bHRpcGxlIHN0YWdlcyBvZiByZXF1ZXN0CiAgICAgICAgcHJvY2Vzc2luZzwvZGQ+CiAgICAgIDwvZGw+CgogICAgICA8cD5UaGUgYXBwbGljYXRpb24gbXVzdCBvdXRwdXQgYSA8Y29kZT5TdGF0dXM8L2NvZGU+IGxpbmUgdG8gaW5kaWNhdGUKICAgICAgdGhlIHJlc3VsdCBvZiB0aGUgY2hlY2suPC9wPgoKICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc8L2gzPgogICAgICA8cD5CZWZvcmUgMi4zLjYsIG9ubHkgb25lIEZhc3RDR0kgYXBwbGljYXRpb24gb2YgYW55IHR5cGUgKEFBQSBvciBoYW5kbGVyKQogICAgICBjYW4gYmUgdXNlZCBmb3IgYSBwYXJ0aWN1bGFyIHJlcXVlc3QgVVJJLiAgT3RoZXJ3aXNlLCB0aGUgd3JvbmcgRmFzdENHSQogICAgICBhcHBsaWNhdGlvbiBtYXkgYmUgaW52b2tlZCBmb3Igb25lIG9yIG1vcmUgcGhhc2VzIG9mIHJlcXVlc3QgcHJvY2Vzc2luZy48L3A+CiAgICAgIDwvZGl2PgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZEFjY2Vzc0NoZWNrZXJBdXRob3JpdGF0aXZlIiBpZD0iRmNnaWRBY2Nlc3NDaGVja2VyQXV0aG9yaXRhdGl2ZSI+RmNnaWRBY2Nlc3NDaGVja2VyQXV0aG9yaXRhdGl2ZTwvYT4gPGEgbmFtZT0iZmNnaWRhY2Nlc3NjaGVja2VyYXV0aG9yaXRhdGl2ZSIgaWQ9ImZjZ2lkYWNjZXNzY2hlY2tlcmF1dGhvcml0YXRpdmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNldCB0byAnb2ZmJyB0byBhbGxvdyBhY2Nlc3MgY29udHJvbCB0byBiZSBwYXNzZWQgYWxvbmcgdG8gbG93ZXIgbW9kdWxlcyB1cG9uIGZhaWx1cmU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBY2Nlc3NDaGVja2VyQXV0aG9yaXRhdGl2ZSA8ZW0+T258T2ZmPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBY2Nlc3NDaGVja2VyQXV0aG9yaXRhdGl2ZSBPbjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+RmlsZUluZm88L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGRpcmVjdGl2ZSBjb250cm9scyB3aGV0aGVyIG9yIG5vdCBvdGhlciBhY2Nlc3MgY2hlY2tlcnMKICAgICAgYXJlIGFsbG93ZWQgdG8gcnVuIHdoZW4gdGhpcyBtb2R1bGUgaGFzIGFuIGFjY2VzcyBjaGVja2VyIGNvbmZpZ3VyZWQgCiAgICAgIGFuZCBpdCBmYWlscyBhIHJlcXVlc3QuICBJZiB0aGlzIGRpcmVjdGl2ZSBpcyA8Y29kZT5PbjwvY29kZT4gKGRlZmF1bHQpCiAgICAgIGFuZCBhIEZhc3RDR0kgYWNjZXNzIGNoZWNrZXIgcmV0dXJucyBhIGZhaWx1cmUgc3RhdHVzLCBhIGZhaWx1cmUgaXMKICAgICAgcmV0dXJuZWQgdG8gdGhlIGNsaWVudCB3aXRob3V0IGdpdmluZyBvdGhlciBhY2Nlc3MgY2hlY2tlcnMgYSBjaGFuY2UgdG8KICAgICAgYWxsb3cgYWNjZXNzLiAgSWYgdGhpcyBkaXJlY3RpdmUgaXMgPGNvZGU+T2ZmPC9jb2RlPiwgb3RoZXIgYWNjZXNzCiAgICAgIGNoZWNrZXJzIHdpbGwgYmUgY2FsbGVkLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRBdXRoZW50aWNhdG9yIiBpZD0iRmNnaWRBdXRoZW50aWNhdG9yIj5GY2dpZEF1dGhlbnRpY2F0b3I8L2E+IDxhIG5hbWU9ImZjZ2lkYXV0aGVudGljYXRvciIgaWQ9ImZjZ2lkYXV0aGVudGljYXRvciI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+ZnVsbCBwYXRoIHRvIEZhc3RDR0kgYXV0aGVudGljYXRvcjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEF1dGhlbnRpY2F0b3IgPGVtPmNvbW1hbmQ8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT48ZW0+bm9uZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5GaWxlSW5mbzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPkF1dGhlbnRpY2F0aW9uIGlzIHRoZSBwcm9jZWR1cmUgd2hpY2ggdmVyaWZpZXMgdGhhdCB0aGUgdXNlciBpcwogICAgICB3aG8gdGhleSBjbGFpbSB0aGV5IGFyZS4gIFRoaXMgZGlyZWN0aXZlIHNwZWNpZmllcyB0aGUgZnVsbCBwYXRoIHRvIAogICAgICBhIEZhc3RDR0kgYXBwbGljYXRpb24gd2hpY2ggd2lsbCBoYW5kbGUgYXV0aGVudGljYXRpb24gZm9yIGEgcGFydGljdWxhcgogICAgICBjb250ZXh0LCBzdWNoIGFzIGEgZGlyZWN0b3J5LjwvcD4KCiAgICAgIDxwPktleSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgcGFzc2VkIHRvIHRoZSBhcHBsaWNhdGlvbiBvbiBhdXRoZW50aWNhdGlvbgogICAgICBhcmU6PC9wPgoKICAgICAgPGRsPgogICAgICAgIDxkdD48Y29kZT5SRU1PVEVfVVNFUjwvY29kZT48L2R0PgogICAgICAgIDxkZD5zZXQgdG8gdGhlIHVzZXIgaWQgb2YgdGhlIGNsaWVudDwvZGQ+CgogICAgICAgIDxkdD48Y29kZT5SRU1PVEVfUEFTU1dEPC9jb2RlPjwvZHQ+CiAgICAgICAgPGRkPnNldCB0byB0aGUgcGxhaW4gdGV4dCBwYXNzd29yZCBwcm92aWRlZCBieSB0aGUgY2xpZW50PC9kZD4KCiAgICAgICAgPGR0Pjxjb2RlPkZDR0lfQVBBQ0hFX1JPTEU8L2NvZGU+PC9kdD4KICAgICAgICA8ZGQ+c2V0IHRvIDxjb2RlPkFVVEhFTlRJQ0FUT1I8L2NvZGU+OyBieSBjaGVja2luZyB0aGUgY3VycmVudCByb2xlLAogICAgICAgIHRoZSBzYW1lIEZhc3RDR0kgYXBwbGljYXRpb24gY2FuIGhhbmRsZSBtdWx0aXBsZSBzdGFnZXMgb2YgcmVxdWVzdAogICAgICAgIHByb2Nlc3Npbmc8L2RkPgogICAgICA8L2RsPgoKICAgICAgPHA+VGhlIGFwcGxpY2F0aW9uIG11c3Qgb3V0cHV0IGEgPGNvZGU+U3RhdHVzPC9jb2RlPiBsaW5lIHRvIGluZGljYXRlCiAgICAgIHRoZSByZXN1bHQgb2YgYXV0aGVudGljYXRpb24uPC9wPgoKICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc8L2gzPgogICAgICA8cD5CZWZvcmUgMi4zLjYsIG9ubHkgb25lIEZhc3RDR0kgYXBwbGljYXRpb24gb2YgYW55IHR5cGUgKEFBQSBvciBoYW5kbGVyKQogICAgICBjYW4gYmUgdXNlZCBmb3IgYSBwYXJ0aWN1bGFyIHJlcXVlc3QgVVJJLiAgT3RoZXJ3aXNlLCB0aGUgd3JvbmcgRmFzdENHSQogICAgICBhcHBsaWNhdGlvbiBtYXkgYmUgaW52b2tlZCBmb3Igb25lIG9yIG1vcmUgcGhhc2VzIG9mIHJlcXVlc3QgcHJvY2Vzc2luZy48L3A+CiAgICAgIDwvZGl2PgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZEF1dGhlbnRpY2F0b3JBdXRob3JpdGF0aXZlIiBpZD0iRmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZSI+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZTwvYT4gPGEgbmFtZT0iZmNnaWRhdXRoZW50aWNhdG9yYXV0aG9yaXRhdGl2ZSIgaWQ9ImZjZ2lkYXV0aGVudGljYXRvcmF1dGhvcml0YXRpdmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNldCB0byAnb2ZmJyB0byBhbGxvdyBhdXRoZW50aWNhdGlvbiB0byBiZSBwYXNzZWQgYWxvbmcgdG8gbG93ZXIgbW9kdWxlcyB1cG9uIGZhaWx1cmU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZSA8ZW0+T258T2ZmPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZSBPbjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+RmlsZUluZm88L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGRpcmVjdGl2ZSBjb250cm9scyB3aGV0aGVyIG9yIG5vdCBvdGhlciBhdXRoZW50aWNhdG9ycwogICAgICBhcmUgYWxsb3dlZCB0byBydW4gd2hlbiB0aGlzIG1vZHVsZSBoYXMgYW4gYXV0aGVudGljYXRvciBjb25maWd1cmVkIAogICAgICBhbmQgaXQgZmFpbHMgYSByZXF1ZXN0LiAgSWYgdGhpcyBkaXJlY3RpdmUgaXMgPGNvZGU+T248L2NvZGU+IChkZWZhdWx0KQogICAgICBhbmQgYSBGYXN0Q0dJIGF1dGhlbnRpY2F0b3IgcmV0dXJucyBhIGZhaWx1cmUgc3RhdHVzLCBhIGZhaWx1cmUgaXMKICAgICAgcmV0dXJuZWQgdG8gdGhlIGNsaWVudCB3aXRob3V0IGdpdmluZyBvdGhlciBhdXRoZW50aWNhdG9ycyBhIGNoYW5jZSB0bwogICAgICB2YWxpZGF0ZSB0aGUgY2xpZW50IGlkZW50aXR5LiAgSWYgdGhpcyBkaXJlY3RpdmUgaXMgPGNvZGU+T2ZmPC9jb2RlPiwgCiAgICAgIG90aGVyIGF1dGhlbnRpY2F0b3JzIHdpbGwgYmUgY2FsbGVkLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRBdXRob3JpemVyIiBpZD0iRmNnaWRBdXRob3JpemVyIj5GY2dpZEF1dGhvcml6ZXI8L2E+IDxhIG5hbWU9ImZjZ2lkYXV0aG9yaXplciIgaWQ9ImZjZ2lkYXV0aG9yaXplciI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+ZnVsbCBwYXRoIHRvIEZhc3RDR0kgYXV0aG9yaXplcjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEF1dGhvcml6ZXIgPGVtPmNvbW1hbmQ8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT48ZW0+bm9uZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5GaWxlSW5mbzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPkF1dGhvcml6YXRpb24gaXMgdGhlIHByb2NlZHVyZSB3aGljaCB2ZXJpZmllcyB0aGF0IHRoZSB1c2VyIGlzCiAgICAgIGFsbG93ZWQgdG8gYWNjZXNzIGEgcGFydGljdWxhciByZXNvdXJjZS4gIFRoaXMgZGlyZWN0aXZlIHNwZWNpZmllcwogICAgICB0aGUgZnVsbCBwYXRoIHRvIGEgRmFzdENHSSBhcHBsaWNhdGlvbiB3aGljaCB3aWxsIGhhbmRsZSBhdXRob3JpemF0aW9uCiAgICAgIGZvciBhIHBhcnRpY3VsYXIgY29udGV4dCwgc3VjaCBhcyBhIGRpcmVjdG9yeS48L3A+CgogICAgICA8cD5LZXkgZW52aXJvbm1lbnQgdmFyaWFibGVzIHBhc3NlZCB0byB0aGUgYXBwbGljYXRpb24gb24gYXV0aG9yaXphdGlvbgogICAgICBhcmU6PC9wPgoKICAgICAgPGRsPgogICAgICAgIDxkdD48Y29kZT5SRU1PVEVfVVNFUjwvY29kZT48L2R0PgogICAgICAgIDxkZD5zZXQgdG8gdGhlIHVzZXIgaWQgb2YgdGhlIGNsaWVudCwgd2hpY2ggaGFzIGFscmVhZHkgYmVlbiAKICAgICAgICBhdXRoZW50aWNhdGVkPC9kZD4KCiAgICAgICAgPGR0Pjxjb2RlPkZDR0lfQVBBQ0hFX1JPTEU8L2NvZGU+PC9kdD4KICAgICAgICA8ZGQ+c2V0IHRvIDxjb2RlPkFVVEhPUklaRVI8L2NvZGU+OyBieSBjaGVja2luZyB0aGUgY3VycmVudCByb2xlLCB0aGUgCiAgICAgICAgc2FtZSBGYXN0Q0dJIGFwcGxpY2F0aW9uIGNhbiBoYW5kbGUgbXVsdGlwbGUgc3RhZ2VzIG9mIHJlcXVlc3QKICAgICAgICBwcm9jZXNzaW5nPC9kZD4KICAgICAgPC9kbD4KCiAgICAgIDxwPlRoZSBhcHBsaWNhdGlvbiBtdXN0IG91dHB1dCBhIDxjb2RlPlN0YXR1czwvY29kZT4gbGluZSB0byBpbmRpY2F0ZQogICAgICB0aGUgcmVzdWx0IG9mIGF1dGhvcml6YXRpb24uPC9wPgoKICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc8L2gzPgogICAgICA8cD5CZWZvcmUgMi4zLjYsIG9ubHkgb25lIEZhc3RDR0kgYXBwbGljYXRpb24gb2YgYW55IHR5cGUgKEFBQSBvciBoYW5kbGVyKQogICAgICBjYW4gYmUgdXNlZCBmb3IgYSBwYXJ0aWN1bGFyIHJlcXVlc3QgVVJJLiAgT3RoZXJ3aXNlLCB0aGUgd3JvbmcgRmFzdENHSQogICAgICBhcHBsaWNhdGlvbiBtYXkgYmUgaW52b2tlZCBmb3Igb25lIG9yIG1vcmUgcGhhc2VzIG9mIHJlcXVlc3QgcHJvY2Vzc2luZy48L3A+CiAgICAgIDwvZGl2PgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZEF1dGhvcml6ZXJBdXRob3JpdGF0aXZlIiBpZD0iRmNnaWRBdXRob3JpemVyQXV0aG9yaXRhdGl2ZSI+RmNnaWRBdXRob3JpemVyQXV0aG9yaXRhdGl2ZTwvYT4gPGEgbmFtZT0iZmNnaWRhdXRob3JpemVyYXV0aG9yaXRhdGl2ZSIgaWQ9ImZjZ2lkYXV0aG9yaXplcmF1dGhvcml0YXRpdmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNldCB0byAnb2ZmJyB0byBhbGxvdyBhdXRob3JpemF0aW9uIHRvIGJlIHBhc3NlZCBhbG9uZyB0byBsb3dlciBtb2R1bGVzIHVwb24gZmFpbHVyZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEF1dGhvcml6ZXJBdXRob3JpdGF0aXZlIDxlbT5PbnxPZmY8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEF1dGhvcml6ZXJBdXRob3JpdGF0aXZlIE9uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5GaWxlSW5mbzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgZGlyZWN0aXZlIGNvbnRyb2xzIHdoZXRoZXIgb3Igbm90IG90aGVyIGF1dGhvcml6ZXJzCiAgICAgIGFyZSBhbGxvd2VkIHRvIHJ1biB3aGVuIHRoaXMgbW9kdWxlIGhhcyBhbiBhdXRob3JpemVyIGNvbmZpZ3VyZWQgCiAgICAgIGFuZCBpdCBmYWlscyBhIHJlcXVlc3QuICBJZiB0aGlzIGRpcmVjdGl2ZSBpcyA8Y29kZT5PbjwvY29kZT4gKGRlZmF1bHQpCiAgICAgIGFuZCBhIEZhc3RDR0kgYXV0aG9yaXplciByZXR1cm5zIGEgZmFpbHVyZSBzdGF0dXMsIGEgZmFpbHVyZSBpcwogICAgICByZXR1cm5lZCB0byB0aGUgY2xpZW50IHdpdGhvdXQgZ2l2aW5nIG90aGVyIGF1dGhvcml6ZXIgYSBjaGFuY2UgdG8KICAgICAgYWNjZXNzIHRoZSByZXNvdXJjZS4gIElmIHRoaXMgZGlyZWN0aXZlIGlzIDxjb2RlPk9mZjwvY29kZT4sIG90aGVyCiAgICAgIGF1dGhvcml6ZXJzIHdpbGwgYmUgY2FsbGVkLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRCdXN5U2NhbkludGVydmFsIiBpZD0iRmNnaWRCdXN5U2NhbkludGVydmFsIj5GY2dpZEJ1c3lTY2FuSW50ZXJ2YWw8L2E+IDxhIG5hbWU9ImZjZ2lkYnVzeXNjYW5pbnRlcnZhbCIgaWQ9ImZjZ2lkYnVzeXNjYW5pbnRlcnZhbCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+c2NhbiBpbnRlcnZhbCBmb3IgYnVzeSB0aW1lb3V0IHByb2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRCdXN5U2NhbkludGVydmFsIDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRCdXN5U2NhbkludGVydmFsIDEyMDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhlIG1vZHVsZSBwZXJmb3JtcyB0aGUgCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGJ1c3l0aW1lb3V0Ij5GY2dpZEJ1c3lUaW1lb3V0PC9hPjwvY29kZT4gY2hlY2sgYXQgdGhpcyAKICAgICAgaW50ZXJ2YWwuPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZEJ1c3lUaW1lb3V0IiBpZD0iRmNnaWRCdXN5VGltZW91dCI+RmNnaWRCdXN5VGltZW91dDwvYT4gPGEgbmFtZT0iZmNnaWRidXN5dGltZW91dCIgaWQ9ImZjZ2lkYnVzeXRpbWVvdXQiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPmEgRmFzdENHSSBhcHBsaWNhdGlvbiB3aWxsIGJlIGtpbGxlZCBhZnRlciBoYW5kbGluZyBhIHJlcXVlc3QgZm9yIEZjZ2lkQnVzeVRpbWVvdXQ8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRCdXN5VGltZW91dCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQnVzeVRpbWVvdXQgMzAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgaXMgdGhlIG1heGltdW0gdGltZSBsaW1pdCBmb3IgcmVxdWVzdCBoYW5kbGluZy4gIElmIGEgRmFzdENHSQogICAgICByZXF1ZXN0IGRvZXMgbm90IGNvbXBsZXRlIHdpdGhpbiBGY2dpZEJ1c3lUaW1lb3V0IHNlY29uZHMsIGl0IHdpbGwgYmUKICAgICAgc3ViamVjdCB0byB0ZXJtaW5hdGlvbi4gIEJlY2F1c2UgdGhlIGNoZWNrIGlzIHBlcmZvcm1lZCBhdCB0aGUKICAgICAgaW50ZXJ2YWwgZGVmaW5lZCBieSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRidXN5c2NhbmludGVydmFsIj5GY2dpZEJ1c3lTY2FuSW50ZXJ2YWw8L2E+PC9jb2RlPiwKICAgICAgcmVxdWVzdCBoYW5kbGluZyBtYXkgYmUgYWxsb3dlZCB0byBwcm9jZWVkIGZvciBhIGxvbmdlciBwZXJpb2Qgb2YgdGltZS48L3A+CgogICAgICA8cD5UaGUgcHVycG9zZSBvZiB0aGlzIGRpcmVjdGl2ZSBpcyB0byB0ZXJtaW5hdGUgaHVuZyBhcHBsaWNhdGlvbnMuCiAgICAgIFRoZSBkZWZhdWx0IHRpbWVvdXQgbWF5IG5lZWQgdG8gYmUgaW5jcmVhc2VkIGZvciBhcHBsaWNhdGlvbnMgdGhhdAogICAgICBjYW4gdGFrZSBsb25nZXIgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQ21kT3B0aW9ucyIgaWQ9IkZjZ2lkQ21kT3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPiA8YSBuYW1lPSJmY2dpZGNtZG9wdGlvbnMiIGlkPSJmY2dpZGNtZG9wdGlvbnMiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNldCBwcm9jZXNzaW5nIG9wdGlvbnMgZm9yIGEgRmFzdENHSQogICAgY29tbWFuZDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZENtZE9wdGlvbnMgPGVtPmNvbW1hbmQ8L2VtPiA8ZW0+b3B0aW9uPC9lbT4KICAgIFs8ZW0+b3B0aW9uPC9lbT5dIC4uLjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGRpcmVjdGl2ZSBhbGxvd3MgcHJvY2Vzc2luZyBvcHRpb25zIHRvIGJlIHNwZWNpZmllZCBmb3IKICAgICAgYSBzcGVjaWZpYyBjb21tYW5kIHNwYXduZWQgYnkgbW9kX2ZjZ2lkLiAgRWFjaCBvcHRpb24gZm9yIHRoZQogICAgICBjb21tYW5kIGNvcnJlc3BvbmRzIHRvIGFub3RoZXIgZGlyZWN0aXZlIHRoYXQgbm9ybWFsbHkgYXBwbGllcyB0bwogICAgICBhbGwgY29tbWFuZHMgc3RhcnRlZCB3aXRoaW4gYSBwYXJ0aWN1bGFyIGNvbnRleHQuICBJZiBhCiAgICAgIHBhcnRpY3VsYXIgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQgb24gdGhpcyBkaXJlY3RpdmUsIHRoZQogICAgICBkZWZhdWx0IHdpbGwgYmUgdXNlZC48L3A+CgogICAgICA8cD5UaGUgZm9sbG93aW5nIHRhYmxlIHByb3ZpZGVzIGEgbGlzdCBvZiBvcHRpb25zIGFuZAogICAgICBjb3JyZXNwb25kaW5nIGRpcmVjdGl2ZXM6PC9wPgoKICAgICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5PcHRpb24gbmFtZSBhbmQgc3ludGF4PC90aD48dGg+Q29ycmVzcG9uZGluZyBkaXJlY3RpdmU8L3RoPjwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZT5Db25uZWN0VGltZW91dCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY29ubmVjdHRpbWVvdXQiPkZjZ2lkQ29ubmVjdFRpbWVvdXQ8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgICAgPHRkPjxjb2RlPklkbGVUaW1lb3V0IDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxldGltZW91dCI+RmNnaWRJZGxlVGltZW91dDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGU+SW5pdGlhbEVudiA8ZW0+bmFtZVs9dmFsdWVdPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpbml0aWFsZW52Ij5GY2dpZEluaXRpYWxFbnY8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgICAgPHRkPjxjb2RlPklPVGltZW91dCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaW90aW1lb3V0Ij5GY2dpZElPVGltZW91dDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGU+TWF4UHJvY2Vzc2VzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgICAgPHRkPjxjb2RlPk1heFByb2Nlc3NMaWZlVGltZSA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkcHJvY2Vzc2xpZmV0aW1lIj5GY2dpZFByb2Nlc3NMaWZlVGltZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGU+TWF4UmVxdWVzdHNQZXJQcm9jZXNzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdHNwZXJwcm9jZXNzIj5GY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzczwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGU+TWluUHJvY2Vzc2VzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWlucHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWluUHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPC90YWJsZT4KCiAgICAgIDxwPk11bHRpcGxlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBieSByZXBlYXRpbmcKICAgICAgdGhlIDxjb2RlPkluaXRpYWxFbnY8L2NvZGU+IG9wdGlvbi48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+CiAgICAgIEZjZ2lkQ21kT3B0aW9ucyAvdXNyL2xvY2FsL2Jpbi93cmFwcGVyIFw8YnIgLz4KICAgICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgIEluaXRpYWxFbnYgTUFYX1JFUVVFU1RTPTIwMDAgXDxiciAvPgogICAgICBNYXhSZXF1ZXN0c1BlclByb2Nlc3MgMjAwMCBcPGJyIC8+CiAgICAgIElPVGltZW91dCA5MDxiciAvPgogICAgICA8L3NwYW4+CiAgICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgICA8cD5XaGVuIDxjb2RlPi91c3IvbG9jYWwvYmluL3dyYXBwZXI8L2NvZGU+IGlzIHNwYXduZWQsIGl0cyBpbml0aWFsCiAgICAgIGVudmlyb25tZW50IGNvbnRhaW5zIHRoZSA8Y29kZT5NQVhfUkVRVUVTVFM9MjAwMDwvY29kZT4KICAgICAgZW52aXJvbm1lbnQgdmFyaWFibGUgc2V0dGluZzsgYWRkaXRpb25hbGx5LCBtb2RfZmNnaWQgd2lsbAogICAgICB0ZXJtaW5hdGUgaXQgYWZ0ZXIgaXQgaGFzIGhhbmRsZWQgMjAwMCByZXF1ZXN0cywgYW5kIEkvTwogICAgICBvcGVyYXRpb25zIHdpbGwgdGltZSBvdXQgYWZ0ZXIgOTAgc2Vjb25kcy4gIERpcmVjdGl2ZXMKICAgICAgY29ycmVzcG9uZGluZyB0byBvdGhlciBvcHRpb25zLCBzdWNoIGFzIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxldGltZW91dCI+RmNnaWRJZGxlVGltZW91dDwvYT48L2NvZGU+IG9yCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHByb2Nlc3NsaWZldGltZSI+RmNnaWRQcm9jZXNzTGlmZVRpbWU8L2E+PC9jb2RlPiwKICAgICAgd2lsbCBiZSBpZ25vcmVkIGZvciB0aGlzIGNvbW1hbmQ7IGRlZmF1bHRzIHdpbGwgYmUgdXNlZCBmb3Igb3B0aW9ucwogICAgICBub3Qgc3BlY2lmaWVkIG9uIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkZjZ2lkQ21kT3B0aW9uczwvY29kZT4uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZENvbm5lY3RUaW1lb3V0IiBpZD0iRmNnaWRDb25uZWN0VGltZW91dCI+RmNnaWRDb25uZWN0VGltZW91dDwvYT4gPGEgbmFtZT0iZmNnaWRjb25uZWN0dGltZW91dCIgaWQ9ImZjZ2lkY29ubmVjdHRpbWVvdXQiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkNvbm5lY3QgdGltZW91dCB0byBGYXN0Q0dJIHNlcnZlcjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZENvbm5lY3RUaW1lb3V0IDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRDb25uZWN0VGltZW91dCAzPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgaXMgdGhlIG1heGltdW0gcGVyaW9kIG9mIHRpbWUgdGhlIG1vZHVsZSB3aWxsIHdhaXQKICAgICAgd2hpbGUgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gYSBGYXN0Q0dJIGFwcGxpY2F0aW9uIG9uIFdpbmRvd3MuCiAgICAgIChUaGlzIGRpcmVjdGl2ZSBpcyBub3QgcmVzcGVjdGVkIG9uIFVuaXgsIHdoZXJlIEFGX1VOSVggZGVmYXVsdHMKICAgICAgd2lsbCBhcHBseS4pPC9wPgoKICAgICAgPHA+VGhpcyBzZXR0aW5nIHdpbGwgYXBwbHkgdG8gYWxsIGFwcGxpY2F0aW9ucyBzcGF3bmVkIGZvciB0aGlzCiAgICAgIHNlcnZlciBvciB2aXJ0dWFsIGhvc3QuICBVc2UgCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGNtZG9wdGlvbnMiPkZjZ2lkQ21kT3B0aW9uczwvYT48L2NvZGU+IHRvIGFwcGx5CiAgICAgIHRoaXMgc2V0dGluZyB0byBhIHNpbmdsZSBhcHBsaWNhdGlvbi48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkRXJyb3JTY2FuSW50ZXJ2YWwiIGlkPSJGY2dpZEVycm9yU2NhbkludGVydmFsIj5GY2dpZEVycm9yU2NhbkludGVydmFsPC9hPiA8YSBuYW1lPSJmY2dpZGVycm9yc2NhbmludGVydmFsIiBpZD0iZmNnaWRlcnJvcnNjYW5pbnRlcnZhbCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+c2NhbiBpbnRlcnZhbCBmb3IgZXhpdGVkIHByb2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRFcnJvclNjYW5JbnRlcnZhbCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkRXJyb3JTY2FuSW50ZXJ2YWwgMzwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBpcyB0aGUgaW50ZXJ2YWwgYXQgd2hpY2ggdGhlIG1vZHVsZSB3aWxsIGhhbmRsZQogICAgICBwZW5kaW5nIHByb2Nlc3MgdGVybWluYXRpb24uICBUZXJtaW5hdGlvbiBpcyBwZW5kaW5nIGZvcgogICAgICBhbnkgcHJvY2Vzc2VzIHdoaWNoIGhhdmUgZXhjZWVkZWQgCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGlkbGV0aW1lb3V0Ij5GY2dpZElkbGVUaW1lb3V0PC9hPjwvY29kZT4gb3IKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkcHJvY2Vzc2xpZmV0aW1lIj5GY2dpZFByb2Nlc3NMaWZlVGltZTwvYT48L2NvZGU+LjwvcD4KCiAgICAgIDxwPlVuaXg6IG1vZF9mY2dpZCB3aWxsIHRlcm1pbmF0ZSBzdWNoIHByb2Nlc3NlcyB3aXRoIFNJR1RFUk07CiAgICAgIGlmIHRoZSBwcm9jZXNzIGlzIHN0aWxsIGFjdGl2ZSBkdXJpbmcgdGhlIG5leHQgc2NhbiwgdGhlIHByb2Nlc3MKICAgICAgd2lsbCBiZSB0ZXJtaW5hdGVkIHdpdGggU0lHS0lMTC4gIFRodXMsIHRoaXMgZGlyZWN0aXZlIGNvbnRyb2xzIHRoZQogICAgICBhbW91bnQgb2YgdGltZSBmb3Igb3JkZXJseSBwcm9jZXNzIHRlcm1pbmF0ZSBiZWZvcmUgYmVpbmcgZm9yY2libHkgCiAgICAgIGtpbGxlZC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkRml4UGF0aGluZm8iIGlkPSJGY2dpZEZpeFBhdGhpbmZvIj5GY2dpZEZpeFBhdGhpbmZvPC9hPiA8YSBuYW1lPSJmY2dpZGZpeHBhdGhpbmZvIiBpZD0iZmNnaWRmaXhwYXRoaW5mbyI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+TWlycm9yIHRoZSBQSFAgPGNvZGU+Y2dpLmZpeF9wYXRoaW5mbzwvY29kZT4KICAgIHNldHRpbmc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRGaXhQYXRoaW5mbyAxPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkRml4UGF0aGluZm8gMDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBkaXJlY3RpdmUgZW5hYmxlcyBzcGVjaWFsIDxjb2RlPlNDUklQVF9OQU1FPC9jb2RlPiAKICAgICAgcHJvY2Vzc2luZyB3aGljaCBhbGxvd3MgUEhQIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBwYXRoIGluZm9ybWF0aW9uLgogICAgICBUaGUgc2V0dGluZyBvZiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GY2dpZEZpeFBhdGhpbmZvPC9jb2RlPgogICAgICBzaG91bGQgbWlycm9yIHRoZSA8Y29kZT5jZ2kuZml4X3BhdGhpbmZvPC9jb2RlPiBzZXR0aW5nIGluIAogICAgICA8Y29kZT5waHAuaW5pPC9jb2RlPi48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkSWRsZVNjYW5JbnRlcnZhbCIgaWQ9IkZjZ2lkSWRsZVNjYW5JbnRlcnZhbCI+RmNnaWRJZGxlU2NhbkludGVydmFsPC9hPiA8YSBuYW1lPSJmY2dpZGlkbGVzY2FuaW50ZXJ2YWwiIGlkPSJmY2dpZGlkbGVzY2FuaW50ZXJ2YWwiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPnNjYW4gaW50ZXJ2YWwgZm9yIGlkbGUgdGltZW91dCBwcm9jZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkSWRsZVNjYW5JbnRlcnZhbCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkSWRsZVNjYW5JbnRlcnZhbCAxMjA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgaXMgdGhlIGludGVydmFsIGF0IHdoaWNoIHRoZSBtb2R1bGUgd2lsbCBzZWFyY2ggZm9yCiAgICAgIHByb2Nlc3NlcyB3aGljaCBoYXZlIGV4Y2VlZGVkIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxldGltZW91dCI+RmNnaWRJZGxlVGltZW91dDwvYT48L2NvZGU+IG9yCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHByb2Nlc3NsaWZldGltZSI+RmNnaWRQcm9jZXNzTGlmZVRpbWU8L2E+PC9jb2RlPi48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkSWRsZVRpbWVvdXQiIGlkPSJGY2dpZElkbGVUaW1lb3V0Ij5GY2dpZElkbGVUaW1lb3V0PC9hPiA8YSBuYW1lPSJmY2dpZGlkbGV0aW1lb3V0IiBpZD0iZmNnaWRpZGxldGltZW91dCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+QW4gaWRsZSBGYXN0Q0dJIGFwcGxpY2F0aW9uIHdpbGwgYmUga2lsbGVkIGFmdGVyIEZjZ2lkSWRsZVRpbWVvdXQ8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRJZGxlVGltZW91dCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkSWRsZVRpbWVvdXQgMzAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPkFwcGxpY2F0aW9uIHByb2Nlc3NlcyB3aGljaCBoYXZlIG5vdCBoYW5kbGVkIGEgcmVxdWVzdCBmb3IgdGhpcyAKICAgICAgcGVyaW9kIG9mIHRpbWUgd2lsbCBiZSB0ZXJtaW5hdGVkLCBpZiB0aGUgbnVtYmVyIG9mIHByb2Nlc3NzZXMgZm9yIHRoZQogICAgICBjbGFzcyBleGNlZWRzCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1pbnByb2Nlc3Nlc3BlcmNsYXNzIj5GY2dpZE1pblByb2Nlc3Nlc1BlckNsYXNzPC9hPjwvY29kZT4uCiAgICAgIEEgdmFsdWUgb2YgPGNvZGU+MDwvY29kZT4gZGlzYWJsZXMgdGhlIGNoZWNrLjwvcD4KCiAgICAgIDxwPlRoaXMgaWRsZSB0aW1lb3V0IGNoZWNrIGlzIHBlcmZvcm1lZCBhdCB0aGUgZnJlcXVlbmN5IG9mIHRoZSBjb25maWd1cmVkIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxlc2NhbmludGVydmFsIj5GY2dpZElkbGVTY2FuSW50ZXJ2YWw8L2E+PC9jb2RlPi48L3A+CgogICAgICA8cD5UaGlzIHNldHRpbmcgd2lsbCBhcHBseSB0byBhbGwgYXBwbGljYXRpb25zIHNwYXduZWQgZm9yIHRoaXMKICAgICAgc2VydmVyIG9yIHZpcnR1YWwgaG9zdC4gIFVzZSAKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY21kb3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPjwvY29kZT4gdG8gYXBwbHkKICAgICAgdGhpcyBzZXR0aW5nIHRvIGEgc2luZ2xlIGFwcGxpY2F0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRJbml0aWFsRW52IiBpZD0iRmNnaWRJbml0aWFsRW52Ij5GY2dpZEluaXRpYWxFbnY8L2E+IDxhIG5hbWU9ImZjZ2lkaW5pdGlhbGVudiIgaWQ9ImZjZ2lkaW5pdGlhbGVudiI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+YW4gZW52aXJvbm1lbnQgdmFyaWFibGUgbmFtZSBhbmQgb3B0aW9uYWwgdmFsdWUgdG8gcGFzcyB0byBGYXN0Q0dJLjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEluaXRpYWxFbnYgPGVtPm5hbWU8L2VtPiBbIDxlbT52YWx1ZTwvZW0+IF08L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+PGVtPm5vbmU8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5Vc2UgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RmNnaWRJbml0aWFsRW52PC9jb2RlPiB0byBkZWZpbmUgZW52aXJvbm1lbnQgCiAgICAgIHZhcmlhYmxlcyB0byBwYXNzIHRvIHRoZSBGYXN0Q0dJIGFwcGxpY2F0aW9uLiAgVGhpcyBkaXJlY3RpdmUgY2FuIAogICAgICBiZSB1c2VkIG11bHRpcGxlIHRpbWVzLjwvcD4KCiAgICAgIDxwPlRoaXMgc2V0dGluZyB3aWxsIGFwcGx5IHRvIGFsbCBhcHBsaWNhdGlvbnMgc3Bhd25lZCBmb3IgdGhpcwogICAgICBzZXJ2ZXIgb3IgdmlydHVhbCBob3N0LiAgVXNlIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRjbWRvcHRpb25zIj5GY2dpZENtZE9wdGlvbnM8L2E+PC9jb2RlPiB0byBhcHBseQogICAgICB0aGlzIHNldHRpbmcgdG8gYSBzaW5nbGUgYXBwbGljYXRpb24uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZElPVGltZW91dCIgaWQ9IkZjZ2lkSU9UaW1lb3V0Ij5GY2dpZElPVGltZW91dDwvYT4gPGEgbmFtZT0iZmNnaWRpb3RpbWVvdXQiIGlkPSJmY2dpZGlvdGltZW91dCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+Q29tbXVuaWNhdGlvbiB0aW1lb3V0IHRvIEZhc3RDR0kgc2VydmVyPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkSU9UaW1lb3V0IDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRJT1RpbWVvdXQgNDA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBpcyB0aGUgbWF4aW11bSBwZXJpb2Qgb2YgdGltZSB0aGUgbW9kdWxlIHdpbGwgd2FpdAogICAgICB3aGlsZSB0cnlpbmcgdG8gcmVhZCBmcm9tIG9yIHdyaXRlIHRvIGEgRmFzdENHSSBhcHBsaWNhdGlvbi48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJub3RlIj48aDM+Tm90ZTwvaDM+CiAgICAgIDxwPlRoZSBGYXN0Q0dJIGFwcGxpY2F0aW9uIG11c3QgYmVnaW4gZ2VuZXJhdGluZyB0aGUgcmVzcG9uc2Ugd2l0aGluCiAgICAgIHRoaXMgcGVyaW9kIG9mIHRpbWUuICBJbmNyZWFzZSB0aGlzIGRpcmVjdGl2ZSBhcyBuZWNlc3NhcnkgdG8gaGFuZGxlCiAgICAgIGFwcGxpY2F0aW9ucyB3aGljaCB0YWtlIGEgcmVsYXRpdmVseSBsb25nIHBlcmlvZCBvZiB0aW1lIHRvIHJlc3BvbmQuPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxwPlRoaXMgc2V0dGluZyB3aWxsIGFwcGx5IHRvIGFsbCBhcHBsaWNhdGlvbnMgc3Bhd25lZCBmb3IgdGhpcwogICAgICBzZXJ2ZXIgb3IgdmlydHVhbCBob3N0LiAgVXNlIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRjbWRvcHRpb25zIj5GY2dpZENtZE9wdGlvbnM8L2E+PC9jb2RlPiB0byBhcHBseQogICAgICB0aGlzIHNldHRpbmcgdG8gYSBzaW5nbGUgYXBwbGljYXRpb24uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZElQQ0RpciIgaWQ9IkZjZ2lkSVBDRGlyIj5GY2dpZElQQ0RpcjwvYT4gPGEgbmFtZT0iZmNnaWRpcGNkaXIiIGlkPSJmY2dpZGlwY2RpciI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+ZGlyZWN0b3J5IGZvciBBRl9VTklYIHNvY2tldHMgKFVuaXgpIG9yIHBpcGVzIChXaW5kb3dzKTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZElQQ0RpciA8ZW0+cGF0aG5hbWU8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZElQQ0RpciBsb2dzL2ZjZ2lkc29jazwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBtb2R1bGUgdXNlcyBBRl9VTklYIHNvY2tldHMgb3IgbmFtZWQgcGlwZXMsIGRlcGVuZGluZyBvbiB0aGUKICAgICAgcGxhdGZvcm0sIHRvIGNvbW11bmljYXRlIHdpdGggRmFzdENHSSBhcHBsaWNhdGlvbnMuICBUaGlzIGRpcmVjdGl2ZQogICAgICBzcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aG9zZSBzb2NrZXRzIG9yIG5hbWVkIHBpcGVzIHdpbGwgYmUKICAgICAgY3JlYXRlZC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkTWF4UHJvY2Vzc2VzIiBpZD0iRmNnaWRNYXhQcm9jZXNzZXMiPkZjZ2lkTWF4UHJvY2Vzc2VzPC9hPiA8YSBuYW1lPSJmY2dpZG1heHByb2Nlc3NlcyIgaWQ9ImZjZ2lkbWF4cHJvY2Vzc2VzIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5tYXhpbXVtIG51bWJlciBvZiBGYXN0Q0dJIGFwcGxpY2F0aW9uIHByb2Nlc3NlczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFByb2Nlc3NlcyA8ZW0+dmFsdWU8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFByb2Nlc3NlcyAxMDAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGRpcmVjdGl2ZSBzZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBGYXN0Q0dJIGFwcGxpY2F0aW9uCiAgICAgIHByb2Nlc3NlcyB3aGljaCBjYW4gYmUgYWN0aXZlIGF0IG9uZSB0aW1lLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRNYXhQcm9jZXNzZXNQZXJDbGFzcyIgaWQ9IkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3MiPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3M8L2E+IDxhIG5hbWU9ImZjZ2lkbWF4cHJvY2Vzc2VzcGVyY2xhc3MiIGlkPSJmY2dpZG1heHByb2Nlc3Nlc3BlcmNsYXNzIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5NYXggcHJvY2VzcyBjb3VudCBvZiBvbmUgY2xhc3Mgb2YgRmFzdENHSSBhcHBsaWNhdGlvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFByb2Nlc3Nlc1BlckNsYXNzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3MgMTAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyB0aGF0IGNhbiBiZSAKICAgICAgc3RhcnRlZCBmb3IgZWFjaCBwcm9jZXNzIGNsYXNzLjwvcD4KCiAgICAgIDxwPlRoaXMgc2V0dGluZyB3aWxsIGFwcGx5IHRvIGFsbCBhcHBsaWNhdGlvbnMgc3Bhd25lZCBmb3IgdGhpcwogICAgICBzZXJ2ZXIgb3IgdmlydHVhbCBob3N0LiAgVXNlIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRjbWRvcHRpb25zIj5GY2dpZENtZE9wdGlvbnM8L2E+PC9jb2RlPiB0byBhcHBseQogICAgICB0aGlzIHNldHRpbmcgdG8gYSBzaW5nbGUgYXBwbGljYXRpb24uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZE1heFJlcXVlc3RJbk1lbSIgaWQ9IkZjZ2lkTWF4UmVxdWVzdEluTWVtIj5GY2dpZE1heFJlcXVlc3RJbk1lbTwvYT4gPGEgbmFtZT0iZmNnaWRtYXhyZXF1ZXN0aW5tZW0iIGlkPSJmY2dpZG1heHJlcXVlc3Rpbm1lbSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+bWF4aW11bSBzaXplIG9mIGEgcmVxdWVzdCB3aGljaCB3aWxsIGJlIGhlbGQgaW4gbWVtb3J5PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UmVxdWVzdEluTWVtIDxlbT5ieXRlczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UmVxdWVzdEluTWVtIDY1NTM2PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgbW9kdWxlIHJlYWRzIHRoZSBlbnRpcmUgcmVxdWVzdCBib2R5IGZyb20gdGhlIGNsaWVudAogICAgICBiZWZvcmUgc2VuZGluZyBpdCB0byB0aGUgYXBwbGljYXRpb24uICBOb3JtYWxseSB0aGUgcmVxdWVzdCBib2R5CiAgICAgIHdpbGwgYmUgc3RvcmVkIGluIG1lbW9yeS4gIE9uY2UgdGhlIGFtb3VudCBvZiByZXF1ZXN0IGJvZHkgcmVhZAogICAgICBmcm9tIHRoZSBjbGllbnQgZXhjZWVkcyA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GY2dpZE1heFJlcXVlc3RJbk1lbTwvY29kZT4KICAgICAgYnl0ZXMsIHRoZSByZW1haW5kZXIgb2YgdGhlIHJlcXVlc3QgYm9keSB3aWxsIGJlIHN0b3JlZCBpbiBhIAogICAgICB0ZW1wb3JhcnkgZmlsZS48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkTWF4UmVxdWVzdExlbiIgaWQ9IkZjZ2lkTWF4UmVxdWVzdExlbiI+RmNnaWRNYXhSZXF1ZXN0TGVuPC9hPiA8YSBuYW1lPSJmY2dpZG1heHJlcXVlc3RsZW4iIGlkPSJmY2dpZG1heHJlcXVlc3RsZW4iPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPm1heGltdW0gSFRUUCByZXF1ZXN0IGxlbmd0aDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFJlcXVlc3RMZW4gPGVtPmJ5dGVzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRNYXhSZXF1ZXN0TGVuIDEzMTA3MjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5JZiB0aGUgc2l6ZSBvZiB0aGUgcmVxdWVzdCBib2R5IGV4Y2VlZHMgdGhpcyBhbW91bnQsIHRoZQogICAgICByZXF1ZXN0IHdpbGwgZmFpbCB3aXRoIDxjb2RlPjUwMCBTZXJ2ZXIgRXJyb3I8L2NvZGU+LjwvcD4KCiAgICAgIDxwPkFkbWluaXN0cmF0b3JzIHNob3VsZCBjaGFuZ2UgdGhpcyB0byBhbiBhcHByb3ByaWF0ZSB2YWx1ZSBmb3IgdGhlaXIgc2l0ZSBiYXNlZAogICAgICBvbiBhcHBsaWNhdGlvbiByZXF1aXJlbWVudHMuPC9wPgoKICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc8L2gzPgogICAgICA8cD5CZWZvcmUgMi4zLjYsIHRoaXMgZGVmYXVsdGVkIHRvIDFHQi4gIE1vc3QgdXNlcnMgb2YgZWFybGllciB2ZXJzaW9ucyBzaG91bGQKICAgICAgdXNlIHRoaXMgZGlyZWN0aXZlIHRvIHNldCBhIG1vcmUgcmVhc29uYWJsZSBsaW1pdC48L3A+CiAgICAgIDwvZGl2PgogICAgCjxoMz5TZWUgYWxzbzwvaDM+Cjx1bD4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1heHJlcXVlc3Rpbm1lbSI+RmNnaWRNYXhSZXF1ZXN0SW5NZW08L2E+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzcyIgaWQ9IkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzIj5GY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzczwvYT4gPGEgbmFtZT0iZmNnaWRtYXhyZXF1ZXN0c3BlcnByb2Nlc3MiIGlkPSJmY2dpZG1heHJlcXVlc3RzcGVycHJvY2VzcyI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+TWF4IHJlcXVlc3RzIGhhbmRsZWQgYnkgZWFjaCBGYXN0Q0dJIGFwcGxpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzIDA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+RmFzdENHSSBhcHBsaWNhdGlvbiBwcm9jZXNzZXMgd2lsbCBiZSB0ZXJtaW5hdGVkIGFmdGVyIGhhbmRsaW5nCiAgICAgIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJlcXVlc3RzLiAgQSB2YWx1ZSBvZiA8Y29kZT4wPC9jb2RlPgogICAgICBkaXNhYmxlcyB0aGUgY2hlY2suPC9wPgogICAgICA8ZGl2IGNsYXNzPSJub3RlIj48aDM+Tm90ZTwvaDM+CiAgICAgIDxwPkEgdmFsdWUgb2YgPGNvZGU+LTE8L2NvZGU+IGlzIGN1cnJlbnRseSBhY2NlcHRlZCBmb3IgZWFzZSBvZgogICAgICBtaWdyYXRpb24gZm9yIGV4aXN0aW5nIGNvbmZpZ3VyYXRpb25zLiAgSXQgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcwogICAgICA8Y29kZT4wPC9jb2RlPi48L3A+CiAgICAgIDwvZGl2PgogICAgICA8cD5DZXJ0YWluIGFwcGxpY2F0aW9ucywgbm90YWJseSBQSFAgYXMgRmFzdENHSSwgaGF2ZSB0aGVpciBvd24KICAgICAgZmFjaWxpdHkgZm9yIHRlcm1pbmF0aW5nIGFmdGVyIGhhbmRsaW5nIGEgY2VydGFpbiBudW1iZXIgb2YKICAgICAgcmVxdWVzdHMuICBUaGlzIGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCB0byBhdm9pZCBzZW5kaW5nCiAgICAgIGFkZGl0aW9uYWwgcmVxdWVzdHMgdG8gdGhlIGFwcGxpY2F0aW9uIGFmdGVyIGl0IGhhcyBoYW5kbGVkIGl0cwogICAgICBsaW1pdC48L3A+CiAgICAgIDxkaXYgY2xhc3M9Im5vdGUiPjxoMz5Ob3RlPC9oMz4KICAgICAgPHA+SWYgdGhpcyBpcyBzZXQgc3VjaCB0aGF0IGZyZXF1ZW50IHByb2Nlc3MgY3JlYXRpb24gd2lsbCBiZQogICAgICByZXF1aXJlZCwgeW91IHdpbGwgbGlrZWx5IG5lZWQgdG8gYWRqdXN0IAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JldXBsaW1pdCI+RmNnaWRTcGF3blNjb3JlVXBMaW1pdDwvYT48L2NvZGU+CiAgICAgIG9yIG90aGVyIHNjb3JlLXJlbGF0ZWQgZGlyZWN0aXZlcyB0byBhbGxvdyBtb3JlIGZyZXF1ZW50IHByb2Nlc3MKICAgICAgY3JlYXRpb24uPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxwPlRoaXMgc2V0dGluZyB3aWxsIGFwcGx5IHRvIGFsbCBhcHBsaWNhdGlvbnMgc3Bhd25lZCBmb3IgdGhpcwogICAgICBzZXJ2ZXIgb3IgdmlydHVhbCBob3N0LiAgVXNlIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRjbWRvcHRpb25zIj5GY2dpZENtZE9wdGlvbnM8L2E+PC9jb2RlPiB0byBhcHBseQogICAgICB0aGlzIHNldHRpbmcgdG8gYSBzaW5nbGUgYXBwbGljYXRpb24uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZE1pblByb2Nlc3Nlc1BlckNsYXNzIiBpZD0iRmNnaWRNaW5Qcm9jZXNzZXNQZXJDbGFzcyI+RmNnaWRNaW5Qcm9jZXNzZXNQZXJDbGFzczwvYT4gPGEgbmFtZT0iZmNnaWRtaW5wcm9jZXNzZXNwZXJjbGFzcyIgaWQ9ImZjZ2lkbWlucHJvY2Vzc2VzcGVyY2xhc3MiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPk1pbiBwcm9jZXNzIGNvdW50IG9mIG9uZSBjbGFzcyBvZiBGYXN0Q0dJIGFwcGxpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWluUHJvY2Vzc2VzUGVyQ2xhc3MgPGVtPnZhbHVlPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRNaW5Qcm9jZXNzZXNQZXJDbGFzcyAzPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyB0aGF0IHdpbGwgYmUKICAgICAgcmV0YWluZWQgaW4gYSBwcm9jZXNzIGNsYXNzIGFmdGVyIGZpbmlzaGluZyByZXF1ZXN0cy48L3A+CgogICAgICA8cD5UaGlzIHNldHRpbmcgd2lsbCBhcHBseSB0byBhbGwgYXBwbGljYXRpb25zIHNwYXduZWQgZm9yIHRoaXMKICAgICAgc2VydmVyIG9yIHZpcnR1YWwgaG9zdC4gIFVzZSAKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY21kb3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPjwvY29kZT4gdG8gYXBwbHkKICAgICAgdGhpcyBzZXR0aW5nIHRvIGEgc2luZ2xlIGFwcGxpY2F0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRPdXRwdXRCdWZmZXJTaXplIiBpZD0iRmNnaWRPdXRwdXRCdWZmZXJTaXplIj5GY2dpZE91dHB1dEJ1ZmZlclNpemU8L2E+IDxhIG5hbWU9ImZjZ2lkb3V0cHV0YnVmZmVyc2l6ZSIgaWQ9ImZjZ2lkb3V0cHV0YnVmZmVyc2l6ZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+Q0dJIG91dHB1dCBidWZmZXIgc2l6ZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE91dHB1dEJ1ZmZlclNpemUgPGVtPmJ5dGVzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRPdXRwdXRCdWZmZXJTaXplIDY1NTM2PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgaXMgdGhlIG1heGltdW0gYW1vdW50IG9mIHJlc3BvbnNlIGRhdGEgdGhlIG1vZHVsZSB3aWxsIHJlYWQKICAgICAgZnJvbSB0aGUgRmFzdENHSSBhcHBsaWNhdGlvbiBiZWZvcmUgZmx1c2hpbmcgdGhlIGRhdGEgdG8gdGhlIGNsaWVudC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkUGFzc0hlYWRlciIgaWQ9IkZjZ2lkUGFzc0hlYWRlciI+RmNnaWRQYXNzSGVhZGVyPC9hPiA8YSBuYW1lPSJmY2dpZHBhc3NoZWFkZXIiIGlkPSJmY2dpZHBhc3NoZWFkZXIiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkhlYWRlciBuYW1lIHdoaWNoIHdpbGwgYmUgcGFzc2VkIHRvIEZhc3RDR0kgYXMgZW52aXJvbm1lbnQgdmFyaWFibGUuPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkUGFzc0hlYWRlciA8ZW0+bmFtZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPjxlbT5ub25lPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBkaXJlY3RpdmUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIGEgcmVxdWVzdCBoZWFkZXIgd2hpY2gKICAgICAgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIEZhc3RDR0kgYXBwbGljYXRpb24gYXMgYW4gZW52aXJvbm1lbnQKICAgICAgdmFyaWFibGUuICBUaGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgZGVyaXZlZCBmcm9tCiAgICAgIHRoZSB2YWx1ZSBzcGVjaWZpZWQgb24gdGhpcyBkaXJlY3RpdmUsIGFzIGRpc2N1c3NlZCBiZWxvdzo8L3A+CgogICAgICA8cD5UaGUgbGVnYWN5IGJlaGF2aW9yIGlzIHRvIHVzZSB0aGUgdmFsdWUgc3BlY2lmaWVkIG9uIHRoaXMgZGlyZWN0aXZlCiAgICAgIGFzIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lLCBjb252ZXJ0aW5nIGh5cGhlbnMgdG8gdW5kZXJzY29yZXMuCiAgICAgIE5vIGNhc2UgY29udmVyc2lvbiBpcyBwZXJmb3JtZWQuPC9wPgoKICAgICAgPHA+QmVnaW5uaW5nIHdpdGggcmVsZWFzZSAyLjMuNiwgYW4gYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZQogICAgICBpcyBjcmVhdGVkLiAgVGhlIHZhbHVlIHNwZWNpZmllZCBvbiB0aGlzIGRpcmVjdGl2ZSBpcyBjb252ZXJ0ZWQgdG8gCiAgICAgIHVwcGVyIGNhc2UsIHByZWZpeGVkIHdpdGggPGNvZGU+SFRUUF88L2NvZGU+LCBhbmQgaHlwaGVucyBhcmUgCiAgICAgIGNvbnZlcnRlZCB0byB1bmRlcnNjb3Jlcy48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJub3RlIj48aDM+Tm90ZTwvaDM+CiAgICAgIDxwPk1vc3QgcmVxdWVzdCBoZWFkZXJzIGFyZSBhbHJlYWR5IGF2YWlsYWJsZSB0byB0aGUgYXBwbGljYXRpb24KICAgICAgYXMgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBhbmQgZ2VuZXJhbGx5IGFyZSBwcmVmaXhlZCB3aXRoIAogICAgICA8Y29kZT5IVFRQXzwvY29kZT4uICAoTm90YWJsZSBleGNlcHRpb25zIGFyZSA8Y29kZT5Db250ZW50LXR5cGU8L2NvZGU+CiAgICAgIGFuZCA8Y29kZT5Db250ZW50LWxlbmd0aDwvY29kZT4sIHdoaWNoIGRvIG5vdCBoYXZlIHRoZQogICAgICA8Y29kZT5IVFRQXzwvY29kZT4gcHJlZml4LikgIFRodXMsIHRoaXMgZGlyZWN0aXZlIGlzIG9ubHkgcmVxdWlyZWQKICAgICAgZm9yIHJlcXVlc3QgaGVhZGVycyB0aGF0IGFyZSBwdXJwb3NlZnVsbHkgb21pdHRlZCwgc3VjaCBhcwogICAgICA8Y29kZT5BdXRob3JpemF0aW9uPC9jb2RlPiBhbmQgPGNvZGU+UHJveHktQXV0aG9yaXphdGlvbjwvY29kZT4uCiAgICAgIE9ubHkgcGFzcyB0aGVzZSByZXF1ZXN0IGhlYWRlcnMgaWYgYWJzb2x1dGVseSByZXF1aXJlZC48L3A+CiAgICAgIDwvZGl2PgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZFByb2Nlc3NMaWZlVGltZSIgaWQ9IkZjZ2lkUHJvY2Vzc0xpZmVUaW1lIj5GY2dpZFByb2Nlc3NMaWZlVGltZTwvYT4gPGEgbmFtZT0iZmNnaWRwcm9jZXNzbGlmZXRpbWUiIGlkPSJmY2dpZHByb2Nlc3NsaWZldGltZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+bWF4aW11bSBGYXN0Q0dJIGFwcGxpY2F0aW9uIHByb2Nlc3MgbGlmZXRpbWU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRQcm9jZXNzTGlmZVRpbWUgPGVtPnNlY29uZHM8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFByb2Nlc3NMaWZlVGltZSAzNjAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPklkbGUgYXBwbGljYXRpb24gcHJvY2Vzc2VzIHdoaWNoIGhhdmUgZXhpc3RlZCBmb3IgZ3JlYXRlcgogICAgICB0aGFuIHRoaXMgdGltZSB3aWxsIGJlIHRlcm1pbmF0ZWQsIGlmIHRoZSBudW1iZXIgb2YgcHJvY2Vzc3NlcyBmb3IgdGhlCiAgICAgIGNsYXNzIGV4Y2VlZHMKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWlucHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWluUHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9jb2RlPi4KICAgICAgQSB2YWx1ZSBvZiA8Y29kZT4wPC9jb2RlPiBkaXNhYmxlcyB0aGUgY2hlY2suPC9wPgoKICAgICAgPHA+VGhpcyBwcm9jZXNzIGxpZmV0aW1lIGNoZWNrIGlzIHBlcmZvcm1lZCBhdCB0aGUgZnJlcXVlbmN5IG9mIHRoZSBjb25maWd1cmVkIAogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxlc2NhbmludGVydmFsIj5GY2dpZElkbGVTY2FuSW50ZXJ2YWw8L2E+PC9jb2RlPi48L3A+CgogICAgICA8cD5UaGlzIHNldHRpbmcgd2lsbCBhcHBseSB0byBhbGwgYXBwbGljYXRpb25zIHNwYXduZWQgZm9yIHRoaXMKICAgICAgc2VydmVyIG9yIHZpcnR1YWwgaG9zdC4gIFVzZSAKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY21kb3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPjwvY29kZT4gdG8gYXBwbHkKICAgICAgdGhpcyBzZXR0aW5nIHRvIGEgc2luZ2xlIGFwcGxpY2F0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRQcm9jZXNzVGFibGVGaWxlIiBpZD0iRmNnaWRQcm9jZXNzVGFibGVGaWxlIj5GY2dpZFByb2Nlc3NUYWJsZUZpbGU8L2E+IDxhIG5hbWU9ImZjZ2lkcHJvY2Vzc3RhYmxlZmlsZSIgaWQ9ImZjZ2lkcHJvY2Vzc3RhYmxlZmlsZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+c2hhcmVkIG1lbW9yeSBmaWxlIHBhdGg8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRQcm9jZXNzVGFibGVGaWxlIDxlbT5wYXRobmFtZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkUHJvY2Vzc1RhYmxlRmlsZSBsb2dzL2ZjZ2lkX3NobTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBtb2R1bGUgdXNlcyBzaGFyZWQgbWVtb3J5IG9uIFVuaXggdG8gbWFpbnRhaW4gc3RhdGUgd2hpY2gKICAgICAgaXMgc2hhcmVkIGJldHdlZW4gaHR0cGQgcHJvY2Vzc2VzLiAgVGhpcyBkaXJlY3RpdmUgc3BlY2lmaWVzIHRoZQogICAgICBuYW1lIG9mIHRoZSBzaGFyZWQgbWVtb3J5IGZpbGUuPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZFNwYXduU2NvcmUiIGlkPSJGY2dpZFNwYXduU2NvcmUiPkZjZ2lkU3Bhd25TY29yZTwvYT4gPGEgbmFtZT0iZmNnaWRzcGF3bnNjb3JlIiBpZD0iZmNnaWRzcGF3bnNjb3JlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5FYWNoIHNwYXduIGFkZHMgdGhpcyB2YWx1ZSB0byB0aGUgcHJvY2VzcyBhY3Rpdml0eSBzY29yZS48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRTcGF3blNjb3JlIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkU3Bhd25TY29yZSAxPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5Mb3dlciB2YWx1ZXMgb2YgdGhpcyBkaXJlY3RpdmUgaW5jcmVhc2UgdGhlIGFsbG93ZWQgc3Bhd24gcmF0ZS48L3A+CgogICAgICA8cD5SZWZlciB0byB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkc3Bhd25zY29yZXVwbGltaXQiPkZjZ2lkU3Bhd25TY29yZVVwTGltaXQ8L2E+PC9jb2RlPgogICAgICBkaXJlY3RpdmUgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZFNwYXduU2NvcmVVcExpbWl0IiBpZD0iRmNnaWRTcGF3blNjb3JlVXBMaW1pdCI+RmNnaWRTcGF3blNjb3JlVXBMaW1pdDwvYT4gPGEgbmFtZT0iZmNnaWRzcGF3bnNjb3JldXBsaW1pdCIgaWQ9ImZjZ2lkc3Bhd25zY29yZXVwbGltaXQiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPk1heGltdW0gdmFsdWUgb2YgdGhlIHByb2Nlc3MgYWN0aXZpdHkgc2NvcmUgd2hpY2ggYWxsb3dzCiAgICBhIHNwYXduIHRvIG9jY3VyPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkU3Bhd25TY29yZVVwTGltaXQgPGVtPnZhbHVlPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRTcGF3blNjb3JlVXBMaW1pdCAxMDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+QSBwcm9jZXNzIGFjdGl2aXR5IHNjb3JlIGlzIG1haW50YWluZWQgZm9yIGVhY2ggRmFzdENHSSBhcHBsaWNhdGlvbjsKICAgICAgdGhlIHNjb3JlIGlzIHVzZWQgdG8gY29udHJvbCB0aGUgcmF0ZSBvZiBzcGF3bmluZyBpbiBvcmRlciB0byBhdm9pZCAKICAgICAgcGxhY2luZyB0b28gbXVjaCBsb2FkIG9uIHRoZSBzeXN0ZW0sIHBhcnRpY3VsYXJseSBmb3IgYXBwbGljYXRpb25zIHRoYXQKICAgICAgYXJlIHJlcGVhdGVkbHkgZXhpdGluZyBhYm5vcm1hbGx5LjwvcD4KCiAgICAgIDxwPlRoZSB2YWx1ZSBvZiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JlIj5GY2dpZFNwYXduU2NvcmU8L2E+PC9jb2RlPgogICAgICBpcyBhZGRlZCB0byB0aGUgc2NvcmUgZm9yIGV2ZXJ5IHNwYXduZWQgYXBwbGljYXRpb24gcHJvY2Vzcy4gIFRoZSB2YWx1ZSBvZiAKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkdGVybWluYXRpb25zY29yZSI+RmNnaWRUZXJtaW5hdGlvblNjb3JlPC9hPjwvY29kZT4gaXMgYWRkZWQKICAgICAgdG8gdGhlIHNjb3JlIGZvciBldmVyeSB0ZXJtaW5hdGVkIGFwcGxpY2F0aW9uIHByb2Nlc3MuICBUaGUgdmFsdWUgb2YKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkdGltZXNjb3JlIj5GY2dpZFRpbWVTY29yZTwvYT48L2NvZGU+IGlzIHN1YnRyYWN0ZWQKICAgICAgZnJvbSB0aGUgc2NvcmUgZXZlcnkgc2Vjb25kLjwvcD4KCiAgICAgIDxwPldoZW4gdGhlIGN1cnJlbnQgc2NvcmUgaXMgaGlnaGVyIHRoYW4gdGhlIHZhbHVlIG9mCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkZjZ2lkU3Bhd25TY29yZVVwTGltaXQ8L2NvZGU+LCBubyBhZGRpdGlvbmFsIGFwcGxpY2F0aW9uCiAgICAgIHByb2Nlc3NlcyB3aWxsIGJlIHNwYXduZWQ7IHN1YnNlcXVlbnQgcmVxdWVzdHMgbXVzdCB3YWl0IHVudGlsIGFuIGV4aXN0aW5nIAogICAgICBwcm9jZXNzIGlzIGZyZWUgb3IgdW50aWwgdGhlIHNjb3JlIGRlY3JlYXNlcyBiZWxvdyB0aGUgbGltaXQuPC9wPgoKICAgICAgPHA+SWYgdGhlIGxpbWl0IGlzIHJlYWNoZWQgdW5kZXIgbm9ybWFsIGxvYWQsIGl0IG1heSBub3QgYmUgc3VmZmljaWVudCB0bwogICAgICBzaW1wbHkgaW5jcmVhc2UgdGhlIGxpbWl0LCBhcyB0aGF0IHdvdWxkIG9ubHkgZGVsYXkgdGhlIGFtb3VudCBvZiB0aW1lIAogICAgICBiZWZvcmUgdGhlIGxpbWl0IGlzIHJlYWNoZWQgYWdhaW4uICBEZWNyZWFzZSB0aGUgdmFsdWUgb2YgCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmUiPkZjZ2lkU3Bhd25TY29yZTwvYT48L2NvZGU+IGFuZC9vciAKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkdGVybWluYXRpb25zY29yZSI+RmNnaWRUZXJtaW5hdGlvblNjb3JlPC9hPjwvY29kZT4sIG9yCiAgICAgIGluY3JlYXNlIHRoZSB2YWx1ZSBvZiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWR0aW1lc2NvcmUiPkZjZ2lkVGltZVNjb3JlPC9hPjwvY29kZT4sCiAgICAgIHRvIGFsbG93IGEgaGlnaGVyIHJhdGUgb2Ygc3Bhd25pbmcuPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZFRlcm1pbmF0aW9uU2NvcmUiIGlkPSJGY2dpZFRlcm1pbmF0aW9uU2NvcmUiPkZjZ2lkVGVybWluYXRpb25TY29yZTwvYT4gPGEgbmFtZT0iZmNnaWR0ZXJtaW5hdGlvbnNjb3JlIiBpZD0iZmNnaWR0ZXJtaW5hdGlvbnNjb3JlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5FYWNoIHRlcm1pbmF0ZWQgcHJvY2VzcyBhZGRzIHRoaXMgdmFsdWUgdG8gdGhlIHByb2Nlc3MgYWN0aXZpdHkKICAgIHNjb3JlLjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFRlcm1pbmF0aW9uU2NvcmUgPGVtPnZhbHVlPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRUZXJtaW5hdGlvblNjb3JlIDI8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPkxvd2VyIHZhbHVlcyBvZiB0aGlzIGRpcmVjdGl2ZSBpbmNyZWFzZSB0aGUgYWxsb3dlZCBzcGF3biByYXRlLiAgTmVnYXRpdmUKICAgICAgdmFsdWVzIGNhbiBiZSB1c2VmdWwgaW4gc29tZSBjaXJjdW1zdGFuY2VzLCBzdWNoIGFzIGFsbG93aW5nIHByb2Nlc3MgCiAgICAgIHJlcGxhY2VtZW50IHdpdGhvdXQgaW5jcmVhc2luZyB0aGUgc2NvcmUuPC9wPgoKICAgICAgPHA+UmVmZXIgdG8gdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmV1cGxpbWl0Ij5GY2dpZFNwYXduU2NvcmVVcExpbWl0PC9hPjwvY29kZT4KICAgICAgZGlyZWN0aXZlIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRUaW1lU2NvcmUiIGlkPSJGY2dpZFRpbWVTY29yZSI+RmNnaWRUaW1lU2NvcmU8L2E+IDxhIG5hbWU9ImZjZ2lkdGltZXNjb3JlIiBpZD0iZmNnaWR0aW1lc2NvcmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkFtb3VudCBzdWJ0cmFjdGVkIGZyb20gcHJvY2VzcyBhY3Rpdml0eSBzY29yZSBlYWNoIAogICAgc2Vjb25kPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkVGltZVNjb3JlIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkVGltZVNjb3JlIDE8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPkhpZ2hlciB2YWx1ZXMgb2YgdGhpcyBkaXJlY3RpdmUgaW5jcmVhc2UgdGhlIGFsbG93ZWQgc3Bhd24gcmF0ZS48L3A+CgogICAgICA8cD5SZWZlciB0byB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkc3Bhd25zY29yZXVwbGltaXQiPkZjZ2lkU3Bhd25TY29yZVVwTGltaXQ8L2E+PC9jb2RlPgogICAgICBkaXJlY3RpdmUgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZFdyYXBwZXIiIGlkPSJGY2dpZFdyYXBwZXIiPkZjZ2lkV3JhcHBlcjwvYT4gPGEgbmFtZT0iZmNnaWR3cmFwcGVyIiBpZD0iZmNnaWR3cmFwcGVyIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5UaGUgQ0dJIHdyYXBwZXIgc2V0dGluZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFdyYXBwZXIgPGVtPmNvbW1hbmQ8L2VtPiBbIDxlbT5zdWZmaXg8L2VtPiBdIFsgdmlydHVhbCBdPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPjxlbT5ub25lPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+RmlsZUluZm88L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGUgZ2l2ZW4gY29tbWFuZCBpcyB1c2VkIHRvIHNwYXduIEZDR0kgc2VydmVyIHByb2Nlc3Nlcy4gSWYgdGhpcyBkaXJlY3RpdmUKICAgICAgaXMgbm90IHVzZWQsIHRoZSBmaWxlIHBvaW50ZWQgdG8gYnkgdGhlIHJlcXVlc3QgVVJMIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgogICAgICBPcHRpb25zIGZvciB0aGUgY29tbWFuZCBjYW4gYmUgaW5jbHVkZWQgdXNpbmcgcXVvdGF0aW9uIG1hcmtzIHN1cnJvdW5kaW5nCiAgICAgIHRoZSBjb21tYW5kIGFuZCBvcHRpb25zLjwvcD4KICAgICAgPHA+VGhlIG9wdGlvbmFsIDxjb2RlPnN1ZmZpeDwvY29kZT4gYXJndW1lbnQgcmVzdHJpY3RzIHRoZSB1c2Ugb2YgdGhpcyBGQ0dJCiAgICAgIHNlcnZlciB0byBhbGwgVVJMcyB3aXRoIHRoZSBnaXZlbiBleGFjdCBwYXRoIHN1ZmZpeC4gQSBzdWZmaXggbmVlZHMgdG8gc3RhcnQKICAgICAgd2l0aCAnPGNvZGU+LjwvY29kZT4nLjwvcD4KICAgICAgPHA+VGhlIDxjb2RlPnZpcnR1YWw8L2NvZGU+IGZsYWcgc2lnbmFscyB0aGF0IHRoZXJlIHdpbGwgYmUgbm8gY2hlY2sKICAgICAgd2hldGhlciB0aGUgcmVxdWVzdCBVUkwgYWN0dWFsbHkgcG9pbnRzIHRvIGFuIGV4aXN0aW5nIGZpbGUuIFRoZSBvbmx5CiAgICAgIGZpbGUgd2hpY2ggbmVlZHMgdG8gZXhpc3QgaXMgdGhlIHdyYXBwZXIgaXRzZWxmLjwvcD4KICAgICAgPHA+VGhlIGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCBtdWx0aXBsZSB0aW1lcy4gQSB3cmFwcGVyIGRlZmluZWQgd2l0aG91dCBhIHN1ZmZpeAogICAgICBpcyB1c2VkIGFzIGEgZGVmYXVsdCBpbiBjYXNlIG5vIHN1ZmZpeCBtYXRjaGVzLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRab21iaWVTY2FuSW50ZXJ2YWwiIGlkPSJGY2dpZFpvbWJpZVNjYW5JbnRlcnZhbCI+RmNnaWRab21iaWVTY2FuSW50ZXJ2YWw8L2E+IDxhIG5hbWU9ImZjZ2lkem9tYmllc2NhbmludGVydmFsIiBpZD0iZmNnaWR6b21iaWVzY2FuaW50ZXJ2YWwiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPnNjYW4gaW50ZXJ2YWwgZm9yIHpvbWJpZSBwcm9jZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkWm9tYmllU2NhbkludGVydmFsIDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRab21iaWVTY2FuSW50ZXJ2YWwgMzwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhlIG1vZHVsZSBjaGVja3MgZm9yIGV4aXRlZCBGYXN0Q0dJIGFwcGxpY2F0aW9ucyBhdCB0aGlzIGludGVydmFsLgogICAgICBEdXJpbmcgdGhpcyBwZXJpb2Qgb2YgdGltZSwgdGhlIGFwcGxpY2F0aW9uIG1heSBleGlzdCBpbiB0aGUgcHJvY2VzcwogICAgICB0YWJsZSBhcyBhIHpvbWJpZSAob24gVW5peCkuPC9wPgogICAgCjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iYm90dG9tbGFuZyI+CjxwPjxzcGFuPkF2YWlsYWJsZSBMYW5ndWFnZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX2ZjZ2lkLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDEwIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5MaWNlbnNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD48L2Rpdj4KPC9ib2R5PjwvaHRtbD4K