PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IS0tIGV4MS54bWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KPCEtLSBUaGlzIGlzIGEgc2ltcGxlIFhNTCBzb3VyY2UgZmlsZS4gIE9iamVjdCBjbGFzcyBtZXRhbWV0aG9kICAgLS0+CjwhLS0gbTMgaW5jbHVkZXMgOC1iaXQgQVNDSUkgdGV4dCwgd2l0aCBhIHRpbGRlLW4gYW5kIGFjY2VudC1lICAgIC0tPgo8IS0tIGNoYXJhY3RlcnMgZW1iZWRkZWQsIHRvIHRlc3QgdGhlIFVURjgtPm5hdGl2ZSBjb2Rlc2V0ICAgICAgICAtLT4KPCEtLSBjb252ZXJzaW9uIGZlYXR1cmUgb2YgdGhlIFNBWCBleHBhdCBkcml2ZXIuICBBcyBsb25nIGFzIHRoaXMgLS0+CjwhLS0gdGVzdCBpcyBydW4gdW5kZXIgSVNPLTg4NTktMSBsb2NhbGl6YXRpb24sIHRlc3Qgb3V0cHV0IHNob3VsZC0tPgo8IS0tIGJlIGlkZW50aWNhbCB0byB0ZXN0IGlucHV0LCB3aXRoIG9uZSBvZGQgYnl0ZSByZXByZXNlbnRpbmcgICAtLT4KPCEtLSBlYWNoIG9mIHRoZXNlIDgtYml0IGNoYXJhY3RlcnMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CjwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgo8IS0tIFRoZSB2aSBlZGl0b3Igb24gU3VuIFNvbGFyaXMgZGlzcGxheXMgdGhlIHR3byBvZGQgY2hhcmFjdGVycyAtLT4KPCEtLSBhcyBcMTYxIGFuZCBcMTUxLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CjwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgoKPCEtLSA8IURPQ1RZUEUgRk9SVEVEREwgU1lTVEVNICJUZXN0RW5jb2RpbmcuZHRkIiBbXT4gLS0+CjxGT1JURURETD4KCTxQSEFTRSBPQkpFQ1RUWVBFPSJNZXRhUGxhbi5NZXRhQ2xhc3MiIE9CSkVDVE5BTUU9ImMxIiBOVU1CRVI9IjEiPgoJCTxBVFRSSUJVVEUgTkFNRT0iTmFtZSI+YzE8L0FUVFJJQlVURT4KCQk8QVRUUklCVVRFIE5BTUU9Ik1ldGhvZEFycmF5Ij4KCQkJPEFSUkFZPgoJCQkJPE1ZT0JKRUNUIENMQVNTPSJNZXRhTWV0aG9kIj4KCQkJCQk8QVRUUklCVVRFIE5BTUU9Ik5hbWUiPm0xPC9BVFRSSUJVVEU+CgkJCQkJPEFUVFJJQlVURSBOQU1FPSJUZXh0Ij4KCXRhc2subGdyLnB1dGxpbmUoJ3RoaXMgaXMgbTEnKTsKCXJldHVybjsKCQkJCQk8L0FUVFJJQlVURT4KCQkJCTwvTVlPQkpFQ1Q+CgkJCQk8TVlPQkpFQ1QgQ0xBU1M9Ik1ldGFNZXRob2QiPgoJCQkJCTxBVFRSSUJVVEUgTkFNRT0iTmFtZSI+bTI8L0FUVFJJQlVURT4KCQkJCQk8QVRUUklCVVRFIE5BTUU9IlRleHQiPgoJICAgICAgICAgICAgICAgIDw/Rk9SVEUgVGhpc0lzQVByb2Nlc3NpbmdJbnN0cnVjdGlvbiA/PgoJdGFzay5sZ3IucHV0bGluZSgndGhpcyBpcyBtMicpOwoJcmV0dXJuOwoJCQkJCTwvQVRUUklCVVRFPgoJCQkJPC9NWU9CSkVDVD4KCQkJCTxNWU9CSkVDVCBDTEFTUz0iTWV0YU1ldGhvZCI+CgkJCQkJPEFUVFJJQlVURSBOQU1FPSJOYW1lIj5tMzwvQVRUUklCVVRFPgoJCQkJCTxBVFRSSUJVVEUgTkFNRT0iOC1iaXQgQVNDSUkgdGV4dCI+Cgl0YXNrLmxnci5wdXRsaW5lKCdZbyBhbW8gaGFiYfFlcm8gY2hpbOlzJyk7CglyZXR1cm47CgkJCQkJPC9BVFRSSUJVVEU+CgkJCQk8L01ZT0JKRUNUPgoJCQk8L0FSUkFZPgoJCTwvQVRUUklCVVRFPgoJCTxBTk5PVEFUSU9OIE9CSkVDVFRZUEU9IkNyb3NzUmVmSW5mbyIgTkFNRT0iY3IxIj4KCQkJPEFUVFJJQlVURSBOQU1FPSJJbmZvQXJyYXkiPgoJCQkJPEFSUkFZPgoJCQkJCTxNWU9CSkVDVCBDTEFTUz0iaW5mb0l0ZW0iPgoJCQkJCQk8QVRUUklCVVRFIE5BTUU9IlJlZmVyZW5jZSI+cHV0bGluZTwvQVRUUklCVVRFPgoJCQkJCQk8QVRUUklCVVRFIE5BTUU9IkNsYXNzIj5jMTwvQVRUUklCVVRFPgoJCQkJCQk8QVRUUklCVVRFIE5BTUU9Ik1ldGhvZCI+bTE8L0FUVFJJQlVURT4KCQkJCQk8L01ZT0JKRUNUPgoJCQkJPC9BUlJBWT4KCQkJPC9BVFRSSUJVVEU+CgkJPC9BTk5PVEFUSU9OPgoJPC9QSEFTRT4KPC9GT1JURURETD4K