PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9kYmQgLSBBcGFjaGUgSFRUUCBTZXJ2ZXI8L3RpdGxlPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik1haW4gc3R5bGVzaGVldCIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLXByaW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIHR5cGU9InRleHQvY3NzIiAvPgo8bGluayBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0ic2hvcnRjdXQgaWNvbiIgLz48L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPkFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuMzwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5naWYiIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAgU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MtcHJvamVjdC8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuMzwvYT4gJmd0OyA8YSBocmVmPSIuLyI+TW9kdWxlczwvYT48L2Rpdj4KPGRpdiBpZD0icGFnZS1jb250ZW50Ij4KPGRpdiBpZD0icHJlYW1ibGUiPjxoMT5BcGFjaGUgTW9kdWxlIG1vZF9kYmQ8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfZGJkLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8dGFibGUgY2xhc3M9Im1vZHVsZSI+PHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+TWFuYWdlcyBTUUwgZGF0YWJhc2UgY29ubmVjdGlvbnM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjTW9kdWxlSWRlbnRpZmllciI+TW9kdWxloElkZW50aWZpZXI6PC9hPjwvdGg+PHRkPmRiZF9tb2R1bGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTb3VyY2VGaWxlIj5Tb3VyY2WgRmlsZTo8L2E+PC90aD48dGQ+bW9kX2RiZC5jPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl0eTo8L2E+PC90aD48dGQ+VmVyc2lvbiAyLjEgYW5kIGxhdGVyPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCiAgICA8cD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2RiZC5odG1sIj5tb2RfZGJkPC9hPjwvY29kZT4gbWFuYWdlcyBTUUwgZGF0YWJhc2UgY29ubmVjdGlvbnMgdXNpbmcKICAgIDxhIGhyZWY9Imh0dHA6Ly9wZW9wbGUuYXBhY2hlLm9yZy9+bmlxL2RiZC5odG1sIj5hcHJfZGJkPC9hPi4KICAgIEl0IHByb3ZpZGVzIGRhdGFiYXNlIGNvbm5lY3Rpb25zIG9uIHJlcXVlc3QgdG8gbW9kdWxlcwogICAgcmVxdWlyaW5nIFNRTCBkYXRhYmFzZSBmdW5jdGlvbnMsIGFuZCB0YWtlcyBjYXJlIG9mCiAgICBtYW5hZ2luZyBkYXRhYmFzZXMgd2l0aCBvcHRpbWFsIGVmZmljaWVuY3kgYW5kIHNjYWxhYmlsaXR5CiAgICBmb3IgYm90aCB0aHJlYWRlZCBhbmQgbm9uLXRocmVhZGVkIE1QTXMuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2RiZGV4cHRpbWUiPkRCREV4cHRpbWU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZGJka2VlcCI+REJES2VlcDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNkYmRtYXgiPkRCRE1heDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNkYmRtaW4iPkRCRE1pbjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNkYmRwYXJhbXMiPkRCRFBhcmFtczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNkYmRwZXJzaXN0Ij5EQkRQZXJzaXN0PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2RiZHByZXBhcmVzcWwiPkRCRFByZXBhcmVTUUw8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZGJkcml2ZXIiPkRCRHJpdmVyPC9hPjwvbGk+CjwvdWw+CjxoMz5Ub3BpY3M8L2gzPgo8dWwgaWQ9InRvcGljcyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3Bvb2xpbmciPkNvbm5lY3Rpb24gUG9vbGluZzwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNBUEkiPkFwYWNoZSBEQkQgQVBJPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3ByZXBhcmVkIj5TUUwgUHJlcGFyZWQgU3RhdGVtZW50czwvYT48L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJwb29saW5nIiBpZD0icG9vbGluZyI+Q29ubmVjdGlvbiBQb29saW5nPC9hPjwvaDI+CiAgICA8cD5UaGlzIG1vZHVsZSBtYW5hZ2VzIGRhdGFiYXNlIGNvbm5lY3Rpb25zLCBpbiBhIG1hbm5lcgogICAgb3B0aW1pc2VkIGZvciB0aGUgcGxhdGZvcm0uICBPbiBub24tdGhyZWFkZWQgcGxhdGZvcm1zLAogICAgaXQgcHJvdmlkZXMgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24gaW4gdGhlIG1hbm5lciBvZgogICAgY2xhc3NpYyBMQU1QIChMaW51eCwgQXBhY2hlLCBNeXNxbCwgUGVybC9QSFAvUHl0aG9uKS4KICAgIE9uIHRocmVhZGVkIHBsYXRmb3JtLCBpdCBwcm92aWRlcyBhbiBhbHRvZ2V0aGVyIG1vcmUKICAgIHNjYWxhYmxlIGFuZCBlZmZpY2llbnQgPGVtPmNvbm5lY3Rpb24gcG9vbDwvZW0+LCBhcwogICAgZGVzY3JpYmVkIGluIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hldHV0b3Iub3JnL2Rldi9yZXNsaXN0Ij50aGlzIGFydGljbGUgYXQgQXBhY2hlVHV0b3I8L2E+LiA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2RiZC5odG1sIj5tb2RfZGJkPC9hPjwvY29kZT4gc3VwZXJzZWRlcwogICAgdGhlIG1vZHVsZXMgcHJlc2VudGVkIGluIHRoYXQgYXJ0aWNsZS48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9IkFQSSIgaWQ9IkFQSSI+QXBhY2hlIERCRCBBUEk8L2E+PC9oMj4KICAgIDxwPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGJkLmh0bWwiPm1vZF9kYmQ8L2E+PC9jb2RlPiBleHBvcnRzIGZpdmUgZnVuY3Rpb25zIGZvciBvdGhlciBtb2R1bGVzCiAgICB0byB1c2UuIFRoZSBBUEkgaXMgYXMgZm9sbG93czo8L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHByZT48Y29kZT50eXBlZGVmIHN0cnVjdCB7CiAgICBhcHJfZGJkX3QgKmhhbmRsZTsKICAgIGFwcl9kYmRfZHJpdmVyX3QgKmRyaXZlcjsKICAgIGFwcl9oYXNoX3QgKnByZXBhcmVkOwp9IGFwX2RiZF90OwoKLyogRXhwb3J0IGZ1bmN0aW9ucyB0byBhY2Nlc3MgdGhlIGRhdGFiYXNlICovCgovKiBhY3F1aXJlIGEgY29ubmVjdGlvbiB0aGF0IE1VU1QgYmUgZXhwbGljaXRseSBjbG9zZWQuCiAqIFJldHVybnMgTlVMTCBvbiBlcnJvcgogKi8KQVBfREVDTEFSRShhcF9kYmRfdCopIGFwX2RiZF9vcGVuKGFwcl9wb29sX3QqLCBzZXJ2ZXJfcmVjKik7CgovKiByZWxlYXNlIGEgY29ubmVjdGlvbiBhY3F1aXJlZCB3aXRoIGFwX2RiZF9vcGVuICovCkFQX0RFQ0xBUkUodm9pZCkgYXBfZGJkX2Nsb3NlKHNlcnZlcl9yZWMqLCBhcF9kYmRfdCopOwoKLyogYWNxdWlyZSBhIGNvbm5lY3Rpb24gdGhhdCB3aWxsIGhhdmUgdGhlIGxpZmV0aW1lIG9mIGEgcmVxdWVzdAogKiBhbmQgTVVTVCBOT1QgYmUgZXhwbGljaXRseSBjbG9zZWQuICBSZXR1cm4gTlVMTCBvbiBlcnJvci4KICogVGhpcyBpcyB0aGUgcHJlZmVycmVkIGZ1bmN0aW9uIGZvciBtb3N0IGFwcGxpY2F0aW9ucy4KICovCkFQX0RFQ0xBUkUoYXBfZGJkX3QqKSBhcF9kYmRfYWNxdWlyZShyZXF1ZXN0X3JlYyopOwoKLyogYWNxdWlyZSBhIGNvbm5lY3Rpb24gdGhhdCB3aWxsIGhhdmUgdGhlIGxpZmV0aW1lIG9mIGEgY29ubmVjdGlvbgogKiBhbmQgTVVTVCBOT1QgYmUgZXhwbGljaXRseSBjbG9zZWQuICBSZXR1cm4gTlVMTCBvbiBlcnJvci4KICovCkFQX0RFQ0xBUkUoYXBfZGJkX3QqKSBhcF9kYmRfY2FjcXVpcmUocmVxdWVzdF9yZWMqKTsKCi8qIFByZXBhcmUgYSBzdGF0ZW1lbnQgZm9yIHVzZSBieSBhIGNsaWVudCBtb2R1bGUgKi8KQVBfREVDTEFSRSh2b2lkKSBhcF9kYmRfcHJlcGFyZShzZXJ2ZXJfcmVjKiwgY29uc3QgY2hhciosIGNvbnN0IGNoYXIqKTsKCi8qIEFsc28gZXhwb3J0IHRoZW0gYXMgb3B0aW9uYWwgZnVuY3Rpb25zIGZvciBtb2R1bGVzIHRoYXQgcHJlZmVyIGl0ICovCkFQUl9ERUNMQVJFX09QVElPTkFMX0ZOKGFwX2RiZF90KiwgYXBfZGJkX29wZW4sIChhcHJfcG9vbF90Kiwgc2VydmVyX3JlYyopKTsKQVBSX0RFQ0xBUkVfT1BUSU9OQUxfRk4odm9pZCwgYXBfZGJkX2Nsb3NlLCAoc2VydmVyX3JlYyosIGFwX2RiZF90KikpOwpBUFJfREVDTEFSRV9PUFRJT05BTF9GTihhcF9kYmRfdCosIGFwX2RiZF9hY3F1aXJlLCAocmVxdWVzdF9yZWMqKSk7CkFQUl9ERUNMQVJFX09QVElPTkFMX0ZOKGFwX2RiZF90KiwgYXBfZGJkX2NhY3F1aXJlLCAoY29ubl9yZWMqKSk7CkFQUl9ERUNMQVJFX09QVElPTkFMX0ZOKHZvaWQsIGFwX2RiZF9wcmVwYXJlLCAoc2VydmVyX3JlYyosIGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKikpOwo8L2NvZGU+PC9wcmU+PC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InByZXBhcmVkIiBpZD0icHJlcGFyZWQiPlNRTCBQcmVwYXJlZCBTdGF0ZW1lbnRzPC9hPjwvaDI+CiAgICA8cD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2RiZC5odG1sIj5tb2RfZGJkPC9hPjwvY29kZT4gc3VwcG9ydHMgU1FMIHByZXBhcmVkIHN0YXRlbWVudHMgb24gYmVoYWxmCiAgICBvZiBtb2R1bGVzIHRoYXQgbWF5IHdpc2ggdG8gdXNlIHRoZW0uICBFYWNoIHByZXBhcmVkIHN0YXRlbWVudAogICAgbXVzdCBiZSBhc3NpZ25lZCBhIG5hbWUgKGxhYmVsKSwgYW5kIHRoZXkgYXJlIHN0b3JlZCBpbiBhIGhhc2g6CiAgICB0aGUgPGNvZGU+cHJlcGFyZWQ8L2NvZGU+IGZpZWxkIG9mIGFuIDxjb2RlPmFwX2RiZF90PC9jb2RlPi4KICAgIEhhc2ggZW50cmllcyBhcmUgb2YgdHlwZSA8Y29kZT5hcHJfZGJkX3ByZXBhcmVkX3Q8L2NvZGU+CiAgICBhbmQgY2FuIGJlIHVzZWQgaW4gYW55IG9mIHRoZSBhcHJfZGJkIHByZXBhcmVkIHN0YXRlbWVudAogICAgU1FMIHF1ZXJ5IG9yIHNlbGVjdCBjb21tYW5kcy48L3A+CgogICAgPHA+SXQgaXMgdXAgdG8gZGJkIHVzZXIgbW9kdWxlcyB0byB1c2UgdGhlIHByZXBhcmVkIHN0YXRlbWVudHMKICAgIGFuZCBkb2N1bWVudCB3aGF0IHN0YXRlbWVudHMgY2FuIGJlIHNwZWNpZmllZCBpbiBodHRwZC5jb25mLAogICAgb3IgdG8gcHJvdmlkZSB0aGVpciBvd24gZGlyZWN0aXZlcyBhbmQgdXNlIDxjb2RlPmFwX2RiZF9wcmVwYXJlPC9jb2RlPi48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJEQkRFeHB0aW1lIiBpZD0iREJERXhwdGltZSI+REJERXhwdGltZTwvYT4gPGEgbmFtZT0iZGJkZXhwdGltZSIgaWQ9ImRiZGV4cHRpbWUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPktlZXBhbGl2ZSB0aW1lIGZvciBpZGxlIGNvbm5lY3Rpb25zPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkRCREV4cHRpbWUgPHZhcj50aW1lLWluLXNlY29uZHM8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZGJkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+U2V0IHRoZSB0aW1lIHRvIGtlZXAgaWRsZSBjb25uZWN0aW9ucyBhbGl2ZSB3aGVyZSB0aGUgbnVtYmVyCiAgICBvZiBjb25uZWN0aW9ucyBzcGVjaWZpZWQgaW4gREJES2VlcCBoYXMgYmVlbiBleGNlZWRlZCAodGhyZWFkZWQKICAgIHBsYXRmb3JtcyBvbmx5KS48L3A+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iREJES2VlcCIgaWQ9IkRCREtlZXAiPkRCREtlZXA8L2E+IDxhIG5hbWU9ImRiZGtlZXAiIGlkPSJkYmRrZWVwIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5NYXhpbXVtIHN1c3RhaW5lZG51bWJlciBvZiBjb25uZWN0aW9uczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5EQkRLZWVwIDx2YXI+bnVtYmVyPC92YXI+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2RiZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPlNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgcGVyIHByb2Nlc3MgdG8gYmUKICAgIHN1c3RhaW5lZCwgb3RoZXIgdGhhbiBmb3IgaGFuZGxpbmcgcGVhayBkZW1hbmQgKHRocmVhZGVkCiAgICBwbGF0Zm9ybXMgb25seSkuPC9wPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkRCRE1heCIgaWQ9IkRCRE1heCI+REJETWF4PC9hPiA8YSBuYW1lPSJkYmRtYXgiIGlkPSJkYmRtYXgiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPk1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkRCRE1heCA8dmFyPm51bWJlcjwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9kYmQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5TZXQgdGhlIGhhcmQgbWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgcGVyIHByb2Nlc3MKICAgICh0aHJlYWRlZCBwbGF0Zm9ybXMgb25seSkuPC9wPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkRCRE1pbiIgaWQ9IkRCRE1pbiI+REJETWluPC9hPiA8YSBuYW1lPSJkYmRtaW4iIGlkPSJkYmRtaW4iPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPk1pbmltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkRCRE1pbiA8dmFyPm51bWJlcjwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9kYmQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5TZXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHBlciBwcm9jZXNzICh0aHJlYWRlZAogICAgcGxhdGZvcm1zIG9ubHkpLjwvcD4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJEQkRQYXJhbXMiIGlkPSJEQkRQYXJhbXMiPkRCRFBhcmFtczwvYT4gPGEgbmFtZT0iZGJkcGFyYW1zIiBpZD0iZGJkcGFyYW1zIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5QYXJhbWV0ZXJzIGZvciBkYXRhYmFzZSBjb25uZWN0aW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkRCRFBhcmFtcwo8dmFyPnBhcmFtMTwvdmFyPj08dmFyPnZhbHVlMTwvdmFyPlssPHZhcj5wYXJhbTI8L3Zhcj49PHZhcj52YWx1ZTI8L3Zhcj5dPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2RiZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPkFzIHJlcXVpcmVkIGJ5IHRoZSB1bmRlcmx5aW5nIGRyaXZlci4gIFR5cGljYWxseSB0aGlzIHdpbGwgYmUKICAgIHVzZWQgdG8gcGFzcyB3aGF0ZXZlciBjYW5ub3QgYmUgZGVmYXVsdGVkIGFtb25nc3QgdXNlcm5hbWUsCiAgICBwYXNzd29yZCwgZGF0YWJhc2UgbmFtZSwgaG9zdG5hbWUgYW5kIHBvcnQgbnVtYmVyIGZvciBjb25uZWN0aW9uLjwvcD4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJEQkRQZXJzaXN0IiBpZD0iREJEUGVyc2lzdCI+REJEUGVyc2lzdDwvYT4gPGEgbmFtZT0iZGJkcGVyc2lzdCIgaWQ9ImRiZHBlcnNpc3QiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPldoZXRoZXIgdG8gdXNlIHBlcnNpc3RlbnQgY29ubmVjdGlvbnM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+REJEUGVyc2lzdCAwfDE8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZGJkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+SWYgc2V0IHRvIDAsIHBlcnNpc3RlbnQgYW5kIHBvb2xlZCBjb25uZWN0aW9ucyBhcmUgZGlzYWJsZWQuCiAgICBBIG5ldyBkYXRhYmFzZSBjb25uZWN0aW9uIGlzIG9wZW5lZCB3aGVuIHJlcXVlc3RlZCBieSBhIGNsaWVudCwKICAgIGFuZCBjbG9zZWQgaW1tZWRpYXRlbHkgb24gcmVsZWFzZS4gIFRoaXMgb3B0aW9uIGlzIGZvciBkZWJ1Z2dpbmcKICAgIGFuZCBsb3ctdXNhZ2Ugc2VydmVycy48L3A+CgogICAgPHA+VGhlIGRlZmF1bHQgaXMgdG8gZW5hYmxlIGEgcG9vbCBvZiBwZXJzaXN0ZW50IGNvbm5lY3Rpb25zCiAgICAob3IgYSBzaW5nbGUgTEFNUC1zdHlsZSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24gaW4gdGhlIGNhc2Ugb2YgYQogICAgbm9uLXRocmVhZGVkIHNlcnZlciksIGFuZCBzaG91bGQgYWxtb3N0IGFsd2F5cyBiZSB1c2VkIGluIG9wZXJhdGlvbi48L3A+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iREJEUHJlcGFyZVNRTCIgaWQ9IkRCRFByZXBhcmVTUUwiPkRCRFByZXBhcmVTUUw8L2E+IDxhIG5hbWU9ImRiZHByZXBhcmVzcWwiIGlkPSJkYmRwcmVwYXJlc3FsIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EZWZpbmUgYW4gU1FMIHByZXBhcmVkIHN0YXRlbWVudDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5EQkRQcmVwYXJlU1FMIDx2YXI+IlNRTCBzdGF0ZW1lbnQiPC92YXI+IDx2YXI+bGFiZWw8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZGJkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+Rm9yIG1vZHVsZXMgc3VjaCBhcyBhdXRoZW50aWNhdGlvbiB0aGF0IHVzZSByZXBlYXRlZGx5IHVzZSBhCiAgICBzaW5nbGUgU1FMIHN0YXRlbWVudCwgb3B0aW11bSBwZXJmb3JtYW5jZSBpcyBhY2hpZXZlZCBieSBwcmVwYXJpbmcKICAgIHRoZSBzdGF0ZW1lbnQgYXQgc3RhcnR1cCByYXRoZXIgdGhhbiBldmVyeSB0aW1lIGl0IGlzIHVzZWQuCiAgICBUaGlzIGRpcmVjdGl2ZSBwcmVwYXJlcyBhbiBTUUwgc3RhdGVtZW50IGFuZCBhc3NpZ25zIGl0IGEgbGFiZWwuPC9wPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkRCRHJpdmVyIiBpZD0iREJEcml2ZXIiPkRCRHJpdmVyPC9hPiA8YSBuYW1lPSJkYmRyaXZlciIgaWQ9ImRiZHJpdmVyIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5TcGVjaWZ5IGFuIFNRTCBkcml2ZXI8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+REJEcml2ZXIgPHZhcj5uYW1lPC92YXI+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2RiZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPlNlbGVjdHMgYW4gYXByX2RiZCBkcml2ZXIgYnkgbmFtZS4gIFRoZSBkcml2ZXIgbXVzdCBiZSBpbnN0YWxsZWQKICAgIG9uIHlvdXIgc3lzdGVtIChvbiBtb3N0IHN5c3RlbXMsIGl0IHdpbGwgYmUgYSBzaGFyZWQgb2JqZWN0IG9yIGRsbCkuCiAgICBGb3IgZXhhbXBsZSwgPGNvZGU+REJEcml2ZXIgbXlzcWw8L2NvZGU+IHdpbGwgc2VsZWN0IHRoZSBNeVNRTAogICAgZHJpdmVyIGluIGFwcl9kYmRfbXlzcWwuc28uPC9wPgoKPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfZGJkLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAxOTk1LTIwMDUgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG9yIGl0cyBsaWNlbnNvcnMsIGFzIGFwcGxpY2FibGUuPGJyIC8+TGljZW5zZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+PC9kaXY+CjwvYm9keT48L2h0bWw+