PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTcgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3Rvcg0KPC9USVRMRT4NCjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4NCjwvSEVBRD4NCjxCT0RZIEJHQ09MT1I9IndoaXRlIj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX3RvcCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX3RvcF9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1N0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3IuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZS5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1ZlY3Rvci5odG1sIj48Qj5ORVhUIENMQVNTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3Rvci5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KPCEtLSA9PT09PT09PSBTVEFSVCBPRiBDTEFTUyBEQVRBID09PT09PT09IC0tPg0KPEgyPg0KPEZPTlQgU0laRT0iLTEiPg0Kb3JnLmFwYWNoZS54bWwudXRpbHM8L0ZPTlQ+DQo8QlI+DQpDbGFzcyAgU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3RvcjwvSDI+DQo8UFJFPg0KamF2YS5sYW5nLk9iamVjdA0KICB8DQogICstLTxCPm9yZy5hcGFjaGUueG1sLnV0aWxzLlN0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3I8L0I+DQo8L1BSRT4NCjxIUj4NCjxETD4NCjxEVD5wdWJsaWMgY2xhc3MgPEI+U3RyaW5nVG9TdHJpbmdUYWJsZVZlY3RvcjwvQj48RFQ+ZXh0ZW5kcyBqYXZhLmxhbmcuT2JqZWN0PC9ETD4NCg0KPFA+DQpBIHZlcnkgc2ltcGxlIHRhYmxlIHRoYXQgc3RvcmVzIGEgbGlzdCBvZiBTdHJpbmdUb1N0cmluZ1RhYmxlcywgb3B0aW1pemVkCiBmb3Igc21hbGwgbGlzdHMuDQo8UD4NCjxETD4NCjxEVD48Qj5Vc2FnZTo8L0I+PEREPjxpPjxmb250IHNpemU9Ii0xIiBjb2xvcj0iI0ZGMDAwMCI+ICoqRm9yIGludGVybmFsIHVzZSBvbmx5Kio8L2ZvbnQ+PC9pPjwvREQ+CjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8UD4NCjwhLS0gPT09PT09PT0gSU5ORVIgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PSBDT05TVFJVQ1RPUiBTVU1NQVJZID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9TdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yLmh0bWwjU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3RvcigpIj5TdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RGVmYXVsdCBjb25zdHJ1Y3Rvci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3IuaHRtbCNTdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yKGludCkiPlN0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3I8L0E+PC9CPihpbnQmbmJzcDtibG9ja3NpemUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb25zdHJ1Y3QgYSBTdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yLCB1c2luZyB0aGUgZ2l2ZW4gYmxvY2sgc2l6ZS48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjwhLS0gPT09PT09PT09PSBNRVRIT0QgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3Rvci5odG1sI2FkZEVsZW1lbnQob3JnLmFwYWNoZS54bWwudXRpbHMuU3RyaW5nVG9TdHJpbmdUYWJsZSkiPmFkZEVsZW1lbnQ8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9TdHJpbmdUb1N0cmluZ1RhYmxlLmh0bWwiPlN0cmluZ1RvU3RyaW5nVGFibGU8L0E+Jm5ic3A7dmFsdWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBcHBlbmQgYSBTdHJpbmdUb1N0cmluZ1RhYmxlIG9iamVjdCBvbnRvIHRoZSB2ZWN0b3IuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2Jvb2xlYW48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3Rvci5odG1sI2NvbnRhaW5zKG9yZy5hcGFjaGUueG1sLnV0aWxzLlN0cmluZ1RvU3RyaW5nVGFibGUpIj5jb250YWluczwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1RvU3RyaW5nVGFibGUuaHRtbCI+U3RyaW5nVG9TdHJpbmdUYWJsZTwvQT4mbmJzcDtzKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGVsbCBpZiB0aGUgdGFibGUgY29udGFpbnMgdGhlIGdpdmVuIFN0cmluZ1RvU3RyaW5nVGFibGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2Jvb2xlYW48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3Rvci5odG1sI2NvbnRhaW5zS2V5KGphdmEubGFuZy5TdHJpbmcpIj5jb250YWluc0tleTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtrZXkpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHaXZlbiBhIHN0cmluZywgZmluZCBvdXQgaWYgdGhlcmUgaXMgYSB2YWx1ZSBpbiB0aGlzIHRhYmxlCiB0aGF0IG1hdGNoZXMgdGhlIGtleS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZS5odG1sIj5TdHJpbmdUb1N0cmluZ1RhYmxlPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9TdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yLmh0bWwjZWxlbWVudEF0KGludCkiPmVsZW1lbnRBdDwvQT48L0I+KGludCZuYnNwO2kpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIG50aCBlbGVtZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3IuaHRtbCNnZXQoamF2YS5sYW5nLlN0cmluZykiPmdldDwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtrZXkpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHaXZlbiBhIHN0cmluZywgZmluZCB0aGUgbGFzdCBhZGRlZCBvY2N1cmFuY2UgdmFsdWUKIHRoYXQgbWF0Y2hlcyB0aGUga2V5LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3Rvci5odG1sI2dldExlbmd0aCgpIj5nZXRMZW5ndGg8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9TdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yLmh0bWwjcmVtb3ZlTGFzdEVsZW0oKSI+cmVtb3ZlTGFzdEVsZW08L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZW1vdmUgdGhlIGxhc3QgZWxlbWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1N0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3IuaHRtbCNzaXplKCkiPnNpemU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdC48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmEubGFuZy5PYmplY3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPmVxdWFscywgDQpnZXRDbGFzcywgDQpoYXNoQ29kZSwgDQpub3RpZnksIA0Kbm90aWZ5QWxsLCANCnRvU3RyaW5nLCANCndhaXQsIA0Kd2FpdCwgDQp3YWl0PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPFA+DQoNCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImNvbnN0cnVjdG9yX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPkNvbnN0cnVjdG9yIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJTdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yKCkiPjwhLS0gLS0+PC9BPjxIMz4NClN0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5TdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+RGVmYXVsdCBjb25zdHJ1Y3Rvci4gIE5vdGUgdGhhdCB0aGUgZGVmYXVsdAogYmxvY2sgc2l6ZSBpcyB2ZXJ5IHNtYWxsLCBmb3Igc21hbGwgbGlzdHMuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3RvcihpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpTdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEI+U3RyaW5nVG9TdHJpbmdUYWJsZVZlY3RvcjwvQj4oaW50Jm5ic3A7YmxvY2tzaXplKTwvUFJFPg0KPERMPg0KPEREPkNvbnN0cnVjdCBhIFN0cmluZ1RvU3RyaW5nVGFibGVWZWN0b3IsIHVzaW5nIHRoZSBnaXZlbiBibG9jayBzaXplLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmJsb2Nrc2l6ZTwvQ09ERT4gLSBTaXplIG9mIGJsb2NrcyB0byBhbGxvY2F0ZTwvREw+DQo8L0REPg0KPC9ETD4NCg0KPCEtLSA9PT09PT09PT09PT0gTUVUSE9EIERFVEFJTCA9PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJtZXRob2RfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJnZXRMZW5ndGgoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TGVuZ3RoPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgaW50IDxCPmdldExlbmd0aDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgbGVuZ3RoIG9mIHRoZSBsaXN0LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPk51bWJlciBvZiBTdHJpbmdUb1N0cmluZ1RhYmxlIG9iamVjdHMgaW4gdGhlIGxpc3Q8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNpemUoKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2l6ZTwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIGludCA8Qj5zaXplPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBsZW5ndGggb2YgdGhlIGxpc3QuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+TnVtYmVyIG9mIFN0cmluZ1RvU3RyaW5nVGFibGUgb2JqZWN0cyBpbiB0aGUgbGlzdDwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iYWRkRWxlbWVudChvcmcuYXBhY2hlLnhtbC51dGlscy5TdHJpbmdUb1N0cmluZ1RhYmxlKSI+PCEtLSAtLT48L0E+PEgzPg0KYWRkRWxlbWVudDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+YWRkRWxlbWVudDwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZS5odG1sIj5TdHJpbmdUb1N0cmluZ1RhYmxlPC9BPiZuYnNwO3ZhbHVlKTwvUFJFPg0KPERMPg0KPEREPkFwcGVuZCBhIFN0cmluZ1RvU3RyaW5nVGFibGUgb2JqZWN0IG9udG8gdGhlIHZlY3Rvci48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT52YWx1ZTwvQ09ERT4gLSBTdHJpbmdUb1N0cmluZ1RhYmxlIG9iamVjdCB0byBhZGQ8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldChqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0PC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXQ8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtrZXkpPC9QUkU+DQo8REw+DQo8REQ+R2l2ZW4gYSBzdHJpbmcsIGZpbmQgdGhlIGxhc3QgYWRkZWQgb2NjdXJhbmNlIHZhbHVlCiB0aGF0IG1hdGNoZXMgdGhlIGtleS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5rZXk8L0NPREU+IC0gU3RyaW5nIHRvIGxvb2sgdXA8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSBsYXN0IGFkZGVkIG9jY3VyYW5jZSB2YWx1ZSB0aGF0IG1hdGNoZXMgdGhlIGtleQogb3IgbnVsbCBpZiBub3QgZm91bmQuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjb250YWluc0tleShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KY29udGFpbnNLZXk8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBib29sZWFuIDxCPmNvbnRhaW5zS2V5PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7a2V5KTwvUFJFPg0KPERMPg0KPEREPkdpdmVuIGEgc3RyaW5nLCBmaW5kIG91dCBpZiB0aGVyZSBpcyBhIHZhbHVlIGluIHRoaXMgdGFibGUKIHRoYXQgbWF0Y2hlcyB0aGUga2V5LjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmtleTwvQ09ERT4gLSBTdHJpbmcgdG8gbG9vayBmb3I8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRydWUgaWYgdGhlIHN0cmluZyB3YXMgZm91bmQgaW4gdGFibGUsIG51bGwgaWYgbm90PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJyZW1vdmVMYXN0RWxlbSgpIj48IS0tIC0tPjwvQT48SDM+DQpyZW1vdmVMYXN0RWxlbTwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+cmVtb3ZlTGFzdEVsZW08L0I+KCk8L1BSRT4NCjxETD4NCjxERD5SZW1vdmUgdGhlIGxhc3QgZWxlbWVudC48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJlbGVtZW50QXQoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KZWxlbWVudEF0PC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZS5odG1sIj5TdHJpbmdUb1N0cmluZ1RhYmxlPC9BPiA8Qj5lbGVtZW50QXQ8L0I+KGludCZuYnNwO2kpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBudGggZWxlbWVudC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5pPC9DT0RFPiAtIEluZGV4IG9mIGVsZW1lbnQgdG8gZmluZDxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIFN0cmluZ1RvU3RyaW5nVGFibGUgb2JqZWN0IGF0IHRoZSBnaXZlbiBpbmRleDwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY29udGFpbnMob3JnLmFwYWNoZS54bWwudXRpbHMuU3RyaW5nVG9TdHJpbmdUYWJsZSkiPjwhLS0gLS0+PC9BPjxIMz4NCmNvbnRhaW5zPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgYm9vbGVhbiA8Qj5jb250YWluczwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVG9TdHJpbmdUYWJsZS5odG1sIj5TdHJpbmdUb1N0cmluZ1RhYmxlPC9BPiZuYnNwO3MpPC9QUkU+DQo8REw+DQo8REQ+VGVsbCBpZiB0aGUgdGFibGUgY29udGFpbnMgdGhlIGdpdmVuIFN0cmluZ1RvU3RyaW5nVGFibGUuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+czwvQ09ERT4gLSBUaGUgU3RyaW5nVG9TdHJpbmdUYWJsZSB0byBmaW5kPERUPjxCPlJldHVybnM6PC9CPjxERD5UcnVlIGlmIHRoZSBTdHJpbmdUb1N0cmluZ1RhYmxlIGlzIGZvdW5kPC9ETD4NCjwvREQ+DQo8L0RMPg0KPCEtLSA9PT09PT09PT0gRU5EIE9GIENMQVNTIERBVEEgPT09PT09PT09IC0tPg0KPEhSPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvU3RyaW5nVG9TdHJpbmdUYWJsZVZlY3Rvci5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9TdHJpbmdUb1N0cmluZ1RhYmxlLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvU3RyaW5nVmVjdG9yLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJTdHJpbmdUb1N0cmluZ1RhYmxlVmVjdG9yLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQpDb3B5cmlnaHQgqSAyMDA2IEFwYWNoZSBYTUwgUHJvamVjdC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCjwvQk9EWT4NCjwvSFRNTD4NCg==