Li4gU2VxdWVuY2VzL0NvbmNlcHRzLy9Gcm9udCBFeHRlbnNpYmxlIFNlcXVlbmNlIHw1MAoKRnJvbnQgRXh0ZW5zaWJsZSBTZXF1ZW5jZQo9PT09PT09PT09PT09PT09PT09PT09PT09CgpEZXNjcmlwdGlvbgotLS0tLS0tLS0tLQoKQSB8RnJvbnQgRXh0ZW5zaWJsZSBTZXF1ZW5jZXwgaXMgYW4gfEV4dGVuc2libGUgU2VxdWVuY2V8IHRoYXQgc3VwcG9ydHMgYW1vcnRpemVkIGNvbnN0YW50IAp0aW1lIGluc2VydGlvbiBhbmQgcmVtb3ZhbCBvcGVyYXRpb25zIGF0IHRoZSBiZWdpbm5pbmcuIAoKUmVmaW5lbWVudCBvZgotLS0tLS0tLS0tLS0tCgp8RXh0ZW5zaWJsZSBTZXF1ZW5jZXwKCgpFeHByZXNzaW9uIHJlcXVpcmVtZW50cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVtZW50cyBkZWZpbmVkIGluIHxFeHRlbnNpYmxlIFNlcXVlbmNlfCwgCmZvciBhbnkgfEJhY2sgRXh0ZW5zaWJsZSBTZXF1ZW5jZXwgYGBzYGAgdGhlIGZvbGxvd2luZyBtdXN0IGJlIG1ldDoKCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IEV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgIHwgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb21wbGV4aXR5ICAgICAgICAgICAgICAgIHwKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT0rCnwgYGBwdXNoX2Zyb250PHMseD46OnR5cGVgYCAgICAgfCB8RnJvbnQgRXh0ZW5zaWJsZSBTZXF1ZW5jZXwgICB8IEFtb3J0aXplZCBjb25zdGFudCB0aW1lICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBgYHBvcF9mcm9udDxzPjo6dHlwZWBgICAgICAgICB8IHxGcm9udCBFeHRlbnNpYmxlIFNlcXVlbmNlfCAgIHwgQW1vcnRpemVkIGNvbnN0YW50IHRpbWUgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBgZnJvbnQ8cz46OnR5cGVgYCAgICAgICAgICAgIHwgQW55IHR5cGUgICAgICAgICAgICAgICAgICAgICAgfCBBbW9ydGl6ZWQgY29uc3RhbnQgdGltZSAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgoKRXhwcmVzc2lvbiBzZW1hbnRpY3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnxTZW1hbnRpY3MgZGlzY2xhaW1lci4uLnwgfEV4dGVuc2libGUgU2VxdWVuY2V8LgoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgRXhwcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgfCBTZW1hbnRpY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKfCBgYHB1c2hfZnJvbnQ8cyx4Pjo6dHlwZWBgICAgICB8IEVxdWl2YWxlbnQgdG8gYGBpbnNlcnQ8cyxiZWdpbjxzPjo6dHlwZSx4Pjo6dHlwZWBgOyAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzZWUgfHB1c2hfZnJvbnR8LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBgYHBvcF9mcm9udDx2Pjo6dHlwZWBgICAgICAgICB8IEVxdWl2YWxlbnQgdG8gYGBlcmFzZTxzLGJlZ2luPHM+Ojp0eXBlPjo6dHlwZWBgOyAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzZWUgfHBvcF9mcm9udHwuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBgYGZyb250PHM+Ojp0eXBlYGAgICAgICAgICAgICB8IFRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBzZXF1ZW5jZTsgc2VlIHxmcm9udHwuICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwoKCk1vZGVscwotLS0tLS0KCiogfHZlY3RvcnwKKiB8bGlzdHwKCgpTZWUgYWxzbwotLS0tLS0tLQoKfFNlcXVlbmNlc3wsIHxFeHRlbnNpYmxlIFNlcXVlbmNlfCwgfEJhY2sgRXh0ZW5zaWJsZSBTZXF1ZW5jZXwsIHxwdXNoX2Zyb250fCwgfHBvcF9mcm9udHwsIHxmcm9udHwKCgouLiBjb3B5cmlnaHQ6OiBDb3B5cmlnaHQgqSAgMjAwMS0yMDA5IEFsZWtzZXkgR3VydG92b3kgYW5kIERhdmlkIEFicmFoYW1zCiAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKICAgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCg==