LmRlICBDVwouc3AKLm5mCi5mdCBDVwouLgouXCIgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aAouXCIgZ3JvZmYgLW1hbiAtVGFzY2lpIGZvby4xCi5cIgouXCIgInZlcmJhdGltIiBlbnZpcm9ubWVudCAoZnJvbSBzdHJhY2UuMSkKLmRlICBDRQouZnQKLmZpCi5zcAouLgouXCIKLlwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgouXCIKLlwiIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHdpdGggcG80YS4gVHJhbnNsYXRlIHRoZSBzb3VyY2UgZmlsZS4KLlwiCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlRIIGZha2VkIDEgIjE3IEp1bmUgMjAwNCIgIkRlYmlhbiBQcm9qZWN0IiAiRGViaWFuIEdOVS9MaW51eCBtYW51YWwiCi5cIiBNYW5wYWdlIGJ5IEouSC5NLiBEYXNzZW4gPGpkYXNzZW5AZGViaWFuLm9yZz4KLlwiIGFuZCBDbGludCBBZGFtcwouU0ggTkFNTgpmYWtlZCBcLSBkYWVtb24gdGhhdCByZW1lbWJlcnMgZmFrZSBvd25lcnNoaXAvcGVybWlzc2lvbnMgb2YgZmlsZXMKbWFuaXB1bGF0ZWQgYnkgZmFrZXJvb3QgcHJvY2Vzc2VzLgouU0ggU1lOT1BTSVMKXGZCZmFrZWRcZlAgXGZCW1wtXC1kZWJ1Z10gW1wtXC1mb3JlZ3JvdW5kXSBbXC1cLWNsZWFudXBdIFtcLVwta2V5XGZQIFxmSW1zZ1wta2V5XGZQXGZCXVxmUApcZkJbXC1cLWxvYWRdIFtcLVwtc2F2ZVwtZmlsZVxmUCBcZklzYXZlXC1maWxlXGZQXGZCXVxmUCBcZkJbXC1cLXBvcnRcZlAgXGZJVENQXC1wb3J0XGZQXGZCXVxmUAouU0ggQkVTS1JJVk5JTkcKSWYgYSBmYWtlcm9vdCBwcm9jZXNzIHdhbnRzIHRvIGNoYW5nZSB0aGUgb3duZXJzaGlwIG9mIGEgZmlsZSwgdGhlbiBcZkJmYWtlZFxmUAppcyB0aGUgcHJvY2VzcyB0aGF0IHJlbWVtYmVycyB0aGF0IG5ldyBvd25lci4gSWYgbGF0ZXIgdGhlIHNhbWUgZmFrZXJvb3QKcHJvY2VzcyBkb2VzIGEgc3RhdCgpIGZvciB0aGF0IGZpbGVuYW1lLCB0aGVuIHRoZSBsaWJmYWtlcm9vdCB3cmFwcGVkIHN0YXQoKQpjYWxsIHdpbGwgZmlyc3QgYXNrIGZha2VkIGZvciB0aGUgZmFrZSBvd25lcnNoaXAgZXRjIG9mIHRoYXQgZmlsZSwgYW5kIHRoZW4KcmVwb3J0IGl0LgoKLlNIIEZMQUdHT1IKLlRQIApcZkJcLVwtZGVidWdcZlAKU2tyaXYgdXQgYXZsdXNuaW5nc2luZm9ybWF0aW9uIHZpYSBzdGRlcnIuCi5UUCAKXGZCXC1cLWZvcmVncm91bmRcZlAKRG9uJ3QgZm9yayBpbnRvIHRoZSBiYWNrZ3JvdW5kLgouVFAgClxmQlwtXC1jbGVhbnVwIFwgbnVtYmVyXGZQCkNsZWFudXAgdGhlIHNlbWFwaG9yZXMuCi5UUCAKXGZCXC1cLWtleSBcIG55Y2tlbHbkcmRlXGZQCkRvbid0IGFsbG9jYXRlIGEgbmV3IGNvbW11bmljYXRpb24gY2hhbm5lbCwgYnV0IHVzZSBjaGFubmVsIHNwZWNpZmllZCBieQprZXkuIChJZiB0aGUgc3BlY2lmaWVkIGNoYW5uZWwgZG9lc24ndCBleGlzdCwgaXQncyBjcmVhdGVkKS4KLlRQIApcZkJcLVwtc2F2ZVwtZmlsZSBcIHNhdmVcLWZpbGVcZlAKU2F2ZSB0aGUgZW52aXJvbm1lbnQgdG8gc2F2ZVwtZmlsZSBvbiBleGl0LgouVFAgClxmQlwtXC1sb2FkXGZQCkxvYWQgYSBwcmV2aW91c2x5IHNhdmVkIGVudmlyb25tZW50IGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LgouVFAgClxmQlwtXC11bmtub3duXC1pc1wtcmVhbFxmUApVc2UgcmVhbCBvd25lcnNoaXAgb2YgcHJldmlvdXNseVwtdW5rbm93biBmaWxlcyBpbnN0ZWFkIG9mIHNldHRpbmcgdGhlbSB0bwpyb290OnJvb3QuCi5UUCAKXGZCXC1cLXBvcnQgXCB0Y3BcLXBvcnRcZlAKVXNlIFRDUCBwb3J0IHRjcFwtcG9ydC4KCi5TSCBCVUdHQVIKSW5nYSBr5G5kYS4gVGFnIGRvY2sgaSBiZWFrdGFuZGUsIGF0dCDkdmVuIG9tIGphZyBza3Jpdml0IGV0dCBmbGVydGFsIHN09nJyZQoob2NoIG1pbmRyZSkgcHJvZ3JhbSwgc+UgaGFyIGphZyBhbGRyaWcgc2tyaXZpdCBu5WdvdCBz5SBsaXRldCBzb20KXGZCZmFrZXJvb3RcZlAsIHNvbSBoYXIgc+UgbeVuZ2EgYnVnZ2FyIHNvbSBcZkJmYWtlcm9vdFxmUCwgb2NoIORuZOUgdmFyaXQgc+UKYW525G5kYmFydCBzb20sIGzldCBz5GdhLCBcZkJmYWtlcm9vdFxmUCB2ZXJzaW9uIDAuMF8zLCBkZW4gZvZyc3RhIHZlcnNpb25lbiBhdgpwcm9ncmFtbWV0IHNvbSBrdW5kZSBhbnbkbmRhcyBm9nIgYXR0IGJ5Z2dhIHNpZyBzauRsdi4KLlNIIExJQ0VOUwpcZkJmYWtlcm9vdFxmUCBkaXN0cmlidWVyYXMgdW5kZXIgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICAoR1BMIDIuMCBlbGxlcgpzZW5hcmUpLgouU0ggRtZSRkFUVEFSRQouVFAgCmpvb3N0IHdpdHRldmVlbgo8XGZJam9vc3RqZUBkZWJpYW4ub3JnXGZQPgouVFAgCkNsaW50IEFkYW1zCjxcZkljbGludEBkZWJpYW4ub3JnXGZQPgouVFAgClRpbW8gU2F2b2xhCi5TSCDWVkVSU8RUVE5JTkcKRGF2aWQgV2VpbmVoYWxsCi5SSSA8IHRhb0BrZXJuZWwub3JnID4KLlNIIE1BTlVBTFNJREEKbW9zdGx5IGJ5IEouSC5NLiBEYXNzZW4gPGpkYXNzZW5AZGViaWFuLm9yZz4gbW9kcy9hZGRpdGlvbnMgYnkgam9vc3QKYW5kIENsaW50LgouU0ggIlNFIMRWRU4iClxmQmZha2Vyb290XGZQKDEpLCBcZkJkcGtnXC1idWlsZHBhY2thZ2VcZlAoMSksIFxmQmRlYnVpbGRcZlAoMSkKXGZCL3Vzci9zaGFyZS9kb2MvZmFrZXJvb3QvREVCVUdcZlAK