R2lvdmFubmkgRnVuY2hhbCB3cm90ZToKCj4gSGksCj4gCj4gVGhlIGhlbHAgcGFnZSBbMV0gbWVu dGlvbnMgdGhhdDoKPiAKPj4gQWx0aG91Z2ggb2JqZWN0IGxpYnJhcmllcyBtYXkgbm90IGJlIG5h bWVkIGRpcmVjdGx5IGluIGNhbGxzIHRvIHRoZQo+PiB0YXJnZXRfbGlua19saWJyYXJpZXMoKSBj b21tYW5kLCB0aGV5IGNhbiBiZSDigJxsaW5rZWTigJ0gaW5kaXJlY3RseSBieQo+PiB1c2luZyBh biBJbnRlcmZhY2UgTGlicmFyeSB3aG9zZSBJTlRFUkZBQ0VfU09VUkNFUyB0YXJnZXQgcHJvcGVy dHkKPj4gaXMgc2V0IHRvIG5hbWUgJDxUQVJHRVRfT0JKRUNUUzpvYmpsaWI+Lgo+IAo+IEhvd2V2 ZXIsIEkgd2FzIHVuYWJsZSB0byBnZXQgdGhpcyB0byB3b3JrLiBEb2luZyB0aGlzOgo+IAo+IGFk ZF9saWJyYXJ5KGxpYi1vYmogT0JKRUNUIHRlc3QuY3BwKQo+IGFkZF9saWJyYXJ5KGxpYiBJTlRF UkZBQ0UpCj4gYWRkX2RlcGVuZGVuY2llcyhsaWIgbGliLW9iaikKPiBzZXRfdGFyZ2V0X3Byb3Bl cnRpZXMobGliIFBST1BFUlRJRVMgSU5URVJGQUNFX1NPVVJDRVMKPiAkPFRBUkdFVF9PQkpFQ1RT OmxpYi1vYmo+KQo+IAo+IEFuZCB0aGVuIHRyeWluZyB0byBzcGVjaWZ5IGxpYiBpbiBsaW5rX2xp YnJhcmllcyBvZiBhbiBleGVjdXRhYmxlIHlpZWxkcwo+IGFuIGVycm9yIG1lc3NhZ2UgIkNhbm5v dCBmaW5kIHNvdXJjZSBmaWxlOiAuLi4gVHJpZWQgZXh0ZW5zaW9uczouLi4gIi4KPiAKPiBBbSBJ IGRvaW5nIHNvbWV0aGluZyB3cm9uZz8KClRoaXMgd29ya3MgZm9yIG1lOgoKICAgIGNtYWtlX21p bmltdW1fcmVxdWlyZWQoVkVSU0lPTiAzLjMpCgogICAgcHJvamVjdCh0ZXN0aXQgQ1hYKQoKICAg IGFkZF9saWJyYXJ5KGxpYi1vYmogT0JKRUNUIGZvby5jcHApCiAgICBhZGRfbGlicmFyeShsaWIt aWZhY2UgSU5URVJGQUNFKQogICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKGxpYi1pZmFjZSBQUk9Q RVJUSUVTCiAgICAgIElOVEVSRkFDRV9TT1VSQ0VTICQ8VEFSR0VUX09CSkVDVFM6bGliLW9iaj4K ICAgICkKICAgIGFkZF9leGVjdXRhYmxlKG1haW4gZm9vLXVzZXIuY3BwKQogICAgdGFyZ2V0X2xp bmtfbGlicmFyaWVzKG1haW4gbGliLWlmYWNlKQoKClRoYW5rcywKClN0ZXZlLgoKCi0tIAoKUG93 ZXJlZCBieSB3d3cua2l0d2FyZS5jb20KClBsZWFzZSBrZWVwIG1lc3NhZ2VzIG9uLXRvcGljIGFu ZCBjaGVjayB0aGUgQ01ha2UgRkFRIGF0OiBodHRwOi8vd3d3LmNtYWtlLm9yZy9XaWtpL0NNYWtl X0ZBUQoKS2l0d2FyZSBvZmZlcnMgdmFyaW91cyBzZXJ2aWNlcyB0byBzdXBwb3J0IHRoZSBDTWFr ZSBjb21tdW5pdHkuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGVhY2ggb2ZmZXJpbmcsIHBsZWFz ZSB2aXNpdDoKCkNNYWtlIFN1cHBvcnQ6IGh0dHA6Ly9jbWFrZS5vcmcvY21ha2UvaGVscC9zdXBw b3J0Lmh0bWwKQ01ha2UgQ29uc3VsdGluZzogaHR0cDovL2NtYWtlLm9yZy9jbWFrZS9oZWxwL2Nv bnN1bHRpbmcuaHRtbApDTWFrZSBUcmFpbmluZyBDb3Vyc2VzOiBodHRwOi8vY21ha2Uub3JnL2Nt YWtlL2hlbHAvdHJhaW5pbmcuaHRtbAoKVmlzaXQgb3RoZXIgS2l0d2FyZSBvcGVuLXNvdXJjZSBw cm9qZWN0cyBhdCBodHRwOi8vd3d3LmtpdHdhcmUuY29tL29wZW5zb3VyY2Uvb3BlbnNvdXJjZS5o dG1sCgpGb2xsb3cgdGhpcyBsaW5rIHRvIHN1YnNjcmliZS91bnN1YnNjcmliZToKaHR0cDovL3B1 YmxpYy5raXR3YXJlLmNvbS9tYWlsbWFuL2xpc3RpbmZvL2NtYWtl