PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBGcmFtZXNldC8vRU4iImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvZnJhbWVzZXQuZHRkIj4KPCEtLU5ld1BhZ2UtLT4KPEhUTUw+CjxIRUFEPgo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFdlZCBBcHIgMTQgMDg6MjY6MzUgRURUIDIwMDQgLS0+CjxUSVRMRT4KVmVsb2NpdHkgMS40IEFQSTogQ2xhc3MgIFRleGVuVGFzawo8L1RJVExFPgo8TElOSyBSRUwgPSJzdHlsZXNoZWV0IiBUWVBFPSJ0ZXh0L2NzcyIgSFJFRj0iLi4vLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MiIFRJVExFPSJTdHlsZSI+CjwvSEVBRD4KPEJPRFkgQkdDT0xPUj0id2hpdGUiPgoKPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPgo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+CjxUUj4KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPgo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1RleGVuVGFzay5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDwvVFI+CjwvVEFCTEU+CjwvVEQ+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPgo8L0VNPgo8L1REPgo8L1RSPgoKPFRSPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgombmJzcDtQUkVWIENMQVNTJm5ic3A7CiZuYnNwO05FWFQgQ0xBU1M8L0ZPTlQ+PC9URD4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsKJm5ic3A7PEEgSFJFRj0iVGV4ZW5UYXNrLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSPgo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPgogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZF9zdW1tYXJ5Ij5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CkRFVEFJTDogJm5ic3A7PEEgSFJFRj0iI2ZpZWxkX2RldGFpbCI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPgoKPEhSPgo8IS0tID09PT09PT09IFNUQVJUIE9GIENMQVNTIERBVEEgPT09PT09PT0gLS0+CjxIMj4KPEZPTlQgU0laRT0iLTEiPgpvcmcuYXBhY2hlLnZlbG9jaXR5LnRleGVuLmFudDwvRk9OVD4KPEJSPgpDbGFzcyAgVGV4ZW5UYXNrPC9IMj4KPFBSRT4KPEI+b3JnLmFwYWNoZS52ZWxvY2l0eS50ZXhlbi5hbnQuVGV4ZW5UYXNrPC9CPgo8L1BSRT4KPEhSPgo8REw+CjxEVD5wdWJsaWMgY2xhc3MgPEI+VGV4ZW5UYXNrPC9CPjwvREw+Cgo8UD4KQW4gYW50IHRhc2sgZm9yIGdlbmVyYXRpbmcgb3V0cHV0IGJ5IHVzaW5nIFZlbG9jaXR5CjxQPgo8REw+CjxEVD48Qj5WZXJzaW9uOiA8L0I+PEREPiRJZDogVGV4ZW5UYXNrLmphdmEsdiAxLjM5LjQuMSAyMDA0LzAzLzAzIDIzOjIzOjA3IGdlaXJtIEV4cCAkPC9ERD4KPERUPjxCPkF1dGhvcjogPC9CPjxERD48YSBocmVmPSJtYWlsdG86anZhbnp5bEBhcGFjaGUub3JnIj5KYXNvbiB2YW4gWnlsPC9hPiwgPGEgaHJlZj0icm9iZXJ0ZG9ua2luQG1hYy5jb20iPlJvYmVydCBCdXJyZWxsIERvbmtpbjwvYT48L0REPgo8L0RMPgo8SFI+Cgo8UD4KPCEtLSA9PT09PT09PSBJTk5FUiBDTEFTUyBTVU1NQVJZID09PT09PT09IC0tPgoKCjwhLS0gPT09PT09PT09PT0gRklFTEQgU1VNTUFSWSA9PT09PT09PT09PSAtLT4KCjxBIE5BTUU9ImZpZWxkX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5GaWVsZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7b3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLkV4dGVuZGVkUHJvcGVydGllczwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI2NvbnRleHRQcm9wZXJ0aWVzIj5jb250ZXh0UHJvcGVydGllczwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsKIFRoZXNlIGFyZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGZlZCBpbnRvIHRoZQogaW5pdGlhbCBjb250ZXh0IGZyb20gYSBwcm9wZXJ0aWVzIGZpbGUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNjb250cm9sVGVtcGxhdGUiPmNvbnRyb2xUZW1wbGF0ZTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIGlzIHRoZSBjb250cm9sIHRlbXBsYXRlIHRoYXQgZ292ZXJucyB0aGUgb3V0cHV0LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByaXZhdGUgc3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI0VSUl9NU0dfRlJBR01FTlQiPkVSUl9NU0dfRlJBR01FTlQ8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBtZXNzYWdlIGZyYWdtZW50ICh0ZWxsaW5nIHVzZXJzIHRvIGNvbnN1bHQgdGhlIGxvZyBvcgogaW52b2tlIGFudCB3aXRoIHRoZSAtZGVidWcgZmxhZykgaXMgYXBwZW5kZWQgdG8gcmV0aHJvd24KIGV4Y2VwdGlvbiBtZXNzYWdlcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcml2YXRlICZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNmaWxlU2VwYXJhdG9yIj5maWxlU2VwYXJhdG9yPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BhdGggc2VwYXJhdG9yLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjaW5wdXRFbmNvZGluZyI+aW5wdXRFbmNvZGluZzwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIGlzIHRoZSBlbmNvZGluZyBmb3IgdGhlIGlucHV0IGZpbGUocykKICh0ZW1wbGF0ZXMpLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjb3V0cHV0RGlyZWN0b3J5Ij5vdXRwdXREaXJlY3Rvcnk8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBpcyB3aGVyZSB0ZXhlbiB3aWxsIHBsYWNlIGFsbCB0aGUgb3V0cHV0CiB0aGF0IGlzIGEgcHJvZHVjdCBvZiB0aGUgZ2VuZXJhdGlvbiBwcm9jZXNzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjb3V0cHV0RW5jb2RpbmciPm91dHB1dEVuY29kaW5nPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgaXMgdGhlIGVuY29kaW5nIGZvciB0aGUgb3V0cHV0IGZpbGUocykuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNvdXRwdXRGaWxlIj5vdXRwdXRGaWxlPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgaXMgdGhlIGZpbGUgd2hlcmUgdGhlIGdlbmVyYXRlZCB0ZXh0CiB3aWxsIGJlIHBsYWNlZC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI3RlbXBsYXRlUGF0aCI+dGVtcGxhdGVQYXRoPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgaXMgd2hlcmUgVmVsb2NpdHkgd2lsbCBsb29rIGZvciB0ZW1wbGF0ZXMKIHVzaW5nIHRoZSBmaWxlIHRlbXBsYXRlIGxvYWRlci48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI3VzZUNsYXNzcGF0aCI+dXNlQ2xhc3NwYXRoPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Byb3BlcnR5IHdoaWNoIGNvbnRyb2xzIHdoZXRoZXIgdGhlIGNsYXNzcGF0aAogd2lsbCBiZSB1c2VkIHdoZW4gdHJ5aW5nIHRvIGxvY2F0ZSB0ZW1wbGF0ZXMuPC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjwhLS0gPT09PT09PT0gQ09OU1RSVUNUT1IgU1VNTUFSWSA9PT09PT09PSAtLT4KCjxBIE5BTUU9ImNvbnN0cnVjdG9yX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5Db25zdHJ1Y3RvciBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI1RleGVuVGFzaygpIj5UZXhlblRhc2s8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPCEtLSA9PT09PT09PT09IE1FVEhPRCBTVU1NQVJZID09PT09PT09PT09IC0tPgoKPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNjbGVhbnVwKCkiPmNsZWFudXA8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBIGhvb2sgbWV0aG9kIGNhbGxlZCBhdCB0aGUgZW5kIG9mIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI2V4ZWN1dGUoKSI+PENPREU+ZXhlY3V0ZSgpPC9DT0RFPjwvQT4gd2hpY2ggY2FuCiBiZSBvdmVycmlkZGVuIHRvIHBlcmZvcm0gYW55IG5lY2Vzc2FyeSBjbGVhbnVwIGFjdGl2aXRpZXMgKHN1Y2gKIGFzIHRoZSByZWxlYXNlIG9mIGRhdGFiYXNlIGNvbm5lY3Rpb25zLCBldGMuKS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjZXhlY3V0ZSgpIj5leGVjdXRlPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RXhlY3V0ZSB0aGUgaW5wdXQgc2NyaXB0IHdpdGggVmVsb2NpdHk8L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuRXh0ZW5kZWRQcm9wZXJ0aWVzPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjZ2V0Q29udGV4dFByb3BlcnRpZXMoKSI+Z2V0Q29udGV4dFByb3BlcnRpZXM8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIGNvbnRleHQgcHJvcGVydGllcyB0aGF0IHdpbGwgYmUKIGZlZCBpbnRvIHRoZSBpbml0aWFsIGNvbnRleHQgYmUgdGhlCiBnZW5lcmF0aW5nIHByb2Nlc3Mgc3RhcnRzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNnZXRDb250cm9sVGVtcGxhdGUoKSI+Z2V0Q29udHJvbFRlbXBsYXRlPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBjb250cm9sIHRlbXBsYXRlIGZvciB0aGUKIGdlbmVyYXRpbmcgcHJvY2Vzcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjZ2V0T3V0cHV0RGlyZWN0b3J5KCkiPmdldE91dHB1dERpcmVjdG9yeTwvQT48L0I+KCk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgb3V0cHV0IGRpcmVjdG9yeS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjZ2V0T3V0cHV0RmlsZSgpIj5nZXRPdXRwdXRGaWxlPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBvdXRwdXQgZmlsZSBmb3IgdGhlCiBnZW5lcmF0aW9uIHByb2Nlc3MuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI2dldFRlbXBsYXRlUGF0aCgpIj5nZXRUZW1wbGF0ZVBhdGg8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIHBhdGggd2hlcmUgVmVsb2NpdHkgd2lsbCBsb29rCiBmb3IgdGVtcGxhdGVzIHVzaW5nIHRoZSBmaWxlIHRlbXBsYXRlCiBsb2FkZXIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNpbml0Q29udHJvbENvbnRleHQoKSI+aW5pdENvbnRyb2xDb250ZXh0PC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlcyBhIFZlbG9jaXR5Q29udGV4dC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI3BvcHVsYXRlSW5pdGlhbENvbnRleHQob3JnLmFwYWNoZS52ZWxvY2l0eS5jb250ZXh0LkNvbnRleHQpIj5wb3B1bGF0ZUluaXRpYWxDb250ZXh0PC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT4mbmJzcDtjb250ZXh0KTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UGxhY2UgdXNlZnVsIG9iamVjdHMgaW50byB0aGUgaW5pdGlhbCBjb250ZXh0LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNzZXRDb250ZXh0UHJvcGVydGllcyhqYXZhLmxhbmcuU3RyaW5nKSI+c2V0Q29udGV4dFByb3BlcnRpZXM8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZmlsZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCB0aGUgY29udGV4dCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZQogZmVkIGludG8gdGhlIGluaXRpYWwgY29udGV4dCBiZSB0aGUKIGdlbmVyYXRpbmcgcHJvY2VzcyBzdGFydHMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI3NldENvbnRyb2xUZW1wbGF0ZShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0Q29udHJvbFRlbXBsYXRlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2NvbnRyb2xUZW1wbGF0ZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1tSRVFVSVJFRF0gU2V0IHRoZSBjb250cm9sIHRlbXBsYXRlIGZvciB0aGUKIGdlbmVyYXRpbmcgcHJvY2Vzcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjc2V0SW5wdXRFbmNvZGluZyhqYXZhLmxhbmcuU3RyaW5nKSI+c2V0SW5wdXRFbmNvZGluZzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtpbnB1dEVuY29kaW5nKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBpbnB1dCAodGVtcGxhdGUpIGVuY29kaW5nLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNzZXRPdXRwdXREaXJlY3RvcnkoamF2YS5pby5GaWxlKSI+c2V0T3V0cHV0RGlyZWN0b3J5PC9BPjwvQj4oamF2YS5pby5GaWxlJm5ic3A7b3V0cHV0RGlyZWN0b3J5KTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1JFUVVJUkVEXSBTZXQgdGhlIG91dHB1dCBkaXJlY3RvcnkuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI3NldE91dHB1dEVuY29kaW5nKGphdmEubGFuZy5TdHJpbmcpIj5zZXRPdXRwdXRFbmNvZGluZzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtvdXRwdXRFbmNvZGluZyk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCB0aGUgb3V0cHV0IGVuY29kaW5nLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNzZXRPdXRwdXRGaWxlKGphdmEubGFuZy5TdHJpbmcpIj5zZXRPdXRwdXRGaWxlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO291dHB1dEZpbGUpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtbUkVRVUlSRURdIFNldCB0aGUgb3V0cHV0IGZpbGUgZm9yIHRoZQogZ2VuZXJhdGlvbiBwcm9jZXNzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNzZXRUZW1wbGF0ZVBhdGgoamF2YS5sYW5nLlN0cmluZykiPnNldFRlbXBsYXRlUGF0aDwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt0ZW1wbGF0ZVBhdGgpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtbUkVRVUlSRURdIFNldCB0aGUgcGF0aCB3aGVyZSBWZWxvY2l0eSB3aWxsIGxvb2sKIGZvciB0ZW1wbGF0ZXMgdXNpbmcgdGhlIGZpbGUgdGVtcGxhdGUKIGxvYWRlci48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjc2V0VXNlQ2xhc3NwYXRoKGJvb2xlYW4pIj5zZXRVc2VDbGFzc3BhdGg8L0E+PC9CPihib29sZWFuJm5ic3A7dXNlQ2xhc3NwYXRoKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSB1c2Ugb2YgdGhlIGNsYXNzcGF0aCBpbiBsb2NhdGluZyB0ZW1wbGF0ZXM8L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+Cgo8IS0tID09PT09PT09PT09PSBGSUVMRCBERVRBSUwgPT09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJmaWVsZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5GaWVsZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJFUlJfTVNHX0ZSQUdNRU5UIj48IS0tIC0tPjwvQT48SDM+CkVSUl9NU0dfRlJBR01FTlQ8L0gzPgo8UFJFPgpwcml2YXRlIHN0YXRpYyBmaW5hbCBqYXZhLmxhbmcuU3RyaW5nIDxCPkVSUl9NU0dfRlJBR01FTlQ8L0I+PC9QUkU+CjxETD4KPEREPlRoaXMgbWVzc2FnZSBmcmFnbWVudCAodGVsbGluZyB1c2VycyB0byBjb25zdWx0IHRoZSBsb2cgb3IKIGludm9rZSBhbnQgd2l0aCB0aGUgLWRlYnVnIGZsYWcpIGlzIGFwcGVuZGVkIHRvIHJldGhyb3duCiBleGNlcHRpb24gbWVzc2FnZXMuPC9ETD4KPEhSPgoKPEEgTkFNRT0iY29udHJvbFRlbXBsYXRlIj48IS0tIC0tPjwvQT48SDM+CmNvbnRyb2xUZW1wbGF0ZTwvSDM+CjxQUkU+CnByb3RlY3RlZCBqYXZhLmxhbmcuU3RyaW5nIDxCPmNvbnRyb2xUZW1wbGF0ZTwvQj48L1BSRT4KPERMPgo8REQ+VGhpcyBpcyB0aGUgY29udHJvbCB0ZW1wbGF0ZSB0aGF0IGdvdmVybnMgdGhlIG91dHB1dC4KIEl0IG1heSBvciBtYXkgbm90IGludm9rZSB0aGUgc2VydmljZXMgb2Ygd29ya2VyCiB0ZW1wbGF0ZXMuPC9ETD4KPEhSPgoKPEEgTkFNRT0idGVtcGxhdGVQYXRoIj48IS0tIC0tPjwvQT48SDM+CnRlbXBsYXRlUGF0aDwvSDM+CjxQUkU+CnByb3RlY3RlZCBqYXZhLmxhbmcuU3RyaW5nIDxCPnRlbXBsYXRlUGF0aDwvQj48L1BSRT4KPERMPgo8REQ+VGhpcyBpcyB3aGVyZSBWZWxvY2l0eSB3aWxsIGxvb2sgZm9yIHRlbXBsYXRlcwogdXNpbmcgdGhlIGZpbGUgdGVtcGxhdGUgbG9hZGVyLjwvREw+CjxIUj4KCjxBIE5BTUU9Im91dHB1dERpcmVjdG9yeSI+PCEtLSAtLT48L0E+PEgzPgpvdXRwdXREaXJlY3Rvcnk8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgamF2YS5sYW5nLlN0cmluZyA8Qj5vdXRwdXREaXJlY3Rvcnk8L0I+PC9QUkU+CjxETD4KPEREPlRoaXMgaXMgd2hlcmUgdGV4ZW4gd2lsbCBwbGFjZSBhbGwgdGhlIG91dHB1dAogdGhhdCBpcyBhIHByb2R1Y3Qgb2YgdGhlIGdlbmVyYXRpb24gcHJvY2Vzcy48L0RMPgo8SFI+Cgo8QSBOQU1FPSJvdXRwdXRGaWxlIj48IS0tIC0tPjwvQT48SDM+Cm91dHB1dEZpbGU8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgamF2YS5sYW5nLlN0cmluZyA8Qj5vdXRwdXRGaWxlPC9CPjwvUFJFPgo8REw+CjxERD5UaGlzIGlzIHRoZSBmaWxlIHdoZXJlIHRoZSBnZW5lcmF0ZWQgdGV4dAogd2lsbCBiZSBwbGFjZWQuPC9ETD4KPEhSPgoKPEEgTkFNRT0ib3V0cHV0RW5jb2RpbmciPjwhLS0gLS0+PC9BPjxIMz4Kb3V0cHV0RW5jb2Rpbmc8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgamF2YS5sYW5nLlN0cmluZyA8Qj5vdXRwdXRFbmNvZGluZzwvQj48L1BSRT4KPERMPgo8REQ+VGhpcyBpcyB0aGUgZW5jb2RpbmcgZm9yIHRoZSBvdXRwdXQgZmlsZShzKS48L0RMPgo8SFI+Cgo8QSBOQU1FPSJpbnB1dEVuY29kaW5nIj48IS0tIC0tPjwvQT48SDM+CmlucHV0RW5jb2Rpbmc8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgamF2YS5sYW5nLlN0cmluZyA8Qj5pbnB1dEVuY29kaW5nPC9CPjwvUFJFPgo8REw+CjxERD5UaGlzIGlzIHRoZSBlbmNvZGluZyBmb3IgdGhlIGlucHV0IGZpbGUocykKICh0ZW1wbGF0ZXMpLjwvREw+CjxIUj4KCjxBIE5BTUU9ImNvbnRleHRQcm9wZXJ0aWVzIj48IS0tIC0tPjwvQT48SDM+CmNvbnRleHRQcm9wZXJ0aWVzPC9IMz4KPFBSRT4KcHJvdGVjdGVkIG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5FeHRlbmRlZFByb3BlcnRpZXMgPEI+Y29udGV4dFByb3BlcnRpZXM8L0I+PC9QUkU+CjxETD4KPEREPjxwPgogVGhlc2UgYXJlIHByb3BlcnRpZXMgdGhhdCBhcmUgZmVkIGludG8gdGhlCiBpbml0aWFsIGNvbnRleHQgZnJvbSBhIHByb3BlcnRpZXMgZmlsZS4gVGhpcwogaXMgc2ltcGx5IGEgY29udmVuaWVudCB3YXkgdG8gc2V0IHNvbWUgdmFsdWVzCiB0aGF0IHlvdSB3aXNoIHRvIG1ha2UgYXZhaWxhYmxlIGluIHRoZSBjb250ZXh0LgogPC9wPgogPHA+CiBUaGVzZSB2YWx1ZXMgYXJlIG5vdCBjcml0aWNhbCwgbGlrZSB0aGUgdGVtcGxhdGUgcGF0aAogb3Igb3V0cHV0IHBhdGgsIGJ1dCBhbGxvdyBhIGNvbnZlbmllbnQgd2F5IHRvCiBzZXQgYSB2YWx1ZSB0aGF0IG1heSBiZSBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIKIGdlbmVyYXRpb24gdGFzay4KIDwvcD4KIDxwPgogRm9yIGV4YW1wbGUsIGlmIHlvdSBhcmUgZ2VuZXJhdGluZyBzY3JpcHRzIHRvIGFsbG93CiB1c2VyIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgZGF0YWJhc2UsIHRoZW4KIHlvdSBtaWdodCB3YW50IHRoZSA8Y29kZT4kZGF0YWJhc2VOYW1lPC9jb2RlPiAKIHRvIGJlIHBsYWNlZAogaW4gdGhlIGluaXRpYWwgY29udGV4dCBzbyB0aGF0IGl0IGlzIGF2YWlsYWJsZQogaW4gYSBzY3JpcHQgdGhhdCBtaWdodCBsb29rIHNvbWV0aGluZyBsaWtlIHRoZQogZm9sbG93aW5nOgogPGNvZGU+PHByZT4KICMhYmluL3NoCiAKIGVjaG8geSB8IG15c3FsYWRtaW4gY3JlYXRlICRkYXRhYmFzZU5hbWUKIDwvcHJlPjwvY29kZT4KIFRoZSB2YWx1ZSBvZiA8Y29kZT4kZGF0YWJhc2VOYW1lPC9jb2RlPiBpc24ndCBjcml0aWNhbCB0bwogb3V0cHV0LCBhbmQgeW91IG9idmlvdXNseSBkb24ndCB3YW50IHRvIGNoYW5nZQogdGhlIGFudCB0YXNrIHRvIHNpbXBseSB0YWtlIGEgZGF0YWJhc2UgbmFtZS4KIFNvIGluaXRpYWwgY29udGV4dCB2YWx1ZXMgY2FuIGJlIHNldCB3aXRoCiBwcm9wZXJ0aWVzIGZpbGUuPC9ETD4KPEhSPgoKPEEgTkFNRT0idXNlQ2xhc3NwYXRoIj48IS0tIC0tPjwvQT48SDM+CnVzZUNsYXNzcGF0aDwvSDM+CjxQUkU+CnByb3RlY3RlZCBib29sZWFuIDxCPnVzZUNsYXNzcGF0aDwvQj48L1BSRT4KPERMPgo8REQ+UHJvcGVydHkgd2hpY2ggY29udHJvbHMgd2hldGhlciB0aGUgY2xhc3NwYXRoCiB3aWxsIGJlIHVzZWQgd2hlbiB0cnlpbmcgdG8gbG9jYXRlIHRlbXBsYXRlcy48L0RMPgo8SFI+Cgo8QSBOQU1FPSJmaWxlU2VwYXJhdG9yIj48IS0tIC0tPjwvQT48SDM+CmZpbGVTZXBhcmF0b3I8L0gzPgo8UFJFPgpwcml2YXRlIGphdmEubGFuZy5TdHJpbmcgPEI+ZmlsZVNlcGFyYXRvcjwvQj48L1BSRT4KPERMPgo8REQ+UGF0aCBzZXBhcmF0b3IuPC9ETD4KCjwhLS0gPT09PT09PT09IENPTlNUUlVDVE9SIERFVEFJTCA9PT09PT09PSAtLT4KCjxBIE5BTUU9ImNvbnN0cnVjdG9yX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+CjxCPkNvbnN0cnVjdG9yIERldGFpbDwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KCjxBIE5BTUU9IlRleGVuVGFzaygpIj48IS0tIC0tPjwvQT48SDM+ClRleGVuVGFzazwvSDM+CjxQUkU+CnB1YmxpYyA8Qj5UZXhlblRhc2s8L0I+KCk8L1BSRT4KPERMPgo8L0RMPgoKPCEtLSA9PT09PT09PT09PT0gTUVUSE9EIERFVEFJTCA9PT09PT09PT09IC0tPgoKPEEgTkFNRT0ibWV0aG9kX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+CjxCPk1ldGhvZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJzZXRDb250cm9sVGVtcGxhdGUoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4Kc2V0Q29udHJvbFRlbXBsYXRlPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+c2V0Q29udHJvbFRlbXBsYXRlPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7Y29udHJvbFRlbXBsYXRlKTwvUFJFPgo8REw+CjxERD5bUkVRVUlSRURdIFNldCB0aGUgY29udHJvbCB0ZW1wbGF0ZSBmb3IgdGhlCiBnZW5lcmF0aW5nIHByb2Nlc3MuPC9ETD4KPEhSPgoKPEEgTkFNRT0iZ2V0Q29udHJvbFRlbXBsYXRlKCkiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0Q29udHJvbFRlbXBsYXRlPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0Q29udHJvbFRlbXBsYXRlPC9CPigpPC9QUkU+CjxETD4KPEREPkdldCB0aGUgY29udHJvbCB0ZW1wbGF0ZSBmb3IgdGhlCiBnZW5lcmF0aW5nIHByb2Nlc3MuPC9ETD4KPEhSPgoKPEEgTkFNRT0ic2V0VGVtcGxhdGVQYXRoKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CnNldFRlbXBsYXRlUGF0aDwvSDM+CjxQUkU+CnB1YmxpYyB2b2lkIDxCPnNldFRlbXBsYXRlUGF0aDwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3RlbXBsYXRlUGF0aCkKICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb248L1BSRT4KPERMPgo8REQ+W1JFUVVJUkVEXSBTZXQgdGhlIHBhdGggd2hlcmUgVmVsb2NpdHkgd2lsbCBsb29rCiBmb3IgdGVtcGxhdGVzIHVzaW5nIHRoZSBmaWxlIHRlbXBsYXRlCiBsb2FkZXIuPC9ETD4KPEhSPgoKPEEgTkFNRT0iZ2V0VGVtcGxhdGVQYXRoKCkiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0VGVtcGxhdGVQYXRoPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0VGVtcGxhdGVQYXRoPC9CPigpPC9QUkU+CjxETD4KPEREPkdldCB0aGUgcGF0aCB3aGVyZSBWZWxvY2l0eSB3aWxsIGxvb2sKIGZvciB0ZW1wbGF0ZXMgdXNpbmcgdGhlIGZpbGUgdGVtcGxhdGUKIGxvYWRlci48L0RMPgo8SFI+Cgo8QSBOQU1FPSJzZXRPdXRwdXREaXJlY3RvcnkoamF2YS5pby5GaWxlKSI+PCEtLSAtLT48L0E+PEgzPgpzZXRPdXRwdXREaXJlY3Rvcnk8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5zZXRPdXRwdXREaXJlY3Rvcnk8L0I+KGphdmEuaW8uRmlsZSZuYnNwO291dHB1dERpcmVjdG9yeSk8L1BSRT4KPERMPgo8REQ+W1JFUVVJUkVEXSBTZXQgdGhlIG91dHB1dCBkaXJlY3RvcnkuIEl0IHdpbGwgYmUKIGNyZWF0ZWQgaWYgaXQgZG9lc24ndCBleGlzdC48L0RMPgo8SFI+Cgo8QSBOQU1FPSJnZXRPdXRwdXREaXJlY3RvcnkoKSI+PCEtLSAtLT48L0E+PEgzPgpnZXRPdXRwdXREaXJlY3Rvcnk8L0gzPgo8UFJFPgpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRPdXRwdXREaXJlY3Rvcnk8L0I+KCk8L1BSRT4KPERMPgo8REQ+R2V0IHRoZSBvdXRwdXQgZGlyZWN0b3J5LjwvREw+CjxIUj4KCjxBIE5BTUU9InNldE91dHB1dEZpbGUoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4Kc2V0T3V0cHV0RmlsZTwvSDM+CjxQUkU+CnB1YmxpYyB2b2lkIDxCPnNldE91dHB1dEZpbGU8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtvdXRwdXRGaWxlKTwvUFJFPgo8REw+CjxERD5bUkVRVUlSRURdIFNldCB0aGUgb3V0cHV0IGZpbGUgZm9yIHRoZQogZ2VuZXJhdGlvbiBwcm9jZXNzLjwvREw+CjxIUj4KCjxBIE5BTUU9InNldE91dHB1dEVuY29kaW5nKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CnNldE91dHB1dEVuY29kaW5nPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+c2V0T3V0cHV0RW5jb2Rpbmc8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtvdXRwdXRFbmNvZGluZyk8L1BSRT4KPERMPgo8REQ+U2V0IHRoZSBvdXRwdXQgZW5jb2RpbmcuPC9ETD4KPEhSPgoKPEEgTkFNRT0ic2V0SW5wdXRFbmNvZGluZyhqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgpzZXRJbnB1dEVuY29kaW5nPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+c2V0SW5wdXRFbmNvZGluZzwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2lucHV0RW5jb2RpbmcpPC9QUkU+CjxETD4KPEREPlNldCB0aGUgaW5wdXQgKHRlbXBsYXRlKSBlbmNvZGluZy48L0RMPgo8SFI+Cgo8QSBOQU1FPSJnZXRPdXRwdXRGaWxlKCkiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0T3V0cHV0RmlsZTwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldE91dHB1dEZpbGU8L0I+KCk8L1BSRT4KPERMPgo8REQ+R2V0IHRoZSBvdXRwdXQgZmlsZSBmb3IgdGhlCiBnZW5lcmF0aW9uIHByb2Nlc3MuPC9ETD4KPEhSPgoKPEEgTkFNRT0ic2V0Q29udGV4dFByb3BlcnRpZXMoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4Kc2V0Q29udGV4dFByb3BlcnRpZXM8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5zZXRDb250ZXh0UHJvcGVydGllczwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2ZpbGUpPC9QUkU+CjxETD4KPEREPlNldCB0aGUgY29udGV4dCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZQogZmVkIGludG8gdGhlIGluaXRpYWwgY29udGV4dCBiZSB0aGUKIGdlbmVyYXRpbmcgcHJvY2VzcyBzdGFydHMuPC9ETD4KPEhSPgoKPEEgTkFNRT0iZ2V0Q29udGV4dFByb3BlcnRpZXMoKSI+PCEtLSAtLT48L0E+PEgzPgpnZXRDb250ZXh0UHJvcGVydGllczwvSDM+CjxQUkU+CnB1YmxpYyBvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuRXh0ZW5kZWRQcm9wZXJ0aWVzIDxCPmdldENvbnRleHRQcm9wZXJ0aWVzPC9CPigpPC9QUkU+CjxETD4KPEREPkdldCB0aGUgY29udGV4dCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZQogZmVkIGludG8gdGhlIGluaXRpYWwgY29udGV4dCBiZSB0aGUKIGdlbmVyYXRpbmcgcHJvY2VzcyBzdGFydHMuPC9ETD4KPEhSPgoKPEEgTkFNRT0ic2V0VXNlQ2xhc3NwYXRoKGJvb2xlYW4pIj48IS0tIC0tPjwvQT48SDM+CnNldFVzZUNsYXNzcGF0aDwvSDM+CjxQUkU+CnB1YmxpYyB2b2lkIDxCPnNldFVzZUNsYXNzcGF0aDwvQj4oYm9vbGVhbiZuYnNwO3VzZUNsYXNzcGF0aCk8L1BSRT4KPERMPgo8REQ+U2V0IHRoZSB1c2Ugb2YgdGhlIGNsYXNzcGF0aCBpbiBsb2NhdGluZyB0ZW1wbGF0ZXM8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmJvb2xlYW48L0NPREU+IC0gdHJ1ZSBtZWFucyB0aGUgY2xhc3NwYXRoIHdpbGwgYmUgdXNlZC48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJpbml0Q29udHJvbENvbnRleHQoKSI+PCEtLSAtLT48L0E+PEgzPgppbml0Q29udHJvbENvbnRleHQ8L0gzPgo8UFJFPgpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT4gPEI+aW5pdENvbnRyb2xDb250ZXh0PC9CPigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPkNyZWF0ZXMgYSBWZWxvY2l0eUNvbnRleHQuPEREPjxETD4KPERUPjxCPlJldHVybnM6PC9CPjxERD5uZXcgQ29udGV4dDxEVD48Qj5UaHJvd3M6PC9CPjxERD48Q09ERT5qYXZhLmxhbmcuRXhjZXB0aW9uPC9DT0RFPiAtIHRoZSBleGVjdXRlIG1ldGhvZCB3aWxsIGNhdGNoIAogICAgICAgICBhbmQgcmV0aHJvdyBhcyBhIDxjb2RlPkJ1aWxkRXhjZXB0aW9uPC9jb2RlPjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImV4ZWN1dGUoKSI+PCEtLSAtLT48L0E+PEgzPgpleGVjdXRlPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+ZXhlY3V0ZTwvQj4oKQogICAgICAgICAgICAgdGhyb3dzIG9yZy5hcGFjaGUudG9vbHMuYW50LkJ1aWxkRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPkV4ZWN1dGUgdGhlIGlucHV0IHNjcmlwdCB3aXRoIFZlbG9jaXR5PEREPjxETD4KPERUPjxCPlRocm93czo8L0I+PEREPjxDT0RFPkJ1aWxkRXhjZXB0aW9uPC9DT0RFPiAtIEJ1aWxkRXhjZXB0aW9ucyBhcmUgdGhyb3duIHdoZW4gcmVxdWlyZWQgYXR0cmlidXRlcyBhcmUgbWlzc2luZy4KIEV4Y2VwdGlvbnMgdGhyb3duIGJ5IFZlbG9jaXR5IGFyZSByZXRocm93biBhcyBCdWlsZEV4Y2VwdGlvbnMuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0icG9wdWxhdGVJbml0aWFsQ29udGV4dChvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCkiPjwhLS0gLS0+PC9BPjxIMz4KcG9wdWxhdGVJbml0aWFsQ29udGV4dDwvSDM+CjxQUkU+CnByb3RlY3RlZCB2b2lkIDxCPnBvcHVsYXRlSW5pdGlhbENvbnRleHQ8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvY29udGV4dC9Db250ZXh0Lmh0bWwiPkNvbnRleHQ8L0E+Jm5ic3A7Y29udGV4dCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPjxwPlBsYWNlIHVzZWZ1bCBvYmplY3RzIGludG8gdGhlIGluaXRpYWwgY29udGV4dC48L3A+CgogPHA+VGV4ZW5UYXNrIHBsYWNlcyA8Y29kZT5EYXRlKCkudG9TdHJpbmcoKTwvY29kZT4gaW50byB0aGUKIGNvbnRleHQgYXMgPGNvZGU+JG5vdzwvY29kZT4uICBTdWJjbGFzc2VzIHdobyB3YW50IHRvIHZhcnkgdGhlCiBvYmplY3RzIGluIHRoZSBjb250ZXh0IHNob3VsZCBvdmVycmlkZSB0aGlzIG1ldGhvZC48L3A+CgogPHA+PGNvZGU+JGdlbmVyYXRvcjwvY29kZT4gaXMgbm90IHB1dCBpbnRvIHRoZSBjb250ZXh0IGluIHRoaXMKIG1ldGhvZC48L3A+PEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5jb250ZXh0PC9DT0RFPiAtIFRoZSBjb250ZXh0IHRvIHBvcHVsYXRlLCBhcyByZXRyaWV2ZWQgZnJvbQogPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS90ZXhlbi9hbnQvVGV4ZW5UYXNrLmh0bWwjaW5pdENvbnRyb2xDb250ZXh0KCkiPjxDT0RFPmluaXRDb250cm9sQ29udGV4dCgpPC9DT0RFPjwvQT4uPERUPjxCPlRocm93czo8L0I+PEREPjxDT0RFPmphdmEubGFuZy5FeGNlcHRpb248L0NPREU+IC0gRXJyb3Igd2hpbGUgcG9wdWxhdGluZyBjb250ZXh0LiAgVGhlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvdGV4ZW4vYW50L1RleGVuVGFzay5odG1sI2V4ZWN1dGUoKSI+PENPREU+ZXhlY3V0ZSgpPC9DT0RFPjwvQT4gbWV0aG9kIHdpbGwgY2F0Y2ggYW5kIHJldGhyb3cgYXMgYQogPGNvZGU+QnVpbGRFeGNlcHRpb248L2NvZGU+LjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImNsZWFudXAoKSI+PCEtLSAtLT48L0E+PEgzPgpjbGVhbnVwPC9IMz4KPFBSRT4KcHJvdGVjdGVkIHZvaWQgPEI+Y2xlYW51cDwvQj4oKQogICAgICAgICAgICAgICAgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb248L1BSRT4KPERMPgo8REQ+QSBob29rIG1ldGhvZCBjYWxsZWQgYXQgdGhlIGVuZCBvZiA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3RleGVuL2FudC9UZXhlblRhc2suaHRtbCNleGVjdXRlKCkiPjxDT0RFPmV4ZWN1dGUoKTwvQ09ERT48L0E+IHdoaWNoIGNhbgogYmUgb3ZlcnJpZGRlbiB0byBwZXJmb3JtIGFueSBuZWNlc3NhcnkgY2xlYW51cCBhY3Rpdml0aWVzIChzdWNoCiBhcyB0aGUgcmVsZWFzZSBvZiBkYXRhYmFzZSBjb25uZWN0aW9ucywgZXRjLikuICBCeSBkZWZhdWx0LAogZG9lcyBub3RoaW5nLjxERD48REw+CjxEVD48Qj5UaHJvd3M6PC9CPjxERD48Q09ERT5qYXZhLmxhbmcuRXhjZXB0aW9uPC9DT0RFPiAtIFByb2JsZW0gY2xlYW5pbmcgdXAuPC9ETD4KPC9ERD4KPC9ETD4KPCEtLSA9PT09PT09PT0gRU5EIE9GIENMQVNTIERBVEEgPT09PT09PT09IC0tPgo8SFI+Cgo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+CjxBIE5BTUU9Im5hdmJhcl9ib3R0b20iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4KPFRSPgo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+CjxBIE5BTUU9Im5hdmJhcl9ib3R0b21fZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPgogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvVGV4ZW5UYXNrLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPC9UUj4KPC9UQUJMRT4KPC9URD4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+CjwvRU0+CjwvVEQ+CjwvVFI+Cgo8VFI+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiZuYnNwO1BSRVYgQ0xBU1MmbmJzcDsKJm5ic3A7TkVYVCBDTEFTUzwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJUZXhlblRhc2suaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPgo8L1RSPgo8VFI+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KREVUQUlMOiAmbmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+Cgo8SFI+CkNvcHlyaWdodCCpIDIwMDIgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCjwvQk9EWT4KPC9IVE1MPgo=