PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBGcmFtZXNldC8vRU4iImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvZnJhbWVzZXQuZHRkIj4KPCEtLU5ld1BhZ2UtLT4KPEhUTUw+CjxIRUFEPgo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFdlZCBBcHIgMTQgMDg6MjY6MzIgRURUIDIwMDQgLS0+CjxUSVRMRT4KVmVsb2NpdHkgMS40IEFQSTogQ2xhc3MgIFZlbG9jaXR5Rm9ybWF0dGVyCjwvVElUTEU+CjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4KPC9IRUFEPgo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSI+Cgo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+CjxBIE5BTUU9Im5hdmJhcl90b3AiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4KPFRSPgo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+CjxBIE5BTUU9Im5hdmJhcl90b3BfZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPgogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvVmVsb2NpdHlGb3JtYXR0ZXIuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8L1RSPgo8L1RBQkxFPgo8L1REPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4KPC9FTT4KPC9URD4KPC9UUj4KCjxUUj4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KJm5ic3A7UFJFViBDTEFTUyZuYnNwOwombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5WZWxvY2l0eUFsdGVybmF0b3IuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOzxBIEhSRUY9IlZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSPgo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPgogIFNVTU1BUlk6ICZuYnNwOzxBIEhSRUY9IiNpbm5lcl9jbGFzc19zdW1tYXJ5Ij5JTk5FUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KREVUQUlMOiAmbmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+Cgo8SFI+CjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4KPEgyPgo8Rk9OVCBTSVpFPSItMSI+Cm9yZy5hcGFjaGUudmVsb2NpdHkuYXBwLnRvb2xzPC9GT05UPgo8QlI+CkNsYXNzICBWZWxvY2l0eUZvcm1hdHRlcjwvSDI+CjxQUkU+CmphdmEubGFuZy5PYmplY3QKICB8CiAgKy0tPEI+b3JnLmFwYWNoZS52ZWxvY2l0eS5hcHAudG9vbHMuVmVsb2NpdHlGb3JtYXR0ZXI8L0I+CjwvUFJFPgo8SFI+CjxETD4KPERUPnB1YmxpYyBjbGFzcyA8Qj5WZWxvY2l0eUZvcm1hdHRlcjwvQj48RFQ+ZXh0ZW5kcyBqYXZhLmxhbmcuT2JqZWN0PC9ETD4KCjxQPgpGb3JtYXR0aW5nIHRvb2wgZm9yIGluc2VydGluZyBpbnRvIHRoZSBWZWxvY2l0eSBXZWJDb250ZXh0LiAgQ2FuCiBmb3JtYXQgZGF0ZXMgb3IgbGlzdHMgb2Ygb2JqZWN0cy4KCiA8cD5IZXJlJ3MgYW4gZXhhbXBsZSBvZiBzb21lIHVzZXM6CgogPGNvZGU+PHByZT4KICRmb3JtYXR0ZXIuZm9ybWF0U2hvcnREYXRlKCRvYmplY3QuRGF0ZSkKICRmb3JtYXR0ZXIuZm9ybWF0TG9uZ0RhdGUoJGRiLmdldFJlY29yZCgyMzIpLmdldERhdGUoKSkKICRmb3JtYXR0ZXIuZm9ybWF0QXJyYXkoJGFycmF5KQogJGZvcm1hdHRlci5saW1pdExlbigzMCwgJG9iamVjdC5EZXNjcmlwdGlvbikKIDwvcHJlPjwvY29kZT4KPFA+CjxETD4KPERUPjxCPlZlcnNpb246IDwvQj48REQ+JElkOiBWZWxvY2l0eUZvcm1hdHRlci5qYXZhLHYgMS45IDIwMDMvMDUvMDQgMTc6MDY6MTEgZ2Vpcm0gRXhwICQ8L0REPgo8RFQ+PEI+QXV0aG9yOiA8L0I+PEREPjxhIGhyZWY9InNlYW5Ac29tYWNpdHkuY29tIj5TZWFuIExlZ2Fzc2ljazwvYT4sIDxhIGhyZWY9ImRsckBjb2xsYWIubmV0Ij5EYW5pZWwgUmFsbDwvYT48L0REPgo8L0RMPgo8SFI+Cgo8UD4KPCEtLSA9PT09PT09PSBJTk5FUiBDTEFTUyBTVU1NQVJZID09PT09PT09IC0tPgoKPEEgTkFNRT0iaW5uZXJfY2xhc3Nfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CjxCPklubmVyIENsYXNzIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2NsYXNzPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvdG9vbHMvVmVsb2NpdHlGb3JtYXR0ZXIuVmVsb2NpdHlBbHRlcm5hdG9yLmh0bWwiPlZlbG9jaXR5Rm9ybWF0dGVyLlZlbG9jaXR5QWx0ZXJuYXRvcjwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDbGFzcyB0aGF0IHJldHVybnMgYWx0ZXJuYXRpbmcgdmFsdWVzIGluIGEgdGVtcGxhdGUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7Y2xhc3M8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5WZWxvY2l0eUF1dG9BbHRlcm5hdG9yLmh0bWwiPlZlbG9jaXR5Rm9ybWF0dGVyLlZlbG9jaXR5QXV0b0FsdGVybmF0b3I8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QXMgVmVsb2NpdHlBbHRlcm5hdG9yLCBidXQgY2FsbHMgPGNvZGU+YWx0ZXJuYXRlKCk8L2NvZGU+CiBhdXRvbWF0aWNhbGx5IG9uIHJlbmRlcmluZyBpbiBhIHRlbXBsYXRlLjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJmaWVsZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4KPEI+RmllbGQgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+KHBhY2thZ2UgcHJpdmF0ZSkgJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2NvbnRleHQiPmNvbnRleHQ8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+KHBhY2thZ2UgcHJpdmF0ZSkgJm5ic3A7amF2YS50ZXh0Lk51bWJlckZvcm1hdDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL3Rvb2xzL1ZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwjbmYiPm5mPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8IS0tID09PT09PT09IENPTlNUUlVDVE9SIFNVTU1BUlkgPT09PT09PT0gLS0+Cgo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI1ZlbG9jaXR5Rm9ybWF0dGVyKG9yZy5hcGFjaGUudmVsb2NpdHkuY29udGV4dC5Db250ZXh0KSI+VmVsb2NpdHlGb3JtYXR0ZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2NvbnRleHQvQ29udGV4dC5odG1sIj5Db250ZXh0PC9BPiZuYnNwO2NvbnRleHQpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb25zdHJ1Y3RvciBuZWVkcyBhIGJhY2twb2ludGVyIHRvIHRoZSBjb250ZXh0LjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8IS0tID09PT09PT09PT0gTUVUSE9EIFNVTU1BUlkgPT09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJtZXRob2Rfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CjxCPk1ldGhvZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvdG9vbHMvVmVsb2NpdHlGb3JtYXR0ZXIuaHRtbCNmb3JtYXRBcnJheShqYXZhLmxhbmcuT2JqZWN0KSI+Zm9ybWF0QXJyYXk8L0E+PC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7YXJyYXkpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtGb3JtYXRzIGFuIGFycmF5IGludG8gdGhlIGZvcm0gIkEsIEIgYW5kIEMiLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2Zvcm1hdEFycmF5KGphdmEubGFuZy5PYmplY3QsIGphdmEubGFuZy5TdHJpbmcpIj5mb3JtYXRBcnJheTwvQT48L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDthcnJheSwKICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2RlbGltKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Rm9ybWF0cyBhbiBhcnJheSBpbnRvIHRoZSBmb3JtCiAiQSZsdDtkZWxpbSZndDtCJmx0O2RlbGltJmd0O0MiLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2Zvcm1hdEFycmF5KGphdmEubGFuZy5PYmplY3QsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5mb3JtYXRBcnJheTwvQT48L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDthcnJheSwKICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2RlbGltLAogICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZmluYWxkZWxpbSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0Zvcm1hdHMgYW4gYXJyYXkgaW50byB0aGUgZm9ybQogIkEmbHQ7ZGVsaW0mZ3Q7QiZsdDtmaW5hbGRlbGltJmd0O0MiLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2Zvcm1hdExvbmdEYXRlKGphdmEudXRpbC5EYXRlKSI+Zm9ybWF0TG9uZ0RhdGU8L0E+PC9CPihqYXZhLnV0aWwuRGF0ZSZuYnNwO2RhdGUpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtGb3JtYXRzIGEgZGF0ZSBpbiA8Y29kZT5EYXRlRm9ybWF0LkxPTkc8L2NvZGU+IHN0eWxlLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2Zvcm1hdExvbmdEYXRlVGltZShqYXZhLnV0aWwuRGF0ZSkiPmZvcm1hdExvbmdEYXRlVGltZTwvQT48L0I+KGphdmEudXRpbC5EYXRlJm5ic3A7ZGF0ZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0Zvcm1hdHMgYSBkYXRlL3RpbWUgaW4gJ2xvbmcnIHN0eWxlLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2Zvcm1hdFNob3J0RGF0ZShqYXZhLnV0aWwuRGF0ZSkiPmZvcm1hdFNob3J0RGF0ZTwvQT48L0I+KGphdmEudXRpbC5EYXRlJm5ic3A7ZGF0ZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0Zvcm1hdHMgYSBkYXRlIGluIDxjb2RlPkRhdGVGb3JtYXQuU0hPUlQ8L2NvZGU+IHN0eWxlLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2Zvcm1hdFNob3J0RGF0ZVRpbWUoamF2YS51dGlsLkRhdGUpIj5mb3JtYXRTaG9ydERhdGVUaW1lPC9BPjwvQj4oamF2YS51dGlsLkRhdGUmbmJzcDtkYXRlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Rm9ybWF0cyBhIGRhdGUvdGltZSBpbiAnc2hvcnQnIHN0eWxlLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2Zvcm1hdFZlY3RvcihqYXZhLnV0aWwuTGlzdCkiPmZvcm1hdFZlY3RvcjwvQT48L0I+KGphdmEudXRpbC5MaXN0Jm5ic3A7bGlzdCk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0Zvcm1hdHMgYSB2ZWN0b3IgaW50byB0aGUgZm9ybSAiQSwgQiBhbmQgQyIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL3Rvb2xzL1ZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwjZm9ybWF0VmVjdG9yKGphdmEudXRpbC5MaXN0LCBqYXZhLmxhbmcuU3RyaW5nKSI+Zm9ybWF0VmVjdG9yPC9BPjwvQj4oamF2YS51dGlsLkxpc3QmbmJzcDtsaXN0LAogICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2RlbGltKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Rm9ybWF0cyBhIHZlY3RvciBpbnRvIHRoZSBmb3JtICJBJmx0O2RlbGltJmd0O0ImbHQ7ZGVsaW0mZ3Q7QyIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL3Rvb2xzL1ZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwjZm9ybWF0VmVjdG9yKGphdmEudXRpbC5MaXN0LCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+Zm9ybWF0VmVjdG9yPC9BPjwvQj4oamF2YS51dGlsLkxpc3QmbmJzcDtsaXN0LAogICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2RlbGltLAogICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2ZpbmFsZGVsaW0pPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtGb3JtYXRzIGEgbGlzdCBpbnRvIHRoZSBmb3JtCiAiQWRlbGltJmd0O0ImbHQ7ZmluYWxkZWxpbSZndDtDIi48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuT2JqZWN0PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvdG9vbHMvVmVsb2NpdHlGb3JtYXR0ZXIuaHRtbCNpc051bGwoamF2YS5sYW5nLk9iamVjdCwgamF2YS5sYW5nLk9iamVjdCkiPmlzTnVsbDwvQT48L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDtvLAogICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO2RmbHQpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zIGEgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgb2JqZWN0IHBhc3NlZCBpcyBudWxsLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI2xpbWl0TGVuKGludCwgamF2YS5sYW5nLlN0cmluZykiPmxpbWl0TGVuPC9BPjwvQj4oaW50Jm5ic3A7bWF4bGVuLAogICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7c3RyaW5nKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TGltaXRzICdzdHJpbmcnIHRvICdtYXhsZW4nIGNoYXJhY3RlcnMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL3Rvb2xzL1ZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwjbGltaXRMZW4oaW50LCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+bGltaXRMZW48L0E+PC9CPihpbnQmbmJzcDttYXhsZW4sCiAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtzdHJpbmcsCiAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtzdWZmaXgpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtMaW1pdHMgJ3N0cmluZycgdG8gJ21heGxlbicgY2hhcmFjdGVyLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI21ha2VBbHRlcm5hdG9yKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5tYWtlQWx0ZXJuYXRvcjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0MSwKICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDIpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtNYWtlcyBhbiBhbHRlcm5hdG9yIG9iamVjdCB0aGF0IGFsdGVybmF0ZXMgYmV0d2VlbiB0d28gdmFsdWVzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC90b29scy9WZWxvY2l0eUZvcm1hdHRlci5odG1sI21ha2VBbHRlcm5hdG9yKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5tYWtlQWx0ZXJuYXRvcjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0MSwKICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDIsCiAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDthbHQzKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TWFrZXMgYW4gYWx0ZXJuYXRvciBvYmplY3QgdGhhdCBhbHRlcm5hdGVzIGJldHdlZW4gdGhyZWUKIHZhbHVlcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvdG9vbHMvVmVsb2NpdHlGb3JtYXR0ZXIuaHRtbCNtYWtlQWx0ZXJuYXRvcihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+bWFrZUFsdGVybmF0b3I8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDEsCiAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDthbHQyLAogICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0MywKICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDQpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtNYWtlcyBhbiBhbHRlcm5hdG9yIG9iamVjdCB0aGF0IGFsdGVybmF0ZXMgYmV0d2VlbiBmb3VyIHZhbHVlcy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvdG9vbHMvVmVsb2NpdHlGb3JtYXR0ZXIuaHRtbCNtYWtlQXV0b0FsdGVybmF0b3IoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPm1ha2VBdXRvQWx0ZXJuYXRvcjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDEsCiAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0Mik8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO01ha2VzIGFuIGFsdGVybmF0b3Igb2JqZWN0IHRoYXQgYWx0ZXJuYXRlcyBiZXR3ZWVuIHR3byB2YWx1ZXMKIGF1dG9tYXRpY2FsbHkuPC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZhLmxhbmcuT2JqZWN0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBqYXZhLmxhbmcuT2JqZWN0PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+PGNsaW5pdD4sIGNsb25lLCBlcXVhbHMsIGZpbmFsaXplLCBnZXRDbGFzcywgaGFzaENvZGUsIG5vdGlmeSwgbm90aWZ5QWxsLCByZWdpc3Rlck5hdGl2ZXMsIHRvU3RyaW5nLCB3YWl0LCB3YWl0LCB3YWl0PC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4KCjxBIE5BTUU9ImZpZWxkX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+CjxCPkZpZWxkIERldGFpbDwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KCjxBIE5BTUU9ImNvbnRleHQiPjwhLS0gLS0+PC9BPjxIMz4KY29udGV4dDwvSDM+CjxQUkU+CjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvY29udGV4dC9Db250ZXh0Lmh0bWwiPkNvbnRleHQ8L0E+IDxCPmNvbnRleHQ8L0I+PC9QUkU+CjxETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ibmYiPjwhLS0gLS0+PC9BPjxIMz4KbmY8L0gzPgo8UFJFPgpqYXZhLnRleHQuTnVtYmVyRm9ybWF0IDxCPm5mPC9CPjwvUFJFPgo8REw+CjwvREw+Cgo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+Cgo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5Db25zdHJ1Y3RvciBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJWZWxvY2l0eUZvcm1hdHRlcihvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCkiPjwhLS0gLS0+PC9BPjxIMz4KVmVsb2NpdHlGb3JtYXR0ZXI8L0gzPgo8UFJFPgpwdWJsaWMgPEI+VmVsb2NpdHlGb3JtYXR0ZXI8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvY29udGV4dC9Db250ZXh0Lmh0bWwiPkNvbnRleHQ8L0E+Jm5ic3A7Y29udGV4dCk8L1BSRT4KPERMPgo8REQ+Q29uc3RydWN0b3IgbmVlZHMgYSBiYWNrcG9pbnRlciB0byB0aGUgY29udGV4dC48REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmNvbnRleHQ8L0NPREU+IC0gQSBDb250ZXh0LjwvREw+CjwvREQ+CjwvREw+Cgo8IS0tID09PT09PT09PT09PSBNRVRIT0QgREVUQUlMID09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJtZXRob2RfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4KPEI+TWV0aG9kIERldGFpbDwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KCjxBIE5BTUU9ImZvcm1hdFNob3J0RGF0ZShqYXZhLnV0aWwuRGF0ZSkiPjwhLS0gLS0+PC9BPjxIMz4KZm9ybWF0U2hvcnREYXRlPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Zm9ybWF0U2hvcnREYXRlPC9CPihqYXZhLnV0aWwuRGF0ZSZuYnNwO2RhdGUpPC9QUkU+CjxETD4KPEREPkZvcm1hdHMgYSBkYXRlIGluIDxjb2RlPkRhdGVGb3JtYXQuU0hPUlQ8L2NvZGU+IHN0eWxlLjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+ZGF0ZTwvQ09ERT4gLSBUaGUgZGF0ZSB0byBmb3JtYXQuPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgZm9ybWF0dGVkIGRhdGUgYXMgdGV4dC48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJmb3JtYXRMb25nRGF0ZShqYXZhLnV0aWwuRGF0ZSkiPjwhLS0gLS0+PC9BPjxIMz4KZm9ybWF0TG9uZ0RhdGU8L0gzPgo8UFJFPgpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5mb3JtYXRMb25nRGF0ZTwvQj4oamF2YS51dGlsLkRhdGUmbmJzcDtkYXRlKTwvUFJFPgo8REw+CjxERD5Gb3JtYXRzIGEgZGF0ZSBpbiA8Y29kZT5EYXRlRm9ybWF0LkxPTkc8L2NvZGU+IHN0eWxlLjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+ZGF0ZTwvQ09ERT4gLSBUaGUgZGF0ZSB0byBmb3JtYXQuPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgZm9ybWF0dGVkIGRhdGUgYXMgdGV4dC48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJmb3JtYXRTaG9ydERhdGVUaW1lKGphdmEudXRpbC5EYXRlKSI+PCEtLSAtLT48L0E+PEgzPgpmb3JtYXRTaG9ydERhdGVUaW1lPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Zm9ybWF0U2hvcnREYXRlVGltZTwvQj4oamF2YS51dGlsLkRhdGUmbmJzcDtkYXRlKTwvUFJFPgo8REw+CjxERD5Gb3JtYXRzIGEgZGF0ZS90aW1lIGluICdzaG9ydCcgc3R5bGUuPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5kYXRlPC9DT0RFPiAtIFRoZSBkYXRlIHRvIGZvcm1hdC48RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBmb3JtYXR0ZWQgZGF0ZSBhcyB0ZXh0LjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImZvcm1hdExvbmdEYXRlVGltZShqYXZhLnV0aWwuRGF0ZSkiPjwhLS0gLS0+PC9BPjxIMz4KZm9ybWF0TG9uZ0RhdGVUaW1lPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Zm9ybWF0TG9uZ0RhdGVUaW1lPC9CPihqYXZhLnV0aWwuRGF0ZSZuYnNwO2RhdGUpPC9QUkU+CjxETD4KPEREPkZvcm1hdHMgYSBkYXRlL3RpbWUgaW4gJ2xvbmcnIHN0eWxlLjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+ZGF0ZTwvQ09ERT4gLSBUaGUgZGF0ZSB0byBmb3JtYXQuPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgZm9ybWF0dGVkIGRhdGUgYXMgdGV4dC48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJmb3JtYXRBcnJheShqYXZhLmxhbmcuT2JqZWN0KSI+PCEtLSAtLT48L0E+PEgzPgpmb3JtYXRBcnJheTwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmZvcm1hdEFycmF5PC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7YXJyYXkpPC9QUkU+CjxETD4KPEREPkZvcm1hdHMgYW4gYXJyYXkgaW50byB0aGUgZm9ybSAiQSwgQiBhbmQgQyIuPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5hcnJheTwvQ09ERT4gLSBBbiBPYmplY3QuPERUPjxCPlJldHVybnM6PC9CPjxERD5BIFN0cmluZy48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJmb3JtYXRBcnJheShqYXZhLmxhbmcuT2JqZWN0LCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgpmb3JtYXRBcnJheTwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmZvcm1hdEFycmF5PC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7YXJyYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtkZWxpbSk8L1BSRT4KPERMPgo8REQ+Rm9ybWF0cyBhbiBhcnJheSBpbnRvIHRoZSBmb3JtCiAiQSZsdDtkZWxpbSZndDtCJmx0O2RlbGltJmd0O0MiLjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+YXJyYXk8L0NPREU+IC0gQW4gT2JqZWN0LjxERD48Q09ERT5kZWxpbTwvQ09ERT4gLSBBIFN0cmluZy48RFQ+PEI+UmV0dXJuczo8L0I+PEREPkEgU3RyaW5nLjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImZvcm1hdEFycmF5KGphdmEubGFuZy5PYmplY3QsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CmZvcm1hdEFycmF5PC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Zm9ybWF0QXJyYXk8L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDthcnJheSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2RlbGltLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZmluYWxkZWxpbSk8L1BSRT4KPERMPgo8REQ+Rm9ybWF0cyBhbiBhcnJheSBpbnRvIHRoZSBmb3JtCiAiQSZsdDtkZWxpbSZndDtCJmx0O2ZpbmFsZGVsaW0mZ3Q7QyIuPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5hcnJheTwvQ09ERT4gLSBBbiBPYmplY3QuPEREPjxDT0RFPmRlbGltPC9DT0RFPiAtIEEgU3RyaW5nLjxERD48Q09ERT5maW5hbERlbGltPC9DT0RFPiAtIEEgU3RyaW5nLjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+QSBTdHJpbmcuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZm9ybWF0VmVjdG9yKGphdmEudXRpbC5MaXN0KSI+PCEtLSAtLT48L0E+PEgzPgpmb3JtYXRWZWN0b3I8L0gzPgo8UFJFPgpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5mb3JtYXRWZWN0b3I8L0I+KGphdmEudXRpbC5MaXN0Jm5ic3A7bGlzdCk8L1BSRT4KPERMPgo8REQ+Rm9ybWF0cyBhIHZlY3RvciBpbnRvIHRoZSBmb3JtICJBLCBCIGFuZCBDIi48REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmxpc3Q8L0NPREU+IC0gVGhlIGxpc3Qgb2YgZWxlbWVudHMgdG8gZm9ybWF0LjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+QSBTdHJpbmcuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZm9ybWF0VmVjdG9yKGphdmEudXRpbC5MaXN0LCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgpmb3JtYXRWZWN0b3I8L0gzPgo8UFJFPgpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5mb3JtYXRWZWN0b3I8L0I+KGphdmEudXRpbC5MaXN0Jm5ic3A7bGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtkZWxpbSk8L1BSRT4KPERMPgo8REQ+Rm9ybWF0cyBhIHZlY3RvciBpbnRvIHRoZSBmb3JtICJBJmx0O2RlbGltJmd0O0ImbHQ7ZGVsaW0mZ3Q7QyIuPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5saXN0PC9DT0RFPiAtIFRoZSBsaXN0IG9mIGVsZW1lbnRzIHRvIGZvcm1hdC48REQ+PENPREU+ZGVsaW08L0NPREU+IC0gQSBTdHJpbmcuPERUPjxCPlJldHVybnM6PC9CPjxERD5BIFN0cmluZy48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJmb3JtYXRWZWN0b3IoamF2YS51dGlsLkxpc3QsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CmZvcm1hdFZlY3RvcjwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmZvcm1hdFZlY3RvcjwvQj4oamF2YS51dGlsLkxpc3QmbmJzcDtsaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2RlbGltLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2ZpbmFsZGVsaW0pPC9QUkU+CjxETD4KPEREPkZvcm1hdHMgYSBsaXN0IGludG8gdGhlIGZvcm0KICJBZGVsaW0mZ3Q7QiZsdDtmaW5hbGRlbGltJmd0O0MiLjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bGlzdDwvQ09ERT4gLSBUaGUgbGlzdCBvZiBlbGVtZW50cyB0byBmb3JtYXQuPEREPjxDT0RFPmRlbGltPC9DT0RFPiAtIEEgU3RyaW5nLjxERD48Q09ERT5maW5hbERlbGltPC9DT0RFPiAtIEEgU3RyaW5nLjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+QSBTdHJpbmcuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ibGltaXRMZW4oaW50LCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgpsaW1pdExlbjwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmxpbWl0TGVuPC9CPihpbnQmbmJzcDttYXhsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtzdHJpbmcpPC9QUkU+CjxETD4KPEREPkxpbWl0cyAnc3RyaW5nJyB0byAnbWF4bGVuJyBjaGFyYWN0ZXJzLiAgSWYgdGhlIHN0cmluZyBnZXRzCiBjdXJ0YWlsZWQsICIuLi4iIGlzIGFwcGVuZGVkIHRvIGl0LjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bWF4bGVuPC9DT0RFPiAtIEFuIGludCB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aC48REQ+PENPREU+c3RyaW5nPC9DT0RFPiAtIEEgU3RyaW5nLjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+QSBTdHJpbmcuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ibGltaXRMZW4oaW50LCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgpsaW1pdExlbjwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmxpbWl0TGVuPC9CPihpbnQmbmJzcDttYXhsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtzdHJpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtzdWZmaXgpPC9QUkU+CjxETD4KPEREPkxpbWl0cyAnc3RyaW5nJyB0byAnbWF4bGVuJyBjaGFyYWN0ZXIuICBJZiB0aGUgc3RyaW5nIGdldHMKIGN1cnRhaWxlZCwgJ3N1ZmZpeCcgaXMgYXBwZW5kZWQgdG8gaXQuPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5tYXhsZW48L0NPREU+IC0gQW4gaW50IHdpdGggdGhlIG1heGltdW0gbGVuZ3RoLjxERD48Q09ERT5zdHJpbmc8L0NPREU+IC0gQSBTdHJpbmcuPEREPjxDT0RFPnN1ZmZpeDwvQ09ERT4gLSBBIFN0cmluZy48RFQ+PEI+UmV0dXJuczo8L0I+PEREPkEgU3RyaW5nLjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9Im1ha2VBbHRlcm5hdG9yKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+Cm1ha2VBbHRlcm5hdG9yPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+bWFrZUFsdGVybmF0b3I8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDIpPC9QUkU+CjxETD4KPEREPk1ha2VzIGFuIGFsdGVybmF0b3Igb2JqZWN0IHRoYXQgYWx0ZXJuYXRlcyBiZXR3ZWVuIHR3byB2YWx1ZXMuCgogPHA+RXhhbXBsZSB1c2FnZSBpbiBhIFZlbG9jaXR5IHRlbXBsYXRlOgoKIDxjb2RlPjxwcmU+CiAmbHQ7dGFibGUmZ3Q7CiAkZm9ybWF0dGVyLm1ha2VBbHRlcm5hdG9yKCJyb3djb2xvciIsICIjYzBjMGMwIiwgIiNlMGUwZTAiKQogI2ZvcmVhY2ggJGl0ZW0gaW4gJGl0ZW1zCiAjYmVnaW4KICZsdDt0ciZndDsmbHQ7dGQgYmdjb2xvcj0iJHJvd2NvbG9yIiZndDskaXRlbS5OYW1lJmx0Oy90ZCZndDsmbHQ7L3RyJmd0OwogJHJvd2NvbG9yLmFsdGVybmF0ZSgpCiAjZW5kCiAmbHQ7L3RhYmxlJmd0OwogPC9wcmU+PC9jb2RlPjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bmFtZTwvQ09ERT4gLSBUaGUgbmFtZSBmb3IgdGhlIGFsdGVybmF0b3IgaW50IHRoZSBjb250ZXh0LjxERD48Q09ERT5hbHQxPC9DT0RFPiAtIFRoZSBmaXJzdCBhbHRlcm5hdGUuPEREPjxDT0RFPmFsdDI8L0NPREU+IC0gVGhlIHNlY29uZCBhbHRlcm5hdGUuPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgbmV3bHkgY3JlYXRlZCBpbnN0YW5jZS48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJtYWtlQWx0ZXJuYXRvcihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgptYWtlQWx0ZXJuYXRvcjwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPm1ha2VBbHRlcm5hdG9yPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDthbHQyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0Myk8L1BSRT4KPERMPgo8REQ+TWFrZXMgYW4gYWx0ZXJuYXRvciBvYmplY3QgdGhhdCBhbHRlcm5hdGVzIGJldHdlZW4gdGhyZWUKIHZhbHVlcy48REQ+PERMPgo8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvdG9vbHMvVmVsb2NpdHlGb3JtYXR0ZXIuaHRtbCNtYWtlQWx0ZXJuYXRvcihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+PENPREU+bWFrZUFsdGVybmF0b3IoU3RyaW5nIG5hbWUsIFN0cmluZyBhbHQxLCBTdHJpbmcgYWx0Mik8L0NPREU+PC9BPjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9Im1ha2VBbHRlcm5hdG9yKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+Cm1ha2VBbHRlcm5hdG9yPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+bWFrZUFsdGVybmF0b3I8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDthbHQzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7YWx0NCk8L1BSRT4KPERMPgo8REQ+TWFrZXMgYW4gYWx0ZXJuYXRvciBvYmplY3QgdGhhdCBhbHRlcm5hdGVzIGJldHdlZW4gZm91ciB2YWx1ZXMuPEREPjxETD4KPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL3Rvb2xzL1ZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwjbWFrZUFsdGVybmF0b3IoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjxDT0RFPm1ha2VBbHRlcm5hdG9yKFN0cmluZyBuYW1lLCBTdHJpbmcgYWx0MSwgU3RyaW5nIGFsdDIpPC9DT0RFPjwvQT48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJtYWtlQXV0b0FsdGVybmF0b3IoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4KbWFrZUF1dG9BbHRlcm5hdG9yPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+bWFrZUF1dG9BbHRlcm5hdG9yPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDthbHQxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2FsdDIpPC9QUkU+CjxETD4KPEREPk1ha2VzIGFuIGFsdGVybmF0b3Igb2JqZWN0IHRoYXQgYWx0ZXJuYXRlcyBiZXR3ZWVuIHR3byB2YWx1ZXMKIGF1dG9tYXRpY2FsbHkuPEREPjxETD4KPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL3Rvb2xzL1ZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwjbWFrZUFsdGVybmF0b3IoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjxDT0RFPm1ha2VBbHRlcm5hdG9yKFN0cmluZyBuYW1lLCBTdHJpbmcgYWx0MSwgU3RyaW5nIGFsdDIpPC9DT0RFPjwvQT48L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJpc051bGwoamF2YS5sYW5nLk9iamVjdCwgamF2YS5sYW5nLk9iamVjdCkiPjwhLS0gLS0+PC9BPjxIMz4KaXNOdWxsPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5PYmplY3QgPEI+aXNOdWxsPC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7bywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5PYmplY3QmbmJzcDtkZmx0KTwvUFJFPgo8REw+CjxERD5SZXR1cm5zIGEgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgb2JqZWN0IHBhc3NlZCBpcyBudWxsLjwvREw+CjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4KPEhSPgoKPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPgo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+CjxUUj4KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPgo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1ZlbG9jaXR5Rm9ybWF0dGVyLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPC9UUj4KPC9UQUJMRT4KPC9URD4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+CjwvRU0+CjwvVEQ+CjwvVFI+Cgo8VFI+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiZuYnNwO1BSRVYgQ0xBU1MmbmJzcDsKJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvdG9vbHMvVmVsb2NpdHlGb3JtYXR0ZXIuVmVsb2NpdHlBbHRlcm5hdG9yLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJWZWxvY2l0eUZvcm1hdHRlci5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUj4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KICBTVU1NQVJZOiAmbmJzcDs8QSBIUkVGPSIjaW5uZXJfY2xhc3Nfc3VtbWFyeSI+SU5ORVI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZF9zdW1tYXJ5Ij5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CkRFVEFJTDogJm5ic3A7PEEgSFJFRj0iI2ZpZWxkX2RldGFpbCI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPgoKPEhSPgpDb3B5cmlnaHQgqSAyMDAyIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLgo8L0JPRFk+CjwvSFRNTD4K