IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBDb3B5cmlnaHQgKGMpIDIwMTEsIDIwMTkgTWlhLVNvZnR3YXJlIGFuZCBvdGhlcnMuDQojIA0KIyBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQojIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjIuMA0KIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MjAuaHRtbA0KIyANCiMgQ29udHJpYnV0b3JzOg0KIyAJR3JlZ29pcmUgRHVwZSAoTWlhLVNvZnR3YXJlKSAgLSBkZXNpZ24NCiMgCU5pY29sYXMgR3V5b21hciAoTWlhLVNvZnR3YXJlKSAtIGltcGxlbWVudGF0aW9uDQojICAgRW1tYW51ZWxsZSBSb3VpbGzpIChNaWEtU29mdHdhcmUpIC0gQnVnIDM1MjYxOCAtIFRvIGJlIGFibGUgdG8gdXNlIG5vbiBkZXJpdmVkIGZhY2V0IHN0cnVjdHVyYWwgZmVhdHVyZXMgYW5kIHNhdmUgdGhlbSB2YWx1ZXMuIA0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAKDQpiaW4uaW5jbHVkZXMgPSAuLFwNCiAgICAgICAgICAgICAgIG1vZGVsLyxcDQogICAgICAgICAgICAgICBNRVRBLUlORi8sXA0KICAgICAgICAgICAgICAgcGx1Z2luLnhtbCxcDQogICAgICAgICAgICAgICBPU0dJLUlORi8sXA0KICAgICAgICAgICAgICAgYWJvdXQuaHRtbA0KamFycy5jb21waWxlLm9yZGVyID0gLg0Kc291cmNlLi4gPSBzcmMvDQpvdXRwdXQuLiA9IGJpbi8NCnNyYy5pbmNsdWRlcyA9IGFib3V0Lmh0bWwNCg==