I2lmbmRlZiBfX0xJQktFWV9IDQojZGVmaW5lIF9fTElCS0VZX0gNCg0KLy/W1tfTtqjS5aOs1tbX07Oktsix2NDrtcjT2jijrL/Nu6e/ydLU0N64xA0KI2RlZmluZSBTRUVEICAgICJaWElDLVRTUCINCg0KDQovKioNCiAqIEBicmllZiAg08O7p8Sjyr3H0NHQt6LEo8q9vPjIqA0KICogQHBhcmFtIGRldmljZV9rZXkgINDo0qrR6daktcRrZXkNCiAqIEBwYXJhbSBrZXlfbGVuICBrZXmzpLbIDQogKiBAcGFyYW0gc2VlZCAgvPjIqMq508O1xNbW19MNCiAqIEBwYXJhbSBzZWVkX2xlbiAgvPjIqMq508O1xNbW19OzpLbIDQogKiBAcmV0dXJuIDEgs8m5piAgDQogKiBAcmV0dXJuIMbky/vWtSDKp7DcDQogKiBAbm90ZSAgIA0KICogQHdhcm5pbmcgDQogKi8NCmludCB2ZXJpZnlfZGV2aWNlX2tleShjaGFyICpkZXZpY2Vfa2V5LGludCBrZXlfbGVuLGNoYXIgKnNlZWQsaW50IHNlZWRfbGVuKTsNCg0KLyoqDQogKiBAYnJpZWYgINPDu6fEo8q9x9DR0LeixKPKvcSsyM/XtMysDQogKiBAcGFyYW0gzt4NCiAqIEByZXR1cm4gMSDO3tDo0enWpCAgDQogKiBAcmV0dXJuIDAg0OjSqtHp1qQNCiAqIEBub3RlICAgDQogKiBAd2FybmluZyANCiAqLw0KaW50IGF1dGhfZGV2aWNlX2tleV9pbml0X3ZhbHVlKHZvaWQpOw0KDQojZW5kaWYgLy8gX19MSUJLRVlfSA0K