PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CjwhLS1OZXdQYWdlLS0+CjxIVE1MPgo8SEVBRD4KPCEtLSBHZW5lcmF0ZWQgYnkgamF2YWRvYyBvbiBGcmkgQXVnIDIyIDAzOjQzOjQ5IEVEVCAyMDAzIC0tPgo8VElUTEU+ClVzZXMgb2YgUGFja2FnZSBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24gKEFwYWNoZSBTdHJ1dHMgQVBJIERvY3VtZW50YXRpb24pCjwvVElUTEU+CjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4KPC9IRUFEPgo8U0NSSVBUPgpmdW5jdGlvbiBhc2QoKQp7CnBhcmVudC5kb2N1bWVudC50aXRsZT0iVXNlcyBvZiBQYWNrYWdlIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbiAoQXBhY2hlIFN0cnV0cyBBUEkgRG9jdW1lbnRhdGlvbikiOwp9CjwvU0NSSVBUPgo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSIgb25sb2FkPSJhc2QoKTsiPgoKPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPgo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+CjxUUj4KPFREIENPTFNQQU49MyBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPgo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj5DbGFzczwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPlVzZTwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPC9UUj4KPC9UQUJMRT4KPC9URD4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+CjwvRU0+CjwvVEQ+CjwvVFI+Cgo8VFI+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiZuYnNwO1BSRVYmbmJzcDsKJm5ic3A7TkVYVDwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJwYWNrYWdlLXVzZS5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+ICAmbmJzcDsKJm5ic3A7CjxTQ1JJUFQ+CiAgPCEtLQogIGlmKHdpbmRvdz09dG9wKSB7CiAgICBkb2N1bWVudC53cml0ZWxuKCc8QSBIUkVGPSIuLi8uLi8uLi8uLi9hbGxjbGFzc2VzLW5vZnJhbWUuaHRtbCIgVEFSR0VUPSIiPjxCPkFsbCBDbGFzc2VzPC9CPjwvQT4nKTsKICB9CiAgLy8tLT4KPC9TQ1JJUFQ+CjxOT1NDUklQVD4KPEEgSFJFRj0iLi4vLi4vLi4vLi4vYWxsY2xhc3Nlcy1ub2ZyYW1lLmh0bWwiIFRBUkdFVD0iIj48Qj5BbGwgQ2xhc3NlczwvQj48L0E+CjwvTk9TQ1JJUFQ+CjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+Cgo8SFI+CjxDRU5URVI+CjxIMj4KPEI+VXNlcyBvZiBQYWNrYWdlPGJyPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbjwvQj48L0gyPgo8L0NFTlRFUj4KCjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+ClBhY2thZ2VzIHRoYXQgdXNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxBIEhSRUY9IiNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbjwvQj48L0E+PC9URD4KPFREPiBUaGUgYWN0aW9uIHBhY2thZ2UgaXMgdGhlIGNvcmUgb2YgdGhlIHN0cnV0cyBmcmFtZXdvcmssCiAgICBwcm92aWRpbmcgdGhlICJDb250cm9sbGVyIiBhc3BlY3Qgb2YgYSBNVkMgbW9kZWwuJm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48QSBIUkVGPSIjb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9ucyI+PEI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uczwvQj48L0E+PC9URD4KPFREPiBUaGUgYWN0aW9ucyBwYWNrYWdlIHByb3ZpZGVzIHNwZWNpYWwgYWRhcHRlcnMgYmV0d2VlbiB0aGUgaW5jb21pbmcgIEhUVFAKIHJlcXVlc3QgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGJ1c2luZXNzIGxvZ2ljLiZuYnNwOzwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEEgSFJFRj0iI29yZy5hcGFjaGUuc3RydXRzLmNvbmZpZyI+PEI+b3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnPC9CPjwvQT48L1REPgo8VEQ+VGhlICJjb25maWciIHBhY2thZ2UgY29udGFpbnMgY29uZmlndXJhdGlvbiBvYmplY3RzIHRoYXQgY29ycmVzcG9uZCB0bwplbGVtZW50cyB0aGF0IG1heSBiZSBzcGVjaWZpZWQgaW4gdGhlIDxjb2RlPnN0cnV0cy1jb25maWcueG1sPC9jb2RlPgptb2R1bGUgY29uZmlndXJhdGlvbiBmaWxlLiZuYnNwOzwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEEgSFJFRj0iI29yZy5hcGFjaGUuc3RydXRzLnBsdWdpbnMiPjxCPm9yZy5hcGFjaGUuc3RydXRzLnBsdWdpbnM8L0I+PC9BPjwvVEQ+CjxURD4mbmJzcDsmbmJzcDs8L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxBIEhSRUY9IiNvcmcuYXBhY2hlLnN0cnV0cy50YWdsaWIuaHRtbCI+PEI+b3JnLmFwYWNoZS5zdHJ1dHMudGFnbGliLmh0bWw8L0I+PC9BPjwvVEQ+CjxURD48YSBuYW1lPSJkb2MuRGVzY3JpcHRpb24iPlRoZSAic3RydXRzLWh0bWwiIHRhZyBsaWJyYXJ5PC9hPgogIGNvbnRhaW5zIEpTUCBjdXN0b20gdGFncyB1c2VmdWwgaW4gY3JlYXRpbmcgZHluYW1pYyBIVE1MIHVzZXIgaW50ZXJmYWNlcywKaW5jbHVkaW5nIGlucHV0IGZvcm1zLiZuYnNwOzwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEEgSFJFRj0iI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzIj48Qj5vcmcuYXBhY2hlLnN0cnV0cy50aWxlczwvQj48L0E+PC9URD4KPFREPjxkaXYgY2xhc3M9Im1haW5Db250ZW50Ij4KICAgIFRoZSBUaWxlcyB0YWdsaWIgYW5kIGZyYW1ld29yayBhbGxvd3MgYnVpbGRpbmcgd2ViIHBhZ2VzIGJ5IGFzc2VtYmxpbmcgcmV1c2FibGUgCiAgICBwaWVjZXMgb2YgcGFnZXMsIGNhbGxlZCBUaWxlcy4mbmJzcDs8L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxBIEhSRUY9IiNvcmcuYXBhY2hlLnN0cnV0cy50aWxlcy5hY3Rpb25zIj48Qj5vcmcuYXBhY2hlLnN0cnV0cy50aWxlcy5hY3Rpb25zPC9CPjwvQT48L1REPgo8VEQ+Jm5ic3A7Jm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48QSBIUkVGPSIjb3JnLmFwYWNoZS5zdHJ1dHMudXBsb2FkIj48Qj5vcmcuYXBhY2hlLnN0cnV0cy51cGxvYWQ8L0I+PC9BPjwvVEQ+CjxURD4gVGhlIHVwbG9hZCBwYWNrYWdlIGZhY2lsaXRpZXMgdG8gdXBsb2FkIGZpbGVzIHVzaW5nCiBtdWx0aS1wYXJ0IHJlcXVlc3RzLiZuYnNwOzwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEEgSFJFRj0iI29yZy5hcGFjaGUuc3RydXRzLnV0aWwiPjxCPm9yZy5hcGFjaGUuc3RydXRzLnV0aWw8L0I+PC9BPjwvVEQ+CjxURD5UaGUgVXRpbGl0aWVzIHBhY2thZ2UgcHJvdmlkZXMgYSB2YXJpZXR5IG9mIGZhbWlsaWVzIG9mIGNsYXNzZXMsCnRvIHNvbHZlIHByb2JsZW1zIHRoYXQgYXJlIGNvbW1vbmx5IGVuY291bnRlcmVkIGluIGJ1aWxkaW5nIHdlYiBhcHBsaWNhdGlvbnMuJm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48QSBIUkVGPSIjb3JnLmFwYWNoZS5zdHJ1dHMudmFsaWRhdG9yIj48Qj5vcmcuYXBhY2hlLnN0cnV0cy52YWxpZGF0b3I8L0I+PC9BPjwvVEQ+CjxURD4gVGhlIHZhbGlkYXRvciBwYWNrYWdlIHByb3ZpZGVzIGEgc2VyaWVzIG9mIGNsYXNzZXMgdG8gdmFsaWRhdGUgCiAgIDxjb2RlPkFjdGlvbkZvcm08L2NvZGU+IHR5cGUgb2YgaW5wdXQuJm5ic3A7PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8QSBOQU1FPSJvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpDbGFzc2VzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPiB1c2VkIGJ5IDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb24uaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPkFjdGlvbjwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiA8c3Ryb25nPkFjdGlvbjwvc3Ryb25nPiBpcyBhbiBhZGFwdGVyIGJldHdlZW4gdGhlIGNvbnRlbnRzIG9mIGFuIGluY29taW5nCiBIVFRQIHJlcXVlc3QgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGJ1c2luZXNzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGV4ZWN1dGVkIHRvCiBwcm9jZXNzIHRoaXMgcmVxdWVzdC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRXJyb3IuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPkFjdGlvbkVycm9yPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIGVuY2Fwc3VsYXRpb24gb2YgYW4gaW5kaXZpZHVhbCBlcnJvciBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZQogPGNvZGU+dmFsaWRhdGUoKTwvY29kZT4gbWV0aG9kIG9mIGFuIDxjb2RlPkFjdGlvbkZvcm08L2NvZGU+LCBjb25zaXN0aW5nCiBvZiBhIG1lc3NhZ2Uga2V5ICh0byBiZSB1c2VkIHRvIGxvb2sgdXAgbWVzc2FnZSB0ZXh0IGluIGFuIGFwcHJvcHJpYXRlCiBtZXNzYWdlIHJlc291cmNlcyBkYXRhYmFzZSkgcGx1cyB1cCB0byBmb3VyIHBsYWNlaG9sZGVyIG9iamVjdHMgdGhhdCBjYW4KIGJlIHVzZWQgZm9yIHBhcmFtZXRyaWMgcmVwbGFjZW1lbnQgaW4gdGhlIG1lc3NhZ2UgdGV4dC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRXJyb3JzLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uIj48Qj5BY3Rpb25FcnJvcnM8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QSBjbGFzcyB0aGF0IGVuY2Fwc3VsYXRlcyB0aGUgZXJyb3IgbWVzc2FnZXMgYmVpbmcgcmVwb3J0ZWQgYnkKIHRoZSA8Y29kZT52YWxpZGF0ZSgpPC9jb2RlPiBtZXRob2Qgb2YgYW4gPGNvZGU+QWN0aW9uRm9ybTwvY29kZT4uPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbkZvcm0uaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPkFjdGlvbkZvcm08L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3JtPC9zdHJvbmc+IGlzIGEgSmF2YUJlYW4gb3B0aW9uYWxseSBhc3NvY2lhdGVkIHdpdGgKIG9uZSBvciBtb3JlIDxjb2RlPkFjdGlvbk1hcHBpbmdzPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9ybUJlYW4uaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPkFjdGlvbkZvcm1CZWFuPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uRm9ybUJlYW48L3N0cm9uZz4gaXMgdGhlIGRlZmluaXRpb24gb2YgYSBmb3JtIGJlYW4gdGhhdAogaXMgbG9hZGVkIGZyb20gYSA8Y29kZT4mbHQ7Zm9ybS1iZWFuJmd0OzwvY29kZT4gZWxlbWVudCBpbiB0aGUgU3RydXRzCiBjb25maWd1cmF0aW9uIGZpbGUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbkZvcndhcmQuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPkFjdGlvbkZvcndhcmQ8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3J3YXJkPC9zdHJvbmc+IHJlcHJlc2VudHMgYSBkZXN0aW5hdGlvbiB0byB3aGljaCB0aGUKIGNvbnRyb2xsZXIgc2VydmxldCwgPGNvZGU+QWN0aW9uU2VydmxldDwvY29kZT4sIG1pZ2h0IGJlIGRpcmVjdGVkIHRvCiBwZXJmb3JtIGEgPGNvZGU+UmVxdWVzdERpc3BhdGNoZXIuZm9yd2FyZCgpPC9jb2RlPiBvcgogPGNvZGU+SHR0cFNlcnZsZXRSZXNwb25zZS5zZW5kUmVkaXJlY3QoKTwvY29kZT4gdG8sIGFzIGEgcmVzdWx0IG9mCiBwcm9jZXNzaW5nIGFjdGl2aXRpZXMgb2YgYW4gPGNvZGU+QWN0aW9uPC9jb2RlPiBjbGFzcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uTWFwcGluZy5odG1sI29yZy5hcGFjaGUuc3RydXRzLmFjdGlvbiI+PEI+QWN0aW9uTWFwcGluZzwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiA8c3Ryb25nPkFjdGlvbk1hcHBpbmc8L3N0cm9uZz4gcmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gdGhhdCB0aGUKIGNvbnRyb2xsZXIgc2VydmxldCwgPGNvZGU+QWN0aW9uU2VydmxldDwvY29kZT4sIGtub3dzIGFib3V0IHRoZSBtYXBwaW5nCiBvZiBhIHBhcnRpY3VsYXIgcmVxdWVzdCB0byBhbiBpbnN0YW5jZSBvZiBhIHBhcnRpY3VsYXIgYWN0aW9uIGNsYXNzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25NZXNzYWdlLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uIj48Qj5BY3Rpb25NZXNzYWdlPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIGVuY2Fwc3VsYXRpb24gb2YgYW4gaW5kaXZpZHVhbCBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZQogPGNvZGU+dmFsaWRhdGUoKTwvY29kZT4gbWV0aG9kIG9mIGFuIDxjb2RlPkFjdGlvbkZvcm08L2NvZGU+LCBjb25zaXN0aW5nCiBvZiBhIG1lc3NhZ2Uga2V5ICh0byBiZSB1c2VkIHRvIGxvb2sgdXAgbWVzc2FnZSB0ZXh0IGluIGFuIGFwcHJvcHJpYXRlCiBtZXNzYWdlIHJlc291cmNlcyBkYXRhYmFzZSkgcGx1cyB1cCB0byBmb3VyIHBsYWNlaG9sZGVyIG9iamVjdHMgdGhhdCBjYW4KIGJlIHVzZWQgZm9yIHBhcmFtZXRyaWMgcmVwbGFjZW1lbnQgaW4gdGhlIG1lc3NhZ2UgdGV4dC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uTWVzc2FnZXMuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPkFjdGlvbk1lc3NhZ2VzPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0EgY2xhc3MgdGhhdCBlbmNhcHN1bGF0ZXMgbWVzc2FnZXMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvblNlcnZsZXQuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPkFjdGlvblNlcnZsZXQ8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PHN0cm9uZz5BY3Rpb25TZXJ2bGV0PC9zdHJvbmc+IHJlcHJlc2VudHMgdGhlICJjb250cm9sbGVyIiBpbiB0aGUKIE1vZGVsLVZpZXctQ29udHJvbGxlciAoTVZDKSBkZXNpZ24gcGF0dGVybiBmb3Igd2ViIGFwcGxpY2F0aW9ucyB0aGF0IGlzCiBjb21tb25seSBrbm93biBhcyAiTW9kZWwgMiIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvblNlcnZsZXRXcmFwcGVyLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uIj48Qj5BY3Rpb25TZXJ2bGV0V3JhcHBlcjwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcm92aWRlIGEgd3JhcHBlciBhcm91bmQgYW4gQWN0aW9uU2VydmxldCB0byBleHBvc2Ugb25seQogdGhvc2UgbWV0aG9kcyBuZWVkZWQgYnkgb3RoZXIgb2JqZWN0cy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvRHluYUFjdGlvbkZvcm1DbGFzcy5odG1sI29yZy5hcGFjaGUuc3RydXRzLmFjdGlvbiI+PEI+RHluYUFjdGlvbkZvcm1DbGFzczwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtJbXBsZW1lbnRhdGlvbiBvZiA8Y29kZT5EeW5hQ2xhc3M8L2NvZGU+IGZvcgogPGNvZGU+RHluYUFjdGlvbkZvcm08L2NvZGU+IGNsYXNzZXMgdGhhdCBhbGxvdyBkZXZlbG9wZXJzIHRvIGRlZmluZQogQWN0aW9uRm9ybXMgd2l0aG91dCBoYXZpbmcgdG8gaW5kaXZpZHVhbGx5IGNvZGUgYWxsIG9mIHRoZSBjbGFzc2VzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9SZXF1ZXN0UHJvY2Vzc29yLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uIj48Qj5SZXF1ZXN0UHJvY2Vzc29yPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxzdHJvbmc+UmVxdWVzdFByb2Nlc3Nvcjwvc3Ryb25nPiBjb250YWlucyB0aGUgcHJvY2Vzc2luZyBsb2dpYyB0aGF0CiB0aGUgU3RydXRzIGNvbnRyb2xsZXIgc2VydmxldCBwZXJmb3JtcyBhcyBpdCByZWNlaXZlcyBlYWNoIHNlcnZsZXQgcmVxdWVzdAogZnJvbSB0aGUgY29udGFpbmVyLjwvVEQ+CjwvVFI+CjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+CjxBIE5BTUU9Im9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnMiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpDbGFzc2VzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPiB1c2VkIGJ5IDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbnMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnM8L0E+PFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbi5odG1sI29yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnMiPjxCPkFjdGlvbjwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiA8c3Ryb25nPkFjdGlvbjwvc3Ryb25nPiBpcyBhbiBhZGFwdGVyIGJldHdlZW4gdGhlIGNvbnRlbnRzIG9mIGFuIGluY29taW5nCiBIVFRQIHJlcXVlc3QgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGJ1c2luZXNzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGV4ZWN1dGVkIHRvCiBwcm9jZXNzIHRoaXMgcmVxdWVzdC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9ybS5odG1sI29yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnMiPjxCPkFjdGlvbkZvcm08L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3JtPC9zdHJvbmc+IGlzIGEgSmF2YUJlYW4gb3B0aW9uYWxseSBhc3NvY2lhdGVkIHdpdGgKIG9uZSBvciBtb3JlIDxjb2RlPkFjdGlvbk1hcHBpbmdzPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9yd2FyZC5odG1sI29yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnMiPjxCPkFjdGlvbkZvcndhcmQ8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3J3YXJkPC9zdHJvbmc+IHJlcHJlc2VudHMgYSBkZXN0aW5hdGlvbiB0byB3aGljaCB0aGUKIGNvbnRyb2xsZXIgc2VydmxldCwgPGNvZGU+QWN0aW9uU2VydmxldDwvY29kZT4sIG1pZ2h0IGJlIGRpcmVjdGVkIHRvCiBwZXJmb3JtIGEgPGNvZGU+UmVxdWVzdERpc3BhdGNoZXIuZm9yd2FyZCgpPC9jb2RlPiBvcgogPGNvZGU+SHR0cFNlcnZsZXRSZXNwb25zZS5zZW5kUmVkaXJlY3QoKTwvY29kZT4gdG8sIGFzIGEgcmVzdWx0IG9mCiBwcm9jZXNzaW5nIGFjdGl2aXRpZXMgb2YgYW4gPGNvZGU+QWN0aW9uPC9jb2RlPiBjbGFzcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uTWFwcGluZy5odG1sI29yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnMiPjxCPkFjdGlvbk1hcHBpbmc8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25NYXBwaW5nPC9zdHJvbmc+IHJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIHRoYXQgdGhlCiBjb250cm9sbGVyIHNlcnZsZXQsIDxjb2RlPkFjdGlvblNlcnZsZXQ8L2NvZGU+LCBrbm93cyBhYm91dCB0aGUgbWFwcGluZwogb2YgYSBwYXJ0aWN1bGFyIHJlcXVlc3QgdG8gYW4gaW5zdGFuY2Ugb2YgYSBwYXJ0aWN1bGFyIGFjdGlvbiBjbGFzcy48L1REPgo8L1RSPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8QSBOQU1FPSJvcmcuYXBhY2hlLnN0cnV0cy5jb25maWciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpDbGFzc2VzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPiB1c2VkIGJ5IDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnPC9BPjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25FcnJvcnMuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy5jb25maWciPjxCPkFjdGlvbkVycm9yczwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBIGNsYXNzIHRoYXQgZW5jYXBzdWxhdGVzIHRoZSBlcnJvciBtZXNzYWdlcyBiZWluZyByZXBvcnRlZCBieQogdGhlIDxjb2RlPnZhbGlkYXRlKCk8L2NvZGU+IG1ldGhvZCBvZiBhbiA8Y29kZT5BY3Rpb25Gb3JtPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9ybS5odG1sI29yZy5hcGFjaGUuc3RydXRzLmNvbmZpZyI+PEI+QWN0aW9uRm9ybTwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiA8c3Ryb25nPkFjdGlvbkZvcm08L3N0cm9uZz4gaXMgYSBKYXZhQmVhbiBvcHRpb25hbGx5IGFzc29jaWF0ZWQgd2l0aAogb25lIG9yIG1vcmUgPGNvZGU+QWN0aW9uTWFwcGluZ3M8L2NvZGU+LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25Gb3JtQmVhbi5odG1sI29yZy5hcGFjaGUuc3RydXRzLmNvbmZpZyI+PEI+QWN0aW9uRm9ybUJlYW48L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3JtQmVhbjwvc3Ryb25nPiBpcyB0aGUgZGVmaW5pdGlvbiBvZiBhIGZvcm0gYmVhbiB0aGF0CiBpcyBsb2FkZWQgZnJvbSBhIDxjb2RlPiZsdDtmb3JtLWJlYW4mZ3Q7PC9jb2RlPiBlbGVtZW50IGluIHRoZSBTdHJ1dHMKIGNvbmZpZ3VyYXRpb24gZmlsZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9ybUJlYW5zLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnIj48Qj5BY3Rpb25Gb3JtQmVhbnM8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PEI+RGVwcmVjYXRlZC48L0I+Jm5ic3A7PEk+UmVwbGFjZWQgYnkgY29sbGVjdGlvbiBvZiBGb3JtQmVhbkNvbmZpZyBpbnN0YW5jZXMKICBpbiA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvTW9kdWxlQ29uZmlnLmh0bWwiPjxDT0RFPk1vZHVsZUNvbmZpZzwvQ09ERT48L0E+PC9JPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25Gb3J3YXJkLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnIj48Qj5BY3Rpb25Gb3J3YXJkPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uRm9yd2FyZDwvc3Ryb25nPiByZXByZXNlbnRzIGEgZGVzdGluYXRpb24gdG8gd2hpY2ggdGhlCiBjb250cm9sbGVyIHNlcnZsZXQsIDxjb2RlPkFjdGlvblNlcnZsZXQ8L2NvZGU+LCBtaWdodCBiZSBkaXJlY3RlZCB0bwogcGVyZm9ybSBhIDxjb2RlPlJlcXVlc3REaXNwYXRjaGVyLmZvcndhcmQoKTwvY29kZT4gb3IKIDxjb2RlPkh0dHBTZXJ2bGV0UmVzcG9uc2Uuc2VuZFJlZGlyZWN0KCk8L2NvZGU+IHRvLCBhcyBhIHJlc3VsdCBvZgogcHJvY2Vzc2luZyBhY3Rpdml0aWVzIG9mIGFuIDxjb2RlPkFjdGlvbjwvY29kZT4gY2xhc3MuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbkZvcndhcmRzLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnIj48Qj5BY3Rpb25Gb3J3YXJkczwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8Qj5EZXByZWNhdGVkLjwvQj4mbmJzcDs8ST5SZXBsYWNlZCBieSBjb2xsZWN0aW9uIG9mIEZvcndhcmRDb25maWcgaW5zdGFuY2VzIGluCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL01vZHVsZUNvbmZpZy5odG1sIj48Q09ERT5Nb2R1bGVDb25maWc8L0NPREU+PC9BPiBhbmQgQWN0aW9uQ29uZmlnPC9JPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25NYXBwaW5nLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnIj48Qj5BY3Rpb25NYXBwaW5nPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uTWFwcGluZzwvc3Ryb25nPiByZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiB0aGF0IHRoZQogY29udHJvbGxlciBzZXJ2bGV0LCA8Y29kZT5BY3Rpb25TZXJ2bGV0PC9jb2RlPiwga25vd3MgYWJvdXQgdGhlIG1hcHBpbmcKIG9mIGEgcGFydGljdWxhciByZXF1ZXN0IHRvIGFuIGluc3RhbmNlIG9mIGEgcGFydGljdWxhciBhY3Rpb24gY2xhc3MuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbk1hcHBpbmdzLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnIj48Qj5BY3Rpb25NYXBwaW5nczwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8Qj5EZXByZWNhdGVkLjwvQj4mbmJzcDs8ST5SZXBsYWNlZCBieSBjb2xsZWN0aW9uIG9mIEFjdGlvbkNvbmZpZyBpbnN0YW5jZXMgaW4KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvTW9kdWxlQ29uZmlnLmh0bWwiPjxDT0RFPk1vZHVsZUNvbmZpZzwvQ09ERT48L0E+PC9JPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25NZXNzYWdlcy5odG1sI29yZy5hcGFjaGUuc3RydXRzLmNvbmZpZyI+PEI+QWN0aW9uTWVzc2FnZXM8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QSBjbGFzcyB0aGF0IGVuY2Fwc3VsYXRlcyBtZXNzYWdlcy48L1REPgo8L1RSPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8QSBOQU1FPSJvcmcuYXBhY2hlLnN0cnV0cy5wbHVnaW5zIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4KQ2xhc3NlcyBpbiA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbjwvQT4gdXNlZCBieSA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9wbHVnaW5zL3BhY2thZ2Utc3VtbWFyeS5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy5wbHVnaW5zPC9BPjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25TZXJ2bGV0Lmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMucGx1Z2lucyI+PEI+QWN0aW9uU2VydmxldDwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8c3Ryb25nPkFjdGlvblNlcnZsZXQ8L3N0cm9uZz4gcmVwcmVzZW50cyB0aGUgImNvbnRyb2xsZXIiIGluIHRoZQogTW9kZWwtVmlldy1Db250cm9sbGVyIChNVkMpIGRlc2lnbiBwYXR0ZXJuIGZvciB3ZWIgYXBwbGljYXRpb25zIHRoYXQgaXMKIGNvbW1vbmx5IGtub3duIGFzICJNb2RlbCAyIi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvUGx1Z0luLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMucGx1Z2lucyI+PEI+UGx1Z0luPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0EgPHN0cm9uZz5QbHVnSW48L3N0cm9uZz4gaXMgYSBjb25maWd1cmF0aW9uIHdyYXBwZXIgZm9yIGEKIG1vZHVsZS1zcGVjaWZpYyByZXNvdXJjZSBvciBzZXJ2aWNlIHRoYXQgbmVlZHMgdG8gYmUgbm90aWZpZWQgYWJvdXQKIGFwcGxpY2F0aW9uIHN0YXJ0dXAgYW5kIGFwcGxpY2F0aW9uIHNodXRkb3duIGV2ZW50cyAoY29ycmVzcG9uZGluZyB0byB3aGVuCiB0aGUgY29udGFpbmVyIGNhbGxzIDxjb2RlPmluaXQoKTwvY29kZT4gYW5kIDxjb2RlPmRlc3Ryb3koKTwvY29kZT4gb24gdGhlCiBjb3JyZXNwb25kaW5nIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25TZXJ2bGV0Lmh0bWwiPjxDT0RFPkFjdGlvblNlcnZsZXQ8L0NPREU+PC9BPiBpbnN0YW5jZSkuPC9URD4KPC9UUj4KPC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KPEEgTkFNRT0ib3JnLmFwYWNoZS5zdHJ1dHMudGFnbGliLmh0bWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpDbGFzc2VzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPiB1c2VkIGJ5IDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL3BhY2thZ2Utc3VtbWFyeS5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy50YWdsaWIuaHRtbDwvQT48VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uTWFwcGluZy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRhZ2xpYi5odG1sIj48Qj5BY3Rpb25NYXBwaW5nPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uTWFwcGluZzwvc3Ryb25nPiByZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiB0aGF0IHRoZQogY29udHJvbGxlciBzZXJ2bGV0LCA8Y29kZT5BY3Rpb25TZXJ2bGV0PC9jb2RlPiwga25vd3MgYWJvdXQgdGhlIG1hcHBpbmcKIG9mIGEgcGFydGljdWxhciByZXF1ZXN0IHRvIGFuIGluc3RhbmNlIG9mIGEgcGFydGljdWxhciBhY3Rpb24gY2xhc3MuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvblNlcnZsZXQuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy50YWdsaWIuaHRtbCI+PEI+QWN0aW9uU2VydmxldDwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8c3Ryb25nPkFjdGlvblNlcnZsZXQ8L3N0cm9uZz4gcmVwcmVzZW50cyB0aGUgImNvbnRyb2xsZXIiIGluIHRoZQogTW9kZWwtVmlldy1Db250cm9sbGVyIChNVkMpIGRlc2lnbiBwYXR0ZXJuIGZvciB3ZWIgYXBwbGljYXRpb25zIHRoYXQgaXMKIGNvbW1vbmx5IGtub3duIGFzICJNb2RlbCAyIi48L1REPgo8L1RSPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8QSBOQU1FPSJvcmcuYXBhY2hlLnN0cnV0cy50aWxlcyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CkNsYXNzZXMgaW4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL3BhY2thZ2Utc3VtbWFyeS5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb248L0E+IHVzZWQgYnkgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLnRpbGVzPC9BPjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb24uaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy50aWxlcyI+PEI+QWN0aW9uPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uPC9zdHJvbmc+IGlzIGFuIGFkYXB0ZXIgYmV0d2VlbiB0aGUgY29udGVudHMgb2YgYW4gaW5jb21pbmcKIEhUVFAgcmVxdWVzdCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgYnVzaW5lc3MgbG9naWMgdGhhdCBzaG91bGQgYmUgZXhlY3V0ZWQgdG8KIHByb2Nlc3MgdGhpcyByZXF1ZXN0LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25Gb3JtLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMiPjxCPkFjdGlvbkZvcm08L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3JtPC9zdHJvbmc+IGlzIGEgSmF2YUJlYW4gb3B0aW9uYWxseSBhc3NvY2lhdGVkIHdpdGgKIG9uZSBvciBtb3JlIDxjb2RlPkFjdGlvbk1hcHBpbmdzPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9yd2FyZC5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzIj48Qj5BY3Rpb25Gb3J3YXJkPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uRm9yd2FyZDwvc3Ryb25nPiByZXByZXNlbnRzIGEgZGVzdGluYXRpb24gdG8gd2hpY2ggdGhlCiBjb250cm9sbGVyIHNlcnZsZXQsIDxjb2RlPkFjdGlvblNlcnZsZXQ8L2NvZGU+LCBtaWdodCBiZSBkaXJlY3RlZCB0bwogcGVyZm9ybSBhIDxjb2RlPlJlcXVlc3REaXNwYXRjaGVyLmZvcndhcmQoKTwvY29kZT4gb3IKIDxjb2RlPkh0dHBTZXJ2bGV0UmVzcG9uc2Uuc2VuZFJlZGlyZWN0KCk8L2NvZGU+IHRvLCBhcyBhIHJlc3VsdCBvZgogcHJvY2Vzc2luZyBhY3Rpdml0aWVzIG9mIGFuIDxjb2RlPkFjdGlvbjwvY29kZT4gY2xhc3MuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbk1hcHBpbmcuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy50aWxlcyI+PEI+QWN0aW9uTWFwcGluZzwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiA8c3Ryb25nPkFjdGlvbk1hcHBpbmc8L3N0cm9uZz4gcmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gdGhhdCB0aGUKIGNvbnRyb2xsZXIgc2VydmxldCwgPGNvZGU+QWN0aW9uU2VydmxldDwvY29kZT4sIGtub3dzIGFib3V0IHRoZSBtYXBwaW5nCiBvZiBhIHBhcnRpY3VsYXIgcmVxdWVzdCB0byBhbiBpbnN0YW5jZSBvZiBhIHBhcnRpY3VsYXIgYWN0aW9uIGNsYXNzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25TZXJ2bGV0Lmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMiPjxCPkFjdGlvblNlcnZsZXQ8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PHN0cm9uZz5BY3Rpb25TZXJ2bGV0PC9zdHJvbmc+IHJlcHJlc2VudHMgdGhlICJjb250cm9sbGVyIiBpbiB0aGUKIE1vZGVsLVZpZXctQ29udHJvbGxlciAoTVZDKSBkZXNpZ24gcGF0dGVybiBmb3Igd2ViIGFwcGxpY2F0aW9ucyB0aGF0IGlzCiBjb21tb25seSBrbm93biBhcyAiTW9kZWwgMiIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL1BsdWdJbi5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzIj48Qj5QbHVnSW48L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QSA8c3Ryb25nPlBsdWdJbjwvc3Ryb25nPiBpcyBhIGNvbmZpZ3VyYXRpb24gd3JhcHBlciBmb3IgYQogbW9kdWxlLXNwZWNpZmljIHJlc291cmNlIG9yIHNlcnZpY2UgdGhhdCBuZWVkcyB0byBiZSBub3RpZmllZCBhYm91dAogYXBwbGljYXRpb24gc3RhcnR1cCBhbmQgYXBwbGljYXRpb24gc2h1dGRvd24gZXZlbnRzIChjb3JyZXNwb25kaW5nIHRvIHdoZW4KIHRoZSBjb250YWluZXIgY2FsbHMgPGNvZGU+aW5pdCgpPC9jb2RlPiBhbmQgPGNvZGU+ZGVzdHJveSgpPC9jb2RlPiBvbiB0aGUKIGNvcnJlc3BvbmRpbmcgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvblNlcnZsZXQuaHRtbCI+PENPREU+QWN0aW9uU2VydmxldDwvQ09ERT48L0E+IGluc3RhbmNlKS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvUmVxdWVzdFByb2Nlc3Nvci5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzIj48Qj5SZXF1ZXN0UHJvY2Vzc29yPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxzdHJvbmc+UmVxdWVzdFByb2Nlc3Nvcjwvc3Ryb25nPiBjb250YWlucyB0aGUgcHJvY2Vzc2luZyBsb2dpYyB0aGF0CiB0aGUgU3RydXRzIGNvbnRyb2xsZXIgc2VydmxldCBwZXJmb3JtcyBhcyBpdCByZWNlaXZlcyBlYWNoIHNlcnZsZXQgcmVxdWVzdAogZnJvbSB0aGUgY29udGFpbmVyLjwvVEQ+CjwvVFI+CjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+CjxBIE5BTUU9Im9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnMiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpDbGFzc2VzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPiB1c2VkIGJ5IDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL2FjdGlvbnMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnM8L0E+PFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbi5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnMiPjxCPkFjdGlvbjwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiA8c3Ryb25nPkFjdGlvbjwvc3Ryb25nPiBpcyBhbiBhZGFwdGVyIGJldHdlZW4gdGhlIGNvbnRlbnRzIG9mIGFuIGluY29taW5nCiBIVFRQIHJlcXVlc3QgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGJ1c2luZXNzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGV4ZWN1dGVkIHRvCiBwcm9jZXNzIHRoaXMgcmVxdWVzdC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9ybS5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnMiPjxCPkFjdGlvbkZvcm08L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3JtPC9zdHJvbmc+IGlzIGEgSmF2YUJlYW4gb3B0aW9uYWxseSBhc3NvY2lhdGVkIHdpdGgKIG9uZSBvciBtb3JlIDxjb2RlPkFjdGlvbk1hcHBpbmdzPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9yd2FyZC5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnMiPjxCPkFjdGlvbkZvcndhcmQ8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3J3YXJkPC9zdHJvbmc+IHJlcHJlc2VudHMgYSBkZXN0aW5hdGlvbiB0byB3aGljaCB0aGUKIGNvbnRyb2xsZXIgc2VydmxldCwgPGNvZGU+QWN0aW9uU2VydmxldDwvY29kZT4sIG1pZ2h0IGJlIGRpcmVjdGVkIHRvCiBwZXJmb3JtIGEgPGNvZGU+UmVxdWVzdERpc3BhdGNoZXIuZm9yd2FyZCgpPC9jb2RlPiBvcgogPGNvZGU+SHR0cFNlcnZsZXRSZXNwb25zZS5zZW5kUmVkaXJlY3QoKTwvY29kZT4gdG8sIGFzIGEgcmVzdWx0IG9mCiBwcm9jZXNzaW5nIGFjdGl2aXRpZXMgb2YgYW4gPGNvZGU+QWN0aW9uPC9jb2RlPiBjbGFzcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uTWFwcGluZy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnMiPjxCPkFjdGlvbk1hcHBpbmc8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25NYXBwaW5nPC9zdHJvbmc+IHJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIHRoYXQgdGhlCiBjb250cm9sbGVyIHNlcnZsZXQsIDxjb2RlPkFjdGlvblNlcnZsZXQ8L2NvZGU+LCBrbm93cyBhYm91dCB0aGUgbWFwcGluZwogb2YgYSBwYXJ0aWN1bGFyIHJlcXVlc3QgdG8gYW4gaW5zdGFuY2Ugb2YgYSBwYXJ0aWN1bGFyIGFjdGlvbiBjbGFzcy48L1REPgo8L1RSPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8QSBOQU1FPSJvcmcuYXBhY2hlLnN0cnV0cy51cGxvYWQiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpDbGFzc2VzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPiB1c2VkIGJ5IDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3VwbG9hZC9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMudXBsb2FkPC9BPjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25NYXBwaW5nLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudXBsb2FkIj48Qj5BY3Rpb25NYXBwaW5nPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uTWFwcGluZzwvc3Ryb25nPiByZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiB0aGF0IHRoZQogY29udHJvbGxlciBzZXJ2bGV0LCA8Y29kZT5BY3Rpb25TZXJ2bGV0PC9jb2RlPiwga25vd3MgYWJvdXQgdGhlIG1hcHBpbmcKIG9mIGEgcGFydGljdWxhciByZXF1ZXN0IHRvIGFuIGluc3RhbmNlIG9mIGEgcGFydGljdWxhciBhY3Rpb24gY2xhc3MuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvblNlcnZsZXQuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy51cGxvYWQiPjxCPkFjdGlvblNlcnZsZXQ8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PHN0cm9uZz5BY3Rpb25TZXJ2bGV0PC9zdHJvbmc+IHJlcHJlc2VudHMgdGhlICJjb250cm9sbGVyIiBpbiB0aGUKIE1vZGVsLVZpZXctQ29udHJvbGxlciAoTVZDKSBkZXNpZ24gcGF0dGVybiBmb3Igd2ViIGFwcGxpY2F0aW9ucyB0aGF0IGlzCiBjb21tb25seSBrbm93biBhcyAiTW9kZWwgMiIuPC9URD4KPC9UUj4KPC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KPEEgTkFNRT0ib3JnLmFwYWNoZS5zdHJ1dHMudXRpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CkNsYXNzZXMgaW4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL3BhY2thZ2Utc3VtbWFyeS5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb248L0E+IHVzZWQgYnkgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdXRpbC9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMudXRpbDwvQT48VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRXJyb3IuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy51dGlsIj48Qj5BY3Rpb25FcnJvcjwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiBlbmNhcHN1bGF0aW9uIG9mIGFuIGluZGl2aWR1YWwgZXJyb3IgbWVzc2FnZSByZXR1cm5lZCBieSB0aGUKIDxjb2RlPnZhbGlkYXRlKCk8L2NvZGU+IG1ldGhvZCBvZiBhbiA8Y29kZT5BY3Rpb25Gb3JtPC9jb2RlPiwgY29uc2lzdGluZwogb2YgYSBtZXNzYWdlIGtleSAodG8gYmUgdXNlZCB0byBsb29rIHVwIG1lc3NhZ2UgdGV4dCBpbiBhbiBhcHByb3ByaWF0ZQogbWVzc2FnZSByZXNvdXJjZXMgZGF0YWJhc2UpIHBsdXMgdXAgdG8gZm91ciBwbGFjZWhvbGRlciBvYmplY3RzIHRoYXQgY2FuCiBiZSB1c2VkIGZvciBwYXJhbWV0cmljIHJlcGxhY2VtZW50IGluIHRoZSBtZXNzYWdlIHRleHQuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvbkVycm9ycy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnV0aWwiPjxCPkFjdGlvbkVycm9yczwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBIGNsYXNzIHRoYXQgZW5jYXBzdWxhdGVzIHRoZSBlcnJvciBtZXNzYWdlcyBiZWluZyByZXBvcnRlZCBieQogdGhlIDxjb2RlPnZhbGlkYXRlKCk8L2NvZGU+IG1ldGhvZCBvZiBhbiA8Y29kZT5BY3Rpb25Gb3JtPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9ybS5odG1sI29yZy5hcGFjaGUuc3RydXRzLnV0aWwiPjxCPkFjdGlvbkZvcm08L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25Gb3JtPC9zdHJvbmc+IGlzIGEgSmF2YUJlYW4gb3B0aW9uYWxseSBhc3NvY2lhdGVkIHdpdGgKIG9uZSBvciBtb3JlIDxjb2RlPkFjdGlvbk1hcHBpbmdzPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uTWFwcGluZy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnV0aWwiPjxCPkFjdGlvbk1hcHBpbmc8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gPHN0cm9uZz5BY3Rpb25NYXBwaW5nPC9zdHJvbmc+IHJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIHRoYXQgdGhlCiBjb250cm9sbGVyIHNlcnZsZXQsIDxjb2RlPkFjdGlvblNlcnZsZXQ8L2NvZGU+LCBrbm93cyBhYm91dCB0aGUgbWFwcGluZwogb2YgYSBwYXJ0aWN1bGFyIHJlcXVlc3QgdG8gYW4gaW5zdGFuY2Ugb2YgYSBwYXJ0aWN1bGFyIGFjdGlvbiBjbGFzcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uTWVzc2FnZXMuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy51dGlsIj48Qj5BY3Rpb25NZXNzYWdlczwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBIGNsYXNzIHRoYXQgZW5jYXBzdWxhdGVzIG1lc3NhZ2VzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25TZXJ2bGV0Lmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudXRpbCI+PEI+QWN0aW9uU2VydmxldDwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8c3Ryb25nPkFjdGlvblNlcnZsZXQ8L3N0cm9uZz4gcmVwcmVzZW50cyB0aGUgImNvbnRyb2xsZXIiIGluIHRoZQogTW9kZWwtVmlldy1Db250cm9sbGVyIChNVkMpIGRlc2lnbiBwYXR0ZXJuIGZvciB3ZWIgYXBwbGljYXRpb25zIHRoYXQgaXMKIGNvbW1vbmx5IGtub3duIGFzICJNb2RlbCAyIi48L1REPgo8L1RSPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8QSBOQU1FPSJvcmcuYXBhY2hlLnN0cnV0cy52YWxpZGF0b3IiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpDbGFzc2VzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPiB1c2VkIGJ5IDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3ZhbGlkYXRvci9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMudmFsaWRhdG9yPC9BPjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25FcnJvci5odG1sI29yZy5hcGFjaGUuc3RydXRzLnZhbGlkYXRvciI+PEI+QWN0aW9uRXJyb3I8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QW4gZW5jYXBzdWxhdGlvbiBvZiBhbiBpbmRpdmlkdWFsIGVycm9yIG1lc3NhZ2UgcmV0dXJuZWQgYnkgdGhlCiA8Y29kZT52YWxpZGF0ZSgpPC9jb2RlPiBtZXRob2Qgb2YgYW4gPGNvZGU+QWN0aW9uRm9ybTwvY29kZT4sIGNvbnNpc3RpbmcKIG9mIGEgbWVzc2FnZSBrZXkgKHRvIGJlIHVzZWQgdG8gbG9vayB1cCBtZXNzYWdlIHRleHQgaW4gYW4gYXBwcm9wcmlhdGUKIG1lc3NhZ2UgcmVzb3VyY2VzIGRhdGFiYXNlKSBwbHVzIHVwIHRvIGZvdXIgcGxhY2Vob2xkZXIgb2JqZWN0cyB0aGF0IGNhbgogYmUgdXNlZCBmb3IgcGFyYW1ldHJpYyByZXBsYWNlbWVudCBpbiB0aGUgbWVzc2FnZSB0ZXh0LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25FcnJvcnMuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy52YWxpZGF0b3IiPjxCPkFjdGlvbkVycm9yczwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBIGNsYXNzIHRoYXQgZW5jYXBzdWxhdGVzIHRoZSBlcnJvciBtZXNzYWdlcyBiZWluZyByZXBvcnRlZCBieQogdGhlIDxjb2RlPnZhbGlkYXRlKCk8L2NvZGU+IG1ldGhvZCBvZiBhbiA8Y29kZT5BY3Rpb25Gb3JtPC9jb2RlPi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvQWN0aW9uRm9ybS5odG1sI29yZy5hcGFjaGUuc3RydXRzLnZhbGlkYXRvciI+PEI+QWN0aW9uRm9ybTwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBbiA8c3Ryb25nPkFjdGlvbkZvcm08L3N0cm9uZz4gaXMgYSBKYXZhQmVhbiBvcHRpb25hbGx5IGFzc29jaWF0ZWQgd2l0aAogb25lIG9yIG1vcmUgPGNvZGU+QWN0aW9uTWFwcGluZ3M8L2NvZGU+LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL2NsYXNzLXVzZS9BY3Rpb25NYXBwaW5nLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudmFsaWRhdG9yIj48Qj5BY3Rpb25NYXBwaW5nPC9CPjwvQT48L0I+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FuIDxzdHJvbmc+QWN0aW9uTWFwcGluZzwvc3Ryb25nPiByZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiB0aGF0IHRoZQogY29udHJvbGxlciBzZXJ2bGV0LCA8Y29kZT5BY3Rpb25TZXJ2bGV0PC9jb2RlPiwga25vd3MgYWJvdXQgdGhlIG1hcHBpbmcKIG9mIGEgcGFydGljdWxhciByZXF1ZXN0IHRvIGFuIGluc3RhbmNlIG9mIGEgcGFydGljdWxhciBhY3Rpb24gY2xhc3MuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0FjdGlvblNlcnZsZXQuaHRtbCNvcmcuYXBhY2hlLnN0cnV0cy52YWxpZGF0b3IiPjxCPkFjdGlvblNlcnZsZXQ8L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PHN0cm9uZz5BY3Rpb25TZXJ2bGV0PC9zdHJvbmc+IHJlcHJlc2VudHMgdGhlICJjb250cm9sbGVyIiBpbiB0aGUKIE1vZGVsLVZpZXctQ29udHJvbGxlciAoTVZDKSBkZXNpZ24gcGF0dGVybiBmb3Igd2ViIGFwcGxpY2F0aW9ucyB0aGF0IGlzCiBjb21tb25seSBrbm93biBhcyAiTW9kZWwgMiIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vY2xhc3MtdXNlL0R5bmFBY3Rpb25Gb3JtLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudmFsaWRhdG9yIj48Qj5EeW5hQWN0aW9uRm9ybTwvQj48L0E+PC9CPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTcGVjaWFsaXplZCBzdWJjbGFzcyBvZiA8Y29kZT5BY3Rpb25Gb3JtPC9jb2RlPiB0aGF0IGFsbG93cyB0aGUgY3JlYXRpb24KIG9mIGZvcm0gYmVhbnMgd2l0aCBkeW5hbWljIHNldHMgb2YgcHJvcGVydGllcywgd2l0aG91dCByZXF1aXJpbmcgdGhlCiBkZXZlbG9wZXIgdG8gY3JlYXRlIGEgSmF2YSBjbGFzcyBmb3IgZWFjaCB0eXBlIG9mIGZvcm0gYmVhbi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9jbGFzcy11c2UvUGx1Z0luLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudmFsaWRhdG9yIj48Qj5QbHVnSW48L0I+PC9BPjwvQj4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QSA8c3Ryb25nPlBsdWdJbjwvc3Ryb25nPiBpcyBhIGNvbmZpZ3VyYXRpb24gd3JhcHBlciBmb3IgYQogbW9kdWxlLXNwZWNpZmljIHJlc291cmNlIG9yIHNlcnZpY2UgdGhhdCBuZWVkcyB0byBiZSBub3RpZmllZCBhYm91dAogYXBwbGljYXRpb24gc3RhcnR1cCBhbmQgYXBwbGljYXRpb24gc2h1dGRvd24gZXZlbnRzIChjb3JyZXNwb25kaW5nIHRvIHdoZW4KIHRoZSBjb250YWluZXIgY2FsbHMgPGNvZGU+aW5pdCgpPC9jb2RlPiBhbmQgPGNvZGU+ZGVzdHJveSgpPC9jb2RlPiBvbiB0aGUKIGNvcnJlc3BvbmRpbmcgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvblNlcnZsZXQuaHRtbCI+PENPREU+QWN0aW9uU2VydmxldDwvQ09ERT48L0E+IGluc3RhbmNlKS48L1REPgo8L1RSPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8SFI+Cgo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+CjxBIE5BTUU9Im5hdmJhcl9ib3R0b20iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4KPFRSPgo8VEQgQ09MU1BBTj0zIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+CjxBIE5BTUU9Im5hdmJhcl9ib3R0b21fZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPgogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPkNsYXNzPC9GT05UPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+VXNlPC9CPjwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8L1RSPgo8L1RBQkxFPgo8L1REPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4KPC9FTT4KPC9URD4KPC9UUj4KCjxUUj4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KJm5ic3A7UFJFViZuYnNwOwombmJzcDtORVhUPC9GT05UPjwvVEQ+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOzxBIEhSRUY9InBhY2thZ2UtdXNlLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDsKPFNDUklQVD4KICA8IS0tCiAgaWYod2luZG93PT10b3ApIHsKICAgIGRvY3VtZW50LndyaXRlbG4oJzxBIEhSRUY9Ii4uLy4uLy4uLy4uL2FsbGNsYXNzZXMtbm9mcmFtZS5odG1sIiBUQVJHRVQ9IiI+PEI+QWxsIENsYXNzZXM8L0I+PC9BPicpOwogIH0KICAvLy0tPgo8L1NDUklQVD4KPE5PU0NSSVBUPgo8QSBIUkVGPSIuLi8uLi8uLi8uLi9hbGxjbGFzc2VzLW5vZnJhbWUuaHRtbCIgVEFSR0VUPSIiPjxCPkFsbCBDbGFzc2VzPC9CPjwvQT4KPC9OT1NDUklQVD4KPC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4KCjxIUj4KQ29weXJpZ2h0IKkgMjAwMC0yMDAzIC0gQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KPC9CT0RZPgo8L0hUTUw+Cg==