IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IG9mIGdldHRleHQgZmFjaWxpdGllcyBpbiB0aGUgWUNQIGxhbmd1YWdlLgoKY2F0IDw8XEVPRiA+IHByb2cueWNwCnsKICB0ZXh0ZG9tYWluICJwcm9nIjsKCiAgcHJpbnQgKF8oIidZb3VyIGNvbW1hbmQsIHBsZWFzZT8nLCBhc2tlZCB0aGUgd2FpdGVyLiIpKTsKICBwcmludCAoc2Zvcm1hdCAoXygiYSBwaWVjZSBvZiBjYWtlIiwgIiUxIHBpZWNlcyBvZiBjYWtlIiwgbiksIG4pKTsKICBwcmludCAoc2Zvcm1hdCAoXygiJTEgaXMgcmVwbGFjZWQgYnkgJTIuIiksICJGRiIsICJFVVIiKSk7Cn0KRU9GCgo6ICR7WEdFVFRFWFQ9eGdldHRleHR9CiR7WEdFVFRFWFR9IC1vIHByb2cudG1wIC0tb21pdC1oZWFkZXIgLS1uby1sb2NhdGlvbiBwcm9nLnljcCB8fCBFeGl0IDEKTENfQUxMPUMgdHIgLWQgJ1xyJyA8IHByb2cudG1wID4gcHJvZy5wb3QgfHwgRXhpdCAxCgpjYXQgPDxFT0YgPiBwcm9nLm9rCm1zZ2lkICInWW91ciBjb21tYW5kLCBwbGVhc2U/JywgYXNrZWQgdGhlIHdhaXRlci4iCm1zZ3N0ciAiIgoKIywgeWNwLWZvcm1hdAptc2dpZCAiYSBwaWVjZSBvZiBjYWtlIgptc2dpZF9wbHVyYWwgIiUxIHBpZWNlcyBvZiBjYWtlIgptc2dzdHJbMF0gIiIKbXNnc3RyWzFdICIiCgojLCB5Y3AtZm9ybWF0Cm1zZ2lkICIlMSBpcyByZXBsYWNlZCBieSAlMi4iCm1zZ3N0ciAiIgpFT0YKCjogJHtESUZGPWRpZmZ9CiR7RElGRn0gcHJvZy5vayBwcm9nLnBvdCB8fCBFeGl0IDEKCmNhdCA8PFxFT0YgPiBmci5wbwptc2dpZCAiIgptc2dzdHIgIiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiA+IDEpO1xuIgoKbXNnaWQgIidZb3VyIGNvbW1hbmQsIHBsZWFzZT8nLCBhc2tlZCB0aGUgd2FpdGVyLiIKbXNnc3RyICKrVm90cmUgY29tbWFuZGUsIHMnaWwgdm91cyBwbGFpdLssIGRpdCBsZSBnYXLnb24uIgoKIyBMZXMgZ2F0ZWF1eCBhbGxlbWFuZHMgc29udCBsZXMgbWVpbGxldXJzIGR1IG1vbmRlLgojLCB5Y3AtZm9ybWF0Cm1zZ2lkICJhIHBpZWNlIG9mIGNha2UiCm1zZ2lkX3BsdXJhbCAiJTEgcGllY2VzIG9mIGNha2UiCm1zZ3N0clswXSAidW4gbW9yY2VhdSBkZSBnYXRlYXUiCm1zZ3N0clsxXSAiJTEgbW9yY2VhdXggZGUgZ2F0ZWF1IgoKIyBSZXZlcnNlIHRoZSBhcmd1bWVudHMuCiMsIHljcC1mb3JtYXQKbXNnaWQgIiUxIGlzIHJlcGxhY2VkIGJ5ICUyLiIKbXNnc3RyICIlMiByZW1wbGFjZSAlMS4iCkVPRgoKOiAke01TR01FUkdFPW1zZ21lcmdlfQoke01TR01FUkdFfSAtcSAtbyBmci5wby50bXAgZnIucG8gcHJvZy5wb3QgfHwgRXhpdCAxCkxDX0FMTD1DIHRyIC1kICdccicgPCBmci5wby50bXAgPiBmci5wby5uZXcgfHwgRXhpdCAxCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IGZyLnBvIGZyLnBvLm5ldyB8fCBFeGl0IDEKCkV4aXQgMAo=