PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTQgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgRWxlbUxpdGVyYWxSZXN1bHQNCjwvVElUTEU+DQo8TElOSyBSRUwgPSJzdHlsZXNoZWV0IiBUWVBFPSJ0ZXh0L2NzcyIgSFJFRj0iLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MiIFRJVExFPSJTdHlsZSI+DQo8L0hFQUQ+DQo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSI+DQoNCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4NCjxBIE5BTUU9Im5hdmJhcl90b3AiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4NCjxUUj4NCjxURCBDT0xTUEFOPTIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4NCjxBIE5BTUU9Im5hdmJhcl90b3BfZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPg0KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtSWYuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5BdHRyaWJ1dGUuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IkVsZW1MaXRlcmFsUmVzdWx0Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDs8QSBIUkVGPSIjaW5uZXJfY2xhc3Nfc3VtbWFyeSI+SU5ORVI8L0E+Jm5ic3A7fCZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzPC9GT05UPg0KPEJSPg0KQ2xhc3MgIEVsZW1MaXRlcmFsUmVzdWx0PC9IMj4NCjxQUkU+DQpqYXZhLmxhbmcuT2JqZWN0DQogIHwNCiAgKy0tPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sIj5vcmcuYXBhY2hlLnhtbC51dGlscy5VbkltcGxOb2RlPC9BPg0KICAgICAgICB8DQogICAgICAgICstLTxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+b3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuRWxlbVRlbXBsYXRlRWxlbWVudDwvQT4NCiAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICArLS08QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVXNlLmh0bWwiPm9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1Vc2U8L0E+DQogICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICAgKy0tPEI+b3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuRWxlbUxpdGVyYWxSZXN1bHQ8L0I+DQo8L1BSRT4NCjxETD4NCjxEVD48Qj5EaXJlY3QgS25vd24gU3ViY2xhc3Nlczo8L0I+IDxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtRXh0ZW5zaW9uQ2FsbC5odG1sIj5FbGVtRXh0ZW5zaW9uQ2FsbDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1Vbmtub3duLmh0bWwiPkVsZW1Vbmtub3duPC9BPjwvREQ+DQo8L0RMPg0KPEhSPg0KPERMPg0KPERUPnB1YmxpYyBjbGFzcyA8Qj5FbGVtTGl0ZXJhbFJlc3VsdDwvQj48RFQ+ZXh0ZW5kcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVXNlLmh0bWwiPkVsZW1Vc2U8L0E+PC9ETD4NCg0KPFA+DQpJbXBsZW1lbnQgYSBMaXRlcmFsIFJlc3VsdCBFbGVtZW50Lg0KPFA+DQo8REw+DQo8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNsaXRlcmFsLXJlc3VsdC1lbGVtZW50Ij5saXRlcmFsLXJlc3VsdC1lbGVtZW50IGluIFhTTFQgU3BlY2lmaWNhdGlvbjwvYT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL3NlcmlhbGl6ZWQtZm9ybS5odG1sI29yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1MaXRlcmFsUmVzdWx0Ij5TZXJpYWxpemVkIEZvcm08L0E+PERUPjxCPlVzYWdlOjwvQj48REQ+PGk+PGZvbnQgc2l6ZT0iLTEiIGNvbG9yPSIjMDBGRjAwIj4gKipGb3IgYWR2YW5jZWQgdXNlIG9ubHkqKjwvZm9udD48L2k+PC9ERD4KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxQPg0KPCEtLSA9PT09PT09PSBJTk5FUiBDTEFTUyBTVU1NQVJZID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJpbm5lcl9jbGFzc19zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+SW5uZXIgQ2xhc3MgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2NsYXNzPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0LkF0dHJpYnV0ZS5odG1sIj5FbGVtTGl0ZXJhbFJlc3VsdC5BdHRyaWJ1dGU8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2NsYXNzPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0LkxpdGVyYWxFbGVtZW50QXR0cmlidXRlcy5odG1sIj5FbGVtTGl0ZXJhbFJlc3VsdC5MaXRlcmFsRWxlbWVudEF0dHJpYnV0ZXM8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PSBDT05TVFJVQ1RPUiBTVU1NQVJZID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sI0VsZW1MaXRlcmFsUmVzdWx0KCkiPkVsZW1MaXRlcmFsUmVzdWx0PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8IS0tID09PT09PT09PT0gTUVUSE9EIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjYWRkTGl0ZXJhbFJlc3VsdEF0dHJpYnV0ZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5BVlQpIj5hZGRMaXRlcmFsUmVzdWx0QXR0cmlidXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvQVZULmh0bWwiPkFWVDwvQT4mbmJzcDthdnQpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgYSBsaXRlcmFsIHJlc3VsdCBhdHRyaWJ1dGUgKEFWVHMgb25seSkuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNhZGRMaXRlcmFsUmVzdWx0QXR0cmlidXRlKGphdmEubGFuZy5TdHJpbmcpIj5hZGRMaXRlcmFsUmVzdWx0QXR0cmlidXRlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2F0dCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCBhIGxpdGVyYWwgcmVzdWx0IGF0dHJpYnV0ZSAodXNlZCBmb3IgeHNsIGF0dHJpYnV0ZXMpLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjY29tcG9zZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPmNvbXBvc2U8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9TdHlsZXNoZWV0Um9vdC5odG1sIj5TdHlsZXNoZWV0Um9vdDwvQT4mbmJzcDtzcm9vdCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGFmdGVyIGV2ZXJ5dGhpbmcgZWxzZSBoYXMgYmVlbgogcmVjb21wb3NlZCwgYW5kIGFsbG93cyB0aGUgdGVtcGxhdGUgdG8gc2V0IHJlbWFpbmluZwogdmFsdWVzIHRoYXQgbWF5IGJlIGJhc2VkIG9uIHNvbWUgb3RoZXIgcHJvcGVydHkgdGhhdAogZGVwZW5kcyBvbiByZWNvbXBvc2l0aW9uLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjY29udGFpbnNFeGNsdWRlUmVzdWx0UHJlZml4KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5jb250YWluc0V4Y2x1ZGVSZXN1bHRQcmVmaXg8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cHJlZml4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3VyaSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB3aGV0aGVyIG9yIG5vdCB0aGUgcGFzc2VkIFVSTCBpcyBmbGFnZ2VkIGJ5CiB0aGUgImV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzIiBvciAiZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXMiCiBwcm9wZXJ0aWVzLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjY29udGFpbnNFeHRlbnNpb25FbGVtZW50VVJJKGphdmEubGFuZy5TdHJpbmcpIj5jb250YWluc0V4dGVuc2lvbkVsZW1lbnRVUkk8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJpKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RmluZCBvdXQgaWYgdGhlIGdpdmVuICJleHRlbnNpb24tZWxlbWVudC1wcmVmaXgiIHByb3BlcnR5IGlzIGRlZmluZWQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEudXRpbC5JdGVyYXRvcjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sI2VudW1lcmF0ZUxpdGVyYWxSZXN1bHRBdHRyaWJ1dGVzKCkiPmVudW1lcmF0ZUxpdGVyYWxSZXN1bHRBdHRyaWJ1dGVzPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29tcGlsaW5nIHRlbXBsYXRlcyByZXF1aXJlcyB0aGF0IHdlIGJlIGFibGUgdG8gbGlzdCB0aGUgQVZUcwogQURERUQgOS81LzIwMDAgdG8gc3VwcG9ydCBjb21waWxhdGlvbiBleHBlcmltZW50PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUueGFsYW4udHJhbnNmb3JtZXIuVHJhbnNmb3JtZXJJbXBsKSI+ZXhlY3V0ZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdHJhbnNmb3JtZXIvVHJhbnNmb3JtZXJJbXBsLmh0bWwiPlRyYW5zZm9ybWVySW1wbDwvQT4mbmJzcDt0cmFuc2Zvcm1lcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NvcHkgYSBMaXRlcmFsIFJlc3VsdCBFbGVtZW50IGludG8gdGhlIFJlc3VsdCB0cmVlLCBjb3B5IHRoZQogbm9uLWV4Y2x1ZGVkIG5hbWVzcGFjZSBhdHRyaWJ1dGVzLCBjb3B5IHRoZSBhdHRyaWJ1dGVzIG5vdAogb2YgdGhlIFhTTFQgbmFtZXNwYWNlLCBhbmQgZXhlY3V0ZSB0aGUgY2hpbGRyZW4gb2YgdGhlIExSRS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sI2dldEF0dHJpYnV0ZShqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0QXR0cmlidXRlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3Jhd05hbWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIHJhdyB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjZ2V0QXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmdldEF0dHJpYnV0ZU5TPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWVzcGFjZVVSSSwKICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvY2FsTmFtZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybiB0aGUgcmF3IHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy93M2MvZG9tL05hbWVkTm9kZU1hcC5odG1sIj5OYW1lZE5vZGVNYXA8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjZ2V0QXR0cmlidXRlcygpIj5nZXRBdHRyaWJ1dGVzPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNnZXRFeHRlbnNpb25FbGVtZW50UHJlZml4KGludCkiPmdldEV4dGVuc2lvbkVsZW1lbnRQcmVmaXg8L0E+PC9CPihpbnQmbmJzcDtpKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IGFuICJleHRlbnNpb24tZWxlbWVudC1wcmVmaXgiIHByb3BlcnR5LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNnZXRFeHRlbnNpb25FbGVtZW50UHJlZml4Q291bnQoKSI+Z2V0RXh0ZW5zaW9uRWxlbWVudFByZWZpeENvdW50PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBudW1iZXIgb2YgImV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzIiBTdHJpbmdzLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjZ2V0SXNMaXRlcmFsUmVzdWx0QXNTdHlsZXNoZWV0KCkiPmdldElzTGl0ZXJhbFJlc3VsdEFzU3R5bGVzaGVldDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybiB3aGV0aGVyIHRoaXMgZWxlbWVudCByZXByZXNlbnRzIGEgcm9vdCBlbGVtZW50CiB0aGF0IGlzIGFsc28gdGhlIHN0eWxlc2hlZXQgZWxlbWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvQVZULmh0bWwiPkFWVDwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNnZXRMaXRlcmFsUmVzdWx0QXR0cmlidXRlKGphdmEubGFuZy5TdHJpbmcpIj5nZXRMaXRlcmFsUmVzdWx0QXR0cmlidXRlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgYSBsaXRlcmFsIHJlc3VsdCBhdHRyaWJ1dGUgYnkgbmFtZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvQVZULmh0bWwiPkFWVDwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNnZXRMaXRlcmFsUmVzdWx0QXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmdldExpdGVyYWxSZXN1bHRBdHRyaWJ1dGVOUzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lc3BhY2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bG9jYWxOYW1lKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IGEgbGl0ZXJhbCByZXN1bHQgYXR0cmlidXRlIGJ5IG5hbWUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNnZXRMb2NhbE5hbWUoKSI+Z2V0TG9jYWxOYW1lPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBMaXRlcmFsIFJlc3VsdCBFbGVtZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjZ2V0TmFtZXNwYWNlKCkiPmdldE5hbWVzcGFjZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgb3JpZ2luYWwgbmFtZXNwYWNlIG9mIHRoZSBMaXRlcmFsIFJlc3VsdCBFbGVtZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjZ2V0Tm9kZU5hbWUoKSI+Z2V0Tm9kZU5hbWU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIG5vZGUgbmFtZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sI2dldFByZWZpeCgpIj5nZXRQcmVmaXg8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIHByZWZpeCBwYXJ0IG9mIHRoZSByYXcgbmFtZSBvZiB0aGUgTGl0ZXJhbCBSZXN1bHQgRWxlbWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sI2dldFJhd05hbWUoKSI+Z2V0UmF3TmFtZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgcmF3IG5hbWUgb2YgdGhlIExpdGVyYWwgUmVzdWx0IEVsZW1lbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNnZXRWZXJzaW9uKCkiPmdldFZlcnNpb248L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlICJ2ZXJzaW9uIiBwcm9wZXJ0eS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjZ2V0WFNMVG9rZW4oKSI+Z2V0WFNMVG9rZW48L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgYW4gaW50IGNvbnN0YW50IGlkZW50aWZ5aW5nIHRoZSB0eXBlIG9mIGVsZW1lbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNyZXNvbHZlUHJlZml4VGFibGVzKCkiPnJlc29sdmVQcmVmaXhUYWJsZXM8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBdWdtZW50IHJlc29sdmVQcmVmaXhUYWJsZXMsIHJlc29sdmluZyB0aGUgbmFtZXNwYWNlIGFsaWFzZXMgb25jZQogdGhlIHN1cGVyY2xhc3MgaGFzIHJlc29sdmVkIHRoZSB0YWJsZXMuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNzZXRFeGNsdWRlUmVzdWx0UHJlZml4ZXMob3JnLmFwYWNoZS54bWwudXRpbHMuU3RyaW5nVmVjdG9yKSI+c2V0RXhjbHVkZVJlc3VsdFByZWZpeGVzPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVmVjdG9yLmh0bWwiPlN0cmluZ1ZlY3RvcjwvQT4mbmJzcDt2KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSAiZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXMiIHByb3BlcnR5LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjc2V0RXh0ZW5zaW9uRWxlbWVudFByZWZpeGVzKG9yZy5hcGFjaGUueG1sLnV0aWxzLlN0cmluZ1ZlY3RvcikiPnNldEV4dGVuc2lvbkVsZW1lbnRQcmVmaXhlczwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1ZlY3Rvci5odG1sIj5TdHJpbmdWZWN0b3I8L0E+Jm5ic3A7dik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCB0aGUgImV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzIiBwcm9wZXJ0eS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sI3NldElzTGl0ZXJhbFJlc3VsdEFzU3R5bGVzaGVldChib29sZWFuKSI+c2V0SXNMaXRlcmFsUmVzdWx0QXNTdHlsZXNoZWV0PC9BPjwvQj4oYm9vbGVhbiZuYnNwO2IpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgd2hldGhlciB0aGlzIGVsZW1lbnQgcmVwcmVzZW50cyBhIHJvb3QgZWxlbWVudAogdGhhdCBpcyBhbHNvIHRoZSBzdHlsZXNoZWV0IGVsZW1lbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNzZXRMb2NhbE5hbWUoamF2YS5sYW5nLlN0cmluZykiPnNldExvY2FsTmFtZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2NhbE5hbWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIExSRS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtTGl0ZXJhbFJlc3VsdC5odG1sI3NldE5hbWVzcGFjZShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0TmFtZXNwYWNlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25zKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBuYW1lc3BhY2UgVVJJIG9mIHRoZSByZXN1bHQgZWxlbWVudCB0byBiZSBjcmVhdGVkLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjc2V0UmF3TmFtZShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0UmF3TmFtZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtyYXdOYW1lKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSByYXcgbmFtZSBvZiB0aGUgTFJFLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1MaXRlcmFsUmVzdWx0Lmh0bWwjc2V0VmVyc2lvbihqYXZhLmxhbmcuU3RyaW5nKSI+c2V0VmVyc2lvbjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt2KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSAidmVyc2lvbiIgcHJvcGVydHkuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCNzZXRYbWxTcGFjZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5BVlQpIj5zZXRYbWxTcGFjZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0FWVC5odG1sIj5BVlQ8L0E+Jm5ic3A7YXZ0KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSAieG1sOnNwYWNlIiBhdHRyaWJ1dGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCN0aHJvd0RPTUV4Y2VwdGlvbihzaG9ydCwgamF2YS5sYW5nLlN0cmluZykiPnRocm93RE9NRXhjZXB0aW9uPC9BPjwvQj4oc2hvcnQmbmJzcDtjb2RlLAogICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bXNnKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhyb3cgYSBET01FeGNlcHRpb248L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1Vc2UiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVVzZS5odG1sIj5FbGVtVXNlPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1Vc2UuaHRtbCNhcHBseUF0dHJTZXRzKG9yZy5hcGFjaGUueGFsYW4udHJhbnNmb3JtZXIuVHJhbnNmb3JtZXJJbXBsLCBvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPmFwcGx5QXR0clNldHM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1Vc2UuaHRtbCNnZXRVc2VBdHRyaWJ1dGVTZXRzKCkiPmdldFVzZUF0dHJpYnV0ZVNldHM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1Vc2UuaHRtbCNzZXRVc2VBdHRyaWJ1dGVTZXRzKG9yZy5hcGFjaGUueG1sLnV0aWxzLlFOYW1lW10pIj5zZXRVc2VBdHRyaWJ1dGVTZXRzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVXNlLmh0bWwjc2V0VXNlQXR0cmlidXRlU2V0cyhqYXZhLnV0aWwuVmVjdG9yKSI+c2V0VXNlQXR0cmlidXRlU2V0czwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5FbGVtVGVtcGxhdGVFbGVtZW50Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+RWxlbVRlbXBsYXRlRWxlbWVudDwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjYXBwZW5kQ2hpbGQob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuRWxlbVRlbXBsYXRlRWxlbWVudCkiPmFwcGVuZENoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjYXBwZW5kQ2hpbGQob3JnLnczYy5kb20uTm9kZSkiPmFwcGVuZENoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjY2FsbFZpc2l0b3JzKG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLlhTTFRWaXNpdG9yKSI+Y2FsbFZpc2l0b3JzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjY2FuQWNjZXB0VmFyaWFibGVzKCkiPmNhbkFjY2VwdFZhcmlhYmxlczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2NhblN0cmlwV2hpdGVTcGFjZSgpIj5jYW5TdHJpcFdoaXRlU3BhY2U8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNjb21wYXJlVG8oamF2YS5sYW5nLk9iamVjdCkiPmNvbXBhcmVUbzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2VuZENvbXBvc2Uob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuU3R5bGVzaGVldFJvb3QpIj5lbmRDb21wb3NlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZXJyb3IoamF2YS5sYW5nLlN0cmluZykiPmVycm9yPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZXJyb3IoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLk9iamVjdFtdKSI+ZXJyb3I8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNleHByQWRkQ2hpbGQob3JnLmFwYWNoZS54cGF0aC5FeHByZXNzaW9uTm9kZSwgaW50KSI+ZXhwckFkZENoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZXhwckdldENoaWxkKGludCkiPmV4cHJHZXRDaGlsZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2V4cHJHZXROdW1DaGlsZHJlbigpIj5leHByR2V0TnVtQ2hpbGRyZW48L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNleHByR2V0UGFyZW50KCkiPmV4cHJHZXRQYXJlbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNleHByU2V0UGFyZW50KG9yZy5hcGFjaGUueHBhdGguRXhwcmVzc2lvbk5vZGUpIj5leHByU2V0UGFyZW50PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0QmFzZUlkZW50aWZpZXIoKSI+Z2V0QmFzZUlkZW50aWZpZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRDaGlsZE5vZGVzKCkiPmdldENoaWxkTm9kZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRDb2x1bW5OdW1iZXIoKSI+Z2V0Q29sdW1uTnVtYmVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0RGVjbGFyZWRQcmVmaXhlcygpIj5nZXREZWNsYXJlZFByZWZpeGVzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0RE9NQmFja1BvaW50ZXIoKSI+Z2V0RE9NQmFja1BvaW50ZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRFbmRDb2x1bW5OdW1iZXIoKSI+Z2V0RW5kQ29sdW1uTnVtYmVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0RW5kTGluZU51bWJlcigpIj5nZXRFbmRMaW5lTnVtYmVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0Rmlyc3RDaGlsZCgpIj5nZXRGaXJzdENoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0Rmlyc3RDaGlsZEVsZW0oKSI+Z2V0Rmlyc3RDaGlsZEVsZW08L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRMYXN0Q2hpbGQoKSI+Z2V0TGFzdENoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0TGFzdENoaWxkRWxlbSgpIj5nZXRMYXN0Q2hpbGRFbGVtPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0TGVuZ3RoKCkiPmdldExlbmd0aDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldExpbmVOdW1iZXIoKSI+Z2V0TGluZU51bWJlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE5hbWVzcGFjZUZvclByZWZpeChqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0TmFtZXNwYWNlRm9yUHJlZml4PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0TmFtZXNwYWNlRm9yUHJlZml4KGphdmEubGFuZy5TdHJpbmcsIG9yZy53M2MuZG9tLk5vZGUpIj5nZXROYW1lc3BhY2VGb3JQcmVmaXg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXROZXh0U2libGluZygpIj5nZXROZXh0U2libGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE5leHRTaWJsaW5nRWxlbSgpIj5nZXROZXh0U2libGluZ0VsZW08L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXROb2RlVHlwZSgpIj5nZXROb2RlVHlwZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE93bmVyRG9jdW1lbnQoKSI+Z2V0T3duZXJEb2N1bWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE93bmVyWFNMVGVtcGxhdGUoKSI+Z2V0T3duZXJYU0xUZW1wbGF0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFBhcmVudEVsZW0oKSI+Z2V0UGFyZW50RWxlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFBhcmVudE5vZGUoKSI+Z2V0UGFyZW50Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFBhcmVudE5vZGVFbGVtKCkiPmdldFBhcmVudE5vZGVFbGVtPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0UHJldmlvdXNTaWJsaW5nKCkiPmdldFByZXZpb3VzU2libGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFByZXZpb3VzU2libGluZ0VsZW0oKSI+Z2V0UHJldmlvdXNTaWJsaW5nRWxlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFB1YmxpY0lkKCkiPmdldFB1YmxpY0lkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0U3R5bGVzaGVldCgpIj5nZXRTdHlsZXNoZWV0PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0U3R5bGVzaGVldENvbXBvc2VkKCkiPmdldFN0eWxlc2hlZXRDb21wb3NlZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFN0eWxlc2hlZXRSb290KCkiPmdldFN0eWxlc2hlZXRSb290PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0U3lzdGVtSWQoKSI+Z2V0U3lzdGVtSWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRUYWdOYW1lKCkiPmdldFRhZ05hbWU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRVaWQoKSI+Z2V0VWlkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0WG1sU3BhY2UoKSI+Z2V0WG1sU3BhY2U8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNoYW5kbGVzTnVsbFByZWZpeGVzKCkiPmhhbmRsZXNOdWxsUHJlZml4ZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNoYXNDaGlsZE5vZGVzKCkiPmhhc0NoaWxkTm9kZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNoYXNUZXh0TGl0T25seSgpIj5oYXNUZXh0TGl0T25seTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2hhc1ZhcmlhYmxlRGVjbCgpIj5oYXNWYXJpYWJsZURlY2w8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNpbnNlcnRCZWZvcmUob3JnLnczYy5kb20uTm9kZSwgb3JnLnczYy5kb20uTm9kZSkiPmluc2VydEJlZm9yZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2lzQ29tcGlsZWRUZW1wbGF0ZSgpIj5pc0NvbXBpbGVkVGVtcGxhdGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNpdGVtKGludCkiPml0ZW08L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNyZWNvbXBvc2Uob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuU3R5bGVzaGVldFJvb3QpIj5yZWNvbXBvc2U8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNyZW1vdmVDaGlsZChvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5FbGVtVGVtcGxhdGVFbGVtZW50KSI+cmVtb3ZlQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNyZXBsYWNlQ2hpbGQob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuRWxlbVRlbXBsYXRlRWxlbWVudCwgb3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuRWxlbVRlbXBsYXRlRWxlbWVudCkiPnJlcGxhY2VDaGlsZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3JlcGxhY2VDaGlsZChvcmcudzNjLmRvbS5Ob2RlLCBvcmcudzNjLmRvbS5Ob2RlKSI+cmVwbGFjZUNoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjcnVudGltZUluaXQob3JnLmFwYWNoZS54YWxhbi50cmFuc2Zvcm1lci5UcmFuc2Zvcm1lckltcGwpIj5ydW50aW1lSW5pdDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3NldERPTUJhY2tQb2ludGVyKG9yZy53M2MuZG9tLk5vZGUpIj5zZXRET01CYWNrUG9pbnRlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3NldEVuZExvY2F0ZXJJbmZvKGphdmF4LnhtbC50cmFuc2Zvcm0uU291cmNlTG9jYXRvcikiPnNldEVuZExvY2F0ZXJJbmZvPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjc2V0TG9jYXRlckluZm8oamF2YXgueG1sLnRyYW5zZm9ybS5Tb3VyY2VMb2NhdG9yKSI+c2V0TG9jYXRlckluZm88L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNzZXRQYXJlbnRFbGVtKG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1UZW1wbGF0ZUVsZW1lbnQpIj5zZXRQYXJlbnRFbGVtPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjc2V0UHJlZml4ZXMob3JnLnhtbC5zYXguaGVscGVycy5OYW1lc3BhY2VTdXBwb3J0KSI+c2V0UHJlZml4ZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNzZXRQcmVmaXhlcyhvcmcueG1sLnNheC5oZWxwZXJzLk5hbWVzcGFjZVN1cHBvcnQsIGJvb2xlYW4pIj5zZXRQcmVmaXhlczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3NldFVpZChpbnQpIj5zZXRVaWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNzZXRYbWxTcGFjZShpbnQpIj5zZXRYbWxTcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3Nob3VsZFN0cmlwV2hpdGVTcGFjZShvcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dCwgb3JnLnczYy5kb20uRWxlbWVudCkiPnNob3VsZFN0cmlwV2hpdGVTcGFjZTwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC51dGlscy5VbkltcGxOb2RlIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLnV0aWxzLjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCI+VW5JbXBsTm9kZTwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjYWRvcHROb2RlKG9yZy53M2MuZG9tLk5vZGUpIj5hZG9wdE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNhcHBlbmREYXRhKGphdmEubGFuZy5TdHJpbmcpIj5hcHBlbmREYXRhPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjY2xvbmVOb2RlKGJvb2xlYW4pIj5jbG9uZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihvcmcudzNjLmRvbS5Ob2RlKSI+Y29tcGFyZURvY3VtZW50UG9zaXRpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjcmVhdGVBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZykiPmNyZWF0ZUF0dHJpYnV0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUF0dHJpYnV0ZU5TKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5jcmVhdGVBdHRyaWJ1dGVOUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUNEQVRBU2VjdGlvbihqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlQ0RBVEFTZWN0aW9uPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjY3JlYXRlQ29tbWVudChqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlQ29tbWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSI+Y3JlYXRlRG9jdW1lbnRGcmFnbWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUVsZW1lbnQoamF2YS5sYW5nLlN0cmluZykiPmNyZWF0ZUVsZW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjcmVhdGVFbGVtZW50TlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmNyZWF0ZUVsZW1lbnROUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUVudGl0eVJlZmVyZW5jZShqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlRW50aXR5UmVmZXJlbmNlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjcmVhdGVUZXh0Tm9kZShqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlVGV4dE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNkZWxldGVEYXRhKGludCwgaW50KSI+ZGVsZXRlRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldEFjdHVhbEVuY29kaW5nKCkiPmdldEFjdHVhbEVuY29kaW5nPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0QXR0cmlidXRlTm9kZShqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0QXR0cmlidXRlTm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldEF0dHJpYnV0ZU5vZGVOUyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0QXR0cmlidXRlTm9kZU5TPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0QmFzZVVSSSgpIj5nZXRCYXNlVVJJPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0RG9jdHlwZSgpIj5nZXREb2N0eXBlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0RG9jdW1lbnRFbGVtZW50KCkiPmdldERvY3VtZW50RWxlbWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldERvY3VtZW50VVJJKCkiPmdldERvY3VtZW50VVJJPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0RG9tQ29uZmlnKCkiPmdldERvbUNvbmZpZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldEVsZW1lbnRCeUlkKGphdmEubGFuZy5TdHJpbmcpIj5nZXRFbGVtZW50QnlJZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldEVsZW1lbnRzQnlUYWdOYW1lKGphdmEubGFuZy5TdHJpbmcpIj5nZXRFbGVtZW50c0J5VGFnTmFtZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldEVsZW1lbnRzQnlUYWdOYW1lTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmdldEVsZW1lbnRzQnlUYWdOYW1lTlM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRGZWF0dXJlKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5nZXRGZWF0dXJlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0SW1wbGVtZW50YXRpb24oKSI+Z2V0SW1wbGVtZW50YXRpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRJbnB1dEVuY29kaW5nKCkiPmdldElucHV0RW5jb2Rpbmc8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXROYW1lc3BhY2VVUkkoKSI+Z2V0TmFtZXNwYWNlVVJJPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0Tm9kZVZhbHVlKCkiPmdldE5vZGVWYWx1ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldE93bmVyRWxlbWVudCgpIj5nZXRPd25lckVsZW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRTY2hlbWFUeXBlSW5mbygpIj5nZXRTY2hlbWFUeXBlSW5mbzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFNwZWNpZmllZCgpIj5nZXRTcGVjaWZpZWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRTdHJpY3RFcnJvckNoZWNraW5nKCkiPmdldFN0cmljdEVycm9yQ2hlY2tpbmc8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRUZXh0Q29udGVudCgpIj5nZXRUZXh0Q29udGVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFVzZXJEYXRhKGphdmEubGFuZy5TdHJpbmcpIj5nZXRVc2VyRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFdob2xlVGV4dCgpIj5nZXRXaG9sZVRleHQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRYbWxFbmNvZGluZygpIj5nZXRYbWxFbmNvZGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFhtbFN0YW5kYWxvbmUoKSI+Z2V0WG1sU3RhbmRhbG9uZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFhtbFZlcnNpb24oKSI+Z2V0WG1sVmVyc2lvbjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2hhc0F0dHJpYnV0ZShqYXZhLmxhbmcuU3RyaW5nKSI+aGFzQXR0cmlidXRlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaGFzQXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmhhc0F0dHJpYnV0ZU5TPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaGFzQXR0cmlidXRlcygpIj5oYXNBdHRyaWJ1dGVzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaW1wb3J0Tm9kZShvcmcudzNjLmRvbS5Ob2RlLCBib29sZWFuKSI+aW1wb3J0Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2luc2VydERhdGEoaW50LCBqYXZhLmxhbmcuU3RyaW5nKSI+aW5zZXJ0RGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2lzRGVmYXVsdE5hbWVzcGFjZShqYXZhLmxhbmcuU3RyaW5nKSI+aXNEZWZhdWx0TmFtZXNwYWNlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaXNFcXVhbE5vZGUob3JnLnczYy5kb20uTm9kZSkiPmlzRXF1YWxOb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaXNJZCgpIj5pc0lkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaXNTYW1lTm9kZShvcmcudzNjLmRvbS5Ob2RlKSI+aXNTYW1lTm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2lzU3VwcG9ydGVkKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5pc1N1cHBvcnRlZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2lzV2hpdGVzcGFjZUluRWxlbWVudENvbnRlbnQoKSI+aXNXaGl0ZXNwYWNlSW5FbGVtZW50Q29udGVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2xvb2t1cE5hbWVzcGFjZVVSSShqYXZhLmxhbmcuU3RyaW5nKSI+bG9va3VwTmFtZXNwYWNlVVJJPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjbG9va3VwUHJlZml4KGphdmEubGFuZy5TdHJpbmcpIj5sb29rdXBQcmVmaXg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNub3JtYWxpemUoKSI+bm9ybWFsaXplPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjbm9ybWFsaXplRG9jdW1lbnQoKSI+bm9ybWFsaXplRG9jdW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW1vdmVBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZykiPnJlbW92ZUF0dHJpYnV0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3JlbW92ZUF0dHJpYnV0ZU5vZGUob3JnLnczYy5kb20uQXR0cikiPnJlbW92ZUF0dHJpYnV0ZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW1vdmVBdHRyaWJ1dGVOUyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+cmVtb3ZlQXR0cmlidXRlTlM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW1vdmVDaGlsZChvcmcudzNjLmRvbS5Ob2RlKSI+cmVtb3ZlQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW5hbWVOb2RlKG9yZy53M2MuZG9tLk5vZGUsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5yZW5hbWVOb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjcmVwbGFjZURhdGEoaW50LCBpbnQsIGphdmEubGFuZy5TdHJpbmcpIj5yZXBsYWNlRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3JlcGxhY2VXaG9sZVRleHQoamF2YS5sYW5nLlN0cmluZykiPnJlcGxhY2VXaG9sZVRleHQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRBY3R1YWxFbmNvZGluZyhqYXZhLmxhbmcuU3RyaW5nKSI+c2V0QWN0dWFsRW5jb2Rpbmc8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnNldEF0dHJpYnV0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldEF0dHJpYnV0ZU5vZGUob3JnLnczYy5kb20uQXR0cikiPnNldEF0dHJpYnV0ZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRBdHRyaWJ1dGVOb2RlTlMob3JnLnczYy5kb20uQXR0cikiPnNldEF0dHJpYnV0ZU5vZGVOUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldEF0dHJpYnV0ZU5TKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5zZXRBdHRyaWJ1dGVOUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldERhdGEoamF2YS5sYW5nLlN0cmluZykiPnNldERhdGE8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXREb2N1bWVudFVSSShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0RG9jdW1lbnRVUkk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJZEF0dHJpYnV0ZShib29sZWFuKSI+c2V0SWRBdHRyaWJ1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJZEF0dHJpYnV0ZShqYXZhLmxhbmcuU3RyaW5nLCBib29sZWFuKSI+c2V0SWRBdHRyaWJ1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJZEF0dHJpYnV0ZU5vZGUob3JnLnczYy5kb20uQXR0ciwgYm9vbGVhbikiPnNldElkQXR0cmlidXRlTm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldElkQXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgYm9vbGVhbikiPnNldElkQXR0cmlidXRlTlM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJbnB1dEVuY29kaW5nKGphdmEubGFuZy5TdHJpbmcpIj5zZXRJbnB1dEVuY29kaW5nPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjc2V0Tm9kZVZhbHVlKGphdmEubGFuZy5TdHJpbmcpIj5zZXROb2RlVmFsdWU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRQcmVmaXgoamF2YS5sYW5nLlN0cmluZykiPnNldFByZWZpeDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFN0cmljdEVycm9yQ2hlY2tpbmcoYm9vbGVhbikiPnNldFN0cmljdEVycm9yQ2hlY2tpbmc8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRUZXh0Q29udGVudChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0VGV4dENvbnRlbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRVc2VyRGF0YShqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuT2JqZWN0LCBvcmcudzNjLmRvbS5Vc2VyRGF0YUhhbmRsZXIpIj5zZXRVc2VyRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFZhbHVlKGphdmEubGFuZy5TdHJpbmcpIj5zZXRWYWx1ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFhtbEVuY29kaW5nKGphdmEubGFuZy5TdHJpbmcpIj5zZXRYbWxFbmNvZGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFhtbFN0YW5kYWxvbmUoYm9vbGVhbikiPnNldFhtbFN0YW5kYWxvbmU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRYbWxWZXJzaW9uKGphdmEubGFuZy5TdHJpbmcpIj5zZXRYbWxWZXJzaW9uPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjc3BsaXRUZXh0KGludCkiPnNwbGl0VGV4dDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3N1YnN0cmluZ0RhdGEoaW50LCBpbnQpIj5zdWJzdHJpbmdEYXRhPC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmEubGFuZy5PYmplY3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPmVxdWFscywgDQpnZXRDbGFzcywgDQpoYXNoQ29kZSwgDQpub3RpZnksIA0Kbm90aWZ5QWxsLCANCnRvU3RyaW5nLCANCndhaXQsIA0Kd2FpdCwgDQp3YWl0PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPFA+DQoNCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImNvbnN0cnVjdG9yX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPkNvbnN0cnVjdG9yIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJFbGVtTGl0ZXJhbFJlc3VsdCgpIj48IS0tIC0tPjwvQT48SDM+DQpFbGVtTGl0ZXJhbFJlc3VsdDwvSDM+DQo8UFJFPg0KcHVibGljIDxCPkVsZW1MaXRlcmFsUmVzdWx0PC9CPigpPC9QUkU+DQo8REw+DQo8L0RMPg0KDQo8IS0tID09PT09PT09PT09PSBNRVRIT0QgREVUQUlMID09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9InNldElzTGl0ZXJhbFJlc3VsdEFzU3R5bGVzaGVldChib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0SXNMaXRlcmFsUmVzdWx0QXNTdHlsZXNoZWV0PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRJc0xpdGVyYWxSZXN1bHRBc1N0eWxlc2hlZXQ8L0I+KGJvb2xlYW4mbmJzcDtiKTwvUFJFPg0KPERMPg0KPEREPlNldCB3aGV0aGVyIHRoaXMgZWxlbWVudCByZXByZXNlbnRzIGEgcm9vdCBlbGVtZW50CiB0aGF0IGlzIGFsc28gdGhlIHN0eWxlc2hlZXQgZWxlbWVudC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5iPC9DT0RFPiAtIGJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBlbGVtZW50CiByZXByZXNlbnRzIGEgcm9vdCBlbGVtZW50IHRoYXQgaXMgYWxzbyB0aGUgc3R5bGVzaGVldCBlbGVtZW50LjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0SXNMaXRlcmFsUmVzdWx0QXNTdHlsZXNoZWV0KCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldElzTGl0ZXJhbFJlc3VsdEFzU3R5bGVzaGVldDwvSDM+DQo8UFJFPg0KcHVibGljIGJvb2xlYW4gPEI+Z2V0SXNMaXRlcmFsUmVzdWx0QXNTdHlsZXNoZWV0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJuIHdoZXRoZXIgdGhpcyBlbGVtZW50IHJlcHJlc2VudHMgYSByb290IGVsZW1lbnQKIHRoYXQgaXMgYWxzbyB0aGUgc3R5bGVzaGVldCBlbGVtZW50LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPmJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBlbGVtZW50CiByZXByZXNlbnRzIGEgcm9vdCBlbGVtZW50IHRoYXQgaXMgYWxzbyB0aGUgc3R5bGVzaGVldCBlbGVtZW50LjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY29tcG9zZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPjwhLS0gLS0+PC9BPjxIMz4NCmNvbXBvc2U8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmNvbXBvc2U8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL1N0eWxlc2hlZXRSb290Lmh0bWwiPlN0eWxlc2hlZXRSb290PC9BPiZuYnNwO3Nyb290KQogICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJFeGNlcHRpb24uaHRtbCI+VHJhbnNmb3JtZXJFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+VGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYWZ0ZXIgZXZlcnl0aGluZyBlbHNlIGhhcyBiZWVuCiByZWNvbXBvc2VkLCBhbmQgYWxsb3dzIHRoZSB0ZW1wbGF0ZSB0byBzZXQgcmVtYWluaW5nCiB2YWx1ZXMgdGhhdCBtYXkgYmUgYmFzZWQgb24gc29tZSBvdGhlciBwcm9wZXJ0eSB0aGF0CiBkZXBlbmRzIG9uIHJlY29tcG9zaXRpb24uPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjY29tcG9zZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPmNvbXBvc2U8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+RWxlbVRlbXBsYXRlRWxlbWVudDwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImFkZExpdGVyYWxSZXN1bHRBdHRyaWJ1dGUob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuQVZUKSI+PCEtLSAtLT48L0E+PEgzPg0KYWRkTGl0ZXJhbFJlc3VsdEF0dHJpYnV0ZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+YWRkTGl0ZXJhbFJlc3VsdEF0dHJpYnV0ZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvQVZULmh0bWwiPkFWVDwvQT4mbmJzcDthdnQpPC9QUkU+DQo8REw+DQo8REQ+U2V0IGEgbGl0ZXJhbCByZXN1bHQgYXR0cmlidXRlIChBVlRzIG9ubHkpLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmF2dDwvQ09ERT4gLSBsaXRlcmFsIHJlc3VsdCBhdHRyaWJ1dGUgdG8gYWRkIChBVlQgb25seSk8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImFkZExpdGVyYWxSZXN1bHRBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCmFkZExpdGVyYWxSZXN1bHRBdHRyaWJ1dGU8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmFkZExpdGVyYWxSZXN1bHRBdHRyaWJ1dGU8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDthdHQpPC9QUkU+DQo8REw+DQo8REQ+U2V0IGEgbGl0ZXJhbCByZXN1bHQgYXR0cmlidXRlICh1c2VkIGZvciB4c2wgYXR0cmlidXRlcykuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+YXR0PC9DT0RFPiAtIGxpdGVyYWwgcmVzdWx0IGF0dHJpYnV0ZSB0byBhZGQ8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFhtbFNwYWNlKG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkFWVCkiPjwhLS0gLS0+PC9BPjxIMz4NCnNldFhtbFNwYWNlPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRYbWxTcGFjZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvQVZULmh0bWwiPkFWVDwvQT4mbmJzcDthdnQpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSAieG1sOnNwYWNlIiBhdHRyaWJ1dGUuCiBBIHRleHQgbm9kZSBpcyBwcmVzZXJ2ZWQgaWYgYW4gYW5jZXN0b3IgZWxlbWVudCBvZiB0aGUgdGV4dCBub2RlCiBoYXMgYW4geG1sOnNwYWNlIGF0dHJpYnV0ZSB3aXRoIGEgdmFsdWUgb2YgcHJlc2VydmUsIGFuZAogbm8gY2xvc2VyIGFuY2VzdG9yIGVsZW1lbnQgaGFzIHhtbDpzcGFjZSB3aXRoIGEgdmFsdWUgb2YgZGVmYXVsdC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5hdnQ8L0NPREU+IC0gRW51bWVyYXRlZCB2YWx1ZSwgZWl0aGVyIENvbnN0YW50cy5BVFRSVkFMX1BSRVNFUlZFIAogb3IgQ29uc3RhbnRzLkFUVFJWQUxfU1RSSVAuPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjc3RyaXAiPnN0cmlwIGluIFhTTFQgU3BlY2lmaWNhdGlvbjwvYT4sIA0KPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNzZWN0aW9uLUNyZWF0aW5nLVRleHQiPnNlY3Rpb24tQ3JlYXRpbmctVGV4dCBpbiBYU0xUIFNwZWNpZmljYXRpb248L2E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRMaXRlcmFsUmVzdWx0QXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCmdldExpdGVyYWxSZXN1bHRBdHRyaWJ1dGVOUzwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0FWVC5odG1sIj5BVlQ8L0E+IDxCPmdldExpdGVyYWxSZXN1bHRBdHRyaWJ1dGVOUzwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWVzcGFjZVVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvY2FsTmFtZSk8L1BSRT4NCjxETD4NCjxERD5HZXQgYSBsaXRlcmFsIHJlc3VsdCBhdHRyaWJ1dGUgYnkgbmFtZS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5uYW1lc3BhY2VVUkk8L0NPREU+IC0gTmFtZXNwYWNlIFVSSSBvZiBhdHRyaWJ1dGUgbm9kZSB0byBnZXQ8REQ+PENPREU+bG9jYWxOYW1lPC9DT0RFPiAtIExvY2FsIHBhcnQgb2YgcXVhbGlmaWVkIG5hbWUgb2YgYXR0cmlidXRlIG5vZGUgdG8gZ2V0PERUPjxCPlJldHVybnM6PC9CPjxERD5saXRlcmFsIHJlc3VsdCBhdHRyaWJ1dGUgKEFWVCk8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEF0dHJpYnV0ZU5TKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRBdHRyaWJ1dGVOUzwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0QXR0cmlidXRlTlM8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lc3BhY2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2NhbE5hbWUpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJuIHRoZSByYXcgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5uYW1lc3BhY2VVUkk8L0NPREU+IC0gTmFtZXNwYWNlIFVSSSBvZiBhdHRyaWJ1dGUgbm9kZSB0byBnZXQ8REQ+PENPREU+bG9jYWxOYW1lPC9DT0RFPiAtIExvY2FsIHBhcnQgb2YgcXVhbGlmaWVkIG5hbWUgb2YgYXR0cmlidXRlIG5vZGUgdG8gZ2V0PERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgQXR0ciB2YWx1ZSBhcyBhIHN0cmluZywgb3IgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGF0IGF0dHJpYnV0ZSAKIGRvZXMgbm90IGhhdmUgYSBzcGVjaWZpZWQgb3IgZGVmYXVsdCB2YWx1ZTxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0QXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmdldEF0dHJpYnV0ZU5TPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwiPlVuSW1wbE5vZGU8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRMaXRlcmFsUmVzdWx0QXR0cmlidXRlKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRMaXRlcmFsUmVzdWx0QXR0cmlidXRlPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvQVZULmh0bWwiPkFWVDwvQT4gPEI+Z2V0TGl0ZXJhbFJlc3VsdEF0dHJpYnV0ZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpPC9QUkU+DQo8REw+DQo8REQ+R2V0IGEgbGl0ZXJhbCByZXN1bHQgYXR0cmlidXRlIGJ5IG5hbWUuIFRoZSBuYW1lIGlzIG5hbWVzcGFjZVVSSTpsb2NhbG5hbWUgIAogaWYgbmFtZXNwYWNlIGlzIG5vdCBudWxsLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm5hbWU8L0NPREU+IC0gTmFtZSBvZiBsaXRlcmFsIHJlc3VsdCBhdHRyaWJ1dGUgdG8gZ2V0PERUPjxCPlJldHVybnM6PC9CPjxERD5saXRlcmFsIHJlc3VsdCBhdHRyaWJ1dGUgKEFWVCk8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEF0dHJpYnV0ZShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0QXR0cmlidXRlPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRBdHRyaWJ1dGU8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtyYXdOYW1lKTwvUFJFPg0KPERMPg0KPEREPlJldHVybiB0aGUgcmF3IHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bmFtZXNwYWNlVVJJOmxvY2FsTmFtZTwvQ09ERT4gLSBvciBsb2NhbE5hbWUgaWYgdGhlIG5hbWVzcGFjZVVSSSBpcyBudWxsIG9mIAogdGhlIGF0dHJpYnV0ZSB0byBnZXQ8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBBdHRyIHZhbHVlIGFzIGEgc3RyaW5nLCBvciB0aGUgZW1wdHkgc3RyaW5nIGlmIHRoYXQgYXR0cmlidXRlIAogZG9lcyBub3QgaGF2ZSBhIHNwZWNpZmllZCBvciBkZWZhdWx0IHZhbHVlPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZykiPmdldEF0dHJpYnV0ZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sIj5VbkltcGxOb2RlPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY29udGFpbnNFeGNsdWRlUmVzdWx0UHJlZml4KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpjb250YWluc0V4Y2x1ZGVSZXN1bHRQcmVmaXg8L0gzPg0KPFBSRT4NCnB1YmxpYyBib29sZWFuIDxCPmNvbnRhaW5zRXhjbHVkZVJlc3VsdFByZWZpeDwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3ByZWZpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDt1cmkpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHdoZXRoZXIgb3Igbm90IHRoZSBwYXNzZWQgVVJMIGlzIGZsYWdnZWQgYnkKIHRoZSAiZXh0ZW5zaW9uLWVsZW1lbnQtcHJlZml4ZXMiIG9yICJleGNsdWRlLXJlc3VsdC1wcmVmaXhlcyIKIHByb3BlcnRpZXMuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+cHJlZml4PC9DT0RFPiAtIG5vbi1udWxsIHJlZmVyZW5jZSB0byBwcmVmaXggdGhhdCBtaWdodCBiZSBleGNsdWRlZC4obm90IGN1cnJlbnRseSB1c2VkKTxERD48Q09ERT51cmk8L0NPREU+IC0gcmVmZXJlbmNlIHRvIG5hbWVzcGFjZSB0aGF0IHByZWZpeCBtYXBzIHRvPERUPjxCPlJldHVybnM6PC9CPjxERD50cnVlIGlmIHRoZSBwcmVmaXggc2hvdWxkIG5vcm1hbGx5IGJlIGV4Y2x1ZGVkLjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjY29udGFpbnNFeGNsdWRlUmVzdWx0UHJlZml4KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5jb250YWluc0V4Y2x1ZGVSZXN1bHRQcmVmaXg8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+RWxlbVRlbXBsYXRlRWxlbWVudDwvQT48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNleHRlbnNpb24tZWxlbWVudCI+ZXh0ZW5zaW9uLWVsZW1lbnQgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icmVzb2x2ZVByZWZpeFRhYmxlcygpIj48IS0tIC0tPjwvQT48SDM+DQpyZXNvbHZlUHJlZml4VGFibGVzPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5yZXNvbHZlUHJlZml4VGFibGVzPC9CPigpCiAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckV4Y2VwdGlvbi5odG1sIj5UcmFuc2Zvcm1lckV4Y2VwdGlvbjwvQT48L1BSRT4NCjxETD4NCjxERD5BdWdtZW50IHJlc29sdmVQcmVmaXhUYWJsZXMsIHJlc29sdmluZyB0aGUgbmFtZXNwYWNlIGFsaWFzZXMgb25jZQogdGhlIHN1cGVyY2xhc3MgaGFzIHJlc29sdmVkIHRoZSB0YWJsZXMuPEREPjxETD4NCjxEVD48Qj5UaHJvd3M6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyRXhjZXB0aW9uLmh0bWwiPlRyYW5zZm9ybWVyRXhjZXB0aW9uPC9BPiAtICZuYnNwOzxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjcmVzb2x2ZVByZWZpeFRhYmxlcygpIj5yZXNvbHZlUHJlZml4VGFibGVzPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXROYW1lc3BhY2UoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCnNldE5hbWVzcGFjZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0TmFtZXNwYWNlPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bnMpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSBuYW1lc3BhY2UgVVJJIG9mIHRoZSByZXN1bHQgZWxlbWVudCB0byBiZSBjcmVhdGVkLgogTm90ZSB0aGF0IGFmdGVyIHJlc29sdmVQcmVmaXhUYWJsZXMgaGFzIGJlZW4gY2FsbGVkLCB0aGlzIHdpbGwKIHJldHVybiB0aGUgYWxpYXNlZCByZXN1bHQgbmFtZXNwYWNlLCBub3QgdGhlIG9yaWdpbmFsIHN0eWxlc2hlZXQKIG5hbWVzcGFjZS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5uczwvQ09ERT4gLSBUaGUgTmFtZXNwYWNlIFVSSSwgb3IgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUKICAgICAgICBlbGVtZW50IGhhcyBubyBOYW1lc3BhY2UgVVJJLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TmFtZXNwYWNlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldE5hbWVzcGFjZTwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0TmFtZXNwYWNlPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBvcmlnaW5hbCBuYW1lc3BhY2Ugb2YgdGhlIExpdGVyYWwgUmVzdWx0IEVsZW1lbnQuCiAKICVSRVZJRVclIFdoeSBpc24ndCB0aGlzIG92ZXJyaWRpbmcgdGhlIGdldE5hbWVzcGFjZVVSSSBtZXRob2QKIHJhdGhlciB0aGFuIGludHJvZHVjaW5nIGEgbmV3IG9uZT88REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgTmFtZXNwYWNlIFVSSSwgb3IgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUKICAgICAgICBlbGVtZW50IGhhcyBubyBOYW1lc3BhY2UgVVJJLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0TG9jYWxOYW1lKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpzZXRMb2NhbE5hbWU8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldExvY2FsTmFtZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvY2FsTmFtZSk8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIExSRS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5sb2NhbE5hbWU8L0NPREU+IC0gVGhlIGxvY2FsIG5hbWUgKHdpdGhvdXQgcHJlZml4KSBvZiB0aGUgcmVzdWx0IGVsZW1lbnQKICAgICAgICAgICAgICAgICAgdG8gYmUgY3JlYXRlZC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldExvY2FsTmFtZSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRMb2NhbE5hbWU8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldExvY2FsTmFtZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgbG9jYWwgbmFtZSBvZiB0aGUgTGl0ZXJhbCBSZXN1bHQgRWxlbWVudC4KIE5vdGUgdGhhdCBhZnRlciByZXNvbHZlUHJlZml4VGFibGVzIGhhcyBiZWVuIGNhbGxlZCwgdGhpcyB3aWxsCiByZXR1cm4gdGhlIGFsaWFzZWQgbmFtZSBwcmVmaXgsIG5vdCB0aGUgb3JpZ2luYWwgc3R5bGVzaGVldAogbmFtZXNwYWNlIHByZWZpeC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgbG9jYWwgbmFtZSAod2l0aG91dCBwcmVmaXgpIG9mIHRoZSByZXN1bHQgZWxlbWVudAogICAgICAgICAgICAgICAgICB0byBiZSBjcmVhdGVkLjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0TG9jYWxOYW1lKCkiPmdldExvY2FsTmFtZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0UmF3TmFtZShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0UmF3TmFtZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0UmF3TmFtZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3Jhd05hbWUpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSByYXcgbmFtZSBvZiB0aGUgTFJFLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnJhd05hbWU8L0NPREU+IC0gVGhlIHF1YWxpZmllZCBuYW1lICh3aXRoIHByZWZpeCksIG9yIHRoZQogICAgICAgIGVtcHR5IHN0cmluZyBpZiBxdWFsaWZpZWQgbmFtZXMgYXJlIG5vdCBhdmFpbGFibGUuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRSYXdOYW1lKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFJhd05hbWU8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldFJhd05hbWU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIHJhdyBuYW1lIG9mIHRoZSBMaXRlcmFsIFJlc3VsdCBFbGVtZW50LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBxdWFsaWZpZWQgbmFtZSAod2l0aCBwcmVmaXgpLCBvciB0aGUKICAgICAgICBlbXB0eSBzdHJpbmcgaWYgcXVhbGlmaWVkIG5hbWVzIGFyZSBub3QgYXZhaWxhYmxlLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0UHJlZml4KCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFByZWZpeDwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0UHJlZml4PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBwcmVmaXggcGFydCBvZiB0aGUgcmF3IG5hbWUgb2YgdGhlIExpdGVyYWwgUmVzdWx0IEVsZW1lbnQuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIHByZWZpeCwgb3IgdGhlIGVtcHR5IHN0cmluZyBpZiBub3ByZWZpeCB3YXMgcHJvdmlkZWQuPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRQcmVmaXgoKSI+Z2V0UHJlZml4PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwiPlVuSW1wbE5vZGU8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRFeHRlbnNpb25FbGVtZW50UHJlZml4ZXMob3JnLmFwYWNoZS54bWwudXRpbHMuU3RyaW5nVmVjdG9yKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0RXh0ZW5zaW9uRWxlbWVudFByZWZpeGVzPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRFeHRlbnNpb25FbGVtZW50UHJlZml4ZXM8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1ZlY3Rvci5odG1sIj5TdHJpbmdWZWN0b3I8L0E+Jm5ic3A7dik8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlICJleHRlbnNpb24tZWxlbWVudC1wcmVmaXhlcyIgcHJvcGVydHkuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+djwvQ09ERT4gLSBWZWN0b3Igb2YgVVJJcyAobm90IHByZWZpeGVzKSB0byBzZXQgYXMgdGhlICJleHRlbnNpb24tZWxlbWVudC1wcmVmaXhlcyIgcHJvcGVydHk8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNleHRlbnNpb24tZWxlbWVudCI+ZXh0ZW5zaW9uLWVsZW1lbnQgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0QXR0cmlidXRlcygpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRBdHRyaWJ1dGVzPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTmFtZWROb2RlTWFwLmh0bWwiPk5hbWVkTm9kZU1hcDwvQT4gPEI+Z2V0QXR0cmlidXRlczwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+TmFtZWROb2RlTWFwPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRBdHRyaWJ1dGVzKCkiPmdldEF0dHJpYnV0ZXM8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCI+VW5JbXBsTm9kZTwvQT48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZS5odG1sIj48Q09ERT5Ob2RlPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEV4dGVuc2lvbkVsZW1lbnRQcmVmaXgoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0RXh0ZW5zaW9uRWxlbWVudFByZWZpeDwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0RXh0ZW5zaW9uRWxlbWVudFByZWZpeDwvQj4oaW50Jm5ic3A7aSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyBqYXZhLmxhbmcuQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uPC9QUkU+DQo8REw+DQo8REQ+R2V0IGFuICJleHRlbnNpb24tZWxlbWVudC1wcmVmaXgiIHByb3BlcnR5LjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmk8L0NPREU+IC0gSW5kZXggb2YgVVJJICgiZXh0ZW5zaW9uLWVsZW1lbnQtcHJlZml4IiBwcm9wZXJ0eSkgdG8gZ2V0PERUPjxCPlJldHVybnM6PC9CPjxERD5VUkkgYXQgZ2l2ZW4gaW5kZXggKCJleHRlbnNpb24tZWxlbWVudC1wcmVmaXgiIHByb3BlcnR5KTxEVD48Qj5UaHJvd3M6PC9CPjxERD5qYXZhLmxhbmcuQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIC0gJm5ic3A7PERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjZXh0ZW5zaW9uLWVsZW1lbnQiPmV4dGVuc2lvbi1lbGVtZW50IGluIFhTTFQgU3BlY2lmaWNhdGlvbjwvYT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEV4dGVuc2lvbkVsZW1lbnRQcmVmaXhDb3VudCgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRFeHRlbnNpb25FbGVtZW50UHJlZml4Q291bnQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBpbnQgPEI+Z2V0RXh0ZW5zaW9uRWxlbWVudFByZWZpeENvdW50PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBudW1iZXIgb2YgImV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzIiBTdHJpbmdzLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSBudW1iZXIgb2YgImV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzIiBTdHJpbmdzPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjZXh0ZW5zaW9uLWVsZW1lbnQiPmV4dGVuc2lvbi1lbGVtZW50IGluIFhTTFQgU3BlY2lmaWNhdGlvbjwvYT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImNvbnRhaW5zRXh0ZW5zaW9uRWxlbWVudFVSSShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KY29udGFpbnNFeHRlbnNpb25FbGVtZW50VVJJPC9IMz4NCjxQUkU+DQpwdWJsaWMgYm9vbGVhbiA8Qj5jb250YWluc0V4dGVuc2lvbkVsZW1lbnRVUkk8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt1cmkpPC9QUkU+DQo8REw+DQo8REQ+RmluZCBvdXQgaWYgdGhlIGdpdmVuICJleHRlbnNpb24tZWxlbWVudC1wcmVmaXgiIHByb3BlcnR5IGlzIGRlZmluZWQuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dXJpPC9DT0RFPiAtIFRoZSBVUkkgdG8gZmluZDxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VHJ1ZSBpZiB0aGUgZ2l2ZW4gVVJJIGlzIGZvdW5kPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjZXh0ZW5zaW9uLWVsZW1lbnQiPmV4dGVuc2lvbi1lbGVtZW50IGluIFhTTFQgU3BlY2lmaWNhdGlvbjwvYT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFhTTFRva2VuKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFhTTFRva2VuPC9IMz4NCjxQUkU+DQpwdWJsaWMgaW50IDxCPmdldFhTTFRva2VuPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IGFuIGludCBjb25zdGFudCBpZGVudGlmeWluZyB0aGUgdHlwZSBvZiBlbGVtZW50LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSB0b2tlbiBJRCBmb3IgdGhpcyBlbGVtZW50PERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRYU0xUb2tlbigpIj5nZXRYU0xUb2tlbjwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9Db25zdGFudHMuaHRtbCI+PENPREU+Q29uc3RhbnRzPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldE5vZGVOYW1lKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldE5vZGVOYW1lPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXROb2RlTmFtZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHVybiB0aGUgbm9kZSBuYW1lLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBlbGVtZW50J3MgbmFtZTxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0Tm9kZU5hbWUoKSI+Z2V0Tm9kZU5hbWU8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+RWxlbVRlbXBsYXRlRWxlbWVudDwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFZlcnNpb24oamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCnNldFZlcnNpb248L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldFZlcnNpb248L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt2KTwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgInZlcnNpb24iIHByb3BlcnR5LjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnY8L0NPREU+IC0gVmVyc2lvbiBwcm9wZXJ0eSB2YWx1ZSB0byBzZXQ8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNmb3J3YXJkcyI+Zm9yd2FyZHMgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0VmVyc2lvbigpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRWZXJzaW9uPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRWZXJzaW9uPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSAidmVyc2lvbiIgcHJvcGVydHkuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VmVyc2lvbiBwcm9wZXJ0eSB2YWx1ZTxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0I2ZvcndhcmRzIj5mb3J3YXJkcyBpbiBYU0xUIFNwZWNpZmljYXRpb248L2E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRFeGNsdWRlUmVzdWx0UHJlZml4ZXMob3JnLmFwYWNoZS54bWwudXRpbHMuU3RyaW5nVmVjdG9yKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0RXhjbHVkZVJlc3VsdFByZWZpeGVzPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRFeGNsdWRlUmVzdWx0UHJlZml4ZXM8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1ZlY3Rvci5odG1sIj5TdHJpbmdWZWN0b3I8L0E+Jm5ic3A7dik8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlICJleGNsdWRlLXJlc3VsdC1wcmVmaXhlcyIgcHJvcGVydHkuCiBUaGUgZGVzaWduYXRpb24gb2YgYSBuYW1lc3BhY2UgYXMgYW4gZXhjbHVkZWQgbmFtZXNwYWNlIGlzCiBlZmZlY3RpdmUgd2l0aGluIHRoZSBzdWJ0cmVlIG9mIHRoZSBzdHlsZXNoZWV0IHJvb3RlZCBhdAogdGhlIGVsZW1lbnQgYmVhcmluZyB0aGUgZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXMgb3IKIHhzbDpleGNsdWRlLXJlc3VsdC1wcmVmaXhlcyBhdHRyaWJ1dGU7IGEgc3VidHJlZSByb290ZWQKIGF0IGFuIHhzbDpzdHlsZXNoZWV0IGVsZW1lbnQgZG9lcyBub3QgaW5jbHVkZSBhbnkgc3R5bGVzaGVldHMKIGltcG9ydGVkIG9yIGluY2x1ZGVkIGJ5IGNoaWxkcmVuIG9mIHRoYXQgeHNsOnN0eWxlc2hlZXQgZWxlbWVudC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT52PC9DT0RFPiAtIHZlY3RvciBvZiBwcmVmaXhlcyB0aGF0IGFyZSByZXNvbHZhYmxlIHRvIHN0cmluZ3MuPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjbGl0ZXJhbC1yZXN1bHQtZWxlbWVudCI+bGl0ZXJhbC1yZXN1bHQtZWxlbWVudCBpbiBYU0xUIFNwZWNpZmljYXRpb248L2E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJleGVjdXRlKG9yZy5hcGFjaGUueGFsYW4udHJhbnNmb3JtZXIuVHJhbnNmb3JtZXJJbXBsKSI+PCEtLSAtLT48L0E+PEgzPg0KZXhlY3V0ZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+ZXhlY3V0ZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90cmFuc2Zvcm1lci9UcmFuc2Zvcm1lckltcGwuaHRtbCI+VHJhbnNmb3JtZXJJbXBsPC9BPiZuYnNwO3RyYW5zZm9ybWVyKQogICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJFeGNlcHRpb24uaHRtbCI+VHJhbnNmb3JtZXJFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+Q29weSBhIExpdGVyYWwgUmVzdWx0IEVsZW1lbnQgaW50byB0aGUgUmVzdWx0IHRyZWUsIGNvcHkgdGhlCiBub24tZXhjbHVkZWQgbmFtZXNwYWNlIGF0dHJpYnV0ZXMsIGNvcHkgdGhlIGF0dHJpYnV0ZXMgbm90CiBvZiB0aGUgWFNMVCBuYW1lc3BhY2UsIGFuZCBleGVjdXRlIHRoZSBjaGlsZHJlbiBvZiB0aGUgTFJFLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnRyYW5zZm9ybWVyPC9DT0RFPiAtIG5vbi1udWxsIHJlZmVyZW5jZSB0byB0aGUgdGhlIGN1cnJlbnQgdHJhbnNmb3JtLXRpbWUgc3RhdGUuPERUPjxCPlRocm93czo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJFeGNlcHRpb24uaHRtbCI+VHJhbnNmb3JtZXJFeGNlcHRpb248L0E+IC0gJm5ic3A7PERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1Vc2UuaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUueGFsYW4udHJhbnNmb3JtZXIuVHJhbnNmb3JtZXJJbXBsKSI+ZXhlY3V0ZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVVzZS5odG1sIj5FbGVtVXNlPC9BPjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0I2xpdGVyYWwtcmVzdWx0LWVsZW1lbnQiPmxpdGVyYWwtcmVzdWx0LWVsZW1lbnQgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZW51bWVyYXRlTGl0ZXJhbFJlc3VsdEF0dHJpYnV0ZXMoKSI+PCEtLSAtLT48L0E+PEgzPg0KZW51bWVyYXRlTGl0ZXJhbFJlc3VsdEF0dHJpYnV0ZXM8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLnV0aWwuSXRlcmF0b3IgPEI+ZW51bWVyYXRlTGl0ZXJhbFJlc3VsdEF0dHJpYnV0ZXM8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5Db21waWxpbmcgdGVtcGxhdGVzIHJlcXVpcmVzIHRoYXQgd2UgYmUgYWJsZSB0byBsaXN0IHRoZSBBVlRzCiBBRERFRCA5LzUvMjAwMCB0byBzdXBwb3J0IGNvbXBpbGF0aW9uIGV4cGVyaW1lbnQ8REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5hbiBFbnVtZXJhdGlvbiBvZiB0aGUgbGl0ZXJhbCByZXN1bHQgYXR0cmlidXRlcyBhc3NvY2lhdGVkCiB3aXRoIHRoaXMgZWxlbWVudC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InRocm93RE9NRXhjZXB0aW9uKHNob3J0LCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KdGhyb3dET01FeGNlcHRpb248L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnRocm93RE9NRXhjZXB0aW9uPC9CPihzaG9ydCZuYnNwO2NvZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDttc2cpPC9QUkU+DQo8REw+DQo8REQ+VGhyb3cgYSBET01FeGNlcHRpb248REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5tc2c8L0NPREU+IC0ga2V5IG9mIHRoZSBlcnJvciB0aGF0IG9jY3VyZWQuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPCEtLSA9PT09PT09PT0gRU5EIE9GIENMQVNTIERBVEEgPT09PT09PT09IC0tPg0KPEhSPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvRWxlbUxpdGVyYWxSZXN1bHQuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUlmLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbUxpdGVyYWxSZXN1bHQuQXR0cmlidXRlLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJFbGVtTGl0ZXJhbFJlc3VsdC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCiAgU1VNTUFSWTogJm5ic3A7PEEgSFJFRj0iI2lubmVyX2NsYXNzX3N1bW1hcnkiPklOTkVSPC9BPiZuYnNwO3wmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQpDb3B5cmlnaHQgqSAyMDA2IEFwYWNoZSBYTUwgUHJvamVjdC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCjwvQk9EWT4NCjwvSFRNTD4NCg==