PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CjwhLS1OZXdQYWdlLS0+CjxIVE1MPgo8SEVBRD4KPCEtLSBHZW5lcmF0ZWQgYnkgamF2YWRvYyBvbiBGcmkgQXVnIDIyIDAzOjQ0OjAwIEVEVCAyMDAzIC0tPgo8VElUTEU+CkkxOG5GYWN0b3J5U2V0IChBcGFjaGUgU3RydXRzIEFQSSBEb2N1bWVudGF0aW9uKQo8L1RJVExFPgo8TUVUQSBOQU1FPSJrZXl3b3JkcyIgQ09OVEVOVD0ib3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMueG1sRGVmaW5pdGlvbi5JMThuRmFjdG9yeVNldCxJMThuRmFjdG9yeVNldCBjbGFzcyI+CjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4KPC9IRUFEPgo8U0NSSVBUPgpmdW5jdGlvbiBhc2QoKQp7CnBhcmVudC5kb2N1bWVudC50aXRsZT0iSTE4bkZhY3RvcnlTZXQgKEFwYWNoZSBTdHJ1dHMgQVBJIERvY3VtZW50YXRpb24pIjsKfQo8L1NDUklQVD4KPEJPRFkgQkdDT0xPUj0id2hpdGUiIG9ubG9hZD0iYXNkKCk7Ij4KCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4KPEEgTkFNRT0ibmF2YmFyX3RvcCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPgo8VFI+CjxURCBDT0xTUEFOPTMgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4KPEEgTkFNRT0ibmF2YmFyX3RvcF9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+CiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9JMThuRmFjdG9yeVNldC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDwvVFI+CjwvVEFCTEU+CjwvVEQ+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPgo8L0VNPgo8L1REPgo8L1RSPgoKPFRSPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0ZhY3RvcnlTZXQuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7CiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vWG1sQXR0cmlidXRlLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJJMThuRmFjdG9yeVNldC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+ICAmbmJzcDsKJm5ic3A7CjxTQ1JJUFQ+CiAgPCEtLQogIGlmKHdpbmRvdz09dG9wKSB7CiAgICBkb2N1bWVudC53cml0ZWxuKCc8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9hbGxjbGFzc2VzLW5vZnJhbWUuaHRtbCIgVEFSR0VUPSIiPjxCPkFsbCBDbGFzc2VzPC9CPjwvQT4nKTsKICB9CiAgLy8tLT4KPC9TQ1JJUFQ+CjxOT1NDUklQVD4KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vYWxsY2xhc3Nlcy1ub2ZyYW1lLmh0bWwiIFRBUkdFVD0iIj48Qj5BbGwgQ2xhc3NlczwvQj48L0E+CjwvTk9TQ1JJUFQ+CjwvRk9OVD48L1REPgo8L1RSPgo8VFI+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CiAgU1VNTUFSWTombmJzcDtORVNURUQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KREVUQUlMOiZuYnNwOzxBIEhSRUY9IiNmaWVsZF9kZXRhaWwiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4KCjxIUj4KPCEtLSA9PT09PT09PSBTVEFSVCBPRiBDTEFTUyBEQVRBID09PT09PT09IC0tPgo8SDI+CjxGT05UIFNJWkU9Ii0xIj4Kb3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMueG1sRGVmaW5pdGlvbjwvRk9OVD4KPEJSPgpDbGFzcyBJMThuRmFjdG9yeVNldDwvSDI+CjxQUkU+CmphdmEubGFuZy5PYmplY3QKICB8CiAgKy0tPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9GYWN0b3J5U2V0Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uRmFjdG9yeVNldDwvQT4KICAgICAgICB8CiAgICAgICAgKy0tPEI+b3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMueG1sRGVmaW5pdGlvbi5JMThuRmFjdG9yeVNldDwvQj4KPC9QUkU+CjxETD4KPERUPjxCPkFsbCBJbXBsZW1lbnRlZCBJbnRlcmZhY2VzOjwvQj4gPEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL0NvbXBvbmVudERlZmluaXRpb25zRmFjdG9yeS5odG1sIj5Db21wb25lbnREZWZpbml0aW9uc0ZhY3Rvcnk8L0E+LCBqYXZhLmlvLlNlcmlhbGl6YWJsZTwvREQ+CjwvREw+CjxIUj4KPERMPgo8RFQ+cHVibGljIGNsYXNzIDxCPkkxOG5GYWN0b3J5U2V0PC9CPjxEVD5leHRlbmRzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRmFjdG9yeVNldC5odG1sIj5GYWN0b3J5U2V0PC9BPjwvREw+Cgo8UD4KRGVmaW5pdGlvbnMgZmFjdG9yeS4KIFRoaXMgaW1wbGVtZW50YXRpb24gYWxsb3dzIHRvIGhhdmUgYSBzZXQgb2YgZGVmaW5pdGlvbiBmYWN0b3JpZXMuCiBUaGVyZSBpcyBhIG1haW4gZmFjdG9yeSBhbmQgb25lIGZhY3RvcnkgZm9yIGVhY2ggZmlsZSBhc3NvY2lhdGVkIHRvIGEgTG9jYWxlLgoKIFRvIHJldHJpZXZlIGEgZGVmaW5pdGlvbiwgd2UgZmlyc3Qgc2VhcmNoIGZvciB0aGUgYXBwcm9wcmlhdGUgZmFjdG9yeSB1c2luZwogdGhlIExvY2FsZSBmb3VuZCBpbiBzZXNzaW9uIGNvbnRleHQuIElmIG5vIGZhY3RvcnkgaXMgZm91bmQsIHVzZSB0aGUKIGRlZmF1bHQgb25lLiBUaGVuIHdlIGFzayB0aGUgZmFjdG9yeSBmb3IgdGhlIGRlZmluaXRpb24uCgogQSBkZWZpbml0aW9uIGZhY3RvcnkgZmlsZSBpcyBsb2FkZWQgdXNpbmcgbWFpbiBmaWxlbmFtZSBleHRlbmRlZCB3aXRoIGxvY2FsZSBjb2RlCiAoZXggOiA8Y29kZT50ZW1wbGF0ZURlZmluaXRpb25zX2ZyLnhtbDwvY29kZT4pLiBJZiBubyBmaWxlIGlzIGZvdW5kIHVuZGVyIHRoaXMgbmFtZSwgdXNlIGRlZmF1bHQgZmlsZS4KPFA+Cgo8UD4KPERMPgo8RFQ+PEI+U2VlIEFsc286PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9zZXJpYWxpemVkLWZvcm0uaHRtbCIgVEFSR0VUPSJvcmcuYXBhY2hlLnN0cnV0cy50aWxlcy54bWxEZWZpbml0aW9uLkkxOG5GYWN0b3J5U2V0Ij5TZXJpYWxpemVkIEZvcm08L0E+PC9ETD4KPEhSPgoKPFA+CjwhLS0gPT09PT09PT0gTkVTVEVEIENMQVNTIFNVTU1BUlkgPT09PT09PT0gLS0+CgoKPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPgoKPEEgTkFNRT0iZmllbGRfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CjxCPkZpZWxkIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnN0YXRpYyZuYnNwO2phdmEubGFuZy5TdHJpbmdbXTwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNERUZBVUxUX0RFRklOSVRJT05fRklMRU5BTUVTIj5ERUZBVUxUX0RFRklOSVRJT05fRklMRU5BTUVTPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Bvc3NpYmxlIGRlZmluaXRpb24gZmlsZW5hbWVzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0RlZmluaXRpb25zRmFjdG9yeS5odG1sIj5EZWZpbml0aW9uc0ZhY3Rvcnk8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI2RlZmF1bHRGYWN0b3J5Ij5kZWZhdWx0RmFjdG9yeTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtEZWZhdWx0IGZhY3RvcnkuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+c3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNERUZJTklUSU9OU19DT05GSUdfUEFSQU1FVEVSX05BTUUiPkRFRklOSVRJT05TX0NPTkZJR19QQVJBTUVURVJfTkFNRTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb25maWcgZmlsZSBwYXJhbWV0ZXIgbmFtZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5zdGF0aWMmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI0ZJTEVOQU1FX0VYVEVOU0lPTiI+RklMRU5BTUVfRVhURU5TSU9OPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0RlZmF1bHQgZmlsZW5hbWVzIGV4dGVuc2lvbi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcml2YXRlICZuYnNwO2phdmEudXRpbC5MaXN0PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI2ZpbGVuYW1lcyI+ZmlsZW5hbWVzPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO05hbWVzIG9mIGZpbGVzIGNvbnRhaW5pbmcgaW5zdGFuY2VzIGRlc2NyaXB0aW9ucy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5zdGF0aWMmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI0lOU1RBTkNFU19DT05GSUdfUEFSQU1FVEVSX05BTUUiPklOU1RBTkNFU19DT05GSUdfUEFSQU1FVEVSX05BTUU8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PEI+RGVwcmVjYXRlZC48L0I+Jm5ic3A7PEk+dXNlIERFRklOSVRJT05TX0NPTkZJR19QQVJBTUVURVJfTkFNRTwvST48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNpc1ZhbGlkYXRpbmdQYXJzZXIiPmlzVmFsaWRhdGluZ1BhcnNlcjwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtEbyB3ZSB3YW50IHZhbGlkYXRpbmcgcGFyc2VyLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByaXZhdGUgJm5ic3A7amF2YS51dGlsLk1hcDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNsb2FkZWQiPmxvYWRlZDwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb2xsZWN0aW9uIG9mIGFscmVhZHkgbG9hZGVkIGRlZmluaXRpb25zIHNldCwgcmVmZXJlbmNlZCBieSB0aGVpciBzdWZmaXguPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkIHN0YXRpYyZuYnNwO29yZy5hcGFjaGUuY29tbW9ucy5sb2dnaW5nLkxvZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNsb2ciPmxvZzwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb21tb25zIExvZ2dpbmcgaW5zdGFuY2UuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJpdmF0ZSBzdGF0aWMmbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0kxOG5GYWN0b3J5U2V0Lmh0bWwjTUFYX0JVTkRMRVNfU0VBUkNIRUQiPk1BWF9CVU5ETEVTX1NFQVJDSEVEPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO01heGltdW0gbGVuZ3RoIG9mIG9uZSBicmFuY2ggb2YgdGhlIHJlc291cmNlIHNlYXJjaCBwYXRoIHRyZWUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+c3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNQQVJTRVJfREVUQUlMU19QQVJBTUVURVJfTkFNRSI+UEFSU0VSX0RFVEFJTFNfUEFSQU1FVEVSX05BTUU8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29uZmlnIGZpbGUgcGFyYW1ldGVyIG5hbWUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+c3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNQQVJTRVJfVkFMSURBVEVfUEFSQU1FVEVSX05BTUUiPlBBUlNFUl9WQUxJREFURV9QQVJBTUVURVJfTkFNRTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb25maWcgZmlsZSBwYXJhbWV0ZXIgbmFtZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI3BhcnNlckRldGFpbExldmVsIj5wYXJzZXJEZXRhaWxMZXZlbDwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQYXJzZXIgZGV0YWlsIGxldmVsLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL1htbFBhcnNlci5odG1sIj5YbWxQYXJzZXI8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI3htbFBhcnNlciI+eG1sUGFyc2VyPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1htbCBwYXJzZXIgdXNlZC48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDs8QSBOQU1FPSJmaWVsZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMueG1sRGVmaW5pdGlvbi5GYWN0b3J5U2V0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9GYWN0b3J5U2V0Lmh0bWwiPkZhY3RvcnlTZXQ8L0E+PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9GYWN0b3J5U2V0Lmh0bWwjZmFjdG9yaWVzIj5mYWN0b3JpZXM8L0E+PC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8IS0tID09PT09PT09IENPTlNUUlVDVE9SIFNVTU1BUlkgPT09PT09PT0gLS0+Cgo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0kxOG5GYWN0b3J5U2V0Lmh0bWwjSTE4bkZhY3RvcnlTZXQoKSI+STE4bkZhY3RvcnlTZXQ8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQYXJhbWV0ZXJsZXNzIENvbnN0cnVjdG9yLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI0kxOG5GYWN0b3J5U2V0KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQsIGphdmEudXRpbC5NYXApIj5JMThuRmFjdG9yeVNldDwvQT48L0I+KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQmbmJzcDtzZXJ2bGV0Q29udGV4dCwKICAgICAgICAgICAgICAgamF2YS51dGlsLk1hcCZuYnNwO3Byb3BlcnRpZXMpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb25zdHJ1Y3Rvci48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPCEtLSA9PT09PT09PT09IE1FVEhPRCBTVU1NQVJZID09PT09PT09PT09IC0tPgoKPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJpdmF0ZSBzdGF0aWMmbmJzcDtqYXZhLnV0aWwuTGlzdDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNjYWxjdWxhdGVQb3N0aXhlcyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLnV0aWwuTG9jYWxlKSI+Y2FsY3VsYXRlUG9zdGl4ZXM8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YmFzZU5hbWUsCiAgICAgICAgICAgICAgICAgIGphdmEudXRpbC5Mb2NhbGUmbmJzcDtsb2NhbGUpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDYWxjdWxhdGUgdGhlIHBvc3RpeGVzIGFsb25nIHRoZSBzZWFyY2ggcGF0aCBmcm9tIHRoZSBiYXNlIGJ1bmRsZSB0byB0aGUKIGJ1bmRsZSBzcGVjaWZpZWQgYnkgYmFzZU5hbWUgYW5kIGxvY2FsZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcml2YXRlICZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0kxOG5GYWN0b3J5U2V0Lmh0bWwjY29uY2F0UG9zdGZpeChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+Y29uY2F0UG9zdGZpeDwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtwb3N0Zml4KTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29uY2F0IHBvc3RmaXggdG8gdGhlIG5hbWUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRGVmaW5pdGlvbnNGYWN0b3J5Lmh0bWwiPkRlZmluaXRpb25zRmFjdG9yeTwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0kxOG5GYWN0b3J5U2V0Lmh0bWwjY3JlYXRlRGVmYXVsdEZhY3RvcnkoamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCkiPmNyZWF0ZURlZmF1bHRGYWN0b3J5PC9BPjwvQj4oamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCZuYnNwO3NlcnZsZXRDb250ZXh0KTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGRlZmF1bHQgZmFjdG9yeSAuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRGVmaW5pdGlvbnNGYWN0b3J5Lmh0bWwiPkRlZmluaXRpb25zRmFjdG9yeTwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0kxOG5GYWN0b3J5U2V0Lmh0bWwjY3JlYXRlRmFjdG9yeShqYXZhLmxhbmcuT2JqZWN0LCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0KSI+Y3JlYXRlRmFjdG9yeTwvQT48L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDtrZXksCiAgICAgICAgICAgICAgamF2YXguc2VydmxldC5TZXJ2bGV0UmVxdWVzdCZuYnNwO3JlcXVlc3QsCiAgICAgICAgICAgICAgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCZuYnNwO3NlcnZsZXRDb250ZXh0KTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGEgZmFjdG9yeSBmb3Igc3BlY2lmaWVkIGtleS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9EZWZpbml0aW9uc0ZhY3RvcnkuaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5PC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCNnZXREZWZhdWx0RmFjdG9yeSgpIj5nZXREZWZhdWx0RmFjdG9yeTwvQT48L0I+KCk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCBkZWZhdWx0IGZhY3RvcnkuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO2phdmEubGFuZy5PYmplY3Q8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0kxOG5GYWN0b3J5U2V0Lmh0bWwjZ2V0RGVmaW5pdGlvbnNGYWN0b3J5S2V5KGphdmEubGFuZy5TdHJpbmcsIGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQpIj5nZXREZWZpbml0aW9uc0ZhY3RvcnlLZXk8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgIGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCZuYnNwO3NlcnZsZXRDb250ZXh0KTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RXh0cmFjdCBrZXkgdGhhdCB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSBzdWIgZmFjdG9yeS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI2luaXRGYWN0b3J5KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQsIGphdmEudXRpbC5NYXApIj5pbml0RmFjdG9yeTwvQT48L0I+KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQmbmJzcDtzZXJ2bGV0Q29udGV4dCwKICAgICAgICAgICAgamF2YS51dGlsLk1hcCZuYnNwO3Byb3BlcnRpZXMpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtJbml0aWFsaXphdGlvbiBtZXRob2QuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0kxOG5GYWN0b3J5U2V0Lmh0bWwjaW5pdEZhY3RvcnkoamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCwgamF2YS5sYW5nLlN0cmluZykiPmluaXRGYWN0b3J5PC9BPjwvQj4oamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCZuYnNwO3NlcnZsZXRDb250ZXh0LAogICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cHJvcG9zZWRGaWxlbmFtZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0luaXRpYWxpemF0aW9uIG1ldGhvZC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcml2YXRlICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vWG1sRGVmaW5pdGlvbnNTZXQuaHRtbCI+WG1sRGVmaW5pdGlvbnNTZXQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI3BhcnNlWG1sRmlsZShqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0LCBqYXZhLmxhbmcuU3RyaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy50aWxlcy54bWxEZWZpbml0aW9uLlhtbERlZmluaXRpb25zU2V0KSI+cGFyc2VYbWxGaWxlPC9BPjwvQj4oamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCZuYnNwO3NlcnZsZXRDb250ZXh0LAogICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2ZpbGVuYW1lLAogICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9YbWxEZWZpbml0aW9uc1NldC5odG1sIj5YbWxEZWZpbml0aW9uc1NldDwvQT4mbmJzcDt4bWxEZWZpbml0aW9ucyk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BhcnNlIHNwZWNpZmllZCB4bWwgZmlsZSBhbmQgYWRkIGRlZmluaXRpb24gdG8gc3BlY2lmaWVkIGRlZmluaXRpb25zIHNldC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcml2YXRlICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vWG1sRGVmaW5pdGlvbnNTZXQuaHRtbCI+WG1sRGVmaW5pdGlvbnNTZXQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI3BhcnNlWG1sRmlsZXMoamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCwgamF2YS5sYW5nLlN0cmluZywgb3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMueG1sRGVmaW5pdGlvbi5YbWxEZWZpbml0aW9uc1NldCkiPnBhcnNlWG1sRmlsZXM8L0E+PC9CPihqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0Jm5ic3A7c2VydmxldENvbnRleHQsCiAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3Bvc3RmaXgsCiAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9YbWxEZWZpbml0aW9uc1NldC5odG1sIj5YbWxEZWZpbml0aW9uc1NldDwvQT4mbmJzcDt4bWxEZWZpbml0aW9ucyk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BhcnNlIGZpbGVzIGFzc29jaWF0ZWQgdG8gcG9zdGl4IGlmIHRoZXkgZXhpc3QuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vSTE4bkZhY3RvcnlTZXQuaHRtbCN0b1N0cmluZygpIj50b1N0cmluZzwvQT48L0I+KCk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JldHVybiBTdHJpbmcgcmVwcmVzZW50YXRpb24uPC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnN0cnV0cy50aWxlcy54bWxEZWZpbml0aW9uLkZhY3RvcnlTZXQiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+CjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9GYWN0b3J5U2V0Lmh0bWwiPkZhY3RvcnlTZXQ8L0E+PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9GYWN0b3J5U2V0Lmh0bWwjZ2V0RGVmaW5pdGlvbihqYXZhLmxhbmcuU3RyaW5nLCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0KSI+Z2V0RGVmaW5pdGlvbjwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRmFjdG9yeVNldC5odG1sI2dldEZhY3RvcnkoamF2YS5sYW5nLk9iamVjdCwgamF2YXguc2VydmxldC5TZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCkiPmdldEZhY3Rvcnk8L0E+PC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3NfamF2YS5sYW5nLk9iamVjdCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPmNsb25lLCBlcXVhbHMsIGZpbmFsaXplLCBnZXRDbGFzcywgaGFzaENvZGUsIG5vdGlmeSwgbm90aWZ5QWxsLCB3YWl0LCB3YWl0LCB3YWl0PC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4KCjxBIE5BTUU9ImZpZWxkX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+CjxCPkZpZWxkIERldGFpbDwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KCjxBIE5BTUU9ImxvZyI+PCEtLSAtLT48L0E+PEgzPgpsb2c8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgc3RhdGljIG9yZy5hcGFjaGUuY29tbW9ucy5sb2dnaW5nLkxvZyA8Qj5sb2c8L0I+PC9QUkU+CjxETD4KPEREPkNvbW1vbnMgTG9nZ2luZyBpbnN0YW5jZS4KPFA+CjxETD4KPC9ETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iSU5TVEFOQ0VTX0NPTkZJR19QQVJBTUVURVJfTkFNRSI+PCEtLSAtLT48L0E+PEgzPgpJTlNUQU5DRVNfQ09ORklHX1BBUkFNRVRFUl9OQU1FPC9IMz4KPFBSRT4KcHVibGljIHN0YXRpYyBmaW5hbCBqYXZhLmxhbmcuU3RyaW5nIDxCPklOU1RBTkNFU19DT05GSUdfUEFSQU1FVEVSX05BTUU8L0I+PC9QUkU+CjxETD4KPEREPjxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwOzxJPnVzZSBERUZJTklUSU9OU19DT05GSUdfUEFSQU1FVEVSX05BTUU8L0k+CjxQPgo8REQ+Q29uZmlnIGZpbGUgcGFyYW1ldGVyIG5hbWUuCjxQPgo8REw+CjxEVD48Qj5TZWUgQWxzbzo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2NvbnN0YW50LXZhbHVlcy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uSTE4bkZhY3RvcnlTZXQuSU5TVEFOQ0VTX0NPTkZJR19QQVJBTUVURVJfTkFNRSI+Q29uc3RhbnQgRmllbGQgVmFsdWVzPC9BPjwvREw+CjwvREw+CjxIUj4KCjxBIE5BTUU9IkRFRklOSVRJT05TX0NPTkZJR19QQVJBTUVURVJfTkFNRSI+PCEtLSAtLT48L0E+PEgzPgpERUZJTklUSU9OU19DT05GSUdfUEFSQU1FVEVSX05BTUU8L0gzPgo8UFJFPgpwdWJsaWMgc3RhdGljIGZpbmFsIGphdmEubGFuZy5TdHJpbmcgPEI+REVGSU5JVElPTlNfQ09ORklHX1BBUkFNRVRFUl9OQU1FPC9CPjwvUFJFPgo8REw+CjxERD5Db25maWcgZmlsZSBwYXJhbWV0ZXIgbmFtZS4KPFA+CjxETD4KPERUPjxCPlNlZSBBbHNvOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vY29uc3RhbnQtdmFsdWVzLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMueG1sRGVmaW5pdGlvbi5JMThuRmFjdG9yeVNldC5ERUZJTklUSU9OU19DT05GSUdfUEFSQU1FVEVSX05BTUUiPkNvbnN0YW50IEZpZWxkIFZhbHVlczwvQT48L0RMPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJQQVJTRVJfREVUQUlMU19QQVJBTUVURVJfTkFNRSI+PCEtLSAtLT48L0E+PEgzPgpQQVJTRVJfREVUQUlMU19QQVJBTUVURVJfTkFNRTwvSDM+CjxQUkU+CnB1YmxpYyBzdGF0aWMgZmluYWwgamF2YS5sYW5nLlN0cmluZyA8Qj5QQVJTRVJfREVUQUlMU19QQVJBTUVURVJfTkFNRTwvQj48L1BSRT4KPERMPgo8REQ+Q29uZmlnIGZpbGUgcGFyYW1ldGVyIG5hbWUuCjxQPgo8REw+CjxEVD48Qj5TZWUgQWxzbzo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2NvbnN0YW50LXZhbHVlcy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uSTE4bkZhY3RvcnlTZXQuUEFSU0VSX0RFVEFJTFNfUEFSQU1FVEVSX05BTUUiPkNvbnN0YW50IEZpZWxkIFZhbHVlczwvQT48L0RMPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJQQVJTRVJfVkFMSURBVEVfUEFSQU1FVEVSX05BTUUiPjwhLS0gLS0+PC9BPjxIMz4KUEFSU0VSX1ZBTElEQVRFX1BBUkFNRVRFUl9OQU1FPC9IMz4KPFBSRT4KcHVibGljIHN0YXRpYyBmaW5hbCBqYXZhLmxhbmcuU3RyaW5nIDxCPlBBUlNFUl9WQUxJREFURV9QQVJBTUVURVJfTkFNRTwvQj48L1BSRT4KPERMPgo8REQ+Q29uZmlnIGZpbGUgcGFyYW1ldGVyIG5hbWUuCjxQPgo8REw+CjxEVD48Qj5TZWUgQWxzbzo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2NvbnN0YW50LXZhbHVlcy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uSTE4bkZhY3RvcnlTZXQuUEFSU0VSX1ZBTElEQVRFX1BBUkFNRVRFUl9OQU1FIj5Db25zdGFudCBGaWVsZCBWYWx1ZXM8L0E+PC9ETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iREVGQVVMVF9ERUZJTklUSU9OX0ZJTEVOQU1FUyI+PCEtLSAtLT48L0E+PEgzPgpERUZBVUxUX0RFRklOSVRJT05fRklMRU5BTUVTPC9IMz4KPFBSRT4KcHVibGljIHN0YXRpYyBmaW5hbCBqYXZhLmxhbmcuU3RyaW5nW10gPEI+REVGQVVMVF9ERUZJTklUSU9OX0ZJTEVOQU1FUzwvQj48L1BSRT4KPERMPgo8REQ+UG9zc2libGUgZGVmaW5pdGlvbiBmaWxlbmFtZXMuCjxQPgo8REw+CjwvREw+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImRlZmF1bHRGYWN0b3J5Ij48IS0tIC0tPjwvQT48SDM+CmRlZmF1bHRGYWN0b3J5PC9IMz4KPFBSRT4KcHJvdGVjdGVkIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRGVmaW5pdGlvbnNGYWN0b3J5Lmh0bWwiPkRlZmluaXRpb25zRmFjdG9yeTwvQT4gPEI+ZGVmYXVsdEZhY3Rvcnk8L0I+PC9QUkU+CjxETD4KPEREPkRlZmF1bHQgZmFjdG9yeS4KPFA+CjxETD4KPC9ETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ieG1sUGFyc2VyIj48IS0tIC0tPjwvQT48SDM+CnhtbFBhcnNlcjwvSDM+CjxQUkU+CnByb3RlY3RlZCB0cmFuc2llbnQgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9YbWxQYXJzZXIuaHRtbCI+WG1sUGFyc2VyPC9BPiA8Qj54bWxQYXJzZXI8L0I+PC9QUkU+CjxETD4KPEREPlhtbCBwYXJzZXIgdXNlZC4KICBBdHRyaWJ1dGUgaXMgdHJhbnNpZW50IHRvIGFsbG93IHNlcmlhbGl6YXRpb24uIEluIHRoaXMgaW1wbGVtZW50YWl0b24sCiAgeG1sUGFyc2VyIGlzIGNyZWF0ZWQgZWFjaCB0aW1lIHdlIG5lZWQgaXQgOy0oLgo8UD4KPERMPgo8L0RMPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJpc1ZhbGlkYXRpbmdQYXJzZXIiPjwhLS0gLS0+PC9BPjxIMz4KaXNWYWxpZGF0aW5nUGFyc2VyPC9IMz4KPFBSRT4KcHJvdGVjdGVkIGJvb2xlYW4gPEI+aXNWYWxpZGF0aW5nUGFyc2VyPC9CPjwvUFJFPgo8REw+CjxERD5EbyB3ZSB3YW50IHZhbGlkYXRpbmcgcGFyc2VyLiBEZWZhdWx0IGlzIDxjb2RlPmZhbHNlPC9jb2RlPi4KICBDYW4gYmUgc2V0IGZyb20gc2VydmxldCBjb25maWcgZmlsZS4KPFA+CjxETD4KPC9ETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0icGFyc2VyRGV0YWlsTGV2ZWwiPjwhLS0gLS0+PC9BPjxIMz4KcGFyc2VyRGV0YWlsTGV2ZWw8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgaW50IDxCPnBhcnNlckRldGFpbExldmVsPC9CPjwvUFJFPgo8REw+CjxERD5QYXJzZXIgZGV0YWlsIGxldmVsLiBEZWZhdWx0IGlzIDAuCiAgQ2FuIGJlIHNldCBmcm9tIHNlcnZsZXQgY29uZmlnIGZpbGUuCjxQPgo8REw+CjwvREw+CjwvREw+CjxIUj4KCjxBIE5BTUU9Ik1BWF9CVU5ETEVTX1NFQVJDSEVEIj48IS0tIC0tPjwvQT48SDM+Ck1BWF9CVU5ETEVTX1NFQVJDSEVEPC9IMz4KPFBSRT4KcHJpdmF0ZSBzdGF0aWMgZmluYWwgaW50IDxCPk1BWF9CVU5ETEVTX1NFQVJDSEVEPC9CPjwvUFJFPgo8REw+CjxERD5NYXhpbXVtIGxlbmd0aCBvZiBvbmUgYnJhbmNoIG9mIHRoZSByZXNvdXJjZSBzZWFyY2ggcGF0aCB0cmVlLgogVXNlZCBpbiBnZXRCdW5kbGUoKS4KPFA+CjxETD4KPERUPjxCPlNlZSBBbHNvOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vY29uc3RhbnQtdmFsdWVzLmh0bWwjb3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMueG1sRGVmaW5pdGlvbi5JMThuRmFjdG9yeVNldC5NQVhfQlVORExFU19TRUFSQ0hFRCI+Q29uc3RhbnQgRmllbGQgVmFsdWVzPC9BPjwvREw+CjwvREw+CjxIUj4KCjxBIE5BTUU9IkZJTEVOQU1FX0VYVEVOU0lPTiI+PCEtLSAtLT48L0E+PEgzPgpGSUxFTkFNRV9FWFRFTlNJT048L0gzPgo8UFJFPgpwdWJsaWMgc3RhdGljIGZpbmFsIGphdmEubGFuZy5TdHJpbmcgPEI+RklMRU5BTUVfRVhURU5TSU9OPC9CPjwvUFJFPgo8REw+CjxERD5EZWZhdWx0IGZpbGVuYW1lcyBleHRlbnNpb24uCjxQPgo8REw+CjxEVD48Qj5TZWUgQWxzbzo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2NvbnN0YW50LXZhbHVlcy5odG1sI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uSTE4bkZhY3RvcnlTZXQuRklMRU5BTUVfRVhURU5TSU9OIj5Db25zdGFudCBGaWVsZCBWYWx1ZXM8L0E+PC9ETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZmlsZW5hbWVzIj48IS0tIC0tPjwvQT48SDM+CmZpbGVuYW1lczwvSDM+CjxQUkU+CnByaXZhdGUgamF2YS51dGlsLkxpc3QgPEI+ZmlsZW5hbWVzPC9CPjwvUFJFPgo8REw+CjxERD5OYW1lcyBvZiBmaWxlcyBjb250YWluaW5nIGluc3RhbmNlcyBkZXNjcmlwdGlvbnMuCjxQPgo8REw+CjwvREw+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImxvYWRlZCI+PCEtLSAtLT48L0E+PEgzPgpsb2FkZWQ8L0gzPgo8UFJFPgpwcml2YXRlIGphdmEudXRpbC5NYXAgPEI+bG9hZGVkPC9CPjwvUFJFPgo8REw+CjxERD5Db2xsZWN0aW9uIG9mIGFscmVhZHkgbG9hZGVkIGRlZmluaXRpb25zIHNldCwgcmVmZXJlbmNlZCBieSB0aGVpciBzdWZmaXguCjxQPgo8REw+CjwvREw+CjwvREw+Cgo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+Cgo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5Db25zdHJ1Y3RvciBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJJMThuRmFjdG9yeVNldCgpIj48IS0tIC0tPjwvQT48SDM+CkkxOG5GYWN0b3J5U2V0PC9IMz4KPFBSRT4KcHVibGljIDxCPkkxOG5GYWN0b3J5U2V0PC9CPigpPC9QUkU+CjxETD4KPEREPlBhcmFtZXRlcmxlc3MgQ29uc3RydWN0b3IuCiBNZXRob2QgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9JMThuRmFjdG9yeVNldC5odG1sI2luaXRGYWN0b3J5KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQsIGphdmEudXRpbC5NYXApIj48Q09ERT5pbml0RmFjdG9yeShqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0LCBqYXZhLnV0aWwuTWFwKTwvQ09ERT48L0E+IG11c3QgYmUgY2FsbGVkIHByaW9yIHRvIGFueSB1c2Ugb2YgY3JlYXRlZCBmYWN0b3J5Lgo8UD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iSTE4bkZhY3RvcnlTZXQoamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCwgamF2YS51dGlsLk1hcCkiPjwhLS0gLS0+PC9BPjxIMz4KSTE4bkZhY3RvcnlTZXQ8L0gzPgo8UFJFPgpwdWJsaWMgPEI+STE4bkZhY3RvcnlTZXQ8L0I+KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQmbmJzcDtzZXJ2bGV0Q29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgIGphdmEudXRpbC5NYXAmbmJzcDtwcm9wZXJ0aWVzKQogICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvRGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uLmh0bWwiPkRlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbjwvQT48L1BSRT4KPERMPgo8REQ+Q29uc3RydWN0b3IuCiBJbml0IHRoZSBmYWN0b3J5IGJ5IHJlYWRpbmcgYXBwcm9wcmlhdGUgY29uZmlndXJhdGlvbiBmaWxlLgo8UD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5zZXJ2bGV0Q29udGV4dDwvQ09ERT4gLSBTZXJ2bGV0IGNvbnRleHQuPEREPjxDT0RFPnByb3BlcnRpZXM8L0NPREU+IC0gTWFwIGNvbnRhaW5pbmcgYWxsIHByb3BlcnRpZXMuCjxEVD48Qj5UaHJvd3M6PC9CPgo8REQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvRmFjdG9yeU5vdEZvdW5kRXhjZXB0aW9uLmh0bWwiPkZhY3RvcnlOb3RGb3VuZEV4Y2VwdGlvbjwvQT48L0NPREU+IC0gQ2FuJ3QgZmluZCBmYWN0b3J5IGNvbmZpZ3VyYXRpb24gZmlsZS4KPEREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL0RlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbi5odG1sIj5EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb248L0E+PC9DT0RFPjwvREw+Cgo8IS0tID09PT09PT09PT09PSBNRVRIT0QgREVUQUlMID09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJtZXRob2RfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4KPEI+TWV0aG9kIERldGFpbDwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KCjxBIE5BTUU9ImluaXRGYWN0b3J5KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQsIGphdmEudXRpbC5NYXApIj48IS0tIC0tPjwvQT48SDM+CmluaXRGYWN0b3J5PC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+aW5pdEZhY3Rvcnk8L0I+KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQmbmJzcDtzZXJ2bGV0Q29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS51dGlsLk1hcCZuYnNwO3Byb3BlcnRpZXMpCiAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL0RlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbi5odG1sIj5EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb248L0E+PC9QUkU+CjxETD4KPEREPkluaXRpYWxpemF0aW9uIG1ldGhvZC4KIEluaXQgdGhlIGZhY3RvcnkgYnkgcmVhZGluZyBhcHByb3ByaWF0ZSBjb25maWd1cmF0aW9uIGZpbGUuCiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgZXhhY3RseSBvbmNlIGltbWVkaWF0ZWx5IGFmdGVyIGZhY3RvcnkgY3JlYXRpb24gaW4KIGNhc2Ugb2YgaW50ZXJuYWwgY3JlYXRpb24gKGJ5IERlZmluaXRpb25VdGlsKS4KPFA+CjxERD48REw+CjxEVD48Qj5TcGVjaWZpZWQgYnk6PC9CPjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9Db21wb25lbnREZWZpbml0aW9uc0ZhY3RvcnkuaHRtbCNpbml0RmFjdG9yeShqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0LCBqYXZhLnV0aWwuTWFwKSI+aW5pdEZhY3Rvcnk8L0E+PC9DT0RFPiBpbiBpbnRlcmZhY2UgPENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvQ29tcG9uZW50RGVmaW5pdGlvbnNGYWN0b3J5Lmh0bWwiPkNvbXBvbmVudERlZmluaXRpb25zRmFjdG9yeTwvQT48L0NPREU+PERUPjxCPlNwZWNpZmllZCBieTo8L0I+PEREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRmFjdG9yeVNldC5odG1sI2luaXRGYWN0b3J5KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQsIGphdmEudXRpbC5NYXApIj5pbml0RmFjdG9yeTwvQT48L0NPREU+IGluIGNsYXNzIDxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRmFjdG9yeVNldC5odG1sIj5GYWN0b3J5U2V0PC9BPjwvQ09ERT48L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnNlcnZsZXRDb250ZXh0PC9DT0RFPiAtIFNlcnZsZXQgQ29udGV4dCBwYXNzZWQgdG8gbmV3bHkgY3JlYXRlZCBmYWN0b3J5LjxERD48Q09ERT5wcm9wZXJ0aWVzPC9DT0RFPiAtIE1hcCBvZiBuYW1lL3Byb3BlcnR5IHBhc3NlZCB0byBuZXdseSBjcmVhdGVkIGZhY3RvcnkuIE1hcCBjYW4gY29udGFpbnMKIG1vcmUgcHJvcGVydGllcyB0aGFuIHJlcXVlc3RlZC4KPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb24uaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uPC9BPjwvQ09ERT4gLSBBbiBlcnJvciBvY2N1ciBkdXJpbmcgaW5pdGlhbGl6YXRpb24uPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iaW5pdEZhY3RvcnkoamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCwgamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4KaW5pdEZhY3Rvcnk8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgdm9pZCA8Qj5pbml0RmFjdG9yeTwvQj4oamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCZuYnNwO3NlcnZsZXRDb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cHJvcG9zZWRGaWxlbmFtZSkKICAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvRGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uLmh0bWwiPkRlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbjwvQT4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEuaW8uRmlsZU5vdEZvdW5kRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPkluaXRpYWxpemF0aW9uIG1ldGhvZC4KIEluaXQgdGhlIGZhY3RvcnkgYnkgcmVhZGluZyBhcHByb3ByaWF0ZSBjb25maWd1cmF0aW9uIGZpbGUuCiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgZXhhY3RseSBvbmNlIGltbWVkaWF0ZWx5IGFmdGVyIGZhY3RvcnkgY3JlYXRpb24gaW4KIGNhc2Ugb2YgaW50ZXJuYWwgY3JlYXRpb24gKGJ5IERlZmluaXRpb25VdGlsKS4KPFA+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+c2VydmxldENvbnRleHQ8L0NPREU+IC0gU2VydmxldCBDb250ZXh0IHBhc3NlZCB0byBuZXdseSBjcmVhdGVkIGZhY3RvcnkuPEREPjxDT0RFPnByb3Bvc2VkRmlsZW5hbWU8L0NPREU+IC0gRmlsZSBuYW1lcywgY29tbWEgc2VwYXJhdGVkLCB0byB1c2UgYXMgIGJhc2UgZmlsZSBuYW1lcy4KPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb24uaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uPC9BPjwvQ09ERT4gLSBBbiBlcnJvciBvY2N1ciBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCjxERD48Q09ERT5qYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjwvQ09ERT48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJnZXREZWZhdWx0RmFjdG9yeSgpIj48IS0tIC0tPjwvQT48SDM+CmdldERlZmF1bHRGYWN0b3J5PC9IMz4KPFBSRT4KcHJvdGVjdGVkIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRGVmaW5pdGlvbnNGYWN0b3J5Lmh0bWwiPkRlZmluaXRpb25zRmFjdG9yeTwvQT4gPEI+Z2V0RGVmYXVsdEZhY3Rvcnk8L0I+KCk8L1BSRT4KPERMPgo8REQ+R2V0IGRlZmF1bHQgZmFjdG9yeS4KPFA+CjxERD48REw+CjxEVD48Qj5TcGVjaWZpZWQgYnk6PC9CPjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0ZhY3RvcnlTZXQuaHRtbCNnZXREZWZhdWx0RmFjdG9yeSgpIj5nZXREZWZhdWx0RmFjdG9yeTwvQT48L0NPREU+IGluIGNsYXNzIDxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRmFjdG9yeVNldC5odG1sIj5GYWN0b3J5U2V0PC9BPjwvQ09ERT48L0RMPgo8L0REPgo8REQ+PERMPgoKPERUPjxCPlJldHVybnM6PC9CPjxERD5EZWZhdWx0IGZhY3Rvcnk8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJjcmVhdGVEZWZhdWx0RmFjdG9yeShqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0KSI+PCEtLSAtLT48L0E+PEgzPgpjcmVhdGVEZWZhdWx0RmFjdG9yeTwvSDM+CjxQUkU+CnByb3RlY3RlZCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0RlZmluaXRpb25zRmFjdG9yeS5odG1sIj5EZWZpbml0aW9uc0ZhY3Rvcnk8L0E+IDxCPmNyZWF0ZURlZmF1bHRGYWN0b3J5PC9CPihqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0Jm5ic3A7c2VydmxldENvbnRleHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvRGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uLmh0bWwiPkRlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbjwvQT4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5pby5GaWxlTm90Rm91bmRFeGNlcHRpb248L1BSRT4KPERMPgo8REQ+Q3JlYXRlIGRlZmF1bHQgZmFjdG9yeSAuCiBDcmVhdGUgSW5zdGFuY2VzTWFwcGVyIGZvciBzcGVjaWZpZWQgTG9jYWxlLgogSWYgY3JlYXRpb24gZmFpbGVzLCB1c2UgZGVmYXVsdCBtYXBwZXIgYW5kIGxvZyBlcnJvciBtZXNzYWdlLgo8UD4KPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5zZXJ2bGV0Q29udGV4dDwvQ09ERT4gLSBDdXJyZW50IHNlcnZsZXQgY29udGV4dC4gVXNlZCB0byBvcGVuIGZpbGUuCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+Q3JlYXRlZCBkZWZhdWx0IGRlZmluaXRpb24gZmFjdG9yeS4KPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb24uaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uPC9BPjwvQ09ERT4gLSBJZiBhbiBlcnJvciBvY2N1ciB3aGlsZSBjcmVhdGluZyBmYWN0b3J5Lgo8REQ+PENPREU+amF2YS5pby5GaWxlTm90Rm91bmRFeGNlcHRpb248L0NPREU+IC0gaWYgZmFjdG9yeSBjYW4ndCBiZSBsb2FkZWQgZnJvbSBmaWxlbmFtZXMuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZ2V0RGVmaW5pdGlvbnNGYWN0b3J5S2V5KGphdmEubGFuZy5TdHJpbmcsIGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQpIj48IS0tIC0tPjwvQT48SDM+CmdldERlZmluaXRpb25zRmFjdG9yeUtleTwvSDM+CjxQUkU+CnByb3RlY3RlZCBqYXZhLmxhbmcuT2JqZWN0IDxCPmdldERlZmluaXRpb25zRmFjdG9yeUtleTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZheC5zZXJ2bGV0LlNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQmbmJzcDtzZXJ2bGV0Q29udGV4dCk8L1BSRT4KPERMPgo8REQ+RXh0cmFjdCBrZXkgdGhhdCB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSBzdWIgZmFjdG9yeS4KPFA+CjxERD48REw+CjxEVD48Qj5TcGVjaWZpZWQgYnk6PC9CPjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0ZhY3RvcnlTZXQuaHRtbCNnZXREZWZpbml0aW9uc0ZhY3RvcnlLZXkoamF2YS5sYW5nLlN0cmluZywgamF2YXguc2VydmxldC5TZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCkiPmdldERlZmluaXRpb25zRmFjdG9yeUtleTwvQT48L0NPREU+IGluIGNsYXNzIDxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRmFjdG9yeVNldC5odG1sIj5GYWN0b3J5U2V0PC9BPjwvQ09ERT48L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm5hbWU8L0NPREU+IC0gTmFtZSBvZiByZXF1ZXN0ZWQgZGVmaW5pdGlvbjxERD48Q09ERT5yZXF1ZXN0PC9DT0RFPiAtIEN1cnJlbnQgc2VydmxldCByZXF1ZXN0LjxERD48Q09ERT5zZXJ2bGV0Q29udGV4dDwvQ09ERT4gLSBDdXJyZW50IHNlcnZsZXQgY29udGV4dC4KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUga2V5IG9yIDxjb2RlPm51bGw8L2NvZGU+IGlmIG5vdCBmb3VuZC48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJjcmVhdGVGYWN0b3J5KGphdmEubGFuZy5PYmplY3QsIGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQpIj48IS0tIC0tPjwvQT48SDM+CmNyZWF0ZUZhY3Rvcnk8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9EZWZpbml0aW9uc0ZhY3RvcnkuaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5PC9BPiA8Qj5jcmVhdGVGYWN0b3J5PC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7a2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YXguc2VydmxldC5TZXJ2bGV0UmVxdWVzdCZuYnNwO3JlcXVlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0Jm5ic3A7c2VydmxldENvbnRleHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb24uaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uPC9BPjwvUFJFPgo8REw+CjxERD5DcmVhdGUgYSBmYWN0b3J5IGZvciBzcGVjaWZpZWQga2V5LgogSWYgY3JlYXRpb24gZmFpbGVzLCByZXR1cm4gZGVmYXVsdCBmYWN0b3J5IGFuZCBsb2cgYW4gZXJyb3IgbWVzc2FnZS4KPFA+CjxERD48REw+CjxEVD48Qj5TcGVjaWZpZWQgYnk6PC9CPjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0ZhY3RvcnlTZXQuaHRtbCNjcmVhdGVGYWN0b3J5KGphdmEubGFuZy5PYmplY3QsIGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQpIj5jcmVhdGVGYWN0b3J5PC9BPjwvQ09ERT4gaW4gY2xhc3MgPENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9GYWN0b3J5U2V0Lmh0bWwiPkZhY3RvcnlTZXQ8L0E+PC9DT0RFPjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+a2V5PC9DT0RFPiAtIFRoZSBrZXkuPEREPjxDT0RFPnJlcXVlc3Q8L0NPREU+IC0gU2VydmxldCByZXF1ZXN0LjxERD48Q09ERT5zZXJ2bGV0Q29udGV4dDwvQ09ERT4gLSBTZXJ2bGV0IGNvbnRleHQuCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+RGVmaW5pdGlvbiBmYWN0b3J5IGZvciBzcGVjaWZpZWQga2V5Lgo8RFQ+PEI+VGhyb3dzOjwvQj4KPEREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL0RlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbi5odG1sIj5EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb248L0E+PC9DT0RFPiAtIElmIGFuIGVycm9yIG9jY3VyIHdoaWxlIGNyZWF0aW5nIGZhY3RvcnkuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iY2FsY3VsYXRlUG9zdGl4ZXMoamF2YS5sYW5nLlN0cmluZywgamF2YS51dGlsLkxvY2FsZSkiPjwhLS0gLS0+PC9BPjxIMz4KY2FsY3VsYXRlUG9zdGl4ZXM8L0gzPgo8UFJFPgpwcml2YXRlIHN0YXRpYyBqYXZhLnV0aWwuTGlzdCA8Qj5jYWxjdWxhdGVQb3N0aXhlczwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2Jhc2VOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLnV0aWwuTG9jYWxlJm5ic3A7bG9jYWxlKTwvUFJFPgo8REw+CjxERD5DYWxjdWxhdGUgdGhlIHBvc3RpeGVzIGFsb25nIHRoZSBzZWFyY2ggcGF0aCBmcm9tIHRoZSBiYXNlIGJ1bmRsZSB0byB0aGUKIGJ1bmRsZSBzcGVjaWZpZWQgYnkgYmFzZU5hbWUgYW5kIGxvY2FsZS4KIE1ldGhvZCBjb3BpZWQgZnJvbSBqYXZhLnV0aWwuUmVzb3VyY2VCdW5kbGUKPFA+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+YmFzZU5hbWU8L0NPREU+IC0gdGhlIGJhc2UgYnVuZGxlIG5hbWU8REQ+PENPREU+bG9jYWxlPC9DT0RFPiAtIHRoZSBsb2NhbGU8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJwYXJzZVhtbEZpbGVzKGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQsIGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLnhtbERlZmluaXRpb24uWG1sRGVmaW5pdGlvbnNTZXQpIj48IS0tIC0tPjwvQT48SDM+CnBhcnNlWG1sRmlsZXM8L0gzPgo8UFJFPgpwcml2YXRlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vWG1sRGVmaW5pdGlvbnNTZXQuaHRtbCI+WG1sRGVmaW5pdGlvbnNTZXQ8L0E+IDxCPnBhcnNlWG1sRmlsZXM8L0I+KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQmbmJzcDtzZXJ2bGV0Q29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtwb3N0Zml4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9YbWxEZWZpbml0aW9uc1NldC5odG1sIj5YbWxEZWZpbml0aW9uc1NldDwvQT4mbmJzcDt4bWxEZWZpbml0aW9ucykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL0RlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbi5odG1sIj5EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb248L0E+PC9QUkU+CjxETD4KPEREPlBhcnNlIGZpbGVzIGFzc29jaWF0ZWQgdG8gcG9zdGl4IGlmIHRoZXkgZXhpc3QuCiBGb3IgZWFjaCBuYW1lIGluIGZpbGVuYW1lcywgYXBwZW5kIHBvc3RmaXggYmVmb3JlIGZpbGUgZXh0ZW5zaW9uLAogdGhlbiB0cnkgdG8gbG9hZCB0aGUgY29ycmVzcG9uZGluZyBmaWxlLgogSWYgZmlsZSBkb2Vzbid0IGV4aXN0LCB0cnkgbmV4dCBvbmUuIEVhY2ggZmlsZSBkZXNjcmlwdGlvbiBpcyBhZGRlZCB0bwogdGhlIFhtbERlZmluaXRpb25zU2V0IGRlc2NyaXB0aW9uLgogVGhlIFhtbERlZmluaXRpb25zU2V0IGRlc2NyaXB0aW9uIGlzIGNyZWF0ZWQgb25seSBpZiB0aGVyZSBpcyBhIGRlZmluaXRpb24gZmlsZS4KIEluaGVyaXRhbmNlIGlzIG5vdCByZXNvbHZlZCBpbiB0aGUgcmV0dXJuZWQgWG1sRGVmaW5pdGlvbnNTZXQuCiBJZiBubyBkZXNjcmlwdGlvbiBmaWxlIGNhbiBiZSBvcGVuZWQgYW5kIG5vIGRlZmluaWlvbiBzZXQgaXMgcHJvdmlkZWQsIHJldHVybiA8Y29kZT5udWxsPC9jb2RlPi4KPFA+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+cG9zdGZpeDwvQ09ERT4gLSBQb3N0Zml4IHRvIGFkZCB0byBlYWNoIGRlc2NyaXB0aW9uIGZpbGUuPEREPjxDT0RFPnhtbERlZmluaXRpb25zPC9DT0RFPiAtIERlZmluaXRpb25zIHNldCB0byB3aGljaCBkZWZpbml0aW9ucyB3aWxsIGJlIGFkZGVkLiBJZiA8Y29kZT5udWxsPC9jb2RlPiwgYSBkZWZpbml0aW9ucwogc2V0IGlzIGNyZWF0ZWQgb24gcmVxdWVzdC4KPERUPjxCPlJldHVybnM6PC9CPjxERD5YbWxEZWZpbml0aW9uc1NldCBUaGUgZGVmaW5pdGlvbnMgc2V0IGNyZWF0ZWQgb3IgcGFzc2VkIGFzIHBhcmFtZXRlci4KPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb24uaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uPC9BPjwvQ09ERT4gLSBPbiBlcnJvcnMgcGFyc2luZyBmaWxlLjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9InBhcnNlWG1sRmlsZShqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0LCBqYXZhLmxhbmcuU3RyaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy50aWxlcy54bWxEZWZpbml0aW9uLlhtbERlZmluaXRpb25zU2V0KSI+PCEtLSAtLT48L0E+PEgzPgpwYXJzZVhtbEZpbGU8L0gzPgo8UFJFPgpwcml2YXRlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vWG1sRGVmaW5pdGlvbnNTZXQuaHRtbCI+WG1sRGVmaW5pdGlvbnNTZXQ8L0E+IDxCPnBhcnNlWG1sRmlsZTwvQj4oamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dCZuYnNwO3NlcnZsZXRDb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vWG1sRGVmaW5pdGlvbnNTZXQuaHRtbCI+WG1sRGVmaW5pdGlvbnNTZXQ8L0E+Jm5ic3A7eG1sRGVmaW5pdGlvbnMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL0RlZmluaXRpb25zRmFjdG9yeUV4Y2VwdGlvbi5odG1sIj5EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb248L0E+PC9QUkU+CjxETD4KPEREPlBhcnNlIHNwZWNpZmllZCB4bWwgZmlsZSBhbmQgYWRkIGRlZmluaXRpb24gdG8gc3BlY2lmaWVkIGRlZmluaXRpb25zIHNldC4KIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbG9hZCBzZXZlcmFsIGRlc2NyaXB0aW9uIGZpbGVzIGluIG9uZSBpbnN0YW5jZXMgbGlzdC4KIElmIGZpbGVuYW1lIGV4aXN0cyBhbmQgZGVmaW5pdGlvbiBzZXQgaXMgPGNvZGU+bnVsbDwvY29kZT4sIGNyZWF0ZSBhIG5ldyBzZXQuIE90aGVyd2lzZSwgcmV0dXJuCiBwYXNzZWQgZGVmaW5pdGlvbiBzZXQgKGNhbiBiZSA8Y29kZT5udWxsPC9jb2RlPikuCjxQPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnNlcnZsZXRDb250ZXh0PC9DT0RFPiAtIEN1cnJlbnQgc2VydmxldCBjb250ZXh0LiBVc2VkIHRvIG9wZW4gZmlsZS48REQ+PENPREU+ZmlsZW5hbWU8L0NPREU+IC0gTmFtZSBvZiBmaWxlIHRvIHBhcnNlLjxERD48Q09ERT54bWxEZWZpbml0aW9uczwvQ09ERT4gLSBEZWZpbml0aW9ucyBzZXQgdG8gd2hpY2ggZGVmaW5pdGlvbnMgd2lsbCBiZSBhZGRlZC4gSWYgbnVsbCwgYSBkZWZpbml0aW9ucwogc2V0IGlzIGNyZWF0ZWQgb24gcmVxdWVzdC4KPERUPjxCPlJldHVybnM6PC9CPjxERD5YbWxEZWZpbml0aW9uc1NldCBUaGUgZGVmaW5pdGlvbnMgc2V0IGNyZWF0ZWQgb3IgcGFzc2VkIGFzIHBhcmFtZXRlci4KPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9EZWZpbml0aW9uc0ZhY3RvcnlFeGNlcHRpb24uaHRtbCI+RGVmaW5pdGlvbnNGYWN0b3J5RXhjZXB0aW9uPC9BPjwvQ09ERT4gLSBPbiBlcnJvcnMgcGFyc2luZyBmaWxlLjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImNvbmNhdFBvc3RmaXgoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4KY29uY2F0UG9zdGZpeDwvSDM+CjxQUkU+CnByaXZhdGUgamF2YS5sYW5nLlN0cmluZyA8Qj5jb25jYXRQb3N0Zml4PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3Bvc3RmaXgpPC9QUkU+CjxETD4KPEREPkNvbmNhdCBwb3N0Zml4IHRvIHRoZSBuYW1lLiBUYWtlIGNhcmUgb2YgZXhpc3RpbmcgZmlsZW5hbWUgZXh0ZW5zaW9uLgogVHJhbnNmb3JtIHRoZSBnaXZlbiBuYW1lICJuYW1lLmV4dCIgdG8gaGF2ZSAibmFtZSIgKyAicG9zdGZpeCIgKyAiZXh0Ii4KIElmIHRoZXJlIGlzIG5vIGV4dCwgcmV0dXJuICJuYW1lIiArICJwb3N0Zml4Ii4KPFA+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bmFtZTwvQ09ERT4gLSBGaWxlbmFtZS48REQ+PENPREU+cG9zdGZpeDwvQ09ERT4gLSBQb3N0Zml4IHRvIGFkZC4KPERUPjxCPlJldHVybnM6PC9CPjxERD5Db25jYXRlbmF0ZWQgZmlsZW5hbWUuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0idG9TdHJpbmcoKSI+PCEtLSAtLT48L0E+PEgzPgp0b1N0cmluZzwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPnRvU3RyaW5nPC9CPigpPC9QUkU+CjxETD4KPEREPlJldHVybiBTdHJpbmcgcmVwcmVzZW50YXRpb24uCjxQPgo8REQ+PERMPgo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9GYWN0b3J5U2V0Lmh0bWwjdG9TdHJpbmcoKSI+dG9TdHJpbmc8L0E+PC9DT0RFPiBpbiBjbGFzcyA8Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy94bWxEZWZpbml0aW9uL0ZhY3RvcnlTZXQuaHRtbCI+RmFjdG9yeVNldDwvQT48L0NPREU+PC9ETD4KPC9ERD4KPEREPjxETD4KCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+U3RyaW5nIHJlcHJlc2VudGF0aW9uLjwvREw+CjwvREQ+CjwvREw+CjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4KPEhSPgoKPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPgo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+CjxUUj4KPFREIENPTFNQQU49MyBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPgo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL0kxOG5GYWN0b3J5U2V0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPC9UUj4KPC9UQUJMRT4KPC9URD4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+CjwvRU0+CjwvVEQ+CjwvVFI+Cgo8VFI+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3htbERlZmluaXRpb24vRmFjdG9yeVNldC5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsKJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMveG1sRGVmaW5pdGlvbi9YbWxBdHRyaWJ1dGUuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOzxBIEhSRUY9IkkxOG5GYWN0b3J5U2V0Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDsKPFNDUklQVD4KICA8IS0tCiAgaWYod2luZG93PT10b3ApIHsKICAgIGRvY3VtZW50LndyaXRlbG4oJzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2FsbGNsYXNzZXMtbm9mcmFtZS5odG1sIiBUQVJHRVQ9IiI+PEI+QWxsIENsYXNzZXM8L0I+PC9BPicpOwogIH0KICAvLy0tPgo8L1NDUklQVD4KPE5PU0NSSVBUPgo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9hbGxjbGFzc2VzLW5vZnJhbWUuaHRtbCIgVEFSR0VUPSIiPjxCPkFsbCBDbGFzc2VzPC9CPjwvQT4KPC9OT1NDUklQVD4KPC9GT05UPjwvVEQ+CjwvVFI+CjxUUj4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KICBTVU1NQVJZOiZuYnNwO05FU1RFRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjZmllbGRfc3VtbWFyeSI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPgpERVRBSUw6Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX2RldGFpbCI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPgoKPEhSPgpDb3B5cmlnaHQgqSAyMDAwLTIwMDMgLSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbgo8L0JPRFk+CjwvSFRNTD4K