PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTYgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgU0FYSW1wbA0KPC9USVRMRT4NCjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4NCjwvSEVBRD4NCjxCT0RZIEJHQ09MT1I9IndoaXRlIj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX3RvcCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX3RvcF9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1NBWEltcGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vTnRoSXRlcmF0b3IuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLk5hbWVzcGFjZUF0dHJpYnV0ZUl0ZXJhdG9yLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJTQVhJbXBsLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDs8QSBIUkVGPSIjaW5uZXJfY2xhc3Nfc3VtbWFyeSI+SU5ORVI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54bWwuZHRtLnJlZi5EVE1EZWZhdWx0QmFzZSI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueGFsYW4ueHNsdGMuZG9tPC9GT05UPg0KPEJSPg0KQ2xhc3MgIFNBWEltcGw8L0gyPg0KPFBSRT4NCmphdmEubGFuZy5PYmplY3QNCiAgfA0KICArLS08QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwiPm9yZy5hcGFjaGUueG1sLmR0bS5yZWYuRFRNRGVmYXVsdEJhc2U8L0E+DQogICAgICAgIHwNCiAgICAgICAgKy0tPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZVRyYXZlcnNlcnMuaHRtbCI+b3JnLmFwYWNoZS54bWwuZHRtLnJlZi5EVE1EZWZhdWx0QmFzZVRyYXZlcnNlcnM8L0E+DQogICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgKy0tPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5odG1sIj5vcmcuYXBhY2hlLnhtbC5kdG0ucmVmLkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzPC9BPg0KICAgICAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICAgICstLTxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwiPm9yZy5hcGFjaGUueG1sLmR0bS5yZWYuc2F4MmR0bS5TQVgyRFRNPC9BPg0KICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICAgICAgICAgICstLTxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sIj5vcmcuYXBhY2hlLnhtbC5kdG0ucmVmLnNheDJkdG0uU0FYMkRUTTI8L0E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tPEI+b3JnLmFwYWNoZS54YWxhbi54c2x0Yy5kb20uU0FYSW1wbDwvQj4NCjwvUFJFPg0KPEhSPg0KPERMPg0KPERUPnB1YmxpYyBmaW5hbCBjbGFzcyA8Qj5TQVhJbXBsPC9CPjxEVD5leHRlbmRzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sIj5TQVgyRFRNMjwvQT48RFQ+aW1wbGVtZW50cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL0RPTUVuaGFuY2VkRm9yRFRNLmh0bWwiPkRPTUVuaGFuY2VkRm9yRFRNPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vRE9NQnVpbGRlci5odG1sIj5ET01CdWlsZGVyPC9BPjwvREw+DQoNCjxQPg0KU0FYSW1wbCBpcyB0aGUgY29yZSBtb2RlbCBmb3IgU0FYIGlucHV0IHNvdXJjZS4gU0FYSW1wbCBvYmplY3RzIGFyZQogdXN1YWxseSBjcmVhdGVkIGZyb20gYW4gWFNMVENEVE1NYW5hZ2VyLgoKIDxwPkRPTVNvdXJjZSBpbnB1dHMgYXJlIGhhbmRsZWQgdXNpbmcgRE9NMlNBWCArIFNBWEltcGwuIFNBWEltcGwgaGFzIGEKIGZldyBzcGVjaWZpYyBmaWVsZHMgKGUuZy4gX25vZGUySWRzLCBfZG9jdW1lbnQpIHRvIGtlZXAgRE9NLXJlbGF0ZWQKIGluZm9ybWF0aW9uLiBUaGV5IGFyZSB1c2VkIHdoZW4gdGhlIHByb2Nlc3NpbmcgYmVoYXZpb3IgYmV0d2VlbiBET00gYW5kCiBTQVggaGFzIHRvIGJlIGRpZmZlcmVudC4gRXhhbXBsZXMgb2YgdGhlc2UgaW5jbHVkZSBpZCBmdW5jdGlvbiBhbmQgCiB1bnBhcnNlZCBlbnRpdHkuCgogPHA+U0FYSW1wbCBleHRlbmRzIFNBWDJEVE0yIGluc3RlYWQgb2YgU0FYMkRUTSBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlLg0KPFA+DQo8SFI+DQoNCjxQPg0KPCEtLSA9PT09PT09PSBJTk5FUiBDTEFTUyBTVU1NQVJZID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJpbm5lcl9jbGFzc19zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+SW5uZXIgQ2xhc3MgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2NsYXNzPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuTmFtZXNwYWNlQXR0cmlidXRlSXRlcmF0b3IuaHRtbCI+U0FYSW1wbC5OYW1lc3BhY2VBdHRyaWJ1dGVJdGVyYXRvcjwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtJdGVyYXRvciB0aGF0IHJldHVybnMgYXR0cmlidXRlcyB3aXRoaW4gYSBnaXZlbiBuYW1lc3BhY2UgZm9yIGEgbm9kZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7Y2xhc3M8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5OYW1lc3BhY2VDaGlsZHJlbkl0ZXJhdG9yLmh0bWwiPlNBWEltcGwuTmFtZXNwYWNlQ2hpbGRyZW5JdGVyYXRvcjwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtJdGVyYXRvciB0aGF0IHJldHVybnMgY2hpbGRyZW4gd2l0aGluIGEgZ2l2ZW4gbmFtZXNwYWNlIGZvciBhCiBnaXZlbiBub2RlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtjbGFzczwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLk5hbWVzcGFjZVdpbGRjYXJkSXRlcmF0b3IuaHRtbCI+U0FYSW1wbC5OYW1lc3BhY2VXaWxkY2FyZEl0ZXJhdG9yPC9BPjwvQj48L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0l0ZXJhdG9yIHRoYXQgaGFuZGxlcyBub2RlIHRlc3RzIHRoYXQgdGVzdCBmb3IgYSBuYW1lc3BhY2UsIGJ1dCBoYXZlCiBhIHdpbGQgY2FyZCBmb3IgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIG5vZGUsIGkuZS4sIG5vZGUgdGVzdHMgb2YgdGhlCiBmb3JtIDxheGlzPjo6PHByZWZpeD46KjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtjbGFzczwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLlR5cGVkTmFtZXNwYWNlSXRlcmF0b3IuaHRtbCI+U0FYSW1wbC5UeXBlZE5hbWVzcGFjZUl0ZXJhdG9yPC9BPjwvQj48L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0l0ZXJhdG9yIHRoYXQgcmV0dXJucyB0aGUgbmFtZXNwYWNlIG5vZGVzIGFzIGRlZmluZWQgYnkgdGhlIFhQYXRoIGRhdGEKIG1vZGVsIGZvciBhIGdpdmVuIG5vZGUsIGZpbHRlcmVkIGJ5IGV4dGVuZGVkIHR5cGUgSUQuPC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0iaW5uZXJfY2xhc3Nlc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC5kdG0ucmVmLnNheDJkdG0uU0FYMkRUTTIiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPklubmVyIGNsYXNzZXMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS54bWwuZHRtLnJlZi5zYXgyZHRtLjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sIj5TQVgyRFRNMjwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuQW5jZXN0b3JJdGVyYXRvci5odG1sIj5TQVgyRFRNMi5BbmNlc3Rvckl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5BdHRyaWJ1dGVJdGVyYXRvci5odG1sIj5TQVgyRFRNMi5BdHRyaWJ1dGVJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuQ2hpbGRyZW5JdGVyYXRvci5odG1sIj5TQVgyRFRNMi5DaGlsZHJlbkl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5EZXNjZW5kYW50SXRlcmF0b3IuaHRtbCI+U0FYMkRUTTIuRGVzY2VuZGFudEl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5Gb2xsb3dpbmdJdGVyYXRvci5odG1sIj5TQVgyRFRNMi5Gb2xsb3dpbmdJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuRm9sbG93aW5nU2libGluZ0l0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLkZvbGxvd2luZ1NpYmxpbmdJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuUGFyZW50SXRlcmF0b3IuaHRtbCI+U0FYMkRUTTIuUGFyZW50SXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLlByZWNlZGluZ0l0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLlByZWNlZGluZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5QcmVjZWRpbmdTaWJsaW5nSXRlcmF0b3IuaHRtbCI+U0FYMkRUTTIuUHJlY2VkaW5nU2libGluZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5UeXBlZEFuY2VzdG9ySXRlcmF0b3IuaHRtbCI+U0FYMkRUTTIuVHlwZWRBbmNlc3Rvckl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5UeXBlZEF0dHJpYnV0ZUl0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLlR5cGVkQXR0cmlidXRlSXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLlR5cGVkQ2hpbGRyZW5JdGVyYXRvci5odG1sIj5TQVgyRFRNMi5UeXBlZENoaWxkcmVuSXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLlR5cGVkRGVzY2VuZGFudEl0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLlR5cGVkRGVzY2VuZGFudEl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5UeXBlZEZvbGxvd2luZ0l0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLlR5cGVkRm9sbG93aW5nSXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLlR5cGVkRm9sbG93aW5nU2libGluZ0l0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLlR5cGVkRm9sbG93aW5nU2libGluZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5UeXBlZFByZWNlZGluZ0l0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLlR5cGVkUHJlY2VkaW5nSXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLlR5cGVkUHJlY2VkaW5nU2libGluZ0l0ZXJhdG9yLmh0bWwiPlNBWDJEVE0yLlR5cGVkUHJlY2VkaW5nU2libGluZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5UeXBlZFJvb3RJdGVyYXRvci5odG1sIj5TQVgyRFRNMi5UeXBlZFJvb3RJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuVHlwZWRTaW5nbGV0b25JdGVyYXRvci5odG1sIj5TQVgyRFRNMi5UeXBlZFNpbmdsZXRvbkl0ZXJhdG9yPC9BPjwvQj48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0iaW5uZXJfY2xhc3Nlc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC5kdG0ucmVmLkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5Jbm5lciBjbGFzc2VzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLmR0bS5yZWYuPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9yczwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkFuY2VzdG9ySXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuQW5jZXN0b3JJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkF0dHJpYnV0ZUl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkF0dHJpYnV0ZUl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuQ2hpbGRyZW5JdGVyYXRvci5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5DaGlsZHJlbkl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuRGVzY2VuZGFudEl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkRlc2NlbmRhbnRJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkZvbGxvd2luZ0l0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkZvbGxvd2luZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuRm9sbG93aW5nU2libGluZ0l0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkZvbGxvd2luZ1NpYmxpbmdJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLkludGVybmFsQXhpc0l0ZXJhdG9yQmFzZS5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5JbnRlcm5hbEF4aXNJdGVyYXRvckJhc2U8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5OYW1lc3BhY2VBdHRyaWJ1dGVJdGVyYXRvci5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5OYW1lc3BhY2VBdHRyaWJ1dGVJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLk5hbWVzcGFjZUNoaWxkcmVuSXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuTmFtZXNwYWNlQ2hpbGRyZW5JdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLk5hbWVzcGFjZUl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLk5hbWVzcGFjZUl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuTnRoRGVzY2VuZGFudEl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLk50aERlc2NlbmRhbnRJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlBhcmVudEl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlBhcmVudEl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuUHJlY2VkaW5nSXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuUHJlY2VkaW5nSXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5QcmVjZWRpbmdTaWJsaW5nSXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuUHJlY2VkaW5nU2libGluZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuUm9vdEl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlJvb3RJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlNpbmdsZXRvbkl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlNpbmdsZXRvbkl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWRBbmNlc3Rvckl0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlR5cGVkQW5jZXN0b3JJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlR5cGVkQXR0cmlidXRlSXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWRBdHRyaWJ1dGVJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlR5cGVkQ2hpbGRyZW5JdGVyYXRvci5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5UeXBlZENoaWxkcmVuSXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5UeXBlZERlc2NlbmRhbnRJdGVyYXRvci5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5UeXBlZERlc2NlbmRhbnRJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlR5cGVkRm9sbG93aW5nSXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWRGb2xsb3dpbmdJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlR5cGVkRm9sbG93aW5nU2libGluZ0l0ZXJhdG9yLmh0bWwiPkRUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlR5cGVkRm9sbG93aW5nU2libGluZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWROYW1lc3BhY2VJdGVyYXRvci5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5UeXBlZE5hbWVzcGFjZUl0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWRQcmVjZWRpbmdJdGVyYXRvci5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5UeXBlZFByZWNlZGluZ0l0ZXJhdG9yPC9BPjwvQj4sICANCjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWRQcmVjZWRpbmdTaWJsaW5nSXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWRQcmVjZWRpbmdTaWJsaW5nSXRlcmF0b3I8L0E+PC9CPiwgIA0KPEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5UeXBlZFJvb3RJdGVyYXRvci5odG1sIj5EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5UeXBlZFJvb3RJdGVyYXRvcjwvQT48L0I+LCAgDQo8Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlSXRlcmF0b3JzLlR5cGVkU2luZ2xldG9uSXRlcmF0b3IuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuVHlwZWRTaW5nbGV0b25JdGVyYXRvcjwvQT48L0I+PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJmaWVsZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54bWwuZHRtLnJlZi5EVE1EZWZhdWx0QmFzZSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLmR0bS5yZWYuPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sIj5EVE1EZWZhdWx0QmFzZTwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjREVGQVVMVF9CTE9DS1NJWkUiPkRFRkFVTFRfQkxPQ0tTSVpFPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI0RFRkFVTFRfTlVNQkxPQ0tTIj5ERUZBVUxUX05VTUJMT0NLUzwvQT4sICANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNERUZBVUxUX05VTUJMT0NLU19TTUFMTCI+REVGQVVMVF9OVU1CTE9DS1NfU01BTEw8L0E+LCAgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjbV9tZ3IiPm1fbWdyPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI1JPT1ROT0RFIj5ST09UTk9ERTwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8IS0tID09PT09PT09IENPTlNUUlVDVE9SIFNVTU1BUlkgPT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImNvbnN0cnVjdG9yX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5Db25zdHJ1Y3RvciBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNTQVhJbXBsKG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuZG9tLlhTTFRDRFRNTWFuYWdlciwgamF2YXgueG1sLnRyYW5zZm9ybS5Tb3VyY2UsIGludCwgb3JnLmFwYWNoZS54bWwuZHRtLkRUTVdTRmlsdGVyLCBvcmcuYXBhY2hlLnhtbC51dGlscy5YTUxTdHJpbmdGYWN0b3J5LCBib29sZWFuLCBib29sZWFuKSI+U0FYSW1wbDwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1hTTFRDRFRNTWFuYWdlci5odG1sIj5YU0xUQ0RUTU1hbmFnZXI8L0E+Jm5ic3A7bWdyLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vU291cmNlLmh0bWwiPlNvdXJjZTwvQT4mbmJzcDtzb3VyY2UsCiAgICAgICAgaW50Jm5ic3A7ZHRtSWRlbnRpdHksCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTVdTRmlsdGVyLmh0bWwiPkRUTVdTRmlsdGVyPC9BPiZuYnNwO3doaXRlU3BhY2VGaWx0ZXIsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvWE1MU3RyaW5nRmFjdG9yeS5odG1sIj5YTUxTdHJpbmdGYWN0b3J5PC9BPiZuYnNwO3hzdHJpbmdmYWN0b3J5LAogICAgICAgIGJvb2xlYW4mbmJzcDtkb0luZGV4aW5nLAogICAgICAgIGJvb2xlYW4mbmJzcDtidWlsZElkSW5kZXgpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb25zdHJ1Y3QgYSBTQVhJbXBsIG9iamVjdCB1c2luZyB0aGUgZGVmYXVsdCBibG9jayBzaXplLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI1NBWEltcGwob3JnLmFwYWNoZS54YWxhbi54c2x0Yy5kb20uWFNMVENEVE1NYW5hZ2VyLCBqYXZheC54bWwudHJhbnNmb3JtLlNvdXJjZSwgaW50LCBvcmcuYXBhY2hlLnhtbC5kdG0uRFRNV1NGaWx0ZXIsIG9yZy5hcGFjaGUueG1sLnV0aWxzLlhNTFN0cmluZ0ZhY3RvcnksIGJvb2xlYW4sIGludCwgYm9vbGVhbiwgYm9vbGVhbikiPlNBWEltcGw8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9YU0xUQ0RUTU1hbmFnZXIuaHRtbCI+WFNMVENEVE1NYW5hZ2VyPC9BPiZuYnNwO21nciwKICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZS5odG1sIj5Tb3VyY2U8L0E+Jm5ic3A7c291cmNlLAogICAgICAgIGludCZuYnNwO2R0bUlkZW50aXR5LAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1XU0ZpbHRlci5odG1sIj5EVE1XU0ZpbHRlcjwvQT4mbmJzcDt3aGl0ZVNwYWNlRmlsdGVyLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1hNTFN0cmluZ0ZhY3RvcnkuaHRtbCI+WE1MU3RyaW5nRmFjdG9yeTwvQT4mbmJzcDt4c3RyaW5nZmFjdG9yeSwKICAgICAgICBib29sZWFuJm5ic3A7ZG9JbmRleGluZywKICAgICAgICBpbnQmbmJzcDtibG9ja3NpemUsCiAgICAgICAgYm9vbGVhbiZuYnNwO2J1aWxkSWRJbmRleCwKICAgICAgICBib29sZWFuJm5ic3A7bmV3TmFtZVRhYmxlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29uc3RydWN0IGEgU0FYSW1wbCBvYmplY3QgdXNpbmcgdGhlIGdpdmVuIGJsb2NrIHNpemUuPC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8IS0tID09PT09PT09PT0gTUVUSE9EIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNjaGFyYWN0ZXJzKGNoYXJbXSwgaW50LCBpbnQpIj5jaGFyYWN0ZXJzPC9BPjwvQj4oY2hhcltdJm5ic3A7Y2gsCiAgICAgICAgICAgaW50Jm5ic3A7c3RhcnQsCiAgICAgICAgICAgaW50Jm5ic3A7bGVuZ3RoKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U0FYMjogUmVjZWl2ZSBub3RpZmljYXRpb24gb2YgY2hhcmFjdGVyIGRhdGEuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2NoYXJhY3RlcnMoaW50LCBvcmcuYXBhY2hlLnhtbC5zZXJpYWxpemVyLlNlcmlhbGl6YXRpb25IYW5kbGVyKSI+Y2hhcmFjdGVyczwvQT48L0I+KGludCZuYnNwO25vZGUsCiAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvc2VyaWFsaXplci9TZXJpYWxpemF0aW9uSGFuZGxlci5odG1sIj5TZXJpYWxpemF0aW9uSGFuZGxlcjwvQT4mbmJzcDtoYW5kbGVyKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29weSB0aGUgc3RyaW5nIHZhbHVlIG9mIGEgbm9kZSBkaXJlY3RseSB0byBhbiBvdXRwdXQgaGFuZGxlcjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNjb21tZW50KGNoYXJbXSwgaW50LCBpbnQpIj5jb21tZW50PC9BPjwvQj4oY2hhcltdJm5ic3A7Y2gsCiAgICAgICAgaW50Jm5ic3A7c3RhcnQsCiAgICAgICAgaW50Jm5ic3A7bGVuZ3RoKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U0FYMjogUmVwb3J0IGFuIFhNTCBjb21tZW50IGFueXdoZXJlIGluIHRoZSBkb2N1bWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjY29weShvcmcuYXBhY2hlLnhtbC5kdG0uRFRNQXhpc0l0ZXJhdG9yLCBvcmcuYXBhY2hlLnhtbC5zZXJpYWxpemVyLlNlcmlhbGl6YXRpb25IYW5kbGVyKSI+Y29weTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiZuYnNwO25vZGVzLAogICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3NlcmlhbGl6ZXIvU2VyaWFsaXphdGlvbkhhbmRsZXIuaHRtbCI+U2VyaWFsaXphdGlvbkhhbmRsZXI8L0E+Jm5ic3A7aGFuZGxlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NvcHkgYSBub2RlLXNldCB0byBhbiBvdXRwdXQgaGFuZGxlcjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNjb3B5KGludCwgb3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci5TZXJpYWxpemF0aW9uSGFuZGxlcikiPmNvcHk8L0E+PC9CPihpbnQmbmJzcDtub2RlLAogICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3NlcmlhbGl6ZXIvU2VyaWFsaXphdGlvbkhhbmRsZXIuaHRtbCI+U2VyaWFsaXphdGlvbkhhbmRsZXI8L0E+Jm5ic3A7aGFuZGxlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BlcmZvcm1zIGEgZGVlcCBjb3B5IChyZWYuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2NvcHkob3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci5TZXJpYWxpemF0aW9uSGFuZGxlcikiPmNvcHk8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1NlcmlhbGl6YXRpb25IYW5kbGVyLmh0bWwiPlNlcmlhbGl6YXRpb25IYW5kbGVyPC9BPiZuYnNwO2hhbmRsZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb3B5IHRoZSB3aG9sZSB0cmVlIHRvIGFuIG91dHB1dCBoYW5kbGVyPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2VuZERvY3VtZW50KCkiPmVuZERvY3VtZW50PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U0FYMjogUmVjZWl2ZSBub3RpZmljYXRpb24gb2YgdGhlIGVuZCBvZiBhIGRvY3VtZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNlbmRFbGVtZW50KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5lbmRFbGVtZW50PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWVzcGFjZVVSSSwKICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bG9jYWxOYW1lLAogICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtxbmFtZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NBWDI6IFJlY2VpdmUgbm90aWZpY2F0aW9uIG9mIHRoZSBlbmQgb2YgYW4gZWxlbWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXRBdHRyaWJ1dGVOb2RlKGludCwgaW50KSI+Z2V0QXR0cmlidXRlTm9kZTwvQT48L0I+KGludCZuYnNwO3R5cGUsCiAgICAgICAgICAgICAgICAgaW50Jm5ic3A7ZWxlbWVudCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybnMgdGhlIGF0dHJpYnV0ZSBub2RlIG9mIGEgZ2l2ZW4gdHlwZSAoaWYgYW55KSBmb3IgYW4gZWxlbWVudDwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXRBdHRyaWJ1dGVWYWx1ZShpbnQsIGludCkiPmdldEF0dHJpYnV0ZVZhbHVlPC9BPjwvQj4oaW50Jm5ic3A7dHlwZSwKICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7ZWxlbWVudCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybnMgdGhlIHZhbHVlIG9mIGEgZ2l2ZW4gYXR0cmlidXRlIHR5cGUgb2YgYSBnaXZlbiBlbGVtZW50PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldEF0dHJpYnV0ZVZhbHVlKGphdmEubGFuZy5TdHJpbmcsIGludCkiPmdldEF0dHJpYnV0ZVZhbHVlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUsCiAgICAgICAgICAgICAgICAgIGludCZuYnNwO2VsZW1lbnQpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIG1ldGhvZCBpcyBmb3IgdGVzdGluZy9kZWJ1Z2dpbmcgb25seTwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldEF4aXNJdGVyYXRvcihpbnQpIj5nZXRBeGlzSXRlcmF0b3I8L0E+PC9CPihpbnQmbmJzcDtheGlzKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBpcyBhIHNob3J0Y3V0IHRvIHRoZSBpdGVyYXRvcnMgdGhhdCBpbXBsZW1lbnQgdGhlCiBzdXBwb3J0ZWQgWFBhdGggYXhlcyAob25seSBuYW1lc3BhY2U6OikgaXMgbm90IHN1cHBvcnRlZC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vRE9NQnVpbGRlci5odG1sIj5ET01CdWlsZGVyPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0QnVpbGRlcigpIj5nZXRCdWlsZGVyPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyBhbiBpbnN0YW5jZSBvZiB0aGUgRE9NQnVpbGRlciBpbm5lciBjbGFzcwogVGhpcyBjbGFzcyB3aWxsIGNvbnN1bWUgdGhlIGlucHV0IGRvY3VtZW50IHRocm91Z2ggYSBTQVgyCiBpbnRlcmZhY2UgYW5kIHBvcHVsYXRlIHRoZSB0cmVlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldENoaWxkcmVuKGludCkiPmdldENoaWxkcmVuPC9BPjwvQj4oaW50Jm5ic3A7bm9kZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybnMgYW4gaXRlcmF0b3Igd2l0aCBhbGwgdGhlIGNoaWxkcmVuIG9mIGEgZ2l2ZW4gbm9kZTwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXREb2N1bWVudFVSSSgpIj5nZXREb2N1bWVudFVSSTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybnMgdGhlIG9yaWdpbiBvZiB0aGUgZG9jdW1lbnQgZnJvbSB3aGljaCB0aGUgdHJlZSB3YXMgYnVpbHQ8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0RG9jdW1lbnRVUkkoaW50KSI+Z2V0RG9jdW1lbnRVUkk8L0E+PC9CPihpbnQmbmJzcDtub2RlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0RWxlbWVudEJ5SWQoamF2YS5sYW5nLlN0cmluZykiPmdldEVsZW1lbnRCeUlkPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2lkU3RyaW5nKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIHRoZSBub2RlIGlkZW50aXR5IGZvciBhIGdpdmVuIGlkIFN0cmluZzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL3J1bnRpbWUvSGFzaHRhYmxlLmh0bWwiPkhhc2h0YWJsZTwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldEVsZW1lbnRzV2l0aElEcygpIj5nZXRFbGVtZW50c1dpdGhJRHM8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDslSFolIE5lZWQgSmF2YWRvYzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldEdlbmVyYWxpemVkVHlwZShqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0R2VuZXJhbGl6ZWRUeXBlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zIHRoZSBpbnRlcm5hbCB0eXBlIGFzc29jaWF0ZWQgd2l0aCBhbiBleHBhbmRlZCBRTmFtZTwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldEdlbmVyYWxpemVkVHlwZShqYXZhLmxhbmcuU3RyaW5nLCBib29sZWFuKSI+Z2V0R2VuZXJhbGl6ZWRUeXBlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUsCiAgICAgICAgICAgICAgICAgICBib29sZWFuJm5ic3A7c2VhcmNoT25seSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybnMgdGhlIGludGVybmFsIHR5cGUgYXNzb2NpYXRlZCB3aXRoIGFuIGV4cGFuZGVkIFFOYW1lPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0SXRlcmF0b3IoKSI+Z2V0SXRlcmF0b3I8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zIHNpbmdsZXRvbiBpdGVyYXRvciBjb250YWluZyB0aGUgZG9jdW1lbnQgcm9vdAogV29ya3MgZm9yIHRoZW0gbWFpbiBkb2N1bWVudCAobWFyayA9PSAwKS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0TGFuZ3VhZ2UoaW50KSI+Z2V0TGFuZ3VhZ2U8L0E+PC9CPihpbnQmbmJzcDtub2RlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyBhIG5vZGUnIGRlZmluZWQgbGFuZ3VhZ2UgZm9yIGEgbm9kZSAoaWYgYW55KTwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtzaG9ydFtdPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXRNYXBwaW5nKGphdmEubGFuZy5TdHJpbmdbXSwgamF2YS5sYW5nLlN0cmluZ1tdLCBpbnRbXSkiPmdldE1hcHBpbmc8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDtuYW1lcywKICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDt1cmlzLAogICAgICAgICAgIGludFtdJm5ic3A7dHlwZXMpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgbWFwcGluZyBmcm9tIERPTSBlbGVtZW50L2F0dHJpYnV0ZSB0eXBlcyB0byBleHRlcm5hbCB0eXBlczwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldE5hbWVzcGFjZUF4aXNJdGVyYXRvcihpbnQsIGludCkiPmdldE5hbWVzcGFjZUF4aXNJdGVyYXRvcjwvQT48L0I+KGludCZuYnNwO2F4aXMsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtucyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0RvIG5vdCB0aGluayB0aGF0IHRoaXMgcmV0dXJucyBhbiBpdGVyYXRvciBmb3IgdGhlIG5hbWVzcGFjZSBheGlzLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtzaG9ydFtdPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXROYW1lc3BhY2VNYXBwaW5nKGphdmEubGFuZy5TdHJpbmdbXSkiPmdldE5hbWVzcGFjZU1hcHBpbmc8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDtuYW1lc3BhY2VzKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IG1hcHBpbmcgZnJvbSBET00gbmFtZXNwYWNlIHR5cGVzIHRvIGV4dGVybmFsIG5hbWVzcGFjZSB0eXBlczwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXROYW1lc3BhY2VOYW1lKGludCkiPmdldE5hbWVzcGFjZU5hbWU8L0E+PC9CPihpbnQmbmJzcDtub2RlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyB0aGUgbmFtZXNwYWNlIFVSSSB0byB3aGljaCBhIG5vZGUgYmVsb25nczwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldE5hbWVzcGFjZVR5cGUoaW50KSI+Z2V0TmFtZXNwYWNlVHlwZTwvQT48L0I+KGludCZuYnNwO25vZGUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zIHRoZSBuYW1lc3BhY2UgdHlwZSBvZiBhIHNwZWNpZmljIG5vZGU8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0Tm9kZU5hbWUoaW50KSI+Z2V0Tm9kZU5hbWU8L0E+PC9CPihpbnQmbmJzcDtub2RlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyB0aGUgbmFtZSBvZiBhIG5vZGUgKGF0dHJpYnV0ZSBvciBlbGVtZW50KS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUF4aXNJdGVyYXRvci5odG1sIj5EVE1BeGlzSXRlcmF0b3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXROb2RlVmFsdWVJdGVyYXRvcihvcmcuYXBhY2hlLnhtbC5kdG0uRFRNQXhpc0l0ZXJhdG9yLCBpbnQsIGphdmEubGFuZy5TdHJpbmcsIGJvb2xlYW4pIj5nZXROb2RlVmFsdWVJdGVyYXRvcjwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiZuYnNwO2l0ZXJhdG9yLAogICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDt0eXBlLAogICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dmFsdWUsCiAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDtvcCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldE5TVHlwZShpbnQpIj5nZXROU1R5cGU8L0E+PC9CPihpbnQmbmJzcDtub2RlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IG1hcHBpbmcgZnJvbSBET00gbmFtZXNwYWNlIHR5cGVzIHRvIGV4dGVybmFsIG5hbWVzcGFjZSB0eXBlczwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldE50aERlc2NlbmRhbnQoaW50LCBpbnQsIGJvb2xlYW4pIj5nZXROdGhEZXNjZW5kYW50PC9BPjwvQj4oaW50Jm5ic3A7dHlwZSwKICAgICAgICAgICAgICAgICBpbnQmbmJzcDtuLAogICAgICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDtpbmNsdWRlc2VsZik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybnMgdGhlIG50aCBkZXNjZW5kYW50IG9mIGEgbm9kZTwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1NlcmlhbGl6YXRpb25IYW5kbGVyLmh0bWwiPlNlcmlhbGl6YXRpb25IYW5kbGVyPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0T3V0cHV0RG9tQnVpbGRlcigpIj5nZXRPdXRwdXREb21CdWlsZGVyPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIGEgU2VyaWFsaXphdGlvbkhhbmRsZXIgZm9yIG91dHB1dCBoYW5kbGluZy48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET00uaHRtbCI+RE9NPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0UmVzdWx0VHJlZUZyYWcoaW50LCBpbnQpIj5nZXRSZXN1bHRUcmVlRnJhZzwvQT48L0I+KGludCZuYnNwO2luaXRTaXplLAogICAgICAgICAgICAgICAgICBpbnQmbmJzcDtydGZUeXBlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIGEgaW5zdGFuY2Ugb2YgYSBET00gY2xhc3MgdG8gYmUgdXNlZCBhcyBhbiBSVEY8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET00uaHRtbCI+RE9NPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0UmVzdWx0VHJlZUZyYWcoaW50LCBpbnQsIGJvb2xlYW4pIj5nZXRSZXN1bHRUcmVlRnJhZzwvQT48L0I+KGludCZuYnNwO2luaXRTaXplLAogICAgICAgICAgICAgICAgICBpbnQmbmJzcDtydGZUeXBlLAogICAgICAgICAgICAgICAgICBib29sZWFuJm5ic3A7YWRkVG9NYW5hZ2VyKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIGEgaW5zdGFuY2Ugb2YgYSBET00gY2xhc3MgdG8gYmUgdXNlZCBhcyBhbiBSVEY8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50W108L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2dldFJldmVyc2VNYXBwaW5nKGphdmEubGFuZy5TdHJpbmdbXSwgamF2YS5sYW5nLlN0cmluZ1tdLCBpbnRbXSkiPmdldFJldmVyc2VNYXBwaW5nPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZ1tdJm5ic3A7bmFtZXMsCiAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO3VyaXMsCiAgICAgICAgICAgICAgICAgIGludFtdJm5ic3A7dHlwZXMpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgbWFwcGluZyBmcm9tIGV4dGVybmFsIGVsZW1lbnQvYXR0cmlidXRlIHR5cGVzIHRvIERPTSB0eXBlczwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtzaG9ydFtdPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXRSZXZlcnNlTmFtZXNwYWNlTWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nW10pIj5nZXRSZXZlcnNlTmFtZXNwYWNlTWFwcGluZzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO25hbWVzcGFjZXMpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgbWFwcGluZyBmcm9tIGV4dGVybmFsIG5hbWVzcGFjZSB0eXBlcyB0byBET00gbmFtZXNwYWNlIHR5cGVzPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0U2l6ZSgpIj5nZXRTaXplPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSB0cmVlICh1c2VkIGZvciBpbmRleGluZyk8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUF4aXNJdGVyYXRvci5odG1sIj5EVE1BeGlzSXRlcmF0b3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXRUeXBlZEF4aXNJdGVyYXRvcihpbnQsIGludCkiPmdldFR5cGVkQXhpc0l0ZXJhdG9yPC9BPjwvQj4oaW50Jm5ic3A7YXhpcywKICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7dHlwZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NpbWlsYXIgdG8gZ2V0QXhpc0l0ZXJhdG9yLCBidXQgdGhpcyBvbmUgcmV0dXJucyBhbiBpdGVyYXRvcgogY29udGFpbmluZyBub2RlcyBvZiBhIHR5cGVkIGF4aXMgKGV4LjogY2hpbGQ6OmZvbyk8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUF4aXNJdGVyYXRvci5odG1sIj5EVE1BeGlzSXRlcmF0b3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNnZXRUeXBlZENoaWxkcmVuKGludCkiPmdldFR5cGVkQ2hpbGRyZW48L0E+PC9CPihpbnQmbmJzcDt0eXBlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyBhbiBpdGVyYXRvciB3aXRoIGFsbCBjaGlsZHJlbiBvZiBhIHNwZWNpZmljIHR5cGUKIGZvciBhIGdpdmVuIG5vZGUgKGVsZW1lbnQpPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0VHlwZWREZXNjZW5kYW50SXRlcmF0b3IoaW50KSI+Z2V0VHlwZWREZXNjZW5kYW50SXRlcmF0b3I8L0E+PC9CPihpbnQmbmJzcDt0eXBlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyBhbiBpdGVyYXRvciB3aXRoIGFsbCBkZXNjZW5kYW50cyBvZiBhIG5vZGUgdGhhdCBhcmUgb2YKIGEgZ2l2ZW4gdHlwZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjZ2V0VW5wYXJzZWRFbnRpdHlVUkkoamF2YS5sYW5nLlN0cmluZykiPmdldFVucGFyc2VkRW50aXR5VVJJPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgZ2V0VW5wYXJzZWRFbnRpdHlVUkkgZnVuY3Rpb24gcmV0dXJucyB0aGUgVVJJIG9mIHRoZSB1bnBhcnNlZAogZW50aXR5IHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0CiBub2RlIChzZWUgWzMuMyBVbnBhcnNlZCBFbnRpdGllc10pLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNoYXNET01Tb3VyY2UoKSI+aGFzRE9NU291cmNlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIHRydWUgaWYgdGhlIGlucHV0IHNvdXJjZSBpcyBET01Tb3VyY2UuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2lnbm9yYWJsZVdoaXRlc3BhY2UoY2hhcltdLCBpbnQsIGludCkiPmlnbm9yYWJsZVdoaXRlc3BhY2U8L0E+PC9CPihjaGFyW10mbmJzcDtjaCwKICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtzdGFydCwKICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtsZW5ndGgpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTQVgyOiBSZWNlaXZlIG5vdGlmaWNhdGlvbiBvZiBpZ25vcmFibGUgd2hpdGVzcGFjZSBpbiBlbGVtZW50CiBjb250ZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNpc0F0dHJpYnV0ZShpbnQpIj5pc0F0dHJpYnV0ZTwvQT48L0I+KGludCZuYnNwO25vZGUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zICd0cnVlJyBpZiBhIHNwZWNpZmljIG5vZGUgaXMgYW4gYXR0cmlidXRlIChvZiBhbnkgdHlwZSk8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjaXNFbGVtZW50KGludCkiPmlzRWxlbWVudDwvQT48L0I+KGludCZuYnNwO25vZGUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zICd0cnVlJyBpZiBhIHNwZWNpZmljIG5vZGUgaXMgYW4gZWxlbWVudCAob2YgYW55IHR5cGUpPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2Jvb2xlYW48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2xlc3NUaGFuKGludCwgaW50KSI+bGVzc1RoYW48L0E+PC9CPihpbnQmbmJzcDtub2RlMSwKICAgICAgICAgaW50Jm5ic3A7bm9kZTIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zIHRydWUgaWYgbm9kZTEgY29tZXMgYmVmb3JlIG5vZGUyIGluIGRvY3VtZW50IG9yZGVyPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI2xvb2t1cE5hbWVzcGFjZShpbnQsIGphdmEubGFuZy5TdHJpbmcpIj5sb29rdXBOYW1lc3BhY2U8L0E+PC9CPihpbnQmbmJzcDtub2RlLAogICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3ByZWZpeCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0xvb2t1cCBhIG5hbWVzcGFjZSBVUkkgZnJvbSBhIHByZWZpeCBzdGFydGluZyBhdCBub2RlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Ob2RlLmh0bWwiPk5vZGU8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNtYWtlTm9kZShvcmcuYXBhY2hlLnhtbC5kdG0uRFRNQXhpc0l0ZXJhdG9yKSI+bWFrZU5vZGU8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4mbmJzcDtpdGVyKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGFuIG9yZy53M2MuZG9tLk5vZGUgZnJvbSBhIG5vZGUgaW4gYW4gaXRlcmF0b3IKIFRoZSBpdGVyYXRvciBtb3N0IGJlIHN0YXJ0ZWQgYmVmb3JlIHRoaXMgbWV0aG9kIGlzIGNhbGxlZDwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Ob2RlLmh0bWwiPk5vZGU8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNtYWtlTm9kZShpbnQpIj5tYWtlTm9kZTwvQT48L0I+KGludCZuYnNwO2luZGV4KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGFuIG9yZy53M2MuZG9tLk5vZGUgZnJvbSBhIG5vZGUgaW4gdGhlIHRyZWU8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZUxpc3QuaHRtbCI+Tm9kZUxpc3Q8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNtYWtlTm9kZUxpc3Qob3JnLmFwYWNoZS54bWwuZHRtLkRUTUF4aXNJdGVyYXRvcikiPm1ha2VOb2RlTGlzdDwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiZuYnNwO2l0ZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDcmVhdGUgYW4gb3JnLnczYy5kb20uTm9kZUxpc3QgZnJvbSBhIG5vZGUgaXRlcmF0b3IKIFRoZSBpdGVyYXRvciBtb3N0IGJlIHN0YXJ0ZWQgYmVmb3JlIHRoaXMgbWV0aG9kIGlzIGNhbGxlZDwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Ob2RlTGlzdC5odG1sIj5Ob2RlTGlzdDwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI21ha2VOb2RlTGlzdChpbnQpIj5tYWtlTm9kZUxpc3Q8L0E+PC9CPihpbnQmbmJzcDtpbmRleCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NyZWF0ZSBhbiBvcmcudzNjLmRvbS5Ob2RlTGlzdCBmcm9tIGEgbm9kZSBpbiB0aGUgdHJlZTwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNtaWdyYXRlVG8ob3JnLmFwYWNoZS54bWwuZHRtLkRUTU1hbmFnZXIpIj5taWdyYXRlVG88L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPiZuYnNwO21hbmFnZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtNaWdyYXRlIGEgRFRNIGJ1aWx0IHdpdGggYW4gb2xkIERUTU1hbmFnZXIgdG8gYSBuZXcgRFRNTWFuYWdlci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUF4aXNJdGVyYXRvci5odG1sIj5EVE1BeGlzSXRlcmF0b3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNvcmRlck5vZGVzKG9yZy5hcGFjaGUueG1sLmR0bS5EVE1BeGlzSXRlcmF0b3IsIGludCkiPm9yZGVyTm9kZXM8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4mbmJzcDtzb3VyY2UsCiAgICAgICAgICAgaW50Jm5ic3A7bm9kZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0VuY2Fwc3VsYXRlcyBhbiBpdGVyYXRvciBpbiBhbiBPcmRlcmVkSXRlcmF0b3IgdG8gZW5zdXJlIG5vZGUgb3JkZXI8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjcHJpbnQoaW50LCBpbnQpIj5wcmludDwvQT48L0I+KGludCZuYnNwO25vZGUsCiAgICAgIGludCZuYnNwO2xldmVsKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJpbnRzIHRoZSB3aG9sZSB0cmVlIHRvIHN0YW5kYXJkIG91dHB1dDwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZGF0YSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NBWDI6IFJlY2VpdmUgbm90aWZpY2F0aW9uIG9mIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjc2V0RG9jdW1lbnRVUkkoamF2YS5sYW5nLlN0cmluZykiPnNldERvY3VtZW50VVJJPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3VyaSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0RlZmluZSB0aGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVudCBmcm9tIHdoaWNoIHRoZSB0cmVlIHdhcyBidWlsdDwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNzZXRFc2NhcGluZyhib29sZWFuKSI+c2V0RXNjYXBpbmc8L0E+PC9CPihib29sZWFuJm5ic3A7dmFsdWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjc2V0RmlsdGVyKG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuU3RyaXBGaWx0ZXIpIj5zZXRGaWx0ZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL1N0cmlwRmlsdGVyLmh0bWwiPlN0cmlwRmlsdGVyPC9BPiZuYnNwO2ZpbHRlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BhcnQgb2YgdGhlIERPTSBpbnRlcmZhY2UgLSBubyBmdW5jdGlvbiBoZXJlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNzZXR1cE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZ1tdLCBqYXZhLmxhbmcuU3RyaW5nW10sIGludFtdLCBqYXZhLmxhbmcuU3RyaW5nW10pIj5zZXR1cE1hcHBpbmc8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDtuYW1lcywKICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO3VyaXNBcnJheSwKICAgICAgICAgICAgIGludFtdJm5ic3A7dHlwZXNBcnJheSwKICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO25hbWVzcGFjZXMpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjc2hhbGxvd0NvcHkoaW50LCBvcmcuYXBhY2hlLnhtbC5zZXJpYWxpemVyLlNlcmlhbGl6YXRpb25IYW5kbGVyKSI+c2hhbGxvd0NvcHk8L0E+PC9CPihpbnQmbmJzcDtub2RlLAogICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1NlcmlhbGl6YXRpb25IYW5kbGVyLmh0bWwiPlNlcmlhbGl6YXRpb25IYW5kbGVyPC9BPiZuYnNwO2hhbmRsZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQZXJmb3JtcyBhIHNoYWxsb3cgY29weSAocmVmLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNzdGFydERvY3VtZW50KCkiPnN0YXJ0RG9jdW1lbnQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTQVgyOiBSZWNlaXZlIG5vdGlmaWNhdGlvbiBvZiB0aGUgYmVnaW5uaW5nIG9mIGEgZG9jdW1lbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9kb20vU0FYSW1wbC5odG1sI3N0YXJ0RWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBvcmcueG1sLnNheC5BdHRyaWJ1dGVzKSI+c3RhcnRFbGVtZW50PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3VyaSwKICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2NhbE5hbWUsCiAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cW5hbWUsCiAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcveG1sL3NheC9BdHRyaWJ1dGVzLmh0bWwiPkF0dHJpYnV0ZXM8L0E+Jm5ic3A7YXR0cmlidXRlcyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NBWDI6IFJlY2VpdmUgbm90aWZpY2F0aW9uIG9mIHRoZSBiZWdpbm5pbmcgb2YgYW4gZWxlbWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9TQVhJbXBsLmh0bWwjc3RhcnRFbGVtZW50KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIG9yZy54bWwuc2F4LkF0dHJpYnV0ZXMsIG9yZy53M2MuZG9tLk5vZGUpIj5zdGFydEVsZW1lbnQ8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJpLAogICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvY2FsTmFtZSwKICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtxbmFtZSwKICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0F0dHJpYnV0ZXMuaHRtbCI+QXR0cmlidXRlczwvQT4mbmJzcDthdHRyaWJ1dGVzLAogICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZS5odG1sIj5Ob2RlPC9BPiZuYnNwO25vZGUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTcGVjaWFsaXplZCBpbnRlcmZhY2UgdXNlZCBieSBET00yU0FYLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuaHRtbCNzdGFydFByZWZpeE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnN0YXJ0UHJlZml4TWFwcGluZzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtwcmVmaXgsCiAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJpKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U0FYMjogQmVnaW4gdGhlIHNjb3BlIG9mIGEgcHJlZml4LVVSSSBOYW1lc3BhY2UgbWFwcGluZy48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueG1sLmR0bS5yZWYuc2F4MmR0bS5TQVgyRFRNMiI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLnhtbC5kdG0ucmVmLnNheDJkdG0uPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwiPlNBWDJEVE0yPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI19leHB0eXBlKGludCkiPl9leHB0eXBlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNfZXhwdHlwZTIoaW50KSI+X2V4cHR5cGUyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNfZXhwdHlwZTJUeXBlKGludCkiPl9leHB0eXBlMlR5cGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI19maXJzdGNoMihpbnQpIj5fZmlyc3RjaDI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI19uZXh0c2liMihpbnQpIj5fbmV4dHNpYjI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI19wYXJlbnQyKGludCkiPl9wYXJlbnQyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNfdHlwZTIoaW50KSI+X3R5cGUyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNkaXNwYXRjaENoYXJhY3RlcnNFdmVudHMoaW50LCBvcmcueG1sLnNheC5Db250ZW50SGFuZGxlciwgYm9vbGVhbikiPmRpc3BhdGNoQ2hhcmFjdGVyc0V2ZW50czwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwjZ2V0RXhwYW5kZWRUeXBlSUQyKGludCkiPmdldEV4cGFuZGVkVHlwZUlEMjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwjZ2V0Rmlyc3RBdHRyaWJ1dGUoaW50KSI+Z2V0Rmlyc3RBdHRyaWJ1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI2dldElkRm9yTmFtZXNwYWNlKGphdmEubGFuZy5TdHJpbmcpIj5nZXRJZEZvck5hbWVzcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwjZ2V0TG9jYWxOYW1lKGludCkiPmdldExvY2FsTmFtZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwjZ2V0Tm9kZU5hbWVYKGludCkiPmdldE5vZGVOYW1lWDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwjZ2V0Tm9kZVZhbHVlKGludCkiPmdldE5vZGVWYWx1ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwjZ2V0U3RyaW5nVmFsdWUoKSI+Z2V0U3RyaW5nVmFsdWU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI2dldFN0cmluZ1ZhbHVlKGludCkiPmdldFN0cmluZ1ZhbHVlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNnZXRTdHJpbmdWYWx1ZVgoaW50KSI+Z2V0U3RyaW5nVmFsdWVYPC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueG1sLmR0bS5yZWYuc2F4MmR0bS5TQVgyRFRNIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLmR0bS5yZWYuc2F4MmR0bS48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sIj5TQVgyRFRNPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjYXR0cmlidXRlRGVjbChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+YXR0cmlidXRlRGVjbDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNjbGVhckNvUm91dGluZSgpIj5jbGVhckNvUm91dGluZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNjbGVhckNvUm91dGluZShib29sZWFuKSI+Y2xlYXJDb1JvdXRpbmU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZGlzcGF0Y2hUb0V2ZW50cyhpbnQsIG9yZy54bWwuc2F4LkNvbnRlbnRIYW5kbGVyKSI+ZGlzcGF0Y2hUb0V2ZW50czwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNlbGVtZW50RGVjbChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+ZWxlbWVudERlY2w8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZW5kQ0RBVEEoKSI+ZW5kQ0RBVEE8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZW5kRFREKCkiPmVuZERURDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNlbmRFbnRpdHkoamF2YS5sYW5nLlN0cmluZykiPmVuZEVudGl0eTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNlbmRQcmVmaXhNYXBwaW5nKGphdmEubGFuZy5TdHJpbmcpIj5lbmRQcmVmaXhNYXBwaW5nPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI2Vycm9yKG9yZy54bWwuc2F4LlNBWFBhcnNlRXhjZXB0aW9uKSI+ZXJyb3I8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZXh0ZXJuYWxFbnRpdHlEZWNsKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5leHRlcm5hbEVudGl0eURlY2w8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZmF0YWxFcnJvcihvcmcueG1sLnNheC5TQVhQYXJzZUV4Y2VwdGlvbikiPmZhdGFsRXJyb3I8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZ2V0QXR0cmlidXRlTm9kZShpbnQsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5nZXRBdHRyaWJ1dGVOb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI2dldENvbnRlbnRIYW5kbGVyKCkiPmdldENvbnRlbnRIYW5kbGVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI2dldERlY2xIYW5kbGVyKCkiPmdldERlY2xIYW5kbGVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI2dldERvY3VtZW50VHlwZURlY2xhcmF0aW9uUHVibGljSWRlbnRpZmllcigpIj5nZXREb2N1bWVudFR5cGVEZWNsYXJhdGlvblB1YmxpY0lkZW50aWZpZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZ2V0RG9jdW1lbnRUeXBlRGVjbGFyYXRpb25TeXN0ZW1JZGVudGlmaWVyKCkiPmdldERvY3VtZW50VHlwZURlY2xhcmF0aW9uU3lzdGVtSWRlbnRpZmllcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNnZXREVERIYW5kbGVyKCkiPmdldERUREhhbmRsZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZ2V0RW50aXR5UmVzb2x2ZXIoKSI+Z2V0RW50aXR5UmVzb2x2ZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZ2V0RXJyb3JIYW5kbGVyKCkiPmdldEVycm9ySGFuZGxlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNnZXRGaXhlZE5hbWVzKGludCkiPmdldEZpeGVkTmFtZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZ2V0TGV4aWNhbEhhbmRsZXIoKSI+Z2V0TGV4aWNhbEhhbmRsZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZ2V0TmFtZXNwYWNlVVJJKGludCkiPmdldE5hbWVzcGFjZVVSSTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNnZXROYW1lc3BhY2VVUkkoamF2YS5sYW5nLlN0cmluZykiPmdldE5hbWVzcGFjZVVSSTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNnZXROdW1iZXJPZk5vZGVzKCkiPmdldE51bWJlck9mTm9kZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjZ2V0UHJlZml4KGludCkiPmdldFByZWZpeDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNnZXRQcmVmaXgoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmdldFByZWZpeDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNnZXRTb3VyY2VMb2NhdG9yRm9yKGludCkiPmdldFNvdXJjZUxvY2F0b3JGb3I8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjaW50ZXJuYWxFbnRpdHlEZWNsKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5pbnRlcm5hbEVudGl0eURlY2w8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjaXNBdHRyaWJ1dGVTcGVjaWZpZWQoaW50KSI+aXNBdHRyaWJ1dGVTcGVjaWZpZWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjaXNXaGl0ZXNwYWNlKGludCkiPmlzV2hpdGVzcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNuZWVkc1R3b1RocmVhZHMoKSI+bmVlZHNUd29UaHJlYWRzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI25vdGF0aW9uRGVjbChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+bm90YXRpb25EZWNsPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI3Jlc29sdmVFbnRpdHkoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnJlc29sdmVFbnRpdHk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yKG9yZy54bWwuc2F4LkxvY2F0b3IpIj5zZXREb2N1bWVudExvY2F0b3I8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjc2V0SURBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZywgaW50KSI+c2V0SURBdHRyaWJ1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjc2V0SW5jcmVtZW50YWxTQVhTb3VyY2Uob3JnLmFwYWNoZS54bWwuZHRtLnJlZi5JbmNyZW1lbnRhbFNBWFNvdXJjZSkiPnNldEluY3JlbWVudGFsU0FYU291cmNlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI3NldFByb3BlcnR5KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5PYmplY3QpIj5zZXRQcm9wZXJ0eTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNzZXRVc2VTb3VyY2VMb2NhdGlvbihib29sZWFuKSI+c2V0VXNlU291cmNlTG9jYXRpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjc2tpcHBlZEVudGl0eShqYXZhLmxhbmcuU3RyaW5nKSI+c2tpcHBlZEVudGl0eTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNzdGFydENEQVRBKCkiPnN0YXJ0Q0RBVEE8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwjc3RhcnREVEQoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnN0YXJ0RFREPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI3N0YXJ0RW50aXR5KGphdmEubGFuZy5TdHJpbmcpIj5zdGFydEVudGl0eTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCN1bnBhcnNlZEVudGl0eURlY2woamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnVucGFyc2VkRW50aXR5RGVjbDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCN3YXJuaW5nKG9yZy54bWwuc2F4LlNBWFBhcnNlRXhjZXB0aW9uKSI+d2FybmluZzwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC5kdG0ucmVmLkRUTURlZmF1bHRCYXNlVHJhdmVyc2VycyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLnhtbC5kdG0ucmVmLjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VUcmF2ZXJzZXJzLmh0bWwiPkRUTURlZmF1bHRCYXNlVHJhdmVyc2VyczwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlVHJhdmVyc2Vycy5odG1sI2dldEF4aXNUcmF2ZXJzZXIoaW50KSI+Z2V0QXhpc1RyYXZlcnNlcjwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC5kdG0ucmVmLkRUTURlZmF1bHRCYXNlIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLmR0bS5yZWYuPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sIj5EVE1EZWZhdWx0QmFzZTwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjYXBwZW5kQ2hpbGQoaW50LCBib29sZWFuLCBib29sZWFuKSI+YXBwZW5kQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNhcHBlbmRUZXh0Q2hpbGQoamF2YS5sYW5nLlN0cmluZykiPmFwcGVuZFRleHRDaGlsZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2RvY3VtZW50UmVnaXN0cmF0aW9uKCkiPmRvY3VtZW50UmVnaXN0cmF0aW9uPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZG9jdW1lbnRSZWxlYXNlKCkiPmRvY3VtZW50UmVsZWFzZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2R1bXBEVE0oamF2YS5pby5PdXRwdXRTdHJlYW0pIj5kdW1wRFRNPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZHVtcE5vZGUoaW50KSI+ZHVtcE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXREb2N1bWVudCgpIj5nZXREb2N1bWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldERvY3VtZW50QWxsRGVjbGFyYXRpb25zUHJvY2Vzc2VkKCkiPmdldERvY3VtZW50QWxsRGVjbGFyYXRpb25zUHJvY2Vzc2VkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0RG9jdW1lbnRCYXNlVVJJKCkiPmdldERvY3VtZW50QmFzZVVSSTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldERvY3VtZW50RW5jb2RpbmcoaW50KSI+Z2V0RG9jdW1lbnRFbmNvZGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldERvY3VtZW50Um9vdChpbnQpIj5nZXREb2N1bWVudFJvb3Q8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXREb2N1bWVudFN0YW5kYWxvbmUoaW50KSI+Z2V0RG9jdW1lbnRTdGFuZGFsb25lPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0RG9jdW1lbnRTeXN0ZW1JZGVudGlmaWVyKGludCkiPmdldERvY3VtZW50U3lzdGVtSWRlbnRpZmllcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldERvY3VtZW50VmVyc2lvbihpbnQpIj5nZXREb2N1bWVudFZlcnNpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXREVE1JRHMoKSI+Z2V0RFRNSURzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0RXhwYW5kZWRUeXBlSUQoaW50KSI+Z2V0RXhwYW5kZWRUeXBlSUQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXRFeHBhbmRlZFR5cGVJRChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBpbnQpIj5nZXRFeHBhbmRlZFR5cGVJRDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldEZpcnN0Q2hpbGQoaW50KSI+Z2V0Rmlyc3RDaGlsZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldEZpcnN0TmFtZXNwYWNlTm9kZShpbnQsIGJvb2xlYW4pIj5nZXRGaXJzdE5hbWVzcGFjZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXRMYXN0Q2hpbGQoaW50KSI+Z2V0TGFzdENoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0TGV2ZWwoaW50KSI+Z2V0TGV2ZWw8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXRMb2NhbE5hbWVGcm9tRXhwYW5kZWROYW1lSUQoaW50KSI+Z2V0TG9jYWxOYW1lRnJvbUV4cGFuZGVkTmFtZUlEPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0TWFuYWdlcigpIj5nZXRNYW5hZ2VyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0TmFtZXNwYWNlRnJvbUV4cGFuZGVkTmFtZUlEKGludCkiPmdldE5hbWVzcGFjZUZyb21FeHBhbmRlZE5hbWVJRDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldE5leHRBdHRyaWJ1dGUoaW50KSI+Z2V0TmV4dEF0dHJpYnV0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldE5leHROYW1lc3BhY2VOb2RlKGludCwgaW50LCBib29sZWFuKSI+Z2V0TmV4dE5hbWVzcGFjZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXROZXh0U2libGluZyhpbnQpIj5nZXROZXh0U2libGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldE5vZGUoaW50KSI+Z2V0Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldE5vZGVIYW5kbGUoaW50KSI+Z2V0Tm9kZUhhbmRsZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldE5vZGVJZGVudChpbnQpIj5nZXROb2RlSWRlbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXROb2RlVHlwZShpbnQpIj5nZXROb2RlVHlwZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldE93bmVyRG9jdW1lbnQoaW50KSI+Z2V0T3duZXJEb2N1bWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldFBhcmVudChpbnQpIj5nZXRQYXJlbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNnZXRQcmV2aW91c1NpYmxpbmcoaW50KSI+Z2V0UHJldmlvdXNTaWJsaW5nPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0U3RyaW5nVmFsdWVDaHVuayhpbnQsIGludCwgaW50W10pIj5nZXRTdHJpbmdWYWx1ZUNodW5rPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjZ2V0U3RyaW5nVmFsdWVDaHVua0NvdW50KGludCkiPmdldFN0cmluZ1ZhbHVlQ2h1bmtDb3VudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldFR5cGVkRmlyc3RDaGlsZChpbnQsIGludCkiPmdldFR5cGVkRmlyc3RDaGlsZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldFR5cGVkTmV4dFNpYmxpbmcoaW50LCBpbnQpIj5nZXRUeXBlZE5leHRTaWJsaW5nPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjaGFzQ2hpbGROb2RlcyhpbnQpIj5oYXNDaGlsZE5vZGVzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjaXNDaGFyYWN0ZXJFbGVtZW50Q29udGVudFdoaXRlc3BhY2UoaW50KSI+aXNDaGFyYWN0ZXJFbGVtZW50Q29udGVudFdoaXRlc3BhY2U8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNpc0RvY3VtZW50QWxsRGVjbGFyYXRpb25zUHJvY2Vzc2VkKGludCkiPmlzRG9jdW1lbnRBbGxEZWNsYXJhdGlvbnNQcm9jZXNzZWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNpc05vZGVBZnRlcihpbnQsIGludCkiPmlzTm9kZUFmdGVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjaXNTdXBwb3J0ZWQoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmlzU3VwcG9ydGVkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL0RUTURlZmF1bHRCYXNlLmh0bWwjbWFrZU5vZGVIYW5kbGUoaW50KSI+bWFrZU5vZGVIYW5kbGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNtYWtlTm9kZUlkZW50aXR5KGludCkiPm1ha2VOb2RlSWRlbnRpdHk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNzZXREb2N1bWVudEJhc2VVUkkoamF2YS5sYW5nLlN0cmluZykiPnNldERvY3VtZW50QmFzZVVSSTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI3NldEZlYXR1cmUoamF2YS5sYW5nLlN0cmluZywgYm9vbGVhbikiPnNldEZlYXR1cmU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2UuaHRtbCNzdXBwb3J0c1ByZVN0cmlwcGluZygpIj5zdXBwb3J0c1ByZVN0cmlwcGluZzwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZhLmxhbmcuT2JqZWN0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIGphdmEubGFuZy5PYmplY3Q8L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT5lcXVhbHMsIA0KZ2V0Q2xhc3MsIA0KaGFzaENvZGUsIA0Kbm90aWZ5LCANCm5vdGlmeUFsbCwgDQp0b1N0cmluZywgDQp3YWl0LCANCndhaXQsIA0Kd2FpdDwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjxQPg0KDQo8IS0tID09PT09PT09PT09PSBGSUVMRCBERVRBSUwgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT0gQ09OU1RSVUNUT1IgREVUQUlMID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5Db25zdHJ1Y3RvciBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0iU0FYSW1wbChvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmRvbS5YU0xUQ0RUTU1hbmFnZXIsIGphdmF4LnhtbC50cmFuc2Zvcm0uU291cmNlLCBpbnQsIG9yZy5hcGFjaGUueG1sLmR0bS5EVE1XU0ZpbHRlciwgb3JnLmFwYWNoZS54bWwudXRpbHMuWE1MU3RyaW5nRmFjdG9yeSwgYm9vbGVhbiwgYm9vbGVhbikiPjwhLS0gLS0+PC9BPjxIMz4NClNBWEltcGw8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5TQVhJbXBsPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9YU0xUQ0RUTU1hbmFnZXIuaHRtbCI+WFNMVENEVE1NYW5hZ2VyPC9BPiZuYnNwO21nciwKICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9Tb3VyY2UuaHRtbCI+U291cmNlPC9BPiZuYnNwO3NvdXJjZSwKICAgICAgICAgICAgICAgaW50Jm5ic3A7ZHRtSWRlbnRpdHksCiAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1XU0ZpbHRlci5odG1sIj5EVE1XU0ZpbHRlcjwvQT4mbmJzcDt3aGl0ZVNwYWNlRmlsdGVyLAogICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9YTUxTdHJpbmdGYWN0b3J5Lmh0bWwiPlhNTFN0cmluZ0ZhY3Rvcnk8L0E+Jm5ic3A7eHN0cmluZ2ZhY3RvcnksCiAgICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDtkb0luZGV4aW5nLAogICAgICAgICAgICAgICBib29sZWFuJm5ic3A7YnVpbGRJZEluZGV4KTwvUFJFPg0KPERMPg0KPEREPkNvbnN0cnVjdCBhIFNBWEltcGwgb2JqZWN0IHVzaW5nIHRoZSBkZWZhdWx0IGJsb2NrIHNpemUuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iU0FYSW1wbChvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmRvbS5YU0xUQ0RUTU1hbmFnZXIsIGphdmF4LnhtbC50cmFuc2Zvcm0uU291cmNlLCBpbnQsIG9yZy5hcGFjaGUueG1sLmR0bS5EVE1XU0ZpbHRlciwgb3JnLmFwYWNoZS54bWwudXRpbHMuWE1MU3RyaW5nRmFjdG9yeSwgYm9vbGVhbiwgaW50LCBib29sZWFuLCBib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0KU0FYSW1wbDwvSDM+DQo8UFJFPg0KcHVibGljIDxCPlNBWEltcGw8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1hTTFRDRFRNTWFuYWdlci5odG1sIj5YU0xUQ0RUTU1hbmFnZXI8L0E+Jm5ic3A7bWdyLAogICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZS5odG1sIj5Tb3VyY2U8L0E+Jm5ic3A7c291cmNlLAogICAgICAgICAgICAgICBpbnQmbmJzcDtkdG1JZGVudGl0eSwKICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTVdTRmlsdGVyLmh0bWwiPkRUTVdTRmlsdGVyPC9BPiZuYnNwO3doaXRlU3BhY2VGaWx0ZXIsCiAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1hNTFN0cmluZ0ZhY3RvcnkuaHRtbCI+WE1MU3RyaW5nRmFjdG9yeTwvQT4mbmJzcDt4c3RyaW5nZmFjdG9yeSwKICAgICAgICAgICAgICAgYm9vbGVhbiZuYnNwO2RvSW5kZXhpbmcsCiAgICAgICAgICAgICAgIGludCZuYnNwO2Jsb2Nrc2l6ZSwKICAgICAgICAgICAgICAgYm9vbGVhbiZuYnNwO2J1aWxkSWRJbmRleCwKICAgICAgICAgICAgICAgYm9vbGVhbiZuYnNwO25ld05hbWVUYWJsZSk8L1BSRT4NCjxETD4NCjxERD5Db25zdHJ1Y3QgYSBTQVhJbXBsIG9iamVjdCB1c2luZyB0aGUgZ2l2ZW4gYmxvY2sgc2l6ZS48L0RMPg0KDQo8IS0tID09PT09PT09PT09PSBNRVRIT0QgREVUQUlMID09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9InNldERvY3VtZW50VVJJKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpzZXREb2N1bWVudFVSSTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0RG9jdW1lbnRVUkk8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt1cmkpPC9QUkU+DQo8REw+DQo8REQ+RGVmaW5lIHRoZSBvcmlnaW4gb2YgdGhlIGRvY3VtZW50IGZyb20gd2hpY2ggdGhlIHRyZWUgd2FzIGJ1aWx0PEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sI3NldERvY3VtZW50VVJJKGphdmEubGFuZy5TdHJpbmcpIj5zZXREb2N1bWVudFVSSTwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvRE9NRW5oYW5jZWRGb3JEVE0uaHRtbCI+RE9NRW5oYW5jZWRGb3JEVE08L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXREb2N1bWVudFVSSSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXREb2N1bWVudFVSSTwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0RG9jdW1lbnRVUkk8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIHRoZSBvcmlnaW4gb2YgdGhlIGRvY3VtZW50IGZyb20gd2hpY2ggdGhlIHRyZWUgd2FzIGJ1aWx0PEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sI2dldERvY3VtZW50VVJJKCkiPmdldERvY3VtZW50VVJJPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sIj5ET01FbmhhbmNlZEZvckRUTTwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldERvY3VtZW50VVJJKGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldERvY3VtZW50VVJJPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXREb2N1bWVudFVSSTwvQj4oaW50Jm5ic3A7bm9kZSk8L1BSRT4NCjxETD4NCjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldHVwTWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nW10sIGphdmEubGFuZy5TdHJpbmdbXSwgaW50W10sIGphdmEubGFuZy5TdHJpbmdbXSkiPjwhLS0gLS0+PC9BPjxIMz4NCnNldHVwTWFwcGluZzwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0dXBNYXBwaW5nPC9CPihqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDtuYW1lcywKICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO3VyaXNBcnJheSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludFtdJm5ic3A7dHlwZXNBcnJheSwKICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO25hbWVzcGFjZXMpPC9QUkU+DQo8REw+DQo8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJsb29rdXBOYW1lc3BhY2UoaW50LCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KbG9va3VwTmFtZXNwYWNlPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5sb29rdXBOYW1lc3BhY2U8L0I+KGludCZuYnNwO25vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cHJlZml4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9UcmFuc2xldEV4Y2VwdGlvbi5odG1sIj5UcmFuc2xldEV4Y2VwdGlvbjwvQT48L1BSRT4NCjxETD4NCjxERD5Mb29rdXAgYSBuYW1lc3BhY2UgVVJJIGZyb20gYSBwcmVmaXggc3RhcnRpbmcgYXQgbm9kZS4gVGhpcyBtZXRob2QKIGlzIHVzZWQgaW4gdGhlIGV4ZWN1dGlvbiBvZiB4c2w6ZWxlbWVudCB3aGVuIHRoZSBwcmVmaXggaXMgbm90IGtub3duCiBhdCBjb21waWxlIHRpbWUuPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iaXNFbGVtZW50KGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmlzRWxlbWVudDwvSDM+DQo8UFJFPg0KcHVibGljIGJvb2xlYW4gPEI+aXNFbGVtZW50PC9CPihpbnQmbmJzcDtub2RlKTwvUFJFPg0KPERMPg0KPEREPlJldHVybnMgJ3RydWUnIGlmIGEgc3BlY2lmaWMgbm9kZSBpcyBhbiBlbGVtZW50IChvZiBhbnkgdHlwZSk8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJpc0F0dHJpYnV0ZShpbnQpIj48IS0tIC0tPjwvQT48SDM+DQppc0F0dHJpYnV0ZTwvSDM+DQo8UFJFPg0KcHVibGljIGJvb2xlYW4gPEI+aXNBdHRyaWJ1dGU8L0I+KGludCZuYnNwO25vZGUpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJucyAndHJ1ZScgaWYgYSBzcGVjaWZpYyBub2RlIGlzIGFuIGF0dHJpYnV0ZSAob2YgYW55IHR5cGUpPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0U2l6ZSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRTaXplPC9IMz4NCjxQUkU+DQpwdWJsaWMgaW50IDxCPmdldFNpemU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIHRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIHRyZWUgKHVzZWQgZm9yIGluZGV4aW5nKTxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldEZpbHRlcihvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLlN0cmlwRmlsdGVyKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0RmlsdGVyPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRGaWx0ZXI8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvU3RyaXBGaWx0ZXIuaHRtbCI+U3RyaXBGaWx0ZXI8L0E+Jm5ic3A7ZmlsdGVyKTwvUFJFPg0KPERMPg0KPEREPlBhcnQgb2YgdGhlIERPTSBpbnRlcmZhY2UgLSBubyBmdW5jdGlvbiBoZXJlLjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9Imxlc3NUaGFuKGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KbGVzc1RoYW48L0gzPg0KPFBSRT4NCnB1YmxpYyBib29sZWFuIDxCPmxlc3NUaGFuPC9CPihpbnQmbmJzcDtub2RlMSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7bm9kZTIpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJucyB0cnVlIGlmIG5vZGUxIGNvbWVzIGJlZm9yZSBub2RlMiBpbiBkb2N1bWVudCBvcmRlcjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9Im1ha2VOb2RlKGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCm1ha2VOb2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZS5odG1sIj5Ob2RlPC9BPiA8Qj5tYWtlTm9kZTwvQj4oaW50Jm5ic3A7aW5kZXgpPC9QUkU+DQo8REw+DQo8REQ+Q3JlYXRlIGFuIG9yZy53M2MuZG9tLk5vZGUgZnJvbSBhIG5vZGUgaW4gdGhlIHRyZWU8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJtYWtlTm9kZShvcmcuYXBhY2hlLnhtbC5kdG0uRFRNQXhpc0l0ZXJhdG9yKSI+PCEtLSAtLT48L0E+PEgzPg0KbWFrZU5vZGU8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Ob2RlLmh0bWwiPk5vZGU8L0E+IDxCPm1ha2VOb2RlPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4mbmJzcDtpdGVyKTwvUFJFPg0KPERMPg0KPEREPkNyZWF0ZSBhbiBvcmcudzNjLmRvbS5Ob2RlIGZyb20gYSBub2RlIGluIGFuIGl0ZXJhdG9yCiBUaGUgaXRlcmF0b3IgbW9zdCBiZSBzdGFydGVkIGJlZm9yZSB0aGlzIG1ldGhvZCBpcyBjYWxsZWQ8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJtYWtlTm9kZUxpc3QoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KbWFrZU5vZGVMaXN0PC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZUxpc3QuaHRtbCI+Tm9kZUxpc3Q8L0E+IDxCPm1ha2VOb2RlTGlzdDwvQj4oaW50Jm5ic3A7aW5kZXgpPC9QUkU+DQo8REw+DQo8REQ+Q3JlYXRlIGFuIG9yZy53M2MuZG9tLk5vZGVMaXN0IGZyb20gYSBub2RlIGluIHRoZSB0cmVlPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibWFrZU5vZGVMaXN0KG9yZy5hcGFjaGUueG1sLmR0bS5EVE1BeGlzSXRlcmF0b3IpIj48IS0tIC0tPjwvQT48SDM+DQptYWtlTm9kZUxpc3Q8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Ob2RlTGlzdC5odG1sIj5Ob2RlTGlzdDwvQT4gPEI+bWFrZU5vZGVMaXN0PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4mbmJzcDtpdGVyKTwvUFJFPg0KPERMPg0KPEREPkNyZWF0ZSBhbiBvcmcudzNjLmRvbS5Ob2RlTGlzdCBmcm9tIGEgbm9kZSBpdGVyYXRvcgogVGhlIGl0ZXJhdG9yIG1vc3QgYmUgc3RhcnRlZCBiZWZvcmUgdGhpcyBtZXRob2QgaXMgY2FsbGVkPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Tm9kZVZhbHVlSXRlcmF0b3Iob3JnLmFwYWNoZS54bWwuZHRtLkRUTUF4aXNJdGVyYXRvciwgaW50LCBqYXZhLmxhbmcuU3RyaW5nLCBib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Tm9kZVZhbHVlSXRlcmF0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4gPEI+Z2V0Tm9kZVZhbHVlSXRlcmF0b3I8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiZuYnNwO2l0ZXJhdG9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCZuYnNwO3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3ZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDtvcCk8L1BSRT4NCjxETD4NCjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9Im9yZGVyTm9kZXMob3JnLmFwYWNoZS54bWwuZHRtLkRUTUF4aXNJdGVyYXRvciwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0Kb3JkZXJOb2RlczwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiA8Qj5vcmRlck5vZGVzPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4mbmJzcDtzb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtub2RlKTwvUFJFPg0KPERMPg0KPEREPkVuY2Fwc3VsYXRlcyBhbiBpdGVyYXRvciBpbiBhbiBPcmRlcmVkSXRlcmF0b3IgdG8gZW5zdXJlIG5vZGUgb3JkZXI8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRJdGVyYXRvcigpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRJdGVyYXRvcjwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiA8Qj5nZXRJdGVyYXRvcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHVybnMgc2luZ2xldG9uIGl0ZXJhdG9yIGNvbnRhaW5nIHRoZSBkb2N1bWVudCByb290CiBXb3JrcyBmb3IgdGhlbSBtYWluIGRvY3VtZW50IChtYXJrID09IDApLiAgSXQgY2Fubm90IGJlIG1hZGUKIHRvIHBvaW50IHRvIGFueSBvdGhlciBub2RlIHRocm91Z2ggc2V0U3RhcnROb2RlKCkuPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TlNUeXBlKGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldE5TVHlwZTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXROU1R5cGU8L0I+KGludCZuYnNwO25vZGUpPC9QUkU+DQo8REw+DQo8REQ+R2V0IG1hcHBpbmcgZnJvbSBET00gbmFtZXNwYWNlIHR5cGVzIHRvIGV4dGVybmFsIG5hbWVzcGFjZSB0eXBlczxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldE5hbWVzcGFjZVR5cGUoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TmFtZXNwYWNlVHlwZTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXROYW1lc3BhY2VUeXBlPC9CPihpbnQmbmJzcDtub2RlKTwvUFJFPg0KPERMPg0KPEREPlJldHVybnMgdGhlIG5hbWVzcGFjZSB0eXBlIG9mIGEgc3BlY2lmaWMgbm9kZTxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sI2dldE5hbWVzcGFjZVR5cGUoaW50KSI+Z2V0TmFtZXNwYWNlVHlwZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZS5odG1sIj5EVE1EZWZhdWx0QmFzZTwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEdlbmVyYWxpemVkVHlwZShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0R2VuZXJhbGl6ZWRUeXBlPC9IMz4NCjxQUkU+DQpwdWJsaWMgaW50IDxCPmdldEdlbmVyYWxpemVkVHlwZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJucyB0aGUgaW50ZXJuYWwgdHlwZSBhc3NvY2lhdGVkIHdpdGggYW4gZXhwYW5kZWQgUU5hbWU8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRHZW5lcmFsaXplZFR5cGUoamF2YS5sYW5nLlN0cmluZywgYm9vbGVhbikiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEdlbmVyYWxpemVkVHlwZTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXRHZW5lcmFsaXplZFR5cGU8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuJm5ic3A7c2VhcmNoT25seSk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIHRoZSBpbnRlcm5hbCB0eXBlIGFzc29jaWF0ZWQgd2l0aCBhbiBleHBhbmRlZCBRTmFtZTxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZ1tdLCBqYXZhLmxhbmcuU3RyaW5nW10sIGludFtdKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TWFwcGluZzwvSDM+DQo8UFJFPg0KcHVibGljIHNob3J0W10gPEI+Z2V0TWFwcGluZzwvQj4oamF2YS5sYW5nLlN0cmluZ1tdJm5ic3A7bmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZ1tdJm5ic3A7dXJpcywKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRbXSZuYnNwO3R5cGVzKTwvUFJFPg0KPERMPg0KPEREPkdldCBtYXBwaW5nIGZyb20gRE9NIGVsZW1lbnQvYXR0cmlidXRlIHR5cGVzIHRvIGV4dGVybmFsIHR5cGVzPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sI2dldE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZ1tdLCBqYXZhLmxhbmcuU3RyaW5nW10sIGludFtdKSI+Z2V0TWFwcGluZzwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvRE9NRW5oYW5jZWRGb3JEVE0uaHRtbCI+RE9NRW5oYW5jZWRGb3JEVE08L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRSZXZlcnNlTWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nW10sIGphdmEubGFuZy5TdHJpbmdbXSwgaW50W10pIj48IS0tIC0tPjwvQT48SDM+DQpnZXRSZXZlcnNlTWFwcGluZzwvSDM+DQo8UFJFPg0KcHVibGljIGludFtdIDxCPmdldFJldmVyc2VNYXBwaW5nPC9CPihqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDtuYW1lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO3VyaXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRbXSZuYnNwO3R5cGVzKTwvUFJFPg0KPERMPg0KPEREPkdldCBtYXBwaW5nIGZyb20gZXh0ZXJuYWwgZWxlbWVudC9hdHRyaWJ1dGUgdHlwZXMgdG8gRE9NIHR5cGVzPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sI2dldFJldmVyc2VNYXBwaW5nKGphdmEubGFuZy5TdHJpbmdbXSwgamF2YS5sYW5nLlN0cmluZ1tdLCBpbnRbXSkiPmdldFJldmVyc2VNYXBwaW5nPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sIj5ET01FbmhhbmNlZEZvckRUTTwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldE5hbWVzcGFjZU1hcHBpbmcoamF2YS5sYW5nLlN0cmluZ1tdKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TmFtZXNwYWNlTWFwcGluZzwvSDM+DQo8UFJFPg0KcHVibGljIHNob3J0W10gPEI+Z2V0TmFtZXNwYWNlTWFwcGluZzwvQj4oamF2YS5sYW5nLlN0cmluZ1tdJm5ic3A7bmFtZXNwYWNlcyk8L1BSRT4NCjxETD4NCjxERD5HZXQgbWFwcGluZyBmcm9tIERPTSBuYW1lc3BhY2UgdHlwZXMgdG8gZXh0ZXJuYWwgbmFtZXNwYWNlIHR5cGVzPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sI2dldE5hbWVzcGFjZU1hcHBpbmcoamF2YS5sYW5nLlN0cmluZ1tdKSI+Z2V0TmFtZXNwYWNlTWFwcGluZzwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvRE9NRW5oYW5jZWRGb3JEVE0uaHRtbCI+RE9NRW5oYW5jZWRGb3JEVE08L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRSZXZlcnNlTmFtZXNwYWNlTWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nW10pIj48IS0tIC0tPjwvQT48SDM+DQpnZXRSZXZlcnNlTmFtZXNwYWNlTWFwcGluZzwvSDM+DQo8UFJFPg0KcHVibGljIHNob3J0W10gPEI+Z2V0UmV2ZXJzZU5hbWVzcGFjZU1hcHBpbmc8L0I+KGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO25hbWVzcGFjZXMpPC9QUkU+DQo8REw+DQo8REQ+R2V0IG1hcHBpbmcgZnJvbSBleHRlcm5hbCBuYW1lc3BhY2UgdHlwZXMgdG8gRE9NIG5hbWVzcGFjZSB0eXBlczxERD48REw+DQo8RFQ+PEI+U3BlY2lmaWVkIGJ5OiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvRE9NRW5oYW5jZWRGb3JEVE0uaHRtbCNnZXRSZXZlcnNlTmFtZXNwYWNlTWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nW10pIj5nZXRSZXZlcnNlTmFtZXNwYWNlTWFwcGluZzwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvRE9NRW5oYW5jZWRGb3JEVE0uaHRtbCI+RE9NRW5oYW5jZWRGb3JEVE08L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJtaWdyYXRlVG8ob3JnLmFwYWNoZS54bWwuZHRtLkRUTU1hbmFnZXIpIj48IS0tIC0tPjwvQT48SDM+DQptaWdyYXRlVG88L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPm1pZ3JhdGVUbzwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCI+RFRNTWFuYWdlcjwvQT4mbmJzcDttYW5hZ2VyKTwvUFJFPg0KPERMPg0KPEREPk1pZ3JhdGUgYSBEVE0gYnVpbHQgd2l0aCBhbiBvbGQgRFRNTWFuYWdlciB0byBhIG5ldyBEVE1NYW5hZ2VyLgogQWZ0ZXIgdGhlIG1pZ3JhdGlvbiwgdGhlIG5ldyBEVE1NYW5hZ2VyIHdpbGwgdHJlYXQgdGhlIERUTSBhcwogb25lIHRoYXQgaXMgYnVpbHQgYnkgaXRzZWxmLgogVGhpcyBpcyB1c2VkIHRvIHN1cHBvcnQgRFRNIHNoYXJpbmcgYmV0d2VlbiBtdWx0aXBsZSB0cmFuc2Zvcm1hdGlvbnMuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bWFuYWdlcjwvQ09ERT4gLSB0aGUgRFRNTWFuYWdlcjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI21pZ3JhdGVUbyhvcmcuYXBhY2hlLnhtbC5kdG0uRFRNTWFuYWdlcikiPm1pZ3JhdGVUbzwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCI+U0FYMkRUTTwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEVsZW1lbnRCeUlkKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRFbGVtZW50QnlJZDwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXRFbGVtZW50QnlJZDwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2lkU3RyaW5nKTwvUFJFPg0KPERMPg0KPEREPlJldHVybiB0aGUgbm9kZSBpZGVudGl0eSBmb3IgYSBnaXZlbiBpZCBTdHJpbmc8REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL0RPTUVuaGFuY2VkRm9yRFRNLmh0bWwjZ2V0RWxlbWVudEJ5SWQoamF2YS5sYW5nLlN0cmluZykiPmdldEVsZW1lbnRCeUlkPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sIj5ET01FbmhhbmNlZEZvckRUTTwvQT48RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmlkU3RyaW5nPC9DT0RFPiAtIFRoZSBpZCBTdHJpbmc8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBpZGVudGl0eSBvZiB0aGUgbm9kZSB3aG9zZSBpZCBpcyB0aGUgZ2l2ZW4gU3RyaW5nLjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI2dldEVsZW1lbnRCeUlkKGphdmEubGFuZy5TdHJpbmcpIj5nZXRFbGVtZW50QnlJZDwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCI+U0FYMkRUTTwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9Imhhc0RPTVNvdXJjZSgpIj48IS0tIC0tPjwvQT48SDM+DQpoYXNET01Tb3VyY2U8L0gzPg0KPFBSRT4NCnB1YmxpYyBib29sZWFuIDxCPmhhc0RPTVNvdXJjZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHVybiB0cnVlIGlmIHRoZSBpbnB1dCBzb3VyY2UgaXMgRE9NU291cmNlLjxERD48REw+DQo8RFQ+PEI+U3BlY2lmaWVkIGJ5OiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvRE9NRW5oYW5jZWRGb3JEVE0uaHRtbCNoYXNET01Tb3VyY2UoKSI+aGFzRE9NU291cmNlPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9ET01FbmhhbmNlZEZvckRUTS5odG1sIj5ET01FbmhhbmNlZEZvckRUTTwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImNoYXJhY3RlcnMoY2hhcltdLCBpbnQsIGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmNoYXJhY3RlcnM8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmNoYXJhY3RlcnM8L0I+KGNoYXJbXSZuYnNwO2NoLAogICAgICAgICAgICAgICAgICAgICAgIGludCZuYnNwO3N0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgIGludCZuYnNwO2xlbmd0aCkKICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPlNBWDI6IFJlY2VpdmUgbm90aWZpY2F0aW9uIG9mIGNoYXJhY3RlciBkYXRhLjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNjaGFyYWN0ZXJzKGNoYXJbXSwgaW50LCBpbnQpIj5jaGFyYWN0ZXJzPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sIj5TQVgyRFRNPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RhcnREb2N1bWVudCgpIj48IS0tIC0tPjwvQT48SDM+DQpzdGFydERvY3VtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zdGFydERvY3VtZW50PC9CPigpCiAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmh0bWwiPlNBWEV4Y2VwdGlvbjwvQT48L1BSRT4NCjxETD4NCjxERD5TQVgyOiBSZWNlaXZlIG5vdGlmaWNhdGlvbiBvZiB0aGUgYmVnaW5uaW5nIG9mIGEgZG9jdW1lbnQuPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNzdGFydERvY3VtZW50KCkiPnN0YXJ0RG9jdW1lbnQ8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sIj5TQVgyRFRNMjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImVuZERvY3VtZW50KCkiPjwhLS0gLS0+PC9BPjxIMz4NCmVuZERvY3VtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5lbmREb2N1bWVudDwvQj4oKQogICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPlNBWDI6IFJlY2VpdmUgbm90aWZpY2F0aW9uIG9mIHRoZSBlbmQgb2YgYSBkb2N1bWVudC48REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI2VuZERvY3VtZW50KCkiPmVuZERvY3VtZW50PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCI+U0FYMkRUTTI8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzdGFydEVsZW1lbnQoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgb3JnLnhtbC5zYXguQXR0cmlidXRlcywgb3JnLnczYy5kb20uTm9kZSkiPjwhLS0gLS0+PC9BPjxIMz4NCnN0YXJ0RWxlbWVudDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c3RhcnRFbGVtZW50PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJpLAogICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvY2FsTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtxbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0F0dHJpYnV0ZXMuaHRtbCI+QXR0cmlidXRlczwvQT4mbmJzcDthdHRyaWJ1dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZS5odG1sIj5Ob2RlPC9BPiZuYnNwO25vZGUpCiAgICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPlNwZWNpYWxpemVkIGludGVyZmFjZSB1c2VkIGJ5IERPTTJTQVguIFRoaXMgb25lIGhhcyBhbiBleHRyYSBOb2RlCiBwYXJhbWV0ZXIgdG8gYnVpbGQgdGhlIE5vZGUgLT4gaWQgbWFwLjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InN0YXJ0RWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBvcmcueG1sLnNheC5BdHRyaWJ1dGVzKSI+PCEtLSAtLT48L0E+PEgzPg0Kc3RhcnRFbGVtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zdGFydEVsZW1lbnQ8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt1cmksCiAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bG9jYWxOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3FuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQXR0cmlidXRlcy5odG1sIj5BdHRyaWJ1dGVzPC9BPiZuYnNwO2F0dHJpYnV0ZXMpCiAgICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPlNBWDI6IFJlY2VpdmUgbm90aWZpY2F0aW9uIG9mIHRoZSBiZWdpbm5pbmcgb2YgYW4gZWxlbWVudC48REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI3N0YXJ0RWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBvcmcueG1sLnNheC5BdHRyaWJ1dGVzKSI+c3RhcnRFbGVtZW50PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCI+U0FYMkRUTTI8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJlbmRFbGVtZW50KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQplbmRFbGVtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5lbmRFbGVtZW50PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2NhbE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3FuYW1lKQogICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+U0FYMjogUmVjZWl2ZSBub3RpZmljYXRpb24gb2YgdGhlIGVuZCBvZiBhbiBlbGVtZW50LjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwjZW5kRWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+ZW5kRWxlbWVudDwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwiPlNBWDJEVE0yPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icHJvY2Vzc2luZ0luc3RydWN0aW9uKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpwcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3RhcmdldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtkYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmh0bWwiPlNBWEV4Y2VwdGlvbjwvQT48L1BSRT4NCjxETD4NCjxERD5TQVgyOiBSZWNlaXZlIG5vdGlmaWNhdGlvbiBvZiBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24uPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwiPlNBWDJEVE0yPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iaWdub3JhYmxlV2hpdGVzcGFjZShjaGFyW10sIGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KaWdub3JhYmxlV2hpdGVzcGFjZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+aWdub3JhYmxlV2hpdGVzcGFjZTwvQj4oY2hhcltdJm5ic3A7Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7c3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7bGVuZ3RoKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+U0FYMjogUmVjZWl2ZSBub3RpZmljYXRpb24gb2YgaWdub3JhYmxlIHdoaXRlc3BhY2UgaW4gZWxlbWVudAogY29udGVudC4gU2ltaWxhciB0byBjaGFyYWN0ZXJzKGNoYXJbXSwgaW50LCBpbnQpLjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlKGNoYXJbXSwgaW50LCBpbnQpIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sIj5TQVgyRFRNPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RhcnRQcmVmaXhNYXBwaW5nKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpzdGFydFByZWZpeE1hcHBpbmc8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnN0YXJ0UHJlZml4TWFwcGluZzwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3ByZWZpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDt1cmkpCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPlNBWDI6IEJlZ2luIHRoZSBzY29wZSBvZiBhIHByZWZpeC1VUkkgTmFtZXNwYWNlIG1hcHBpbmcuPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sI3N0YXJ0UHJlZml4TWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+c3RhcnRQcmVmaXhNYXBwaW5nPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTS5odG1sIj5TQVgyRFRNPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY29tbWVudChjaGFyW10sIGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KY29tbWVudDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+Y29tbWVudDwvQj4oY2hhcltdJm5ic3A7Y2gsCiAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7c3RhcnQsCiAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7bGVuZ3RoKQogICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+U0FYMjogUmVwb3J0IGFuIFhNTCBjb21tZW50IGFueXdoZXJlIGluIHRoZSBkb2N1bWVudC48REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sI2NvbW1lbnQoY2hhcltdLCBpbnQsIGludCkiPmNvbW1lbnQ8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNMi5odG1sIj5TQVgyRFRNMjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldEVzY2FwaW5nKGJvb2xlYW4pIj48IS0tIC0tPjwvQT48SDM+DQpzZXRFc2NhcGluZzwvSDM+DQo8UFJFPg0KcHVibGljIGJvb2xlYW4gPEI+c2V0RXNjYXBpbmc8L0I+KGJvb2xlYW4mbmJzcDt2YWx1ZSk8L1BSRT4NCjxETD4NCjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InByaW50KGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KcHJpbnQ8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnByaW50PC9CPihpbnQmbmJzcDtub2RlLAogICAgICAgICAgICAgICAgICBpbnQmbmJzcDtsZXZlbCk8L1BSRT4NCjxETD4NCjxERD5QcmludHMgdGhlIHdob2xlIHRyZWUgdG8gc3RhbmRhcmQgb3V0cHV0PEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Tm9kZU5hbWUoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Tm9kZU5hbWU8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldE5vZGVOYW1lPC9CPihpbnQmbmJzcDtub2RlKTwvUFJFPg0KPERMPg0KPEREPlJldHVybnMgdGhlIG5hbWUgb2YgYSBub2RlIChhdHRyaWJ1dGUgb3IgZWxlbWVudCkuPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vcmVmL3NheDJkdG0vU0FYMkRUTTIuaHRtbCNnZXROb2RlTmFtZShpbnQpIj5nZXROb2RlTmFtZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0yLmh0bWwiPlNBWDJEVE0yPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TmFtZXNwYWNlTmFtZShpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpnZXROYW1lc3BhY2VOYW1lPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXROYW1lc3BhY2VOYW1lPC9CPihpbnQmbmJzcDtub2RlKTwvUFJFPg0KPERMPg0KPEREPlJldHVybnMgdGhlIG5hbWVzcGFjZSBVUkkgdG8gd2hpY2ggYSBub2RlIGJlbG9uZ3M8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRBdHRyaWJ1dGVOb2RlKGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0QXR0cmlidXRlTm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXRBdHRyaWJ1dGVOb2RlPC9CPihpbnQmbmJzcDt0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7ZWxlbWVudCk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIHRoZSBhdHRyaWJ1dGUgbm9kZSBvZiBhIGdpdmVuIHR5cGUgKGlmIGFueSkgZm9yIGFuIGVsZW1lbnQ8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRBdHRyaWJ1dGVWYWx1ZShpbnQsIGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEF0dHJpYnV0ZVZhbHVlPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRBdHRyaWJ1dGVWYWx1ZTwvQj4oaW50Jm5ic3A7dHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7ZWxlbWVudCk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIHRoZSB2YWx1ZSBvZiBhIGdpdmVuIGF0dHJpYnV0ZSB0eXBlIG9mIGEgZ2l2ZW4gZWxlbWVudDxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEF0dHJpYnV0ZVZhbHVlKGphdmEubGFuZy5TdHJpbmcsIGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEF0dHJpYnV0ZVZhbHVlPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRBdHRyaWJ1dGVWYWx1ZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCZuYnNwO2VsZW1lbnQpPC9QUkU+DQo8REw+DQo8REQ+VGhpcyBtZXRob2QgaXMgZm9yIHRlc3RpbmcvZGVidWdnaW5nIG9ubHk8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRDaGlsZHJlbihpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRDaGlsZHJlbjwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiA8Qj5nZXRDaGlsZHJlbjwvQj4oaW50Jm5ic3A7bm9kZSk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIGFuIGl0ZXJhdG9yIHdpdGggYWxsIHRoZSBjaGlsZHJlbiBvZiBhIGdpdmVuIG5vZGU8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRUeXBlZENoaWxkcmVuKGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFR5cGVkQ2hpbGRyZW48L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4gPEI+Z2V0VHlwZWRDaGlsZHJlbjwvQj4oaW50Jm5ic3A7dHlwZSk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIGFuIGl0ZXJhdG9yIHdpdGggYWxsIGNoaWxkcmVuIG9mIGEgc3BlY2lmaWMgdHlwZQogZm9yIGEgZ2l2ZW4gbm9kZSAoZWxlbWVudCk8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRBeGlzSXRlcmF0b3IoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0QXhpc0l0ZXJhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUF4aXNJdGVyYXRvci5odG1sIj5EVE1BeGlzSXRlcmF0b3I8L0E+IDxCPmdldEF4aXNJdGVyYXRvcjwvQj4oaW50Jm5ic3A7YXhpcyk8L1BSRT4NCjxETD4NCjxERD5UaGlzIGlzIGEgc2hvcnRjdXQgdG8gdGhlIGl0ZXJhdG9ycyB0aGF0IGltcGxlbWVudCB0aGUKIHN1cHBvcnRlZCBYUGF0aCBheGVzIChvbmx5IG5hbWVzcGFjZTo6KSBpcyBub3Qgc3VwcG9ydGVkLgogUmV0dXJucyBhIGJhcmUtYm9uZXMgaXRlcmF0b3IgdGhhdCBtdXN0IGJlIGluaXRpYWxpemVkCiB3aXRoIGEgc3RhcnQgbm9kZSAodXNpbmcgaXRlcmF0b3Iuc2V0U3RhcnROb2RlKCkpLjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5odG1sI2dldEF4aXNJdGVyYXRvcihpbnQpIj5nZXRBeGlzSXRlcmF0b3I8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnM8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRUeXBlZEF4aXNJdGVyYXRvcihpbnQsIGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFR5cGVkQXhpc0l0ZXJhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUF4aXNJdGVyYXRvci5odG1sIj5EVE1BeGlzSXRlcmF0b3I8L0E+IDxCPmdldFR5cGVkQXhpc0l0ZXJhdG9yPC9CPihpbnQmbmJzcDtheGlzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCZuYnNwO3R5cGUpPC9QUkU+DQo8REw+DQo8REQ+U2ltaWxhciB0byBnZXRBeGlzSXRlcmF0b3IsIGJ1dCB0aGlzIG9uZSByZXR1cm5zIGFuIGl0ZXJhdG9yCiBjb250YWluaW5nIG5vZGVzIG9mIGEgdHlwZWQgYXhpcyAoZXguOiBjaGlsZDo6Zm9vKTxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9EVE1EZWZhdWx0QmFzZUl0ZXJhdG9ycy5odG1sI2dldFR5cGVkQXhpc0l0ZXJhdG9yKGludCwgaW50KSI+Z2V0VHlwZWRBeGlzSXRlcmF0b3I8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvRFRNRGVmYXVsdEJhc2VJdGVyYXRvcnMuaHRtbCI+RFRNRGVmYXVsdEJhc2VJdGVyYXRvcnM8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXROYW1lc3BhY2VBeGlzSXRlcmF0b3IoaW50LCBpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpnZXROYW1lc3BhY2VBeGlzSXRlcmF0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4gPEI+Z2V0TmFtZXNwYWNlQXhpc0l0ZXJhdG9yPC9CPihpbnQmbmJzcDtheGlzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtucyk8L1BSRT4NCjxETD4NCjxERD5EbyBub3QgdGhpbmsgdGhhdCB0aGlzIHJldHVybnMgYW4gaXRlcmF0b3IgZm9yIHRoZSBuYW1lc3BhY2UgYXhpcy4KIEl0IHJldHVybnMgYW4gaXRlcmF0b3Igd2l0aCBub2RlcyB0aGF0IGJlbG9uZyBpbiBhIGNlcnRhaW4gbmFtZXNwYWNlLAogc3VjaCBhcyB3aXRoIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iYmxvYi9mb286KiIvPgogVGhlICdheGlzJyBzcGVjaWZpZXMgdGhlIGF4aXMgZm9yIHRoZSBiYXNlIGl0ZXJhdG9yIGZyb20gd2hpY2ggdGhlCiBub2RlcyBhcmUgdGFrZW4sIHdoaWxlICducycgc3BlY2lmaWVzIHRoZSBuYW1lc3BhY2UgVVJJIHR5cGUuPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0VHlwZWREZXNjZW5kYW50SXRlcmF0b3IoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0VHlwZWREZXNjZW5kYW50SXRlcmF0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNQXhpc0l0ZXJhdG9yLmh0bWwiPkRUTUF4aXNJdGVyYXRvcjwvQT4gPEI+Z2V0VHlwZWREZXNjZW5kYW50SXRlcmF0b3I8L0I+KGludCZuYnNwO3R5cGUpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJucyBhbiBpdGVyYXRvciB3aXRoIGFsbCBkZXNjZW5kYW50cyBvZiBhIG5vZGUgdGhhdCBhcmUgb2YKIGEgZ2l2ZW4gdHlwZS48REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXROdGhEZXNjZW5kYW50KGludCwgaW50LCBib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TnRoRGVzY2VuZGFudDwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiA8Qj5nZXROdGhEZXNjZW5kYW50PC9CPihpbnQmbmJzcDt0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDtpbmNsdWRlc2VsZik8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIHRoZSBudGggZGVzY2VuZGFudCBvZiBhIG5vZGU8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjaGFyYWN0ZXJzKGludCwgb3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci5TZXJpYWxpemF0aW9uSGFuZGxlcikiPjwhLS0gLS0+PC9BPjxIMz4NCmNoYXJhY3RlcnM8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmNoYXJhY3RlcnM8L0I+KGludCZuYnNwO25vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvc2VyaWFsaXplci9TZXJpYWxpemF0aW9uSGFuZGxlci5odG1sIj5TZXJpYWxpemF0aW9uSGFuZGxlcjwvQT4mbmJzcDtoYW5kbGVyKQogICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvVHJhbnNsZXRFeGNlcHRpb24uaHRtbCI+VHJhbnNsZXRFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+Q29weSB0aGUgc3RyaW5nIHZhbHVlIG9mIGEgbm9kZSBkaXJlY3RseSB0byBhbiBvdXRwdXQgaGFuZGxlcjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImNvcHkob3JnLmFwYWNoZS54bWwuZHRtLkRUTUF4aXNJdGVyYXRvciwgb3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci5TZXJpYWxpemF0aW9uSGFuZGxlcikiPjwhLS0gLS0+PC9BPjxIMz4NCmNvcHk8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmNvcHk8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1BeGlzSXRlcmF0b3IuaHRtbCI+RFRNQXhpc0l0ZXJhdG9yPC9BPiZuYnNwO25vZGVzLAogICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3NlcmlhbGl6ZXIvU2VyaWFsaXphdGlvbkhhbmRsZXIuaHRtbCI+U2VyaWFsaXphdGlvbkhhbmRsZXI8L0E+Jm5ic3A7aGFuZGxlcikKICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL1RyYW5zbGV0RXhjZXB0aW9uLmh0bWwiPlRyYW5zbGV0RXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPkNvcHkgYSBub2RlLXNldCB0byBhbiBvdXRwdXQgaGFuZGxlcjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImNvcHkob3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci5TZXJpYWxpemF0aW9uSGFuZGxlcikiPjwhLS0gLS0+PC9BPjxIMz4NCmNvcHk8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmNvcHk8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3NlcmlhbGl6ZXIvU2VyaWFsaXphdGlvbkhhbmRsZXIuaHRtbCI+U2VyaWFsaXphdGlvbkhhbmRsZXI8L0E+Jm5ic3A7aGFuZGxlcikKICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL1RyYW5zbGV0RXhjZXB0aW9uLmh0bWwiPlRyYW5zbGV0RXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPkNvcHkgdGhlIHdob2xlIHRyZWUgdG8gYW4gb3V0cHV0IGhhbmRsZXI8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjb3B5KGludCwgb3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci5TZXJpYWxpemF0aW9uSGFuZGxlcikiPjwhLS0gLS0+PC9BPjxIMz4NCmNvcHk8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmNvcHk8L0I+KGludCZuYnNwO25vZGUsCiAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvc2VyaWFsaXplci9TZXJpYWxpemF0aW9uSGFuZGxlci5odG1sIj5TZXJpYWxpemF0aW9uSGFuZGxlcjwvQT4mbmJzcDtoYW5kbGVyKQogICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvVHJhbnNsZXRFeGNlcHRpb24uaHRtbCI+VHJhbnNsZXRFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+UGVyZm9ybXMgYSBkZWVwIGNvcHkgKHJlZi4gWFNMcyBjb3B5LW9mKCkpCgogVE9ETzogQ29weSBuYW1lc3BhY2UgZGVjbGFyYXRpb25zLiBDYW4ndCBiZSBkb25lIHVudGlsIHdlCiAgICAgICBhZGQgbmFtZXNwYWNlIG5vZGVzIGFuZCBrZWVwIHRyYWNrIG9mIE5TIHByZWZpeGVzCiBUT0RPOiBDb3B5IGNvbW1lbnQgbm9kZXM8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzaGFsbG93Q29weShpbnQsIG9yZy5hcGFjaGUueG1sLnNlcmlhbGl6ZXIuU2VyaWFsaXphdGlvbkhhbmRsZXIpIj48IS0tIC0tPjwvQT48SDM+DQpzaGFsbG93Q29weTwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+c2hhbGxvd0NvcHk8L0I+KGludCZuYnNwO25vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3NlcmlhbGl6ZXIvU2VyaWFsaXphdGlvbkhhbmRsZXIuaHRtbCI+U2VyaWFsaXphdGlvbkhhbmRsZXI8L0E+Jm5ic3A7aGFuZGxlcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9UcmFuc2xldEV4Y2VwdGlvbi5odG1sIj5UcmFuc2xldEV4Y2VwdGlvbjwvQT48L1BSRT4NCjxETD4NCjxERD5QZXJmb3JtcyBhIHNoYWxsb3cgY29weSAocmVmLiBYU0xzIGNvcHkoKSk8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRMYW5ndWFnZShpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRMYW5ndWFnZTwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0TGFuZ3VhZ2U8L0I+KGludCZuYnNwO25vZGUpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJucyBhIG5vZGUnIGRlZmluZWQgbGFuZ3VhZ2UgZm9yIGEgbm9kZSAoaWYgYW55KTxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEJ1aWxkZXIoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0QnVpbGRlcjwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL0RPTUJ1aWxkZXIuaHRtbCI+RE9NQnVpbGRlcjwvQT4gPEI+Z2V0QnVpbGRlcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIERPTUJ1aWxkZXIgaW5uZXIgY2xhc3MKIFRoaXMgY2xhc3Mgd2lsbCBjb25zdW1lIHRoZSBpbnB1dCBkb2N1bWVudCB0aHJvdWdoIGEgU0FYMgogaW50ZXJmYWNlIGFuZCBwb3B1bGF0ZSB0aGUgdHJlZS48REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRPdXRwdXREb21CdWlsZGVyKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldE91dHB1dERvbUJ1aWxkZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1NlcmlhbGl6YXRpb25IYW5kbGVyLmh0bWwiPlNlcmlhbGl6YXRpb25IYW5kbGVyPC9BPiA8Qj5nZXRPdXRwdXREb21CdWlsZGVyPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJuIGEgU2VyaWFsaXphdGlvbkhhbmRsZXIgZm9yIG91dHB1dCBoYW5kbGluZy4KIFRoaXMgbWV0aG9kIGlzIHVzZWQgYnkgUmVzdWx0IFRyZWUgRnJhZ21lbnRzLjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFJlc3VsdFRyZWVGcmFnKGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0UmVzdWx0VHJlZUZyYWc8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL0RPTS5odG1sIj5ET008L0E+IDxCPmdldFJlc3VsdFRyZWVGcmFnPC9CPihpbnQmbmJzcDtpbml0U2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtydGZUeXBlKTwvUFJFPg0KPERMPg0KPEREPlJldHVybiBhIGluc3RhbmNlIG9mIGEgRE9NIGNsYXNzIHRvIGJlIHVzZWQgYXMgYW4gUlRGPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0UmVzdWx0VHJlZUZyYWcoaW50LCBpbnQsIGJvb2xlYW4pIj48IS0tIC0tPjwvQT48SDM+DQpnZXRSZXN1bHRUcmVlRnJhZzwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvRE9NLmh0bWwiPkRPTTwvQT4gPEI+Z2V0UmVzdWx0VHJlZUZyYWc8L0I+KGludCZuYnNwO2luaXRTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCZuYnNwO3J0ZlR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiZuYnNwO2FkZFRvTWFuYWdlcik8L1BSRT4NCjxETD4NCjxERD5SZXR1cm4gYSBpbnN0YW5jZSBvZiBhIERPTSBjbGFzcyB0byBiZSB1c2VkIGFzIGFuIFJURjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmluaXRTaXplPC9DT0RFPiAtIFRoZSBpbml0aWFsIHNpemUgb2YgdGhlIERPTS48REQ+PENPREU+cnRmVHlwZTwvQ09ERT4gLSBUaGUgdHlwZSBvZiB0aGUgUlRGPEREPjxDT0RFPmFkZFRvTWFuYWdlcjwvQ09ERT4gLSB0cnVlIGlmIHRoZSBSVEYgc2hvdWxkIGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgRFRNTWFuYWdlci48RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBET00gb2JqZWN0IHdoaWNoIHJlcHJlc2VudHMgdGhlIFJURi48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEVsZW1lbnRzV2l0aElEcygpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRFbGVtZW50c1dpdGhJRHM8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL3J1bnRpbWUvSGFzaHRhYmxlLmh0bWwiPkhhc2h0YWJsZTwvQT4gPEI+Z2V0RWxlbWVudHNXaXRoSURzPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+JUhaJSBOZWVkIEphdmFkb2M8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRVbnBhcnNlZEVudGl0eVVSSShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0VW5wYXJzZWRFbnRpdHlVUkk8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldFVucGFyc2VkRW50aXR5VVJJPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSk8L1BSRT4NCjxETD4NCjxERD5UaGUgZ2V0VW5wYXJzZWRFbnRpdHlVUkkgZnVuY3Rpb24gcmV0dXJucyB0aGUgVVJJIG9mIHRoZSB1bnBhcnNlZAogZW50aXR5IHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0CiBub2RlIChzZWUgWzMuMyBVbnBhcnNlZCBFbnRpdGllc10pLiBJdCByZXR1cm5zIHRoZSBlbXB0eSBzdHJpbmcgaWYKIHRoZXJlIGlzIG5vIHN1Y2ggZW50aXR5LjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL3JlZi9zYXgyZHRtL1NBWDJEVE0uaHRtbCNnZXRVbnBhcnNlZEVudGl0eVVSSShqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0VW5wYXJzZWRFbnRpdHlVUkk8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9yZWYvc2F4MmR0bS9TQVgyRFRNLmh0bWwiPlNBWDJEVE08L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPCEtLSA9PT09PT09PT0gRU5EIE9GIENMQVNTIERBVEEgPT09PT09PT09IC0tPg0KPEhSPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvU0FYSW1wbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2RvbS9OdGhJdGVyYXRvci5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvZG9tL1NBWEltcGwuTmFtZXNwYWNlQXR0cmlidXRlSXRlcmF0b3IuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IlNBWEltcGwuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwOzxBIEhSRUY9IiNpbm5lcl9jbGFzc19zdW1tYXJ5Ij5JTk5FUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC5kdG0ucmVmLkRUTURlZmF1bHRCYXNlIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KQ29weXJpZ2h0IKkgMjAwNiBBcGFjaGUgWE1MIFByb2plY3QuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQo8L0JPRFk+DQo8L0hUTUw+DQo=