PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBGcmFtZXNldC8vRU4iImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvZnJhbWVzZXQuZHRkIj4KPCEtLU5ld1BhZ2UtLT4KPEhUTUw+CjxIRUFEPgo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFdlZCBBcHIgMTQgMDg6MjY6MzIgRURUIDIwMDQgLS0+CjxUSVRMRT4KVmVsb2NpdHkgMS40IEFQSTogQ2xhc3MgIFZlbG9jaXR5RW5naW5lCjwvVElUTEU+CjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4KPC9IRUFEPgo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSI+Cgo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+CjxBIE5BTUU9Im5hdmJhcl90b3AiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4KPFRSPgo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+CjxBIE5BTUU9Im5hdmJhcl90b3BfZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPgogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvVmVsb2NpdHlFbmdpbmUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8L1RSPgo8L1RBQkxFPgo8L1REPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4KPC9FTT4KPC9URD4KPC9UUj4KCjxUUj4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHkuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7CiZuYnNwO05FWFQgQ0xBU1M8L0ZPTlQ+PC9URD4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsKJm5ic3A7PEEgSFJFRj0iVmVsb2NpdHlFbmdpbmUuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPgo8L1RSPgo8VFI+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KREVUQUlMOiAmbmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+Cgo8SFI+CjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4KPEgyPgo8Rk9OVCBTSVpFPSItMSI+Cm9yZy5hcGFjaGUudmVsb2NpdHkuYXBwPC9GT05UPgo8QlI+CkNsYXNzICBWZWxvY2l0eUVuZ2luZTwvSDI+CjxQUkU+CmphdmEubGFuZy5PYmplY3QKICB8CiAgKy0tPEI+b3JnLmFwYWNoZS52ZWxvY2l0eS5hcHAuVmVsb2NpdHlFbmdpbmU8L0I+CjwvUFJFPgo8REw+CjxEVD48Qj5BbGwgSW1wbGVtZW50ZWQgSW50ZXJmYWNlczo8L0I+IDxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sIj5SdW50aW1lQ29uc3RhbnRzPC9BPjwvREQ+CjwvREw+CjxIUj4KPERMPgo8RFQ+cHVibGljIGNsYXNzIDxCPlZlbG9jaXR5RW5naW5lPC9CPjxEVD5leHRlbmRzIGphdmEubGFuZy5PYmplY3Q8RFQ+aW1wbGVtZW50cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sIj5SdW50aW1lQ29uc3RhbnRzPC9BPjwvREw+Cgo8UD4KPHA+CiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgc2VwYXJhdGUgbmV3LWFibGUgaW5zdGFuY2Ugb2YgdGhlCiBWZWxvY2l0eSB0ZW1wbGF0ZSBlbmdpbmUuICBUaGUgYWx0ZXJuYXRpdmUgbW9kZWwgZm9yIHVzZQogaXMgdXNpbmcgdGhlIFZlbG9jaXR5IGNsYXNzIHdoaWNoIGVtcGxveXMgdGhlIHNpbmdsZXRvbgogbW9kZWwuCiA8L3A+CgogPHA+CiBQbGVhc2UgZW5zdXJlIHRoYXQgeW91IGNhbGwgb25lIG9mIHRoZSBpbml0KCkgdmFyaWFudHMuIAogVGhpcyBpcyBjcml0aWNhbCBmb3IgcHJvcGVyIGJlaGF2aW9yLiAgCiA8L3A+CgogPHA+IENvbWluZyBzb29uIDogVmVsb2NpdHkgd2lsbCBjYWxsCiB0aGUgcGFyYW1ldGVyLWxlc3MgaW5pdCgpIGF0IHRoZSBmaXJzdCB1c2Ugb2YgdGhpcyBjbGFzcwogaWYgdGhlIGluaXQoKSB3YXNuJ3QgZXhwbGljaXRseSBjYWxsZWQuICBXaGlsZSB0aGlzIHdpbGwKIGVuc3VyZSB0aGF0IFZlbG9jaXR5IGZ1bmN0aW9ucywgaXQgYWxtb3N0IGNlcnRhaW5seSB3b24ndAogZnVuY3Rpb24gaW4gdGhlIHdheSB5b3UgaW50ZW5kLCBzbyBwbGVhc2UgbWFrZSBzdXJlIHRvCiBjYWxsIGluaXQoKS4KIDwvcD4KPFA+CjxETD4KPERUPjxCPlZlcnNpb246IDwvQj48REQ+JElkOiBWZWxvY2l0eUVuZ2luZS5qYXZhLHYgMS42LjQuMSAyMDA0LzAzLzAzIDIzOjIyOjUzIGdlaXJtIEV4cCAkPC9ERD4KPERUPjxCPkF1dGhvcjogPC9CPjxERD48YSBocmVmPSJtYWlsdG86Z2Vpcm1Ab3B0b25saW5lLm5ldCI+R2VpciBNYWdudXNzb24gSnIuPC9hPjwvREQ+CjwvREw+CjxIUj4KCjxQPgo8IS0tID09PT09PT09IElOTkVSIENMQVNTIFNVTU1BUlkgPT09PT09PT0gLS0+CgoKPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPgoKPEEgTkFNRT0iZmllbGRfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CjxCPkZpZWxkIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByaXZhdGUgJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVJbnN0YW5jZS5odG1sIj5SdW50aW1lSW5zdGFuY2U8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNyaSI+cmk8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7PEEgTkFNRT0iZmllbGRzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUudmVsb2NpdHkucnVudGltZS5SdW50aW1lQ29uc3RhbnRzIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGludGVyZmFjZSBvcmcuYXBhY2hlLnZlbG9jaXR5LnJ1bnRpbWUuPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCI+UnVudGltZUNvbnN0YW50czwvQT48L0I+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI0NPVU5URVJfSU5JVElBTF9WQUxVRSI+Q09VTlRFUl9JTklUSUFMX1ZBTFVFPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNDT1VOVEVSX05BTUUiPkNPVU5URVJfTkFNRTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjREVCVUdfUFJFRklYIj5ERUJVR19QUkVGSVg8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI0RFRkFVTFRfUlVOVElNRV9ESVJFQ1RJVkVTIj5ERUZBVUxUX1JVTlRJTUVfRElSRUNUSVZFUzwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjREVGQVVMVF9SVU5USU1FX1BST1BFUlRJRVMiPkRFRkFVTFRfUlVOVElNRV9QUk9QRVJUSUVTPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNFTkNPRElOR19ERUZBVUxUIj5FTkNPRElOR19ERUZBVUxUPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNFUlJPUl9QUkVGSVgiPkVSUk9SX1BSRUZJWDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjRVJST1JNU0dfRU5EIj5FUlJPUk1TR19FTkQ8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI0VSUk9STVNHX1NUQVJUIj5FUlJPUk1TR19TVEFSVDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjRklMRV9SRVNPVVJDRV9MT0FERVJfQ0FDSEUiPkZJTEVfUkVTT1VSQ0VfTE9BREVSX0NBQ0hFPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNGSUxFX1JFU09VUkNFX0xPQURFUl9QQVRIIj5GSUxFX1JFU09VUkNFX0xPQURFUl9QQVRIPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNJTkZPX1BSRUZJWCI+SU5GT19QUkVGSVg8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI0lOUFVUX0VOQ09ESU5HIj5JTlBVVF9FTkNPRElORzwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjSU5URVJQT0xBVEVfU1RSSU5HTElURVJBTFMiPklOVEVSUE9MQVRFX1NUUklOR0xJVEVSQUxTPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfRU1BSUxfQlVGRkVSX1NJWkUiPkxPR1NZU1RFTV9MT0c0Sl9FTUFJTF9CVUZGRVJfU0laRTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjTE9HU1lTVEVNX0xPRzRKX0VNQUlMX0ZST00iPkxPR1NZU1RFTV9MT0c0Sl9FTUFJTF9GUk9NPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfRU1BSUxfU0VSVkVSIj5MT0dTWVNURU1fTE9HNEpfRU1BSUxfU0VSVkVSPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfRU1BSUxfU1VCSkVDVCI+TE9HU1lTVEVNX0xPRzRKX0VNQUlMX1NVQkpFQ1Q8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI0xPR1NZU1RFTV9MT0c0Sl9FTUFJTF9UTyI+TE9HU1lTVEVNX0xPRzRKX0VNQUlMX1RPPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfRklMRV9CQUNLVVBTIj5MT0dTWVNURU1fTE9HNEpfRklMRV9CQUNLVVBTPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfRklMRV9TSVpFIj5MT0dTWVNURU1fTE9HNEpfRklMRV9TSVpFPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfUEFUVEVSTiI+TE9HU1lTVEVNX0xPRzRKX1BBVFRFUk48L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI0xPR1NZU1RFTV9MT0c0Sl9SRU1PVEVfSE9TVCI+TE9HU1lTVEVNX0xPRzRKX1JFTU9URV9IT1NUPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfUkVNT1RFX1BPUlQiPkxPR1NZU1RFTV9MT0c0Sl9SRU1PVEVfUE9SVDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjTE9HU1lTVEVNX0xPRzRKX1NZU0xPR0RfRkFDSUxJVFkiPkxPR1NZU1RFTV9MT0c0Sl9TWVNMT0dEX0ZBQ0lMSVRZPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNMT0dTWVNURU1fTE9HNEpfU1lTTE9HRF9IT1NUIj5MT0dTWVNURU1fTE9HNEpfU1lTTE9HRF9IT1NUPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNOVU1CRVJfT0ZfUEFSU0VSUyI+TlVNQkVSX09GX1BBUlNFUlM8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI09VVFBVVF9FTkNPRElORyI+T1VUUFVUX0VOQ09ESU5HPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNQQVJTRV9ESVJFQ1RJVkVfTUFYREVQVEgiPlBBUlNFX0RJUkVDVElWRV9NQVhERVBUSDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjUEFSU0VSX1BPT0xfU0laRSI+UEFSU0VSX1BPT0xfU0laRTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjUkVTT1VSQ0VfTE9BREVSIj5SRVNPVVJDRV9MT0FERVI8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1JFU09VUkNFX01BTkFHRVJfQ0FDSEVfQ0xBU1MiPlJFU09VUkNFX01BTkFHRVJfQ0FDSEVfQ0xBU1M8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1JFU09VUkNFX01BTkFHRVJfQ0xBU1MiPlJFU09VUkNFX01BTkFHRVJfQ0xBU1M8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1JFU09VUkNFX01BTkFHRVJfTE9HV0hFTkZPVU5EIj5SRVNPVVJDRV9NQU5BR0VSX0xPR1dIRU5GT1VORDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjUlVOVElNRV9MT0ciPlJVTlRJTUVfTE9HPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNSVU5USU1FX0xPR19FUlJPUl9TVEFDS1RSQUNFIj5SVU5USU1FX0xPR19FUlJPUl9TVEFDS1RSQUNFPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNSVU5USU1FX0xPR19JTkZPX1NUQUNLVFJBQ0UiPlJVTlRJTUVfTE9HX0lORk9fU1RBQ0tUUkFDRTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjUlVOVElNRV9MT0dfTE9HU1lTVEVNIj5SVU5USU1FX0xPR19MT0dTWVNURU08L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1JVTlRJTUVfTE9HX0xPR1NZU1RFTV9DTEFTUyI+UlVOVElNRV9MT0dfTE9HU1lTVEVNX0NMQVNTPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNSVU5USU1FX0xPR19SRUZFUkVOQ0VfTE9HX0lOVkFMSUQiPlJVTlRJTUVfTE9HX1JFRkVSRU5DRV9MT0dfSU5WQUxJRDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjUlVOVElNRV9MT0dfV0FSTl9TVEFDS1RSQUNFIj5SVU5USU1FX0xPR19XQVJOX1NUQUNLVFJBQ0U8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1VCRVJTUEVDVF9DTEFTU05BTUUiPlVCRVJTUEVDVF9DTEFTU05BTUU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1VOS05PV05fUFJFRklYIj5VTktOT1dOX1BSRUZJWDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjVk1fQ09OVEVYVF9MT0NBTFNDT1BFIj5WTV9DT05URVhUX0xPQ0FMU0NPUEU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1ZNX0xJQlJBUlkiPlZNX0xJQlJBUlk8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1ZNX0xJQlJBUllfQVVUT1JFTE9BRCI+Vk1fTElCUkFSWV9BVVRPUkVMT0FEPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNWTV9NRVNTQUdFU19PTiI+Vk1fTUVTU0FHRVNfT048L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1ZNX1BFUk1fQUxMT1dfSU5MSU5FIj5WTV9QRVJNX0FMTE9XX0lOTElORTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9SdW50aW1lQ29uc3RhbnRzLmh0bWwjVk1fUEVSTV9BTExPV19JTkxJTkVfUkVQTEFDRV9HTE9CQUwiPlZNX1BFUk1fQUxMT1dfSU5MSU5FX1JFUExBQ0VfR0xPQkFMPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVDb25zdGFudHMuaHRtbCNWTV9QRVJNX0lOTElORV9MT0NBTCI+Vk1fUEVSTV9JTkxJTkVfTE9DQUw8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvUnVudGltZUNvbnN0YW50cy5odG1sI1dBUk5fUFJFRklYIj5XQVJOX1BSRUZJWDwvQT48L0NPREU+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjwhLS0gPT09PT09PT0gQ09OU1RSVUNUT1IgU1VNTUFSWSA9PT09PT09PSAtLT4KCjxBIE5BTUU9ImNvbnN0cnVjdG9yX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5Db25zdHJ1Y3RvciBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjVmVsb2NpdHlFbmdpbmUoKSI+VmVsb2NpdHlFbmdpbmU8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPCEtLSA9PT09PT09PT09IE1FVEhPRCBTVU1NQVJZID09PT09PT09PT09IC0tPgoKPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjYWRkUHJvcGVydHkoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLk9iamVjdCkiPmFkZFByb3BlcnR5PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2tleSwKICAgICAgICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO3ZhbHVlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWRkIGEgVmVsb2NpdHkgUnVudGltZSBwcm9wZXJ0eS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNjbGVhclByb3BlcnR5KGphdmEubGFuZy5TdHJpbmcpIj5jbGVhclByb3BlcnR5PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2tleSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NsZWFyIGEgVmVsb2NpdHkgUnVudGltZSBwcm9wZXJ0eS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNkZWJ1ZyhqYXZhLmxhbmcuT2JqZWN0KSI+ZGVidWc8L0E+PC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7bWVzc2FnZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0xvZyBhIGRlYnVnIG1lc3NhZ2UuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjZXJyb3IoamF2YS5sYW5nLk9iamVjdCkiPmVycm9yPC9BPjwvQj4oamF2YS5sYW5nLk9iamVjdCZuYnNwO21lc3NhZ2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtMb2cgYW4gZXJyb3IgbWVzc2FnZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNldmFsdWF0ZShvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCwgamF2YS5pby5Xcml0ZXIsIGphdmEubGFuZy5TdHJpbmcsIGphdmEuaW8uSW5wdXRTdHJlYW0pIj5ldmFsdWF0ZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvY29udGV4dC9Db250ZXh0Lmh0bWwiPkNvbnRleHQ8L0E+Jm5ic3A7Y29udGV4dCwKICAgICAgICAgamF2YS5pby5Xcml0ZXImbmJzcDt3cml0ZXIsCiAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2dUYWcsCiAgICAgICAgIGphdmEuaW8uSW5wdXRTdHJlYW0mbmJzcDtpbnN0cmVhbSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwOzxJPlVzZQogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjZXZhbHVhdGUob3JnLmFwYWNoZS52ZWxvY2l0eS5jb250ZXh0LkNvbnRleHQsIGphdmEuaW8uV3JpdGVyLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmlvLlJlYWRlcikiPjxDT0RFPmV2YWx1YXRlKCBDb250ZXh0IGNvbnRleHQsIFdyaXRlciB3cml0ZXIsIAogICAgICBTdHJpbmcgbG9nVGFnLCBSZWFkZXIgcmVhZGVyICk8L0NPREU+PC9BPjwvST48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNldmFsdWF0ZShvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCwgamF2YS5pby5Xcml0ZXIsIGphdmEubGFuZy5TdHJpbmcsIGphdmEuaW8uUmVhZGVyKSI+ZXZhbHVhdGU8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2NvbnRleHQvQ29udGV4dC5odG1sIj5Db250ZXh0PC9BPiZuYnNwO2NvbnRleHQsCiAgICAgICAgIGphdmEuaW8uV3JpdGVyJm5ic3A7d3JpdGVyLAogICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bG9nVGFnLAogICAgICAgICBqYXZhLmlvLlJlYWRlciZuYnNwO3JlYWRlcik8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JlbmRlcnMgdGhlIGlucHV0IHJlYWRlciB1c2luZyB0aGUgY29udGV4dCBpbnRvIHRoZSBvdXRwdXQgd3JpdGVyLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2Jvb2xlYW48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eUVuZ2luZS5odG1sI2V2YWx1YXRlKG9yZy5hcGFjaGUudmVsb2NpdHkuY29udGV4dC5Db250ZXh0LCBqYXZhLmlvLldyaXRlciwgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmV2YWx1YXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT4mbmJzcDtjb250ZXh0LAogICAgICAgICBqYXZhLmlvLldyaXRlciZuYnNwO291dCwKICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvZ1RhZywKICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2luc3RyaW5nKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVuZGVycyB0aGUgaW5wdXQgc3RyaW5nIHVzaW5nIHRoZSBjb250ZXh0IGludG8gdGhlIG91dHB1dCB3cml0ZXIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLk9iamVjdDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjZ2V0UHJvcGVydHkoamF2YS5sYW5nLlN0cmluZykiPmdldFByb3BlcnR5PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2tleSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCBhIFZlbG9jaXR5IFJ1bnRpbWUgcHJvcGVydHkuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9UZW1wbGF0ZS5odG1sIj5UZW1wbGF0ZTwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eUVuZ2luZS5odG1sI2dldFRlbXBsYXRlKGphdmEubGFuZy5TdHJpbmcpIj5nZXRUZW1wbGF0ZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyBhIDxjb2RlPlRlbXBsYXRlPC9jb2RlPiBmcm9tIHRoZSBWZWxvY2l0eQogIHJlc291cmNlIG1hbmFnZW1lbnQgc3lzdGVtLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvVGVtcGxhdGUuaHRtbCI+VGVtcGxhdGU8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNnZXRUZW1wbGF0ZShqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0VGVtcGxhdGU8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2VuY29kaW5nKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyBhIDxjb2RlPlRlbXBsYXRlPC9jb2RlPiBmcm9tIHRoZSBWZWxvY2l0eQogIHJlc291cmNlIG1hbmFnZW1lbnQgc3lzdGVtLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eUVuZ2luZS5odG1sI2luZm8oamF2YS5sYW5nLk9iamVjdCkiPmluZm88L0E+PC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7bWVzc2FnZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0xvZyBhbiBpbmZvIG1lc3NhZ2UuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjaW5pdCgpIj5pbml0PC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aW5pdGlhbGl6ZSB0aGUgVmVsb2NpdHkgcnVudGltZSBlbmdpbmUsIHVzaW5nIHRoZSBkZWZhdWx0IAogIHByb3BlcnRpZXMgb2YgdGhlIFZlbG9jaXR5IGRpc3RyaWJ1dGlvbjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eUVuZ2luZS5odG1sI2luaXQoamF2YS51dGlsLlByb3BlcnRpZXMpIj5pbml0PC9BPjwvQj4oamF2YS51dGlsLlByb3BlcnRpZXMmbmJzcDtwKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aW5pdGlhbGl6ZSB0aGUgVmVsb2NpdHkgcnVudGltZSBlbmdpbmUsIHVzaW5nIGRlZmF1bHQgcHJvcGVydGllcwogIHBsdXMgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHBhc3NlZCBpbiBqYXZhLnV0aWwuUHJvcGVydGllcyBvYmplY3Q8L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNpbml0KGphdmEubGFuZy5TdHJpbmcpIj5pbml0PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3Byb3BzRmlsZW5hbWUpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbml0aWFsaXplIHRoZSBWZWxvY2l0eSBydW50aW1lIGVuZ2luZSwgdXNpbmcgZGVmYXVsdCBwcm9wZXJ0aWVzCiAgcGx1cyB0aGUgcHJvcGVydGllcyBpbiB0aGUgcHJvcGVydGllcyBmaWxlIHBhc3NlZCBpbiBhcyB0aGUgYXJnPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjaW52b2tlVmVsb2NpbWFjcm8oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZ1tdLCBvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCwgamF2YS5pby5Xcml0ZXIpIj5pbnZva2VWZWxvY2ltYWNybzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt2bU5hbWUsCiAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2dUYWcsCiAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO3BhcmFtcywKICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT4mbmJzcDtjb250ZXh0LAogICAgICAgICAgICAgICAgICBqYXZhLmlvLldyaXRlciZuYnNwO3dyaXRlcik8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0ludm9rZXMgYSBjdXJyZW50bHkgcmVnaXN0ZXJlZCBWZWxvY2ltYWNybyB3aXRoIHRoZSBwYXJtcyBwcm92aWRlZAogIGFuZCBwbGFjZXMgdGhlIHJlbmRlcmVkIHN0cmVhbSBpbnRvIHRoZSB3cml0ZXIuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjbWVyZ2VUZW1wbGF0ZShqYXZhLmxhbmcuU3RyaW5nLCBvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCwgamF2YS5pby5Xcml0ZXIpIj5tZXJnZVRlbXBsYXRlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3RlbXBsYXRlTmFtZSwKICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2NvbnRleHQvQ29udGV4dC5odG1sIj5Db250ZXh0PC9BPiZuYnNwO2NvbnRleHQsCiAgICAgICAgICAgICAgamF2YS5pby5Xcml0ZXImbmJzcDt3cml0ZXIpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDttZXJnZXMgYSB0ZW1wbGF0ZSBhbmQgcHV0cyB0aGUgcmVuZGVyZWQgc3RyZWFtIGludG8gdGhlIHdyaXRlcjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2Jvb2xlYW48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eUVuZ2luZS5odG1sI21lcmdlVGVtcGxhdGUoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgb3JnLmFwYWNoZS52ZWxvY2l0eS5jb250ZXh0LkNvbnRleHQsIGphdmEuaW8uV3JpdGVyKSI+bWVyZ2VUZW1wbGF0ZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt0ZW1wbGF0ZU5hbWUsCiAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2VuY29kaW5nLAogICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvY29udGV4dC9Db250ZXh0Lmh0bWwiPkNvbnRleHQ8L0E+Jm5ic3A7Y29udGV4dCwKICAgICAgICAgICAgICBqYXZhLmlvLldyaXRlciZuYnNwO3dyaXRlcik8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO21lcmdlcyBhIHRlbXBsYXRlIGFuZCBwdXRzIHRoZSByZW5kZXJlZCBzdHJlYW0gaW50byB0aGUgd3JpdGVyPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjc2V0QXBwbGljYXRpb25BdHRyaWJ1dGUoamF2YS5sYW5nLk9iamVjdCwgamF2YS5sYW5nLk9iamVjdCkiPnNldEFwcGxpY2F0aW9uQXR0cmlidXRlPC9BPjwvQj4oamF2YS5sYW5nLk9iamVjdCZuYnNwO2tleSwKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO3ZhbHVlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7CiAgU2V0IHRoZSBhbiBBcHBsaWNhdGlvbkF0dHJpYnVlLCB3aGljaCBpcyBhbiBPYmplY3QKICBzZXQgYnkgdGhlIGFwcGxpY2F0aW9uIHdoaWNoIGlzIGFjY2Vzc2FibGUgZnJvbQogIGFueSBjb21wb25lbnQgb2YgdGhlIHN5c3RlbSB0aGF0IGdldHMgYSBSdW50aW1lU2VydmljZXMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjc2V0Q29uZmlndXJhdGlvbihvcmcuYXBhY2hlLnZlbG9jaXR5LnJ1bnRpbWUuY29uZmlndXJhdGlvbi5Db25maWd1cmF0aW9uKSI+c2V0Q29uZmlndXJhdGlvbjwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvcnVudGltZS9jb25maWd1cmF0aW9uL0NvbmZpZ3VyYXRpb24uaHRtbCI+Q29uZmlndXJhdGlvbjwvQT4mbmJzcDtjb25maWd1cmF0aW9uKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PEI+RGVwcmVjYXRlZC48L0I+Jm5ic3A7PEk+VXNlCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNzZXRFeHRlbmRlZFByb3BlcnRpZXMob3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLkV4dGVuZGVkUHJvcGVydGllcykiPjxDT0RFPnNldEV4dGVuZGVkUHJvcGVydGllcyggRXh0ZW5kZWRQcm9wZXJ0aWVzICApPC9DT0RFPjwvQT48L0k+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjc2V0RXh0ZW5kZWRQcm9wZXJ0aWVzKG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5FeHRlbmRlZFByb3BlcnRpZXMpIj5zZXRFeHRlbmRlZFByb3BlcnRpZXM8L0E+PC9CPihvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuRXh0ZW5kZWRQcm9wZXJ0aWVzJm5ic3A7Y29uZmlndXJhdGlvbik8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCBhbiBlbnRpcmUgY29uZmlndXJhdGlvbiBhdCBvbmNlLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eUVuZ2luZS5odG1sI3NldFByb3BlcnR5KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5PYmplY3QpIj5zZXRQcm9wZXJ0eTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtrZXksCiAgICAgICAgICAgIGphdmEubGFuZy5PYmplY3QmbmJzcDt2YWx1ZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCBhIFZlbG9jaXR5IFJ1bnRpbWUgcHJvcGVydHkuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjdGVtcGxhdGVFeGlzdHMoamF2YS5sYW5nLlN0cmluZykiPnRlbXBsYXRlRXhpc3RzPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3RlbXBsYXRlTmFtZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0RldGVybWluZXMgaWYgYSB0ZW1wbGF0ZSBpcyBhY2Nlc3NhYmxlIHZpYSB0aGUgY3VycmVudGx5IAogICBjb25maWd1cmVkIHJlc291cmNlIGxvYWRlcnMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjd2FybihqYXZhLmxhbmcuT2JqZWN0KSI+d2FybjwvQT48L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDttZXNzYWdlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TG9nIGEgd2FybmluZyBtZXNzYWdlLjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3NfamF2YS5sYW5nLk9iamVjdCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPjxjbGluaXQ+LCBjbG9uZSwgZXF1YWxzLCBmaW5hbGl6ZSwgZ2V0Q2xhc3MsIGhhc2hDb2RlLCBub3RpZnksIG5vdGlmeUFsbCwgcmVnaXN0ZXJOYXRpdmVzLCB0b1N0cmluZywgd2FpdCwgd2FpdCwgd2FpdDwvQ09ERT48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+Cgo8IS0tID09PT09PT09PT09PSBGSUVMRCBERVRBSUwgPT09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJmaWVsZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5GaWVsZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJyaSI+PCEtLSAtLT48L0E+PEgzPgpyaTwvSDM+CjxQUkU+CnByaXZhdGUgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9ydW50aW1lL1J1bnRpbWVJbnN0YW5jZS5odG1sIj5SdW50aW1lSW5zdGFuY2U8L0E+IDxCPnJpPC9CPjwvUFJFPgo8REw+CjwvREw+Cgo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+Cgo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5Db25zdHJ1Y3RvciBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJWZWxvY2l0eUVuZ2luZSgpIj48IS0tIC0tPjwvQT48SDM+ClZlbG9jaXR5RW5naW5lPC9IMz4KPFBSRT4KcHVibGljIDxCPlZlbG9jaXR5RW5naW5lPC9CPigpPC9QUkU+CjxETD4KPC9ETD4KCjwhLS0gPT09PT09PT09PT09IE1FVEhPRCBERVRBSUwgPT09PT09PT09PSAtLT4KCjxBIE5BTUU9Im1ldGhvZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5NZXRob2QgRGV0YWlsPC9CPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgoKPEEgTkFNRT0iaW5pdCgpIj48IS0tIC0tPjwvQT48SDM+CmluaXQ8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5pbml0PC9CPigpCiAgICAgICAgICB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbjwvUFJFPgo8REw+CjxERD5pbml0aWFsaXplIHRoZSBWZWxvY2l0eSBydW50aW1lIGVuZ2luZSwgdXNpbmcgdGhlIGRlZmF1bHQgCiAgcHJvcGVydGllcyBvZiB0aGUgVmVsb2NpdHkgZGlzdHJpYnV0aW9uPEREPjxETD4KPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iaW5pdChqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgppbml0PC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+aW5pdDwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3Byb3BzRmlsZW5hbWUpCiAgICAgICAgICB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbjwvUFJFPgo8REw+CjxERD5pbml0aWFsaXplIHRoZSBWZWxvY2l0eSBydW50aW1lIGVuZ2luZSwgdXNpbmcgZGVmYXVsdCBwcm9wZXJ0aWVzCiAgcGx1cyB0aGUgcHJvcGVydGllcyBpbiB0aGUgcHJvcGVydGllcyBmaWxlIHBhc3NlZCBpbiBhcyB0aGUgYXJnPEREPjxETD4KPC9ETD4KPC9ERD4KPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5wcm9wc0ZpbGVuYW1lPC9DT0RFPiAtIGZpbGUgY29udGFpbmluZyBwcm9wZXJ0aWVzIHRvIHVzZSB0byBpbml0aWFsaXplIAogICAgICAgICB0aGUgVmVsb2NpdHkgcnVudGltZTwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImluaXQoamF2YS51dGlsLlByb3BlcnRpZXMpIj48IS0tIC0tPjwvQT48SDM+CmluaXQ8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5pbml0PC9CPihqYXZhLnV0aWwuUHJvcGVydGllcyZuYnNwO3ApCiAgICAgICAgICB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbjwvUFJFPgo8REw+CjxERD5pbml0aWFsaXplIHRoZSBWZWxvY2l0eSBydW50aW1lIGVuZ2luZSwgdXNpbmcgZGVmYXVsdCBwcm9wZXJ0aWVzCiAgcGx1cyB0aGUgcHJvcGVydGllcyBpbiB0aGUgcGFzc2VkIGluIGphdmEudXRpbC5Qcm9wZXJ0aWVzIG9iamVjdDxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+cDwvQ09ERT4gLSBQcm9wcnRpZXMgb2JqZWN0IGNvbnRhaW5pbmcgaW5pdGlhbGl6YXRpb24gcHJvcGVydGllczwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9InNldFByb3BlcnR5KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5PYmplY3QpIj48IS0tIC0tPjwvQT48SDM+CnNldFByb3BlcnR5PC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+c2V0UHJvcGVydHk8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtrZXksCiAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5PYmplY3QmbmJzcDt2YWx1ZSk8L1BSRT4KPERMPgo8REQ+U2V0IGEgVmVsb2NpdHkgUnVudGltZSBwcm9wZXJ0eS48REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPlN0cmluZzwvQ09ERT4gLSBrZXk8REQ+PENPREU+T2JqZWN0PC9DT0RFPiAtIHZhbHVlPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iYWRkUHJvcGVydHkoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLk9iamVjdCkiPjwhLS0gLS0+PC9BPjxIMz4KYWRkUHJvcGVydHk8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5hZGRQcm9wZXJ0eTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2tleSwKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO3ZhbHVlKTwvUFJFPgo8REw+CjxERD5BZGQgYSBWZWxvY2l0eSBSdW50aW1lIHByb3BlcnR5LjxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+U3RyaW5nPC9DT0RFPiAtIGtleTxERD48Q09ERT5PYmplY3Q8L0NPREU+IC0gdmFsdWU8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJjbGVhclByb3BlcnR5KGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CmNsZWFyUHJvcGVydHk8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5jbGVhclByb3BlcnR5PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7a2V5KTwvUFJFPgo8REw+CjxERD5DbGVhciBhIFZlbG9jaXR5IFJ1bnRpbWUgcHJvcGVydHkuPEREPjxETD4KPC9ETD4KPC9ERD4KPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5rZXk8L0NPREU+IC0gb2YgcHJvcGVydHkgdG8gY2xlYXI8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJzZXRDb25maWd1cmF0aW9uKG9yZy5hcGFjaGUudmVsb2NpdHkucnVudGltZS5jb25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb24pIj48IS0tIC0tPjwvQT48SDM+CnNldENvbmZpZ3VyYXRpb248L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5zZXRDb25maWd1cmF0aW9uPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L3J1bnRpbWUvY29uZmlndXJhdGlvbi9Db25maWd1cmF0aW9uLmh0bWwiPkNvbmZpZ3VyYXRpb248L0E+Jm5ic3A7Y29uZmlndXJhdGlvbik8L1BSRT4KPERMPgo8REQ+PEI+RGVwcmVjYXRlZC48L0I+Jm5ic3A7PEk+VXNlCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9hcHAvVmVsb2NpdHlFbmdpbmUuaHRtbCNzZXRFeHRlbmRlZFByb3BlcnRpZXMob3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLkV4dGVuZGVkUHJvcGVydGllcykiPjxDT0RFPnNldEV4dGVuZGVkUHJvcGVydGllcyggRXh0ZW5kZWRQcm9wZXJ0aWVzICApPC9DT0RFPjwvQT48L0k+CjxQPgo8REQ+U2V0IGFuIGVudGlyZSBjb25maWd1cmF0aW9uIGF0IG9uY2UuIFRoaXMgaXMKIHVzZWZ1bCBpbiBjYXNlcyB3aGVyZSB0aGUgcGFyZW50IGFwcGxpY2F0aW9uIHVzZXMKIHRoZSBDb25maWd1cmF0aW9uIGNsYXNzIGFuZCB0aGUgdmVsb2NpdHkgY29uZmlndXJhdGlvbgogaXMgYSBzdWJzZXQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbidzIGNvbmZpZ3VyYXRpb24uPEREPjxETD4KPC9ETD4KPC9ERD4KPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5Db25maWd1cmF0aW9uPC9DT0RFPiAtIGNvbmZpZ3VyYXRpb248L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJzZXRFeHRlbmRlZFByb3BlcnRpZXMob3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLkV4dGVuZGVkUHJvcGVydGllcykiPjwhLS0gLS0+PC9BPjxIMz4Kc2V0RXh0ZW5kZWRQcm9wZXJ0aWVzPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+c2V0RXh0ZW5kZWRQcm9wZXJ0aWVzPC9CPihvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuRXh0ZW5kZWRQcm9wZXJ0aWVzJm5ic3A7Y29uZmlndXJhdGlvbik8L1BSRT4KPERMPgo8REQ+U2V0IGFuIGVudGlyZSBjb25maWd1cmF0aW9uIGF0IG9uY2UuIFRoaXMgaXMKIHVzZWZ1bCBpbiBjYXNlcyB3aGVyZSB0aGUgcGFyZW50IGFwcGxpY2F0aW9uIHVzZXMKIHRoZSBFeHRlbmRlZFByb3BlcnRpZXMgY2xhc3MgYW5kIHRoZSB2ZWxvY2l0eSBjb25maWd1cmF0aW9uCiBpcyBhIHN1YnNldCBvZiB0aGUgcGFyZW50IGFwcGxpY2F0aW9uJ3MgY29uZmlndXJhdGlvbi48REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPkV4dGVuZGVkUHJvcGVydGllczwvQ09ERT4gLSBjb25maWd1cmF0aW9uPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZ2V0UHJvcGVydHkoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0UHJvcGVydHk8L0gzPgo8UFJFPgpwdWJsaWMgamF2YS5sYW5nLk9iamVjdCA8Qj5nZXRQcm9wZXJ0eTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2tleSk8L1BSRT4KPERMPgo8REQ+R2V0IGEgVmVsb2NpdHkgUnVudGltZSBwcm9wZXJ0eS48REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmtleTwvQ09ERT4gLSBwcm9wZXJ0eSB0byByZXRyaWV2ZTxEVD48Qj5SZXR1cm5zOjwvQj48REQ+cHJvcGVydHkgdmFsdWUgb3IgbnVsbCBpZiB0aGUgcHJvcGVydHkKICAgICAgICBub3QgY3VycmVudGx5IHNldDwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImV2YWx1YXRlKG9yZy5hcGFjaGUudmVsb2NpdHkuY29udGV4dC5Db250ZXh0LCBqYXZhLmlvLldyaXRlciwgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4KZXZhbHVhdGU8L0gzPgo8UFJFPgpwdWJsaWMgYm9vbGVhbiA8Qj5ldmFsdWF0ZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT4mbmJzcDtjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmlvLldyaXRlciZuYnNwO291dCwKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvZ1RhZywKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2luc3RyaW5nKQogICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9QYXJzZUVycm9yRXhjZXB0aW9uLmh0bWwiPlBhcnNlRXJyb3JFeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9NZXRob2RJbnZvY2F0aW9uRXhjZXB0aW9uLmh0bWwiPk1ldGhvZEludm9jYXRpb25FeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLmh0bWwiPlJlc291cmNlTm90Rm91bmRFeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmlvLklPRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPnJlbmRlcnMgdGhlIGlucHV0IHN0cmluZyB1c2luZyB0aGUgY29udGV4dCBpbnRvIHRoZSBvdXRwdXQgd3JpdGVyLiAKICBUbyBiZSB1c2VkIHdoZW4gYSB0ZW1wbGF0ZSBpcyBkeW5hbWljYWxseSBjb25zdHJ1Y3RlZCwgb3Igd2FudCB0byB1c2UgCiAgVmVsb2NpdHkgYXMgYSB0b2tlbiByZXBsYWNlci48REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmNvbnRleHQ8L0NPREU+IC0gY29udGV4dCB0byB1c2UgaW4gcmVuZGVyaW5nIGlucHV0IHN0cmluZzxERD48Q09ERT5vdXQ8L0NPREU+IC0gV3JpdGVyIGluIHdoaWNoIHRvIHJlbmRlciB0aGUgb3V0cHV0PEREPjxDT0RFPmxvZ1RhZzwvQ09ERT4gLSBzdHJpbmcgdG8gYmUgdXNlZCBhcyB0aGUgdGVtcGxhdGUgbmFtZSBmb3IgbG9nIAogICAgICAgICAgICAgICAgIG1lc3NhZ2VzIGluIGNhc2Ugb2YgZXJyb3I8REQ+PENPREU+aW5zdHJpbmc8L0NPREU+IC0gaW5wdXQgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFZUTCB0byBiZSByZW5kZXJlZDxEVD48Qj5SZXR1cm5zOjwvQj48REQ+dHJ1ZSBpZiBzdWNjZXNzZnVsLCBmYWxzZSBvdGhlcndpc2UuICBJZiBmYWxzZSwgc2VlCiAgICAgICAgICAgICBWZWxvY2l0eSBydW50aW1lIGxvZzwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImV2YWx1YXRlKG9yZy5hcGFjaGUudmVsb2NpdHkuY29udGV4dC5Db250ZXh0LCBqYXZhLmlvLldyaXRlciwgamF2YS5sYW5nLlN0cmluZywgamF2YS5pby5JbnB1dFN0cmVhbSkiPjwhLS0gLS0+PC9BPjxIMz4KZXZhbHVhdGU8L0gzPgo8UFJFPgpwdWJsaWMgYm9vbGVhbiA8Qj5ldmFsdWF0ZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT4mbmJzcDtjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmlvLldyaXRlciZuYnNwO3dyaXRlciwKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvZ1RhZywKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5pby5JbnB1dFN0cmVhbSZuYnNwO2luc3RyZWFtKQogICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9QYXJzZUVycm9yRXhjZXB0aW9uLmh0bWwiPlBhcnNlRXJyb3JFeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9NZXRob2RJbnZvY2F0aW9uRXhjZXB0aW9uLmh0bWwiPk1ldGhvZEludm9jYXRpb25FeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLmh0bWwiPlJlc291cmNlTm90Rm91bmRFeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmlvLklPRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPjxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwOzxJPlVzZQogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvYXBwL1ZlbG9jaXR5RW5naW5lLmh0bWwjZXZhbHVhdGUob3JnLmFwYWNoZS52ZWxvY2l0eS5jb250ZXh0LkNvbnRleHQsIGphdmEuaW8uV3JpdGVyLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmlvLlJlYWRlcikiPjxDT0RFPmV2YWx1YXRlKCBDb250ZXh0IGNvbnRleHQsIFdyaXRlciB3cml0ZXIsIAogICAgICBTdHJpbmcgbG9nVGFnLCBSZWFkZXIgcmVhZGVyICk8L0NPREU+PC9BPjwvST4KPFA+CjxERD5SZW5kZXJzIHRoZSBpbnB1dCBzdHJlYW0gdXNpbmcgdGhlIGNvbnRleHQgaW50byB0aGUgb3V0cHV0IHdyaXRlci4KICBUbyBiZSB1c2VkIHdoZW4gYSB0ZW1wbGF0ZSBpcyBkeW5hbWljYWxseSBjb25zdHJ1Y3RlZCwgb3Igd2FudCB0bwogIHVzZSBWZWxvY2l0eSBhcyBhIHRva2VuIHJlcGxhY2VyLjxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+Y29udGV4dDwvQ09ERT4gLSBjb250ZXh0IHRvIHVzZSBpbiByZW5kZXJpbmcgaW5wdXQgc3RyaW5nPEREPjxDT0RFPm91dDwvQ09ERT4gLSBXcml0ZXIgaW4gd2hpY2ggdG8gcmVuZGVyIHRoZSBvdXRwdXQ8REQ+PENPREU+bG9nVGFnPC9DT0RFPiAtIHN0cmluZyB0byBiZSB1c2VkIGFzIHRoZSB0ZW1wbGF0ZSBuYW1lIGZvciBsb2cgbWVzc2FnZXMKICAgICAgICAgICAgICAgICBpbiBjYXNlIG9mIGVycm9yPEREPjxDT0RFPmluc3RyZWFtPC9DT0RFPiAtIGlucHV0IHN0cmVhbSBjb250YWluaW5nIHRoZSBWVEwgdG8gYmUgcmVuZGVyZWQ8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRydWUgaWYgc3VjY2Vzc2Z1bCwgZmFsc2Ugb3RoZXJ3aXNlLiAgSWYgZmFsc2UsIHNlZSAKICAgICAgICAgICAgICAgVmVsb2NpdHkgcnVudGltZSBsb2c8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJldmFsdWF0ZShvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCwgamF2YS5pby5Xcml0ZXIsIGphdmEubGFuZy5TdHJpbmcsIGphdmEuaW8uUmVhZGVyKSI+PCEtLSAtLT48L0E+PEgzPgpldmFsdWF0ZTwvSDM+CjxQUkU+CnB1YmxpYyBib29sZWFuIDxCPmV2YWx1YXRlPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2NvbnRleHQvQ29udGV4dC5odG1sIj5Db250ZXh0PC9BPiZuYnNwO2NvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGphdmEuaW8uV3JpdGVyJm5ic3A7d3JpdGVyLAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bG9nVGFnLAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmlvLlJlYWRlciZuYnNwO3JlYWRlcikKICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vUGFyc2VFcnJvckV4Y2VwdGlvbi5odG1sIj5QYXJzZUVycm9yRXhjZXB0aW9uPC9BPiwKICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vTWV0aG9kSW52b2NhdGlvbkV4Y2VwdGlvbi5odG1sIj5NZXRob2RJbnZvY2F0aW9uRXhjZXB0aW9uPC9BPiwKICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbi5odG1sIj5SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uPC9BPiwKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5pby5JT0V4Y2VwdGlvbjwvUFJFPgo8REw+CjxERD5SZW5kZXJzIHRoZSBpbnB1dCByZWFkZXIgdXNpbmcgdGhlIGNvbnRleHQgaW50byB0aGUgb3V0cHV0IHdyaXRlci4KICBUbyBiZSB1c2VkIHdoZW4gYSB0ZW1wbGF0ZSBpcyBkeW5hbWljYWxseSBjb25zdHJ1Y3RlZCwgb3Igd2FudCB0bwogIHVzZSBWZWxvY2l0eSBhcyBhIHRva2VuIHJlcGxhY2VyLjxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+Y29udGV4dDwvQ09ERT4gLSBjb250ZXh0IHRvIHVzZSBpbiByZW5kZXJpbmcgaW5wdXQgc3RyaW5nPEREPjxDT0RFPm91dDwvQ09ERT4gLSBXcml0ZXIgaW4gd2hpY2ggdG8gcmVuZGVyIHRoZSBvdXRwdXQ8REQ+PENPREU+bG9nVGFnPC9DT0RFPiAtIHN0cmluZyB0byBiZSB1c2VkIGFzIHRoZSB0ZW1wbGF0ZSBuYW1lIGZvciBsb2cgbWVzc2FnZXMKICAgICAgICAgICAgICAgICBpbiBjYXNlIG9mIGVycm9yPEREPjxDT0RFPnJlYWRlcjwvQ09ERT4gLSBSZWFkZXIgY29udGFpbmluZyB0aGUgVlRMIHRvIGJlIHJlbmRlcmVkPERUPjxCPlJldHVybnM6PC9CPjxERD50cnVlIGlmIHN1Y2Nlc3NmdWwsIGZhbHNlIG90aGVyd2lzZS4gIElmIGZhbHNlLCBzZWUgCiAgICAgICAgICAgICAgIFZlbG9jaXR5IHJ1bnRpbWUgbG9nPERUPjxCPlNpbmNlOiA8L0I+PEREPlZlbG9jaXR5IHYxLjE8L0REPgo8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJpbnZva2VWZWxvY2ltYWNybyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nW10sIG9yZy5hcGFjaGUudmVsb2NpdHkuY29udGV4dC5Db250ZXh0LCBqYXZhLmlvLldyaXRlcikiPjwhLS0gLS0+PC9BPjxIMz4KaW52b2tlVmVsb2NpbWFjcm88L0gzPgo8UFJFPgpwdWJsaWMgYm9vbGVhbiA8Qj5pbnZva2VWZWxvY2ltYWNybzwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3ZtTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvZ1RhZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZ1tdJm5ic3A7cGFyYW1zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2NvbnRleHQvQ29udGV4dC5odG1sIj5Db250ZXh0PC9BPiZuYnNwO2NvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEuaW8uV3JpdGVyJm5ic3A7d3JpdGVyKQogICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPkludm9rZXMgYSBjdXJyZW50bHkgcmVnaXN0ZXJlZCBWZWxvY2ltYWNybyB3aXRoIHRoZSBwYXJtcyBwcm92aWRlZAogIGFuZCBwbGFjZXMgdGhlIHJlbmRlcmVkIHN0cmVhbSBpbnRvIHRoZSB3cml0ZXIuCgogIE5vdGUgOiBjdXJyZW50bHkgb25seSBhY2NlcHRzIGFyZ3MgdG8gdGhlIFZNIGlmIHRoZXkgYXJlIGluIHRoZSBjb250ZXh0LjxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dm1OYW1lPC9DT0RFPiAtIG5hbWUgb2YgVmVsb2NpbWFjcm8gdG8gY2FsbDxERD48Q09ERT5sb2dUYWc8L0NPREU+IC0gc3RyaW5nIHRvIGJlIHVzZWQgZm9yIHRlbXBsYXRlIG5hbWUgaW4gY2FzZSBvZiBlcnJvcjxERD48Q09ERT5wYXJhbXNbXTwvQ09ERT4gLSBhcmdzIHVzZWQgdG8gaW52b2tlIFZlbG9jaW1hY3JvLiBJbiBjb250ZXh0IGtleSBmb3JtYXQgOiAKICAgICAgICAgICAgICAgICAgZWcgICJmb28iLCJiYXIiIChyYXRoZXIgdGhhbiAiJGZvbyIsIiRiYXIiKTxERD48Q09ERT5jb250ZXh0PC9DT0RFPiAtIENvbnRleHQgb2JqZWN0IGNvbnRhaW5pbmcgZGF0YS9vYmplY3RzIHVzZWQgZm9yIHJlbmRlcmluZy48REQ+PENPREU+d3JpdGVyPC9DT0RFPiAtIFdyaXRlciBmb3Igb3V0cHV0IHN0cmVhbTxEVD48Qj5SZXR1cm5zOjwvQj48REQ+dHJ1ZSBpZiBWZWxvY2ltYWNybyBleGlzdHMgYW5kIHN1Y2Nlc3NmdWxseSBpbnZva2VkLCBmYWxzZSBvdGhlcndpc2UuPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ibWVyZ2VUZW1wbGF0ZShqYXZhLmxhbmcuU3RyaW5nLCBvcmcuYXBhY2hlLnZlbG9jaXR5LmNvbnRleHQuQ29udGV4dCwgamF2YS5pby5Xcml0ZXIpIj48IS0tIC0tPjwvQT48SDM+Cm1lcmdlVGVtcGxhdGU8L0gzPgo8UFJFPgpwdWJsaWMgYm9vbGVhbiA8Qj5tZXJnZVRlbXBsYXRlPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dGVtcGxhdGVOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvY29udGV4dC9Db250ZXh0Lmh0bWwiPkNvbnRleHQ8L0E+Jm5ic3A7Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmlvLldyaXRlciZuYnNwO3dyaXRlcikKICAgICAgICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLmh0bWwiPlJlc291cmNlTm90Rm91bmRFeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvZXhjZXB0aW9uL1BhcnNlRXJyb3JFeGNlcHRpb24uaHRtbCI+UGFyc2VFcnJvckV4Y2VwdGlvbjwvQT4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vTWV0aG9kSW52b2NhdGlvbkV4Y2VwdGlvbi5odG1sIj5NZXRob2RJbnZvY2F0aW9uRXhjZXB0aW9uPC9BPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPm1lcmdlcyBhIHRlbXBsYXRlIGFuZCBwdXRzIHRoZSByZW5kZXJlZCBzdHJlYW0gaW50byB0aGUgd3JpdGVyPEREPjxETD4KPC9ETD4KPC9ERD4KPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT50ZW1wbGF0ZU5hbWU8L0NPREU+IC0gbmFtZSBvZiB0ZW1wbGF0ZSB0byBiZSB1c2VkIGluIG1lcmdlPEREPjxDT0RFPmNvbnRleHQ8L0NPREU+IC0gZmlsbGVkIGNvbnRleHQgdG8gYmUgdXNlZCBpbiBtZXJnZTxERD48Q09ERT53cml0ZXI8L0NPREU+IC0gd3JpdGVyIHRvIHdyaXRlIHRlbXBsYXRlIGludG88RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRydWUgaWYgc3VjY2Vzc2Z1bCwgZmFsc2Ugb3RoZXJ3aXNlLiAgRXJyb3JzIAogICAgICAgICAgIGxvZ2dlZCB0byB2ZWxvY2l0eSBsb2cuCiAqICBAZGVwcmVjYXRlZCBVc2UKICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eUVuZ2luZS5odG1sI21lcmdlVGVtcGxhdGUoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgb3JnLmFwYWNoZS52ZWxvY2l0eS5jb250ZXh0LkNvbnRleHQsIGphdmEuaW8uV3JpdGVyKSI+PENPREU+bWVyZ2VUZW1wbGF0ZSggU3RyaW5nIHRlbXBsYXRlTmFtZSwgU3RyaW5nIGVuY29kaW5nLAogICAgICAgICAgICAgICAgQ29udGV4dCBjb250ZXh0LCBXcml0ZXIgd3JpdGVyICk8L0NPREU+PC9BPjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9Im1lcmdlVGVtcGxhdGUoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgb3JnLmFwYWNoZS52ZWxvY2l0eS5jb250ZXh0LkNvbnRleHQsIGphdmEuaW8uV3JpdGVyKSI+PCEtLSAtLT48L0E+PEgzPgptZXJnZVRlbXBsYXRlPC9IMz4KPFBSRT4KcHVibGljIGJvb2xlYW4gPEI+bWVyZ2VUZW1wbGF0ZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3RlbXBsYXRlTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZW5jb2RpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9jb250ZXh0L0NvbnRleHQuaHRtbCI+Q29udGV4dDwvQT4mbmJzcDtjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEuaW8uV3JpdGVyJm5ic3A7d3JpdGVyKQogICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvZXhjZXB0aW9uL1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24uaHRtbCI+UmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbjwvQT4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vUGFyc2VFcnJvckV4Y2VwdGlvbi5odG1sIj5QYXJzZUVycm9yRXhjZXB0aW9uPC9BPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9NZXRob2RJbnZvY2F0aW9uRXhjZXB0aW9uLmh0bWwiPk1ldGhvZEludm9jYXRpb25FeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5FeGNlcHRpb248L1BSRT4KPERMPgo8REQ+bWVyZ2VzIGEgdGVtcGxhdGUgYW5kIHB1dHMgdGhlIHJlbmRlcmVkIHN0cmVhbSBpbnRvIHRoZSB3cml0ZXI8REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnRlbXBsYXRlTmFtZTwvQ09ERT4gLSBuYW1lIG9mIHRlbXBsYXRlIHRvIGJlIHVzZWQgaW4gbWVyZ2U8REQ+PENPREU+ZW5jb2Rpbmc8L0NPREU+IC0gZW5jb2RpbmcgdXNlZCBpbiB0ZW1wbGF0ZTxERD48Q09ERT5jb250ZXh0PC9DT0RFPiAtIGZpbGxlZCBjb250ZXh0IHRvIGJlIHVzZWQgaW4gbWVyZ2U8REQ+PENPREU+d3JpdGVyPC9DT0RFPiAtIHdyaXRlciB0byB3cml0ZSB0ZW1wbGF0ZSBpbnRvPERUPjxCPlJldHVybnM6PC9CPjxERD50cnVlIGlmIHN1Y2Nlc3NmdWwsIGZhbHNlIG90aGVyd2lzZS4gIEVycm9ycyAKICAgICAgICAgICBsb2dnZWQgdG8gdmVsb2NpdHkgbG9nPERUPjxCPlNpbmNlOiA8L0I+PEREPlZlbG9jaXR5IHYxLjE8L0REPgo8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJnZXRUZW1wbGF0ZShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgpnZXRUZW1wbGF0ZTwvSDM+CjxQUkU+CnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L1RlbXBsYXRlLmh0bWwiPlRlbXBsYXRlPC9BPiA8Qj5nZXRUZW1wbGF0ZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpCiAgICAgICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLmh0bWwiPlJlc291cmNlTm90Rm91bmRFeGNlcHRpb248L0E+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vUGFyc2VFcnJvckV4Y2VwdGlvbi5odG1sIj5QYXJzZUVycm9yRXhjZXB0aW9uPC9BPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5FeGNlcHRpb248L1BSRT4KPERMPgo8REQ+UmV0dXJucyBhIDxjb2RlPlRlbXBsYXRlPC9jb2RlPiBmcm9tIHRoZSBWZWxvY2l0eQogIHJlc291cmNlIG1hbmFnZW1lbnQgc3lzdGVtLjxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bmFtZTwvQ09ERT4gLSBUaGUgZmlsZSBuYW1lIG9mIHRoZSBkZXNpcmVkIHRlbXBsYXRlLjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIHRlbXBsYXRlLjxEVD48Qj5UaHJvd3M6PC9CPjxERD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2V4Y2VwdGlvbi9SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLmh0bWwiPlJlc291cmNlTm90Rm91bmRFeGNlcHRpb248L0E+PC9DT0RFPiAtIGlmIHRlbXBsYXRlIG5vdCBmb3VuZAogICAgICAgICAgZnJvbSBhbnkgYXZhaWxhYmxlIHNvdXJjZS48REQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vUGFyc2VFcnJvckV4Y2VwdGlvbi5odG1sIj5QYXJzZUVycm9yRXhjZXB0aW9uPC9BPjwvQ09ERT4gLSBpZiB0ZW1wbGF0ZSBjYW5ub3QgYmUgcGFyc2VkIGR1ZQogICAgICAgICAgdG8gc3ludGF4IChvciBvdGhlcikgZXJyb3IuPEREPjxDT0RFPmphdmEubGFuZy5FeGNlcHRpb248L0NPREU+IC0gaWYgYW4gZXJyb3Igb2NjdXJzIGluIHRlbXBsYXRlIGluaXRpYWxpemF0aW9uPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZ2V0VGVtcGxhdGUoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0VGVtcGxhdGU8L0gzPgo8UFJFPgpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9UZW1wbGF0ZS5odG1sIj5UZW1wbGF0ZTwvQT4gPEI+Z2V0VGVtcGxhdGU8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2VuY29kaW5nKQogICAgICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbi5odG1sIj5SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uPC9BPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvZXhjZXB0aW9uL1BhcnNlRXJyb3JFeGNlcHRpb24uaHRtbCI+UGFyc2VFcnJvckV4Y2VwdGlvbjwvQT4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuRXhjZXB0aW9uPC9QUkU+CjxETD4KPEREPlJldHVybnMgYSA8Y29kZT5UZW1wbGF0ZTwvY29kZT4gZnJvbSB0aGUgVmVsb2NpdHkKICByZXNvdXJjZSBtYW5hZ2VtZW50IHN5c3RlbS48REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm5hbWU8L0NPREU+IC0gVGhlIGZpbGUgbmFtZSBvZiB0aGUgZGVzaXJlZCB0ZW1wbGF0ZS48REQ+PENPREU+ZW5jb2Rpbmc8L0NPREU+IC0gVGhlIGNoYXJhY3RlciBlbmNvZGluZyB0byB1c2UgZm9yIHRoZSB0ZW1wbGF0ZS48RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSB0ZW1wbGF0ZS48RFQ+PEI+VGhyb3dzOjwvQj48REQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS92ZWxvY2l0eS9leGNlcHRpb24vUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbi5odG1sIj5SZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uPC9BPjwvQ09ERT4gLSBpZiB0ZW1wbGF0ZSBub3QgZm91bmQKICAgICAgICAgIGZyb20gYW55IGF2YWlsYWJsZSBzb3VyY2UuPEREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvdmVsb2NpdHkvZXhjZXB0aW9uL1BhcnNlRXJyb3JFeGNlcHRpb24uaHRtbCI+UGFyc2VFcnJvckV4Y2VwdGlvbjwvQT48L0NPREU+IC0gaWYgdGVtcGxhdGUgY2Fubm90IGJlIHBhcnNlZCBkdWUKICAgICAgICAgIHRvIHN5bnRheCAob3Igb3RoZXIpIGVycm9yLjxERD48Q09ERT5qYXZhLmxhbmcuRXhjZXB0aW9uPC9DT0RFPiAtIGlmIGFuIGVycm9yIG9jY3VycyBpbiB0ZW1wbGF0ZSBpbml0aWFsaXphdGlvbjxEVD48Qj5TaW5jZTogPC9CPjxERD5WZWxvY2l0eSB2MS4xPC9ERD4KPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0idGVtcGxhdGVFeGlzdHMoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4KdGVtcGxhdGVFeGlzdHM8L0gzPgo8UFJFPgpwdWJsaWMgYm9vbGVhbiA8Qj50ZW1wbGF0ZUV4aXN0czwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3RlbXBsYXRlTmFtZSk8L1BSRT4KPERMPgo8REQ+RGV0ZXJtaW5lcyBpZiBhIHRlbXBsYXRlIGlzIGFjY2Vzc2FibGUgdmlhIHRoZSBjdXJyZW50bHkgCiAgIGNvbmZpZ3VyZWQgcmVzb3VyY2UgbG9hZGVycy4KICAgPGJyPjxicj4KICAgTm90ZSB0aGF0IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHdpbGwgPGI+bm90PC9iPgogICBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBzeXN0ZW0gaW4gYW55IHJlYWwgd2F5IC0gc28gdGhpcwogICBjYW5ub3QgYmUgdXNlZCB0byBwcmUtbG9hZCB0aGUgcmVzb3VyY2UgY2FjaGUsIGFzIHRoZSAKICAgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gZGlkIGFzIGEgc2lkZS1lZmZlY3QuIAogICA8YnI+PGJyPgogICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gZXhoaWJpdGVkIGV4dHJlbWUgbGF6eW5lc3MgYW5kCiAgIHNsb3RoLCBhbmQgdGhlIGF1dGhvciBoYXMgYmVlbiBmbG9nZ2VkLjxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dGVtcGxhdGVOYW1lPC9DT0RFPiAtIG5hbWUgb2YgdGhlIHRlbWxwYXRlIHRvIHNlYXJjaCBmb3I8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRydWUgaWYgZm91bmQsIGZhbHNlIG90aGVyd2lzZTwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9Indhcm4oamF2YS5sYW5nLk9iamVjdCkiPjwhLS0gLS0+PC9BPjxIMz4Kd2FybjwvSDM+CjxQUkU+CnB1YmxpYyB2b2lkIDxCPndhcm48L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDttZXNzYWdlKTwvUFJFPgo8REw+CjxERD5Mb2cgYSB3YXJuaW5nIG1lc3NhZ2UuPEREPjxETD4KPC9ETD4KPC9ERD4KPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5PYmplY3Q8L0NPREU+IC0gbWVzc2FnZSB0byBsb2c8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJpbmZvKGphdmEubGFuZy5PYmplY3QpIj48IS0tIC0tPjwvQT48SDM+CmluZm88L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5pbmZvPC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7bWVzc2FnZSk8L1BSRT4KPERMPgo8REQ+TG9nIGFuIGluZm8gbWVzc2FnZS48REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPk9iamVjdDwvQ09ERT4gLSBtZXNzYWdlIHRvIGxvZzwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImVycm9yKGphdmEubGFuZy5PYmplY3QpIj48IS0tIC0tPjwvQT48SDM+CmVycm9yPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+ZXJyb3I8L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDttZXNzYWdlKTwvUFJFPgo8REw+CjxERD5Mb2cgYW4gZXJyb3IgbWVzc2FnZS48REQ+PERMPgo8L0RMPgo8L0REPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPk9iamVjdDwvQ09ERT4gLSBtZXNzYWdlIHRvIGxvZzwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImRlYnVnKGphdmEubGFuZy5PYmplY3QpIj48IS0tIC0tPjwvQT48SDM+CmRlYnVnPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+ZGVidWc8L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDttZXNzYWdlKTwvUFJFPgo8REw+CjxERD5Mb2cgYSBkZWJ1ZyBtZXNzYWdlLjxERD48REw+CjwvREw+CjwvREQ+CjxERD48REw+CjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+T2JqZWN0PC9DT0RFPiAtIG1lc3NhZ2UgdG8gbG9nPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ic2V0QXBwbGljYXRpb25BdHRyaWJ1dGUoamF2YS5sYW5nLk9iamVjdCwgamF2YS5sYW5nLk9iamVjdCkiPjwhLS0gLS0+PC9BPjxIMz4Kc2V0QXBwbGljYXRpb25BdHRyaWJ1dGU8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5zZXRBcHBsaWNhdGlvbkF0dHJpYnV0ZTwvQj4oamF2YS5sYW5nLk9iamVjdCZuYnNwO2tleSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO3ZhbHVlKTwvUFJFPgo8REw+CjxERD48cD4KICBTZXQgdGhlIGFuIEFwcGxpY2F0aW9uQXR0cmlidWUsIHdoaWNoIGlzIGFuIE9iamVjdAogIHNldCBieSB0aGUgYXBwbGljYXRpb24gd2hpY2ggaXMgYWNjZXNzYWJsZSBmcm9tCiAgYW55IGNvbXBvbmVudCBvZiB0aGUgc3lzdGVtIHRoYXQgZ2V0cyBhIFJ1bnRpbWVTZXJ2aWNlcy4KICBUaGlzIGFsbG93cyBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIGFwcGxpY2F0aW9uCiAgZW52aXJvbm1lbnQgYW5kIGN1c3RvbSBwbHVnZ2FibGUgY29tcG9uZW50cyBvZiB0aGUKICBWZWxvY2l0eSBlbmdpbmUsIHN1Y2ggYXMgbG9hZGVycyBhbmQgbG9nZ2Vycy4KICA8L3A+CgogIDxwPgogIE5vdGUgdGhhdCB0aGVyZSBpcyBubyBlbmZvY2VtZW50IG9yIHJ1bGVzIGZvciB0aGUga2V5CiAgdXNlZCAtIGl0IGlzIHVwIHRvIHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIuICBIb3dldmVyLCB0bwogIGhlbHAgbWFrZSB0aGUgaW50ZXJtaXhpbmcgb2YgY29tcG9uZW50cyBwb3NzaWJsZSwgdXNpbmcKICB0aGUgdGFyZ2V0IENsYXNzIG5hbWUgKGUuZy4gIGNvbS5mb28uYmFyICkgYXMgdGhlIGtleQogICBtaWdodCBoZWxwIGF2b2lkIGNvbGxpc2lvbi4KICA8L3A+PEREPjxETD4KPC9ETD4KPC9ERD4KPEREPjxETD4KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5rZXk8L0NPREU+IC0gb2JqZWN0ICduYW1lJyB1bmRlciB3aGljaCB0aGUgb2JqZWN0IGlzIHN0b3JlZDxERD48Q09ERT52YWx1ZTwvQ09ERT4gLSBvYmplY3QgdG8gc3RvcmUgdW5kZXIgdGhpcyBrZXk8L0RMPgo8L0REPgo8L0RMPgo8IS0tID09PT09PT09PSBFTkQgT0YgQ0xBU1MgREFUQSA9PT09PT09PT0gLS0+CjxIUj4KCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPgo8VFI+CjxURCBDT0xTUEFOPTIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+CiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9WZWxvY2l0eUVuZ2luZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDwvVFI+CjwvVEFCTEU+CjwvVEQ+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPgo8L0VNPgo8L1REPgo8L1RSPgoKPFRSPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3ZlbG9jaXR5L2FwcC9WZWxvY2l0eS5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsKJm5ic3A7TkVYVCBDTEFTUzwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJWZWxvY2l0eUVuZ2luZS5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUj4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjZmllbGRfc3VtbWFyeSI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPgpERVRBSUw6ICZuYnNwOzxBIEhSRUY9IiNmaWVsZF9kZXRhaWwiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4KCjxIUj4KQ29weXJpZ2h0IKkgMjAwMiBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KPC9CT0RZPgo8L0hUTUw+Cg==