# Name: smd_horizon v0.1 # Type: Client side plugin # Next/previous article without restrictions # Author: Stef Dawson # URL: http://stefdawson.com/ # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMDp7czo0OiJuYW1lIjtzOjExOiJzbWRfaG9yaXpvbiI7czo2OiJhdXRob3IiO3M6MTE6 IlN0ZWYgRGF3c29uIjtzOjEwOiJhdXRob3JfdXJpIjtzOjIyOiJodHRwOi8vc3RlZmRhd3Nv bi5jb20vIjtzOjc6InZlcnNpb24iO3M6MzoiMC4xIjtzOjExOiJkZXNjcmlwdGlvbiI7czo0 MjoiTmV4dC9wcmV2aW91cyBhcnRpY2xlIHdpdGhvdXQgcmVzdHJpY3Rpb25zIjtzOjQ6ImNv ZGUiO3M6MTM1NjE6Ii8vIFB1YmxpYyBpbnRlcmZhY2VzOiBjb252ZW5pZW5jZSBmdW5jdGlv bnMNCmZ1bmN0aW9uIHNtZF9wcmV2KCRhdHRzLCAkdGhpbmcpIHsNCgkkYXR0c1snZGlyJ10g PSAncHJldic7DQoJcmV0dXJuIHNtZF9uZWFyZXN0KCRhdHRzLCAkdGhpbmcpOw0KfQ0KZnVu Y3Rpb24gc21kX25leHQoJGF0dHMsICR0aGluZykgew0KCSRhdHRzWydkaXInXSA9ICduZXh0 JzsNCglyZXR1cm4gc21kX25lYXJlc3QoJGF0dHMsICR0aGluZyk7DQp9DQpmdW5jdGlvbiBz bWRfbGlua190b19wcmV2KCRhdHRzLCAkdGhpbmcpIHsNCgkkYXR0c1snZGlyJ10gPSAncHJl dic7DQoJcmV0dXJuIHNtZF9saW5rX3RvKCRhdHRzLCAkdGhpbmcpOw0KfQ0KZnVuY3Rpb24g c21kX2xpbmtfdG9fbmV4dCgkYXR0cywgJHRoaW5nKSB7DQoJJGF0dHNbJ2RpciddID0gJ25l eHQnOw0KCXJldHVybiBzbWRfbGlua190bygkYXR0cywgJHRoaW5nKTsNCn0NCmZ1bmN0aW9u IHNtZF9pZl9zdGFydCgkYXR0cywgJHRoaW5nKSB7DQoJJGF0dHNbJ2RpciddID0gJ3ByZXYn Ow0KCXJldHVybiBzbWRfaWZfaG9yaXpvbigkYXR0cywgJHRoaW5nKTsNCn0NCmZ1bmN0aW9u IHNtZF9pZl9lbmQoJGF0dHMsICR0aGluZykgew0KCSRhdHRzWydkaXInXSA9ICduZXh0JzsN CglyZXR1cm4gc21kX2lmX2hvcml6b24oJGF0dHMsICR0aGluZyk7DQp9DQoNCi8vICoqKioq KioqKioqKioqKioqKioqKioqKioqKioNCi8vIFByaXZhdGUgZnVuY3Rpb246IG5vdCBmb3Ig cHVibGljIGNvbnN1bXB0aW9uDQovLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQpm dW5jdGlvbiBzbWRfaWZfaG9yaXpvbigkYXR0cywgJHRoaW5nKSB7DQoJZ2xvYmFsICRwcmV0 ZXh0LCAkdGhpc2FydGljbGUsICR0aGlzY2F0ZWdvcnksICRzbWRfbGFzdCwgJHNtZF9maXJz dCwgJHNtZF9pbl9uZWFyZXN0Ow0KDQoJZXh0cmFjdChsQXR0cyhhcnJheSgNCgkJJ3R5cGUn ID0+ICdsaXN0JywNCgkJJ2xvZ2ljJyA9PiAnb3InLA0KCQknZGlyJyA9PiAnbmV4dCcsDQoJ CSdkZWJ1ZycgPT4gMCwNCgkpLCAkYXR0cykpOw0KDQoJJGl0b3V0ID0gYXJyYXkoKTsgLy8g Rm9yIGRlYnVnIG9ubHkNCgkkdHlwZSA9IGRvX2xpc3QoJHR5cGUpOw0KCSRvdXQgPSBhcnJh eSgpOw0KCWZvcmVhY2ggKCR0eXBlIGFzICRpdGVtKSB7DQoJCWlmICgkZGVidWcpIHsNCgkJ CSRpdG91dFtdID0gJGl0ZW07DQoJCX0NCgkJc3dpdGNoICgkaXRlbSkgew0KCQkJY2FzZSAn bGlzdCc6DQoJCQkJaWYgKCRzbWRfaW5fbmVhcmVzdCkgew0KCQkJCQlpZiAoJGRpciA9PSAn bmV4dCcpIHsNCgkJCQkJCSRvdXRbXSA9IChlbXB0eSgkc21kX2xhc3QpKSA/IHRydWUgOiBm YWxzZTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCSRvdXRbXSA9IChlbXB0eSgkc21kX2ZpcnN0 KSkgPyB0cnVlIDogZmFsc2U7DQoJCQkJCX0NCgkJCQl9DQoJCQkJYnJlYWs7DQoJCQljYXNl ICdjYXRlZ29yeSc6DQoJCQkJaWYgKCRzbWRfaW5fbmVhcmVzdCkgew0KCQkJCQlpZiAoJGRp ciA9PSAnbmV4dCcpIHsNCgkJCQkJCSRvdXRbXSA9ICghZW1wdHkoJHNtZF9sYXN0KSAmJiAo JHNtZF9sYXN0WydjYXRlZ29yeTEnXSAhPSAkdGhpc2FydGljbGVbJ2NhdGVnb3J5MSddIHx8 ICRzbWRfbGFzdFsnY2F0ZWdvcnkyJ10gIT0gJHRoaXNhcnRpY2xlWydjYXRlZ29yeTInXSkp ID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJJG91dFtdID0gKCFlbXB0 eSgkc21kX2ZpcnN0KSAmJiAoJHNtZF9maXJzdFsnY2F0ZWdvcnkxJ10gIT0gJHRoaXNhcnRp Y2xlWydjYXRlZ29yeTEnXSB8fCAkc21kX2ZpcnN0WydjYXRlZ29yeTInXSAhPSAkdGhpc2Fy dGljbGVbJ2NhdGVnb3J5MiddKSkgPyB0cnVlIDogZmFsc2U7DQoJCQkJCX0NCgkJCQl9IGVs c2Ugew0KCQkJCQlpZiAoJGRpciA9PSAnbmV4dCcpIHsNCgkJCQkJCSRvdXRbXSA9ICghZW1w dHkoJHRoaXNjYXRlZ29yeVsnaXNfbGFzdCddKSkgPyB0cnVlIDogZmFsc2U7DQoJCQkJCX0g ZWxzZSB7DQoJCQkJCQkkb3V0W10gPSAoIWVtcHR5KCR0aGlzY2F0ZWdvcnlbJ2lzX2ZpcnN0 J10pKSA/IHRydWUgOiBmYWxzZTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNh c2UgJ2F1dGhvcic6DQoJCQkJaWYgKCRzbWRfaW5fbmVhcmVzdCkgew0KCQkJCQlpZiAoJGRp ciA9PSAnbmV4dCcpIHsNCgkJCQkJCSRvdXRbXSA9ICghZW1wdHkoJHNtZF9sYXN0KSAmJiAk c21kX2xhc3RbJ2F1dGhvciddICE9ICR0aGlzYXJ0aWNsZVsnYXV0aG9yaWQnXSkgPyB0cnVl IDogZmFsc2U7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQkkb3V0W10gPSAoIWVtcHR5KCRzbWRf Zmlyc3QpICYmICRzbWRfZmlyc3RbJ2F1dGhvciddICE9ICR0aGlzYXJ0aWNsZVsnYXV0aG9y aWQnXSkgPyB0cnVlIDogZmFsc2U7DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQkvLyBO b3QgcG9zc2libGUgc2luY2UgYXV0aG9yIGxpc3RzIGFyZSBub3QgcGVybWl0dGVkIGluIFRY UA0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJ2NhdDEnOg0KCQkJY2FzZSAnY2F0ZWdv cnkxJzoNCgkJCQlpZiAoJHNtZF9pbl9uZWFyZXN0KSB7DQoJCQkJCWlmICgkZGlyID09ICdu ZXh0Jykgew0KCQkJCQkJJG91dFtdID0gKCFlbXB0eSgkc21kX2xhc3QpICYmICRzbWRfbGFz dFsnY2F0ZWdvcnkxJ10gIT0gJHRoaXNhcnRpY2xlWydjYXRlZ29yeTEnXSkgPyB0cnVlIDog ZmFsc2U7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQkkb3V0W10gPSAoIWVtcHR5KCRzbWRfZmly c3QpICYmICRzbWRfZmlyc3RbJ2NhdGVnb3J5MSddICE9ICR0aGlzYXJ0aWNsZVsnY2F0ZWdv cnkxJ10pID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQl9DQoJCQkJfSBlbHNlIHsNCgkJCQkJaWYg KCRkaXIgPT0gJ25leHQnKSB7DQoJCQkJCQkkb3V0W10gPSAoIWVtcHR5KCR0aGlzY2F0ZWdv cnlbJ2lzX2xhc3QnXSkpID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJ JG91dFtdID0gKCFlbXB0eSgkdGhpc2NhdGVnb3J5Wydpc19maXJzdCddKSkgPyB0cnVlIDog ZmFsc2U7DQoJCQkJCX0NCgkJCQl9DQoJCQkJYnJlYWs7DQoJCQljYXNlICdjYXQyJzoNCgkJ CWNhc2UgJ2NhdGVnb3J5Mic6DQoJCQkJaWYgKCRzbWRfaW5fbmVhcmVzdCkgew0KCQkJCQlp ZiAoJGRpciA9PSAnbmV4dCcpIHsNCgkJCQkJCSRvdXRbXSA9ICghZW1wdHkoJHNtZF9sYXN0 KSAmJiAkc21kX2xhc3RbJ2NhdGVnb3J5MiddICE9ICR0aGlzYXJ0aWNsZVsnY2F0ZWdvcnky J10pID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJJG91dFtdID0gKCFl bXB0eSgkc21kX2ZpcnN0KSAmJiAkc21kX2ZpcnN0WydjYXRlZ29yeTInXSAhPSAkdGhpc2Fy dGljbGVbJ2NhdGVnb3J5MiddKSA/IHRydWUgOiBmYWxzZTsNCgkJCQkJfQ0KCQkJCX0gZWxz ZSB7DQoJCQkJCWlmICgkZGlyID09ICduZXh0Jykgew0KCQkJCQkJJG91dFtdID0gKCFlbXB0 eSgkdGhpc2NhdGVnb3J5Wydpc19sYXN0J10pKSA/IHRydWUgOiBmYWxzZTsNCgkJCQkJfSBl bHNlIHsNCgkJCQkJCSRvdXRbXSA9ICghZW1wdHkoJHRoaXNjYXRlZ29yeVsnaXNfZmlyc3Qn XSkpID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWJyZWFrOw0KCQkJY2Fz ZSAnc2VjdGlvbic6DQoJCQlkZWZhdWx0Og0KCQkJCWlmICgkc21kX2luX25lYXJlc3QpIHsN CgkJCQkJaWYgKCRkaXIgPT0gJ25leHQnKSB7DQoJCQkJCQkkb3V0W10gPSAoIWVtcHR5KCRz bWRfbGFzdCkgJiYgJHNtZF9sYXN0WydzZWN0aW9uJ10gIT0gJHRoaXNhcnRpY2xlWydzZWN0 aW9uJ10pID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJJG91dFtdID0g KCFlbXB0eSgkc21kX2ZpcnN0KSAmJiAkc21kX2ZpcnN0WydzZWN0aW9uJ10gIT0gJHRoaXNh cnRpY2xlWydzZWN0aW9uJ10pID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQl9DQoJCQkJfSBlbHNl IHsNCgkJCQkJaWYgKCRkaXIgPT0gJ25leHQnKSB7DQoJCQkJCQkkb3V0W10gPSBlbXB0eSgk cHJldGV4dFsnbmV4dF9pZCddKSA/IHRydWUgOiBmYWxzZTsNCgkJCQkJfSBlbHNlIHsNCgkJ CQkJCSRvdXRbXSA9IGVtcHR5KCRwcmV0ZXh0WydwcmV2X2lkJ10pID8gdHJ1ZSA6IGZhbHNl Ow0KCQkJCQl9DQoJCQkJfQ0KCQkJCWJyZWFrOw0KCQl9DQoJfQ0KCWlmICgkZGVidWcpIHsN CgkJZWNobyAnKysgVEVTVCBSRVNVTFRTICsrJzsNCgkJZG1wKCRpdG91dCk7DQoJCWRtcCgk b3V0KTsNCgl9DQoJJHJlcyA9ICgkb3V0KSA/IHRydWUgOiBmYWxzZTsNCglpZiAoc3RydG9s b3dlcigkbG9naWMpID09ICJhbmQiICYmIGluX2FycmF5KGZhbHNlLCAkb3V0KSkgew0KCQkk cmVzID0gZmFsc2U7DQoJfQ0KCWlmIChzdHJ0b2xvd2VyKCRsb2dpYykgPT0gIm9yIiAmJiAh aW5fYXJyYXkodHJ1ZSwgJG91dCkpIHsNCgkJJHJlcyA9IGZhbHNlOw0KCX0NCglpZiAoJGRl YnVnKSB7DQoJCWVjaG8gJysrIEZJTkFMIFJFU1VMVCArKyc7DQoJCWRtcCgkcmVzKTsNCgl9 DQoJcmV0dXJuIHBhcnNlKEV2YWxFbHNlKCR0aGluZywgJHJlcykpOw0KfQ0KDQovLyAqKioq KioqKioqKioqKioqKioqKioqKioqKioqDQovLyBQcml2YXRlIGZ1bmN0aW9uOiBub3QgZm9y IHB1YmxpYyBjb25zdW1wdGlvbg0KLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K ZnVuY3Rpb24gc21kX25lYXJlc3QoJGF0dHMsICR0aGluZykgew0KCWdsb2JhbCAkcHJldGV4 dCwgJHRoaXNhcnRpY2xlLCAkdGhpc2NhdGVnb3J5LCAkcHJlZnMsICRuZXh0X2lkLCAkcHJl dl9pZCwgJG5leHRfdGl0bGUsICRwcmV2X3RpdGxlLCAkc21kX2xhc3QsICRzbWRfZmlyc3Qs ICRzbWRfaW5fbmVhcmVzdDsNCg0KCWV4dHJhY3QobEF0dHMoYXJyYXkoDQoJCSdzZWN0aW9u JyA9PiAkcHJldGV4dFsncyddLA0KCQknY2F0ZWdvcnknID0+ICRwcmV0ZXh0WydjJ10sDQoJ CSdhdXRob3InID0+ICRwcmV0ZXh0WydhdXRob3InXSwNCgkJJ3JlYWxuYW1lJyA9PiAnJywN CgkJJ3N0YXR1cycgPT4gJzQnLA0KCQkndGltZScgPT4gJ2FueScsIC8vIGFueSwgZnV0dXJl LCBwYXN0DQoJCSdkYXRhc29ydCcgPT4gJ3NlY3Rpb24sIGNhdGVnb3J5MSwgY2F0ZWdvcnky LCBhdXRob3InLA0KCQkndGltZXNvcnQnID0+ICdwb3N0ZWQnLA0KCQknZm9ybScgPT4gJycs DQoJCSdkaXInID0+ICduZXh0JywgLy8gU2V0IGJ5IHdyYXBwZXIgdGFncw0KCQknZGVidWcn ID0+IDAsDQoJKSwgJGF0dHMpKTsNCg0KCWV4dHJhY3QoJHByZWZzKTsNCgkkc21kX2luX25l YXJlc3QgPSB0cnVlOw0KDQoJJHRoaW5nID0gKGVtcHR5KCRmb3JtKSkgPyAkdGhpbmcgOiBm ZXRjaF9mb3JtKCRmb3JtKTsNCgkkZXhwaXJlZCA9ICgkcHVibGlzaF9leHBpcmVkX2FydGlj bGVzKSA/ICcnIDogJyBBTkQgKG5vdygpIDw9IEV4cGlyZXMgb3IgRXhwaXJlcyA9ICcuTlVM TERBVEVUSU1FLicpJzsNCgkkc2FmZV9uYW1lID0gc2FmZV9wZngoJ3RleHRwYXR0ZXJuJyk7 DQoNCgkvLyBGaWx0ZXJzDQoJJGNhdFNRTCA9ICRzZWNTUUwgPSAkYXV0aFNRTCA9ICcnOw0K CWlmKCRjYXRlZ29yeSkgew0KCQkkY2F0U1FMID0gZG9RdW90ZShqb2luKCInLCciLCBkb1Ns YXNoKGRvX2xpc3QoJGNhdGVnb3J5KSkpKTsNCgkJJGNhdFNRTCA9ICcgQU5EICggQ2F0ZWdv cnkxIElOICgnLiRjYXRTUUwuJykgT1IgQ2F0ZWdvcnkyIElOICgnLiRjYXRTUUwuJykgKSAn Ow0KCX0NCglpZigkc2VjdGlvbikgew0KCQkkc2VjU1FMID0gJyBBTkQgU2VjdGlvbiBJTiAo Jy5kb1F1b3RlKGpvaW4oIicsJyIsIGRvU2xhc2goZG9fbGlzdCgkc2VjdGlvbikpKSkuJykg JzsNCgl9DQoJaWYoJHJlYWxuYW1lKSB7DQoJCSRhdXRob3IgPSBqb2luKCcsJywgc2FmZV9j b2x1bW4oJ25hbWUnLCAndHhwX3VzZXJzJywgJ1JlYWxOYW1lIElOICgnLiBkb1F1b3RlKGpv aW4oIicsJyIsIGRvU2xhc2goZG9BcnJheShkb19saXN0KCRyZWFsbmFtZSksICd1cmxkZWNv ZGUnKSkpKSAuJyknICkpOw0KCX0NCglpZigkYXV0aG9yKSB7DQoJCSRhdXRoU1FMID0gJyBB TkQgQXV0aG9ySUQgSU4gKCcuZG9RdW90ZShqb2luKCInLCciLCBkb1NsYXNoKGRvX2xpc3Qo JGF1dGhvcikpKSkuJykgJzsNCgl9DQoJJHN0YXR1cyA9IGRvX2xpc3QoJHN0YXR1cyk7DQoJ JHN0YXRpID0gYXJyYXkoKTsNCglmb3JlYWNoICgkc3RhdHVzIGFzICRzdGF0KSB7DQoJCWlm IChlbXB0eSgkc3RhdCkpIHsNCgkJCWNvbnRpbnVlOw0KCQl9IGVsc2UgaWYgKGlzX251bWVy aWMoJHN0YXQpKSB7DQoJCQkkc3RhdGlbXSA9ICRzdGF0Ow0KCQl9IGVsc2Ugew0KCQkJJHN0 YXRpW10gPSBnZXRTdGF0dXNOdW0oJHN0YXQpOw0KCQl9DQoJfQ0KCSRzdGF0U1FMID0gJ1N0 YXR1cyBJTiAoJy5qb2luKCcsJywgJHN0YXRpKS4nKSc7DQoJJHRpbWVTUUwgPSAnJzsNCglz d2l0Y2goJHRpbWUpIHsNCgkJY2FzZSAiYW55IiA6IGJyZWFrOw0KCQljYXNlICJmdXR1cmUi IDogJHRpbWVTUUwgPSAiIEFORCBQb3N0ZWQgPiBub3coKSI7IGJyZWFrOw0KCQlkZWZhdWx0 IDogJHRpbWVTUUwgPSAiIEFORCBQb3N0ZWQgPCBub3coKSI7IGJyZWFrOyAvLyBUaGUgcGFz dA0KCX0NCg0KCS8vIFNvcnQNCgkkc29yZGVyID0gKCgkZGlyPT0nbmV4dCcpID8gJyBERVND JyA6ICcgQVNDJyk7IC8vIE5lZ2F0aXZlIGxvZ2ljIHRvIGF2b2lkIGxvb2thaGVhZDogdGhl ICJsYXN0IiByb3cgc2VlbiBpcyBhbHdheXMgdGhlIG9uZSByZXF1aXJlZA0KCSRvcmRlcmJ5 ID0gYXJyYXkoKTsNCglpZiAoJGRhdGFzb3J0KSB7DQoJCSRkYXRhc29ydCA9IGRvX2xpc3Qo JGRhdGFzb3J0KTsNCgkJZm9yZWFjaCAoJGRhdGFzb3J0IGFzICRpdGVtKSB7DQoJCQlzd2l0 Y2goJGl0ZW0pIHsNCgkJCQljYXNlICdzZWN0aW9uJzoNCgkJCQkJaWYgKCRzZWN0aW9uKSB7 DQoJCQkJCQkkb3JkZXJieVtdID0gJ1NlY3Rpb24nLiRzb3JkZXI7DQoJCQkJCX0NCgkJCQkJ YnJlYWs7DQoJCQkJY2FzZSAnY2F0ZWdvcnknOg0KCQkJCQlpZiAoJGNhdGVnb3J5KSB7DQoJ CQkJCQkkb3JkZXJieVtdID0gJ0NhdGVnb3J5MScuJHNvcmRlcjsNCgkJCQkJCSRvcmRlcmJ5 W10gPSAnQ2F0ZWdvcnkyJy4kc29yZGVyOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNh c2UgJ2NhdGVnb3J5MSc6DQoJCQkJCWlmICgkY2F0ZWdvcnkpIHsNCgkJCQkJCSRvcmRlcmJ5 W10gPSAnQ2F0ZWdvcnkxJy4kc29yZGVyOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNh c2UgJ2NhdGVnb3J5Mic6DQoJCQkJCWlmICgkY2F0ZWdvcnkpIHsNCgkJCQkJCSRvcmRlcmJ5 W10gPSAnQ2F0ZWdvcnkyJy4kc29yZGVyOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNh c2UgJ2F1dGhvcic6DQoJCQkJCWlmICgkYXV0aG9yKSB7DQoJCQkJCQkkb3JkZXJieVtdID0g J0F1dGhvcklEJy4kc29yZGVyOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJ fQ0KCWlmICgkdGltZXNvcnQpIHsNCgkJJHRpbWVzb3J0ID0gZG9fbGlzdCgkdGltZXNvcnQp Ow0KCQlmb3JlYWNoICgkdGltZXNvcnQgYXMgJGl0ZW0pIHsNCgkJCXN3aXRjaChzdHJ0b2xv d2VyKCRpdGVtKSkgew0KCQkJCWNhc2UgJ2xhc3Rtb2QnOg0KCQkJCQkkb3JkZXJieVtdID0g J0xhc3RNb2QnLiRzb3JkZXI7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2V4cGlyZXMnOg0K CQkJCQkkb3JkZXJieVtdID0gJ0V4cGlyZXMnLiRzb3JkZXI7DQoJCQkJCWJyZWFrOw0KCQkJ CWNhc2UgJ3Bvc3RlZCc6DQoJCQkJZGVmYXVsdDoNCgkJCQkJJG9yZGVyYnlbXSA9ICdQb3N0 ZWQnLiRzb3JkZXI7DQoJCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJJG9yZGVyYnkg PSAnIE9SREVSIEJZICcgLiBqb2luKCcsJywgJG9yZGVyYnkpOw0KDQoJLy8gRG8gaXQNCglh c3NlcnRfYXJ0aWNsZSgpOw0KCSRycyA9IHNhZmVfcm93cygnKiwgdW5peF90aW1lc3RhbXAo UG9zdGVkKSBhcyB1UG9zdGVkLCB1bml4X3RpbWVzdGFtcChFeHBpcmVzKSBhcyB1RXhwaXJl cywgdW5peF90aW1lc3RhbXAoTGFzdE1vZCkgYXMgdUxhc3RNb2QnLA0KCSd0ZXh0cGF0dGVy bicsDQoJJHN0YXRTUUwuDQoJCSgoJGNhdGVnb3J5KSA/ICRjYXRTUUwgOiAnJykuDQoJCSgo JHNlY3Rpb24pID8gJHNlY1NRTCA6ICcnKS4NCgkJKCgkYXV0aG9yKSA/ICRhdXRoU1FMIDog JycpLg0KCQkkdGltZVNRTC4NCgkJJGV4cGlyZWQuDQoJCSRvcmRlcmJ5LA0KCSRkZWJ1Zyk7 DQoJaWYgKCRkZWJ1ZyA+IDEgJiYgJHJzKSB7DQoJCWVjaG8gJysrIFJFQ09SRCBTRVQgKysn Ow0KCQlkbXAoJHJzKTsNCgl9DQoJLy8gRmluZCB0aGUgY3VycmVudCBhcnRpY2xlIGluIHRo ZSByZWNvcmQgc2V0LCB0aGVuIG1vdmUgdG8gZmluZCBuZXh0L3ByZXYNCgkkbGFzdCA9ICRj dXJyID0gJGN0ciA9IDE7DQoNCglmb3JlYWNoICgkcnMgYXMgJHJvdykgew0KCQlpZiAoJHJv d1snSUQnXSA9PSAkdGhpc2FydGljbGVbJ3RoaXNpZCddKSB7DQoJCQkkY3VyciA9ICRsYXN0 Ow0KCQkJYnJlYWs7DQoJCX0NCgkJJGxhc3QgPSAkcm93OyAvLyBTdG9yZSBjdXJyZW50DQoJ CSRjdHIrKzsNCgl9DQoNCglpZiAoJGN1cnIgIT09IDEpIHsNCgkJaWYgKCRkaXI9PSduZXh0 Jykgew0KCQkJJHNtZF9sYXN0Wydwb3NpdGlvbiddID0gJGN0cjsNCgkJCSRzbWRfbGFzdFsn c2VjdGlvbiddID0gJHRoaXNhcnRpY2xlWydzZWN0aW9uJ107DQoJCQkkc21kX2xhc3RbJ3Bz ZWMnXSA9ICRwcmV0ZXh0WydzJ107DQoJCQkkc21kX2xhc3RbJ3BjYXQnXSA9ICRwcmV0ZXh0 WydjJ107DQoJCQkkc21kX2xhc3RbJ2NhdGVnb3J5MSddID0gJHRoaXNhcnRpY2xlWydjYXRl Z29yeTEnXTsNCgkJCSRzbWRfbGFzdFsnY2F0ZWdvcnkyJ10gPSAkdGhpc2FydGljbGVbJ2Nh dGVnb3J5MiddOw0KCQkJJHNtZF9sYXN0WydhdXRob3InXSA9ICR0aGlzYXJ0aWNsZVsnYXV0 aG9yaWQnXTsNCgkJfSBlbHNlIHsNCgkJCSRzbWRfZmlyc3RbJ3Bvc2l0aW9uJ10gPSAkY3Ry Ow0KCQkJJHNtZF9maXJzdFsncHNlYyddID0gJHByZXRleHRbJ3MnXTsNCgkJCSRzbWRfZmly c3RbJ3BjYXQnXSA9ICRwcmV0ZXh0WydjJ107DQoJCQkkc21kX2ZpcnN0WydzZWN0aW9uJ10g PSAkdGhpc2FydGljbGVbJ3NlY3Rpb24nXTsNCgkJCSRzbWRfZmlyc3RbJ2NhdGVnb3J5MSdd ID0gJHRoaXNhcnRpY2xlWydjYXRlZ29yeTEnXTsNCgkJCSRzbWRfZmlyc3RbJ2NhdGVnb3J5 MiddID0gJHRoaXNhcnRpY2xlWydjYXRlZ29yeTInXTsNCgkJCSRzbWRfZmlyc3RbJ2F1dGhv ciddID0gJHRoaXNhcnRpY2xlWydhdXRob3JpZCddOw0KCQl9DQoJfSBlbHNlIHsNCgkJaWYg KCRkaXI9PSduZXh0Jykgew0KCQkJJHNtZF9sYXN0ID0gYXJyYXkoKTsNCgkJfSBlbHNlIHsN CgkJCSRzbWRfZmlyc3QgPSBhcnJheSgpOw0KCQl9DQoJfQ0KDQoJaWYgKCRkZWJ1Zykgew0K CQlpZiAoJGRpcj09J25leHQnKSB7DQoJCQllY2hvICcrKyBNT1NUIFJFQ0VOVCAoTkVYVCkg KysnOw0KCQkJZG1wKCRzbWRfbGFzdCk7DQoJCX0gZWxzZSB7DQoJCQllY2hvICcrKyBNT1NU IFJFQ0VOVCAoUFJFVikgKysnOw0KCQkJZG1wKCRzbWRfZmlyc3QpOw0KCQl9DQoJfQ0KDQoJ Ly8gUG9wdWxhdGUgZ2xvYmFscyBpZiB0aGUgbmV4dC9wcmV2IGFydGljbGUgZXhpc3RzDQoJ JG91dCA9ICcnOw0KCSRzYXZlZCA9IGFycmF5KCk7DQoJaWYgKCRjdXJyID09PSAxKSB7DQoJ CSRvdXQgPSBwYXJzZSgkdGhpbmcpOw0KCX0gZWxzZSB7DQoJCS8vIEtlZXAgYSBub3RlIG9m IHdoZXJlIHdlIHdlcmUNCgkJYXJ0aWNsZV9wdXNoKCk7DQoJCSRzYXZlZFsncHJldl9pZCdd ID0gJHByZXZfaWQ7DQoJCSRzYXZlZFsnbmV4dF9pZCddID0gJG5leHRfaWQ7DQoJCSRzYXZl ZFsncHJldl90aXRsZSddID0gJHByZXZfdGl0bGU7DQoJCSRzYXZlZFsnbmV4dF90aXRsZSdd ID0gJG5leHRfdGl0bGU7DQoNCgkJLy8gUHJldGVuZCB3ZSdyZSBpbiB0aGUgbmV3IGFydGlj bGUsIGFuZCBmYWtlIHRoZSBnbG9iYWwgdmFycw0KCQlwb3B1bGF0ZUFydGljbGVEYXRhKCRj dXJyKTsNCgkJJHByZXZfaWQgPSAoJGRpcj09J3ByZXYnKSA/ICRjdXJyWydJRCddIDogJyc7 DQoJCSRuZXh0X2lkID0gKCRkaXI9PSduZXh0JykgPyAkY3VyclsnSUQnXSA6ICcnOw0KCQkk cHJldl90aXRsZSA9ICgkZGlyPT0ncHJldicpID8gJGN1cnJbJ1RpdGxlJ10gOiAnJzsNCgkJ JG5leHRfdGl0bGUgPSAoJGRpcj09J25leHQnKSA/ICRjdXJyWydUaXRsZSddIDogJyc7DQoJ CSR1cmwgPSBwZXJtbGlua3VybF9pZCgkY3VyclsnSUQnXSk7DQoJCSR0aGluZyA9IChlbXB0 eSgkdGhpbmcpKSA/ICc8YSByZWw9IicuJGRpci4nIiBocmVmPSInLiR1cmwuJyIgdGl0bGU9 IicuJGN1cnJbJ1RpdGxlJ10uJyI+Jy4kY3VyclsnVGl0bGUnXS4nPC9hPicgOiAkdGhpbmc7 DQoJCSRvdXQgPSBwYXJzZSgkdGhpbmcpOw0KDQoJCS8vIFJlc3RvcmUgZXZlcnl0aGluZw0K CQkkcHJldl9pZCA9ICRzYXZlZFsncHJldl9pZCddOw0KCQkkbmV4dF9pZCA9ICRzYXZlZFsn bmV4dF9pZCddOw0KCQkkcHJldl90aXRsZSA9ICRzYXZlZFsncHJldl90aXRsZSddOw0KCQkk bmV4dF90aXRsZSA9ICRzYXZlZFsnbmV4dF90aXRsZSddOw0KCQlhcnRpY2xlX3BvcCgpOw0K CX0NCgkkc21kX2luX25lYXJlc3QgPSBmYWxzZTsNCglyZXR1cm4gJG91dDsNCn0NCg0KLy8g KioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLy8gUHJpdmF0ZSBmdW5jdGlvbjogbm90 IGZvciBwdWJsaWMgY29uc3VtcHRpb24NCi8vICoqKioqKioqKioqKioqKioqKioqKioqKioq KioNCmZ1bmN0aW9uIHNtZF9saW5rX3RvKCRhdHRzLCAkdGhpbmcgPSBOVUxMKSB7DQoJZ2xv YmFsICRuZXh0X2lkLCAkcHJldl9pZCwgJG5leHRfdGl0bGUsICRwcmV2X3RpdGxlLCAkc21k X2xhc3QsICRzbWRfZmlyc3QsICRzbWRfaW5fbmVhcmVzdDsNCg0KCWV4dHJhY3QobEF0dHMo YXJyYXkoDQoJCSdzaG93YWx3YXlzJyA9PiAwLA0KCQknd3JhcHRhZycgPT4gJycsDQoJCSdj bGFzcycgPT4gJycsDQoJCSd1cmx2YXJzJyA9PiAnJywNCgkJJ2RpcicgPT4gJ25leHQnLCAv LyBTZXQgYnkgd3JhcHBlciB0YWdzDQoJCSdkZWJ1ZycgPT4gJzAnLA0KCSksICRhdHRzKSk7 DQoNCgkvLyBNYWludGFpbiBhbnkgVVJMIHZhcmlhYmxlcw0KCSRhZGRBcmdzID0gYXJyYXko KTsNCglpZigkdXJsdmFycykgew0KCQkkb3B0ZW5jb2RlID0gJG9wdGZvcmNlID0gJG9wdHBy aSA9IGZhbHNlOw0KCQlpZiAoc3RycG9zKCR1cmx2YXJzLCAnU01EX0FMTCcpID09PSAwKSB7 DQoJCQkvLyBEZXRlcm1pbmUgaWYgb3B0aW9ucyBhcmUgdG8gYmUgYXBwbGllZCBnbG9iYWxs eQ0KCQkJJHVybG9wdHMgPSBkb19saXN0KCR1cmx2YXJzLCAnOicpOw0KCQkJJG9wdGVuY29k ZSA9IChpbl9hcnJheSgnRVNDQVBFJywgJHVybG9wdHMpKSA/IHRydWUgOiBmYWxzZTsNCgkJ CSRvcHRmb3JjZSA9IChpbl9hcnJheSgnRk9SQ0UnLCAkdXJsb3B0cykpID8gdHJ1ZSA6IGZh bHNlOw0KCQkJJG9wdHByaSA9IChpbl9hcnJheSgnVEFHX1BSSU9SSVRZJywgJHVybG9wdHMp KSA/IHRydWUgOiBmYWxzZTsNCgkJCS8vIFBPU1Qgb3ZlcnJpZGVzIEdFVCBpZiBib3RoIGV4 aXN0DQoJCQkkdXJsdmFycyA9IGFycmF5X21lcmdlKGFycmF5X2tleXMoJF9HRVQpLCBhcnJh eV9rZXlzKCRfUE9TVCkpOw0KCQl9IGVsc2Ugew0KCQkJJHVybHZhcnMgPSBkb19saXN0KCR1 cmx2YXJzKTsNCgkJfQ0KCQlmb3JlYWNoICgkdXJsdmFycyBhcyAkdXJsdmFyKSB7DQoJCQkk dXJsb3B0cyA9IGRvX2xpc3QoJHVybHZhciwgJzonKTsNCgkJCSRlbmNvZGUgPSAoJG9wdGVu Y29kZSB8fCBpbl9hcnJheSgnRVNDQVBFJywgJHVybG9wdHMpKSA/IHRydWUgOiBmYWxzZTsN CgkJCSRmb3JjZSA9ICgkb3B0Zm9yY2UgfHwgaW5fYXJyYXkoJ0ZPUkNFJywgJHVybG9wdHMp KSA/IHRydWUgOiBmYWxzZTsNCgkJCSRwcmkgPSAoJG9wdHByaSB8fCBpbl9hcnJheSgnVEFH X1BSSU9SSVRZJywgJHVybG9wdHMpKSA/IHRydWUgOiBmYWxzZTsNCgkJCSR1cmxwYXJ0cyA9 IGRvX2xpc3QoJHVybG9wdHNbMF0sICc9Jyk7DQoJCQkkdmFyID0gJHVybHBhcnRzWzBdOw0K CQkJJHZhbCA9IGdwcygkdXJscGFydHNbMF0pOw0KCQkJaWYgKCRwcmkpIHsNCgkJCQkkdmFs ID0gKGlzc2V0KCR1cmxwYXJ0c1sxXSkpID8gJHVybHBhcnRzWzFdIDogZ3BzKCR1cmxwYXJ0 c1swXSk7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICgkdmFsPT0nJyAmJiBpc3NldCgkdXJscGFy dHNbMV0pKSB7DQoJCQkJCSR2YWwgPSAkdXJscGFydHNbMV07DQoJCQkJfQ0KCQkJfQ0KCQkJ JHZhbCA9ICgkZW5jb2RlKSA/IGh0bWxlbnRpdGllcygkdmFsKSA6ICR2YWw7DQoJCQlpZiAo JHZhbCAhPT0gJycgfHwgJGZvcmNlKSB7DQoJCQkJJGFkZEFyZ3NbXSA9ICR2YXIuJz0nLiR2 YWw7DQoJCQl9DQoJCX0NCgl9DQoNCglpZiAoJGRlYnVnICYmICRhZGRBcmdzKSB7DQoJCWVj aG8gJysrIFVSTCBWQVJTICsrJzsNCgkJZG1wKCRhZGRBcmdzKTsNCiAgIH0NCg0KCWlmICgk ZGlyPT0nbmV4dCcgJiYgKCgkc21kX2luX25lYXJlc3QpID8gJHNtZF9sYXN0IDogMSkpIHsN CgkJaWYgKCRuZXh0X2lkKSB7DQoJCQkkdXJsID0gcGVybWxpbmt1cmxfaWQoJG5leHRfaWQp IC4gKCgkYWRkQXJncykgPyAnPycuIGpvaW4oYSwgJGFkZEFyZ3MpIDogJycpOw0KCQkJaWYg KCR0aGluZykgew0KCQkJCSR0aGluZyA9IHBhcnNlKCR0aGluZyk7DQoJCQkJJG5leHRfdGl0 bGUgPSBlc2NhcGVfdGl0bGUoJG5leHRfdGl0bGUpOw0KDQoJCQkJcmV0dXJuIGRvV3JhcChh cnJheSgnPGEgcmVsPSJuZXh0IiBocmVmPSInLiR1cmwuJyInLiAoKCRjbGFzcyAmJiAhJHdy YXB0YWcpID8gJyBjbGFzcz0iJy4kY2xhc3MuJyInIDogJycpLg0KCQkJCQkoJG5leHRfdGl0 bGUgIT0gJHRoaW5nID8gJyB0aXRsZT0iJy4kbmV4dF90aXRsZS4nIicgOiAnJykuDQoJCQkJ CSc+Jy4kdGhpbmcuJzwvYT4nKSwgJHdyYXB0YWcsICcnLCAkY2xhc3MpOw0KCQkJfQ0KCQkJ cmV0dXJuICR1cmw7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gKCRzaG93YWx3YXlzKSA/IHBh cnNlKCR0aGluZykgOiAnJzsNCgkJfQ0KCX0NCglpZiAoJGRpcj09J3ByZXYnICYmICgoJHNt ZF9pbl9uZWFyZXN0KSA/ICRzbWRfZmlyc3QgOiAxKSkgew0KCQlpZiAoJHByZXZfaWQpIHsN CgkJCSR1cmwgPSBwZXJtbGlua3VybF9pZCgkcHJldl9pZCkgLiAoKCRhZGRBcmdzKSA/ICc/ Jy4gam9pbihhLCAkYWRkQXJncykgOiAnJyk7DQoJCQlpZiAoJHRoaW5nKSB7DQoJCQkJJHRo aW5nID0gcGFyc2UoJHRoaW5nKTsNCgkJCQkkcHJldl90aXRsZSA9IGVzY2FwZV90aXRsZSgk cHJldl90aXRsZSk7DQoNCgkJCQlyZXR1cm4gZG9XcmFwKGFycmF5KCc8YSByZWw9InByZXYi IGhyZWY9IicuJHVybC4nIicuICgoJGNsYXNzICYmICEkd3JhcHRhZykgPyAnIGNsYXNzPSIn LiRjbGFzcy4nIicgOiAnJykuDQoJCQkJCSgkcHJldl90aXRsZSAhPSAkdGhpbmcgPyAnIHRp dGxlPSInLiRwcmV2X3RpdGxlLiciJyA6ICcnKS4NCgkJCQkJJz4nLiR0aGluZy4nPC9hPicp LCAkd3JhcHRhZywgJycsICRjbGFzcyk7DQoJCQl9DQoJCQlyZXR1cm4gJHVybDsNCgkJfSBl bHNlIHsNCgkJCXJldHVybiAoJHNob3dhbHdheXMpID8gcGFyc2UoJHRoaW5nKSA6ICcnOw0K CQl9DQoJfQ0KCXJldHVybjsNCn0iO3M6NDoidHlwZSI7czoxOiIwIjtzOjU6Im9yZGVyIjtz OjE6IjUiO3M6NDoiaGVscCI7czoyNjgzMzoiPGRpdiBpZD0ic21kX2hlbHAiPgoKCTxoMSBp ZD0idG9wIj5zbWRfaG9yaXpvbjwvaDE+CgoJPHA+VGhlIGV4aXN0aW5nIHRhZ3MgPGNvZGU+ Jmx0O3R4cDpuZXh0X3RpdGxlIC8mZ3Q7PC9jb2RlPiwgPGNvZGU+Jmx0O3R4cDpsaW5rX3Rv X25leHQgLyZndDs8L2NvZGU+IGFuZCB0aGVpciA8Y29kZT5wcmV2PC9jb2RlPiBjb3VudGVy cGFydHMgY2Vhc2UgdG8gZnVuY3Rpb24gd2hlbiB0aGV5IHJlYWNoIHRoZSBmaXJzdC9sYXN0 IHBvc3RlZCBhcnRpY2xlIGluIGEgc2VjdGlvbi4gSWYgeW91IGhhdmUgZXZlciB3YW50ZWQg dG8gbmF2aWdhdGUgb2ZmIHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBncmlk LCB0aGlzIHBsdWdpbiBjYW4gaGVscC48L3A+CgoJPGgyIGlkPSJmZWF0dXJlcyI+RmVhdHVy ZXM8L2gyPgoKCTx1bD4KCQk8bGk+QWJpbGl0eSB0byBsaW5rIHRvIGFydGljbGVzIHRoYXQg YXJlIHRvIGJlIHB1Ymxpc2hlZCBpbiBmdXR1cmU7IDxjb2RlPiZsdDt0eHA6bmV4dC9wcmV2 X3RpdGxlIC8mZ3Q7PC9jb2RlPiBhbmQgPGNvZGU+Jmx0O3R4cDpsaW5rX3RvX25leHQvcHJl diZndDs8L2NvZGU+IHdvcmsgYmV5b25kIHRoZSBleGlzdGluZyBQb3N0ZWQgcmFuZ2U8L2xp PgoJCTxsaT5EZXRlY3Rpb24gb2Ygd2hlbiB5b3UgYXJlIGFib3V0IHRvICYjODIyMDtmYWxs IG9mZiB0aGUgZW5kJiM4MjIxOyBvZiBhIHNlY3Rpb24gb3IgY2F0ZWdvcnksIGluIGVpdGhl ciBkaXJlY3Rpb248L2xpPgoJCTxsaT5FbnRpcmUgYWRqYWNlbnQgYXJ0aWNsZSBjb250ZW50 cyBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgYXJ0aWNsZSBmb3IgeW91ciAobWlzKXVzZSBz byB5b3UgY2FuIHRlYXNlIHBlb3BsZSB3aXRoIHdoYXQmIzgyMTc7cyBjb21pbmcgbmV4dCBv ciB1c2UgYW55IGFydGljbGUgY29udGVudCBhcyBhIGxpbms8L2xpPgoJCTxsaT5OYXZpZ2F0 ZSBzZWFtbGVzc2x5IGJldHdlZW4gbWFueSBzZWN0aW9ucywgY2F0ZWdvcmllcyBvciBhdXRo b3JzPC9saT4KCTwvdWw+CgoJPGgyIGlkPSJhdXRob3IiPkF1dGhvciAvIGNyZWRpdHM8L2gy PgoKCTxwPjxhIGhyZWY9Imh0dHA6Ly9zdGVmZGF3c29uLmNvbS9jb250YWN0Ij5TdGVmIERh d3NvbjwvYT4uPC9wPgoKCTxoMiBpZD0iaW5zdGFsbCI+SW5zdGFsbGF0aW9uIC8gVW5pbnN0 YWxsYXRpb248L2gyPgoKCTxwIGNsYXNzPSJyZXF1aXJlZCI+UmVxdWlyZXMgVGV4dHBhdHRl cm4gNC4wLjcrPC9wPgoKCTxwPkRvd25sb2FkIHRoZSBwbHVnaW4gZnJvbSBlaXRoZXIgPGEg aHJlZj0iaHR0cDovL3RleHRwYXR0ZXJuLm9yZy9wbHVnaW5zLzEwNzkvc21kX2hvcml6b24i PnRleHRwYXR0ZXJuLm9yZzwvYT4sIG9yIHRoZSA8YSBocmVmPSJodHRwOi8vc3RlZmRhd3Nv bi5jb20vc3ciPnNvZnR3YXJlIHBhZ2U8L2E+LCBwYXN0ZSB0aGUgY29kZSBpbnRvIHRoZSA8 c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBBZG1pbiAtJmd0OyBQbHVnaW5zIHBhbmUs IGluc3RhbGwgYW5kIGVuYWJsZSB0aGUgcGx1Z2luLiBWaXNpdCB0aGUgPGEgaHJlZj0iaHR0 cDovL2ZvcnVtLnRleHRwYXR0ZXJuLmNvbS92aWV3dG9waWMucGhwP2lkPTMwNDY0Ij5mb3J1 bSB0aHJlYWQ8L2E+IGZvciBtb3JlIGluZm8gb3IgdG8gcmVwb3J0IG9uIHRoZSBzdWNjZXNz IG9yIG90aGVyd2lzZSBvZiB0aGUgcGx1Z2luLjwvcD4KCgk8cD5UbyB1bmluc3RhbGwsIHNp bXBseSBkZWxldGUgZnJvbSB0aGUgQWRtaW4gLSZndDsgUGx1Z2lucyBwYWdlLjwvcD4KCgk8 aDIgaWQ9Im5wIj5UYWdzOiA8Y29kZT4mbHQ7dHhwOnNtZF9uZXh0Jmd0OzwvY29kZT4gLyA8 Y29kZT4mbHQ7dHhwOnNtZF9wcmV2Jmd0OzwvY29kZT48L2gyPgoKCTxwPldyYXAgZWl0aGVy IDxjb2RlPiZsdDt0eHA6c21kX25leHQmZ3Q7PC9jb2RlPiBvciA8Y29kZT4mbHQ7dHhwOnNt ZF9wcmV2Jmd0OzwvY29kZT4gYXJvdW5kIGV4aXN0aW5nIDxjb2RlPiZsdDt0eHA6bGlua190 b19uZXh0L3ByZXYgLyZndDs8L2NvZGU+IGFuZCA8Y29kZT4mbHQ7dHhwOm5leHQvcHJldl90 aXRsZSAvJmd0OzwvY29kZT4gdGFncyB0byBiZSBhYmxlIHRvIG5hdmlnYXRlIG11bHRpcGxl IHNlY3Rpb25zIG9yIGZ1dHVyZSBhcnRpY2xlcy48L3A+CgoJPGgzIGNsYXNzPSJhdHRzICIg aWQ9Im5wYXR0cyI+QXR0cmlidXRlczwvaDM+CgoJPHVsPgoJCTxsaT48c3BhbiBjbGFzcz0i YXRubSI+c2VjdGlvbjwvc3Bhbj4gOiBuYXZpZ2F0ZSBhbW9uZyBhcnRpY2xlcyBpbiB0aGlz IGxpc3Qgb2Ygc2VjdGlvbnMuIERlZmF1bHQ6IGN1cnJlbnQgc2VjdGlvbjwvbGk+CgkJPGxp PjxzcGFuIGNsYXNzPSJhdG5tIj5jYXRlZ29yeTwvc3Bhbj4gOiBuYXZpZ2F0ZSBhbW9uZyBh cnRpY2xlcyBoYXZpbmcgdGhpcyBsaXN0IG9mIGNhdGVnb3JpZXMuIERlZmF1bHQ6IGN1cnJl bnQgY2F0ZWdvcnk8L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXRubSI+YXV0aG9yPC9zcGFu PiA6IG5hdmlnYXRlIGFtb25nIGFydGljbGVzIGJ5IHRoaXMgbGlzdCBvZiBhdXRob3IgSURz LiBEZWZhdWx0OiBjdXJyZW50IGF1dGhvcjwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdG5t Ij5yZWFsbmFtZTwvc3Bhbj4gOiBuYXZpZ2F0ZSBhbW9uZyBhcnRpY2xlcyBieSB0aGlzIGxp c3Qgb2YgYXV0aG9yIFJlYWwgTmFtZXMuIERlZmF1bHQ6IHVuc2V0LiBOb3RlIHRoaXMgYWRk cyBvbmUgZGF0YWJhc2UgcXVlcnkgdG8gdGhlIHBhZ2Ugc28gaWYgeW91IGNhbiBwb3NzaWJs eSB1c2UgPGNvZGU+YXV0aG9yPC9jb2RlPiBpbnN0ZWFkLCBkbyBzbzwvbGk+CgkJPGxpPjxz cGFuIGNsYXNzPSJhdG5tIj5zdGF0dXM8L3NwYW4+IDogdGFrZSBhcnRpY2xlcyBpbiB0aGlz IGxpc3Qgb2Ygc3RhdHVzIGludG8gY29uc2lkZXJhdGlvbi4gVXNlIGVpdGhlciB0aGUgbmFt ZSAoPGNvZGU+bGl2ZTwvY29kZT4sIDxjb2RlPmhpZGRlbjwvY29kZT4sIGV0Yykgb3IgdGhl aXIgZXF1aXZhbGVudCBudW1lcmljIHZhbHVlcy4gRGVmYXVsdDogPGNvZGU+bGl2ZTwvY29k ZT4uIE5vdGU6IHlvdSBzdGlsbCBjYW5ub3QgYWN0dWFsbHkgPGVtPnZpZXc8L2VtPiAoaS5l LiBuYXZpZ2F0ZSB0bykgYXJ0aWNsZXMgdGhhdCBhcmUgbm90IExpdmUgb3IgU3RpY2t5IGJ1 dCB5b3UgY2FuIHNlZSB0aGVpciBjb250ZW50cyBmcm9tIHRoZSBjdXJyZW50IGFydGljbGUg KGkuZS4gcHJldmlldyB0aGVtOiBzZWUgPGEgaHJlZj0iI2VnMyI+ZXhhbXBsZSAzPC9hPik8 L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXRubSI+dGltZTwvc3Bhbj4gOiBjaG9vc2Ugd2hp Y2ggdGltZWZyYW1lIHlvdXIgYXJ0aWNsZXMgc2hvdWxkIGJlIGluLiBFaXRoZXIgPGNvZGU+ YW55PC9jb2RlPiwgPGNvZGU+ZnV0dXJlPC9jb2RlPiwgb3IgPGNvZGU+cGFzdDwvY29kZT4u IERlZmF1bHQ6IDxjb2RlPmFueTwvY29kZT48L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXRu bSI+ZGF0YXNvcnQ8L3NwYW4+IDogb3JkZXIgdGhlIGFydGljbGVzIGJ5IHRoZXNlIGRhdGEg aXRlbXM8c3VwIGNsYXNzPSJmb290bm90ZSI+PGEgaHJlZj0iI2ZuNTI4Mjg0OTc5NDllYjY4 MDljZWYyZCI+MTwvYT48L3N1cD4uIFlvdSBzaG91bGQgbm90IG5vcm1hbGx5IG5lZWQgdGhp cyBhcyBpdCBhdXRvbWF0aWNhbGx5IHNvcnRzIGJhc2VkIG9uIHlvdXIgc2VjdGlvbiwgY2F0 ZWdvcnkgYW5kIGF1dGhvciBmaWx0ZXJzLiBEZWZhdWx0OiA8Y29kZT5zZWN0aW9uLCBjYXRl Z29yeTEsIGNhdGVnb3J5MiwgYXV0aG9yPC9jb2RlPi4gTm90ZSB0aGF0IHVubGlrZSByZWd1 bGFyIHNvcnQgb3B0aW9ucyB0aGlzIGRvZXMgPGVtPm5vdDwvZW0+IHRha2UgPGNvZGU+YXNj PC9jb2RlPiBvciA8Y29kZT5kZXNjPC9jb2RlPjogdGhlIHNvcnQgb3JkZXIgaXMgZGV0ZXJt aW5lZCBieSB3aGV0aGVyIHlvdSBhcmUgdXNpbmcgc21kX3ByZXYgb3Igc21kX25leHQ8L2xp PgoJCTxsaT48c3BhbiBjbGFzcz0iYXRubSI+dGltZXNvcnQ8L3NwYW4+IDogb3JkZXIgYXJ0 aWNsZXMgYnkgdGhlc2UgdGltZSBvcHRpb25zPHN1cCBjbGFzcz0iZm9vdG5vdGUiPjxhIGhy ZWY9IiNmbjUyODI4NDk3OTQ5ZWI2ODA5Y2VmMmQiPjE8L2E+PC9zdXA+LiBDYW4gYmUgYW55 IG9mIDxjb2RlPnBvc3RlZDwvY29kZT4sIDxjb2RlPmxhc3Rtb2Q8L2NvZGU+IG9yIDxjb2Rl PmV4cGlyZXM8L2NvZGU+LiBEZWZhdWx0OiA8Y29kZT5wb3N0ZWQ8L2NvZGU+PC9saT4KCQk8 bGk+PHNwYW4gY2xhc3M9ImF0bm0iPmZvcm08L3NwYW4+IDogaWYgeW91IHByZWZlciB0byB1 c2UgYSBmb3JtIGluc3RlYWQgb2YgdGhlIGNvbnRhaW5lciB0byBob2xkIHlvdXIgbWFya3Vw IGFuZCB0YWdzLCBzcGVjaWZ5IGl0IGhlcmUuIERlZmF1bHQ6IHVuc2V0LjwvbGk+Cgk8L3Vs PgoKCTxwIGlkPSJmbjUyODI4NDk3OTQ5ZWI2ODA5Y2VmMmQiIGNsYXNzPSJmb290bm90ZSI+ PHN1cD4xPC9zdXA+IFRoZSByZWFzb24gdGhlcmUgYXJlIHR3byB0eXBlcyBvZiBzb3J0IG9w dGlvbnMgaXMgYmVjYXVzZSB0aGUgJiM4MjE2O2RhdGFzb3J0JiM4MjE3OyBpcyBhcHBsaWVk IGZpcnN0LiBUaHVzLCBpbiB0aGUgY2FzZSBvZiBsaW5raW5nIGFtb25nIG11bHRpcGxlIHNl Y3Rpb25zLCBhcnRpY2xlcyBhcmUgYWx3YXlzIG9yZGVyZWQgYnkgZGF0ZSA8ZW0+d2l0aGlu PC9lbT4gYSBzZWN0aW9uLiBJZiB0aGlzIHdlcmUgbm90IHRoZSBjYXNlLCB5b3VyIGFydGlj bGVzIG1pZ2h0IGJlIG11ZGRsZWQgdXAgYW5kIGl0IHdvdWxkIGJlIHZlcnkgZGlmZmljdWx0 IHRvIGtub3cgd2hlbiB5b3UgaGF2ZSByZWFjaGVkIHRoZSAmIzgyMTY7ZW5kJiM4MjE3OyBv ZiBhIHNlY3Rpb24gb3IgY2F0ZWdvcnkuPC9wPgoKCTxoMiBpZD0ibGlua3RvIj5UYWdzOiA8 Y29kZT4mbHQ7dHhwOnNtZF9saW5rX3RvX25leHQmZ3Q7PC9jb2RlPiAvIDxjb2RlPiZsdDt0 eHA6c21kX2xpbmtfdG9fcHJldiZndDs8L2NvZGU+PC9oMj4KCgk8cD5BIGRyb3AtaW4gcmVw bGFjZW1lbnQgZm9yIHRoZSBidWlsdC1pbiBuYXZpZ2F0aW9uIHRhZ3MsIHdpdGggYSBmZXcg YWRkaXRpb25hbCBhdHRyaWJ1dGVzOjwvcD4KCgk8dWw+CgkJPGxpPjxzcGFuIGNsYXNzPSJh dG5tIj53cmFwdGFnPC9zcGFuPiA6IHRoZSAoWClIVE1MIHRhZywgd2l0aG91dCBpdHMgYnJh Y2tldHMsIHRvIHdyYXAgcm91bmQgdGhlIGxpbmssIGUuZy4gPGNvZGU+d3JhcHRhZz0mcXVv dDtkaXYmcXVvdDs8L2NvZGU+LiBJZiB1c2VkIGFzIGEgU2luZ2xlIHRhZywgdGhpcyBhdHRy aWJ1dGUgaXMgaWdub3JlZC4gRGVmYXVsdDogdW5zZXQ8L2xpPgoJCTxsaT48c3BhbiBjbGFz cz0iYXRubSI+Y2xhc3M8L3NwYW4+IDogdGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5DU1M8L3Nw YW4+IGNsYXNzIG5hbWUgdG8gYXBwbHkgdG8gdGhlIHdyYXB0YWcuIElmIG5vIHdyYXB0YWcg aXMgZ2l2ZW4sIHRoZSBjbGFzcyBpcyBhcHBsaWVkIGRpcmVjdGx5IHRvIHRoZSBsaW5rIGl0 c2VsZi4gSWYgdXNlZCBhcyBhIFNpbmdsZSB0YWcsIHRoaXMgYXR0cmlidXRlIGlzIGlnbm9y ZWQuIERlZmF1bHQ6IHVuc2V0PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPnVybHZh cnM8L3NwYW4+IDogYSBsaXN0IG9mIDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+IHZh cmlhYmxlIG5hbWVzIHRvIGFkZCB0byB0aGUgZ2VuZXJhdGVkIGxpbmsuIERlZmF1bHQ6IHVu c2V0PC9saT4KCTwvdWw+CgoJPHA+VGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+ IHZhcmlhYmxlcyBtYXkgYmUgZGVyaXZlZCBmcm9tIHRoZSBjdXJyZW50IDxzcGFuIGNsYXNz PSJjYXBzIj5VUkw8L3NwYW4+IGxpbmUgb3IgbWF5IGJlIHNldCBsaWtlIHRoaXM6PC9wPgoK PHByZSBjbGFzcz0iYmxvY2siPjxjb2RlIGNsYXNzPSJibG9jayI+Jmx0O3R4cDpzbWRfbGlu a190b19uZXh0IHVybHZhcnM9JnF1b3Q7YywgaWQsIG15dmFyPTEyJnF1b3Q7Jmd0OwogICZs dDt0eHA6dGl0bGUgLyZndDsKJmx0Oy90eHA6bGlua190b19uZXh0Jmd0Owo8L2NvZGU+PC9w cmU+CgoJPHA+VGh1cywgPGNvZGU+YzwvY29kZT4gYW5kIDxjb2RlPmlkPC9jb2RlPiB3aWxs IGJlIHJlYWQgZnJvbSB0aGUgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gYW5kIHBh c3NlZCBmb3J3YXJkLCB3aGVyZWFzIDxjb2RlPm15dmFyPC9jb2RlPiB3aWxsIGJlIGFkZGVk IHRvIHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiBhbmQgaW5pdGlhbGl6ZWQg d2l0aCBhIHZhbHVlIG9mIDxjb2RlPjEyPC9jb2RlPiBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5 IGV4aXN0LiBJZiBlaXRoZXIgPGNvZGU+YzwvY29kZT4gb3IgPGNvZGU+aWQ8L2NvZGU+IGFy ZSBtaXNzaW5nIHRoZXkgd2lsbCBub3QgYmUgcGFzc2VkIGluIHRoZSBsaW5rLiBJZiA8Y29k ZT5teXZhcjwvY29kZT4gY2hhbmdlcyB0aGUgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bh bj4mIzgyMTc7cyB2YWx1ZSB3aWxsIHBlcnNpc3QsIGhvd2V2ZXIgaWYgaXQgaXMgcmVtb3Zl ZCBmcm9tIHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiBpdCB3aWxsIGJlIHJl aW5zdGF0ZWQgd2hlbiB5b3UgbmF2aWdhdGUgdG8gYW5vdGhlciBhcnRpY2xlLCBhbmQgaXQg d2lsbCBiZSByZXNldCB0byA8Y29kZT4xMjwvY29kZT4uPC9wPgoKCTxwPk5vdGVzOjwvcD4K Cgk8dWw+CgkJPGxpPnRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiB2YXJpYWJs ZXMgYW5kIHZhbHVlcyBhcmUgcmVhZCBmcm9tIGJvdGggPHNwYW4gY2xhc3M9ImNhcHMiPkdF VDwvc3Bhbj4gYW5kIDxzcGFuIGNsYXNzPSJjYXBzIj5QT1NUPC9zcGFuPiBzdWJtaXNzaW9u czsgPHNwYW4gY2xhc3M9ImNhcHMiPlBPU1Q8L3NwYW4+IG92ZXJyaWRlcyA8c3BhbiBjbGFz cz0iY2FwcyI+R0VUPC9zcGFuPiBpZiB0aGUgbmFtZXMgY2xhc2g8L2xpPgoJCTxsaT55b3Ug Y2FuIHVzZSB0aGUgc2hvcnRoYW5kIDxjb2RlPlNNRF9BTEw8L2NvZGU+IHRvIHJlYWQgYWxs IGN1cnJlbnQgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gdmFyaWFibGVzPC9saT4K CQk8bGk+eW91IG1heSBhZGQgPGNvZGU+OkVTQ0FQRTwvY29kZT4gdG8gYW55IHZhcmlhYmxl IG5hbWUgKGluY2x1ZGluZyA8c3BhbiBjbGFzcz0iY2FwcyI+U01EPC9zcGFuPl9BTEwpIHRv IGhhdmUgPHNwYW4gY2xhc3M9ImNhcHMiPkhUTUw8L3NwYW4+IGVudGl0aWVzIGVzY2FwZWQ8 L2xpPgoJCTxsaT55b3UgbWF5IGFkZCA8Y29kZT46Rk9SQ0U8L2NvZGU+IHRvIGFueSB2YXJp YWJsZSBuYW1lIChpbmNsdWRpbmcgPHNwYW4gY2xhc3M9ImNhcHMiPlNNRDwvc3Bhbj5fQUxM KSB0byBpbmNsdWRlIHRoZSB2YXJpYWJsZSBpbiB0aGUgbGluayBldmVuIGlmIGl0IGlzIGVt cHR5PC9saT4KCQk8bGk+eW91IG1heSBhZGQgPGNvZGU+OlRBR19QUklPUklUWTwvY29kZT4g dG8gYW55IHZhcmlhYmxlIG5hbWUgKGluY2x1ZGluZyA8c3BhbiBjbGFzcz0iY2FwcyI+U01E PC9zcGFuPl9BTEwpIHNvIGFueSB2YWx1ZXMgeW91IG1heSBoYXZlIGdpdmVuIGluIHRoZSB0 YWcgYXJlIHVzZWQgcmVnYXJkbGVzcyBpZiB0aGUgc2FtZSB2YXJpYWJsZSBuYW1lIGV4aXN0 cyBpbiB0aGUgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4uIFdpdGhvdXQgdGhpcyBv cHRpb24sICYjODIxNjs8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiBwcmlvcml0eSYj ODIxNzsgaXMgYXNzdW1lZCwgc28gaWYgYSB2YXJpYWJsZSBvZiB0aGUgc2FtZSBuYW1lIGV4 aXN0cyBhbmQgaXMgdXNlZCwgeW91ciBnaXZlbiB2YWx1ZSB3aWxsIGJlIGlnbm9yZWQuIDxz cGFuIGNsYXNzPSJjYXBzIj5UQUc8L3NwYW4+X1BSSU9SSVRZIGlzIHVzZWZ1bCBmb3IgbWFr aW5nIHN1cmUgYSB2YXJpYWJsZSBleGlzdHMsIGlzIGluaXRpYWxpemVkIHRvIGEga25vd24g dmFsdWUgYW5kIHJlbWFpbnMgYXQgdGhhdCB2YWx1ZSwgZXZlbiBpZiB0aGUgdmFyaWFibGUg aXMgYWx0ZXJlZCBieSB0aGUgdmlzaXRvciBvciByZW1vdmVkIGZyb20gdGhlIDxzcGFuIGNs YXNzPSJjYXBzIj5VUkw8L3NwYW4+PC9saT4KCQk8bGk+dGhlIGFib3ZlIHRocmVlIG1vZGlm aWVycyBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiBpZiB5b3Ugd2lzaDwvbGk+Cgk8L3Vs PgoKCTxoMiBpZD0iaWZlbmQiPlRhZzogPGNvZGU+Jmx0O3R4cDpzbWRfaWZfZW5kJmd0Ozwv Y29kZT48L2gyPgoKCTxwPkFueXRoaW5nIGluc2lkZSB0aGlzIGNvbmRpdGlvbmFsIHRhZyB3 aWxsIG9ubHkgYmUgZGlzcGxheWVkIGlmIHRoZSBlbmQgb2YgY3VycmVudCBwb3N0YWJsZSBh cnRpY2xlcyBoYXMgYmVlbiByZWFjaGVkLiBUaGUgdGFnIGNhbiBsb29rIGZvciB0aGUgJiM4 MjE2O2VuZCYjODIxNzsgb2YgYSB2YXJpZXR5IG9mIHRoaW5ncyBnb3Zlcm5lZCBieSB0aGUg PGNvZGU+dHlwZTwvY29kZT4gYXR0cmlidXRlOjwvcD4KCgk8dWw+CgkJPGxpPjxzcGFuIGNs YXNzPSJhdG5tIj50eXBlPC9zcGFuPiA6IGNhbiBiZSBhbnkgb2YgPGNvZGU+bGlzdDwvY29k ZT4sIDxjb2RlPmNhdGVnb3J5PC9jb2RlPiwgPGNvZGU+Y2F0ZWdvcnkxPC9jb2RlPiwgPGNv ZGU+Y2F0ZWdvcnkyPC9jb2RlPiwgPGNvZGU+YXV0aG9yPC9jb2RlPiBvciA8Y29kZT5zZWN0 aW9uPC9jb2RlPi4gRGVmYXVsdDogPGNvZGU+bGlzdDwvY29kZT48L2xpPgoJCTxsaT48c3Bh biBjbGFzcz0iYXRubSI+bG9naWM8L3NwYW4+IDogY2FuIGJlIDxjb2RlPm9yPC9jb2RlPiB3 aGljaCBtZWFucyB0aGF0IGlmIDxlbT5hbnk8L2VtPiBvZiB0aGUgaXRlbXMgcmVhY2ggdGhl aXIgZW5kIHRoZSBjb250YWluZXIgd2lsbCBiZSB0cmlnZ2VyZWQ7IG9yIGl0IGNvdWxkIGJl IDxjb2RlPmFuZDwvY29kZT4gd2hpY2ggbWVhbnMgdGhhdCA8ZW0+YWxsPC9lbT4gb2YgdGhl IGl0ZW1zIGhhdmUgdG8gZW5kIHNpbXVsdGFuZW91c2x5IGJlZm9yZSB0aGUgY29udGFpbmVy IHdpbGwgZmlyZTwvbGk+Cgk8L3VsPgoKCTxwPlVzZSB0aGlzIHRvIHRha2UgYWN0aW9uIGFu ZCBkaXNwbGF5IHNvbWV0aGluZyBkaWZmZXJlbnQgaWYgeW91IHdpc2ggdG8gZGlmZmVyZW50 aWF0ZSBiZXR3ZWVuICYjODIxNjtmdXR1cmUmIzgyMTc7IGFuZCAmIzgyMTY7Y3VycmVudCYj ODIxNzsgYXJ0aWNsZXMgb3IgaWYgeW91IGhhdmUgcmVhY2hlZCB0aGUgZW5kIG9mIGEgbGlz dCBvZiBzZWN0aW9ucy48L3A+CgoJPGgyIGlkPSJpZnN0YXJ0Ij5UYWc6IDxjb2RlPiZsdDt0 eHA6c21kX2lmX3N0YXJ0Jmd0OzwvY29kZT48L2gyPgoKCTxwPldoYXRldmVyIGlzIGluc2lk ZSB0aGlzIGNvbmRpdGlvbmFsIHRhZyB3aWxsIG9ubHkgYmUgZGlzcGxheWVkIGlmIHRoZSBi ZWdpbm5pbmcgb2YgY3VycmVudCBwb3N0YWJsZSBhcnRpY2xlcyBoYXMgYmVlbiByZWFjaGVk LiBUaGUgdGFnIGNhbiBsb29rIGZvciB0aGUgJiM4MjE2O3N0YXJ0JiM4MjE3OyBvZiBhIHZh cmlldHkgb2YgdGhpbmdzIGdvdmVybmVkIGJ5IHRoZSA8Y29kZT50eXBlPC9jb2RlPiBhdHRy aWJ1dGU6PC9wPgoKCTx1bD4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPnR5cGU8L3NwYW4+ IDogY2FuIGJlIGFueSBvZiA8Y29kZT5saXN0PC9jb2RlPiwgPGNvZGU+Y2F0ZWdvcnk8L2Nv ZGU+LCA8Y29kZT5jYXRlZ29yeTE8L2NvZGU+LCA8Y29kZT5jYXRlZ29yeTI8L2NvZGU+LCA8 Y29kZT5hdXRob3I8L2NvZGU+IG9yIDxjb2RlPnNlY3Rpb248L2NvZGU+LiBEZWZhdWx0OiA8 Y29kZT5saXN0PC9jb2RlPjwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdG5tIj5sb2dpYzwv c3Bhbj4gOiBjYW4gYmUgPGNvZGU+b3I8L2NvZGU+IHdoaWNoIG1lYW5zIHRoYXQgaWYgPGVt PmFueTwvZW0+IG9mIHRoZSBpdGVtcyBoYXZlIHJlYWNoZWQgdGhlIGJlZ2lubmluZywgdGhl IGNvbnRhaW5lciB3aWxsIHRyaWdnZXI7IG9yIGl0IGNvdWxkIGJlIDxjb2RlPmFuZDwvY29k ZT4gd2hpY2ggbWVhbnMgdGhhdCA8ZW0+YWxsPC9lbT4gb2YgdGhlIGl0ZW1zIGhhdmUgdG8g YmUgYXQgdGhlaXIgcmVzcGVjdGl2ZSBzdGFydCBwb2ludHMgc2ltdWx0YW5lb3VzbHkgYmVm b3JlIHRoZSBjb250YWluZXIgd2lsbCBmaXJlPC9saT4KCTwvdWw+CgoJPHA+VGhpcyBjb3Vs ZCBiZSB1c2VkIHRvIG9mZmVyICYjODIyMDt3cmFwYXJvdW5kJiM4MjIxOyBuYXZpZ2F0aW9u IHNvIGlmIHlvdSBjbGljayAmIzgyMjA7cHJldmlvdXMmIzgyMjE7IHdoZW4geW91IGFyZSBh dCB0aGUgZmlyc3QgYXJ0aWNsZSB5b3UgY2FuIHBlcmhhcHMgdGFrZSB2aXNpdG9ycyB0byB0 aGUgbGFzdCBhcnRpY2xlLCBvciBtYXliZSB0byB0aGUgbW9zdCByZWNlbnQgYXJ0aWNsZSBp biBhbm90aGVyIHNlY3Rpb24uPC9wPgoKCTxoMiBpZD0iZXhhbXBsZXMiPkV4YW1wbGVzPC9o Mj4KCgk8cCBjbGFzcz0icmVxdWlyZWQiPkltcG9ydGFudDogYWtpbiB0byB0aGUgYnVpbHQt aW4gdGFncywgc21kX2hvcml6b24gaXMgbGltaXRlZCB0byB1c2UgaW4gYW4gaW5kaXZpZHVh bCBhcnRpY2xlIGNvbnRleHQgYW5kIHdpbGwgZWl0aGVyIHRocm93IGEgd2FybmluZyBvciBw cm9kdWNlIHdlaXJkIHJlc3VsdHMgaWYgdXNlZCBpbiBhbiBhcnRpY2xlIGxpc3QuPC9wPgoK CTxoMyBpZD0iZWcxIj5FeGFtcGxlIDE6IDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+ IHZhciBwZXJzaXN0ZW5jZSBhbmQgd3JhcHBpbmc8L2gzPgoKCTxwPkNhbiBiZSB1c2VkIGFz IGEgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgPGNvZGU+Jmx0O3R4cDpsaW5rX3RvXy4uLi4m Z3Q7PC9jb2RlPiBidXQgd2l0aCB0aGUgZXh0cmEgYWJpbGl0eSB0byBhcHBseSB3cmFwdGFn IGFuZCBjbGFzcy4gQWxzbywgdGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+IHZh cmlhYmxlIDxjb2RlPnVuYW1lPC9jb2RlPiBpcyBwYXNzZWQgYWxvbmcgZnJvbSBhcnRpY2xl IHRvIGFydGljbGUsIGlmIGl0IGlzIHVzZWQgaW4gdGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5V Ukw8L3NwYW4+LjwvcD4KCjxwcmUgY2xhc3M9ImJsb2NrIj48Y29kZSBjbGFzcz0iYmxvY2si PiZsdDt0eHA6aWZfaW5kaXZpZHVhbF9hcnRpY2xlJmd0OwogICZsdDt0eHA6c21kX2xpbmtf dG9fcHJldiB3cmFwdGFnPSZxdW90O2RpdiZxdW90OwogICAgIGNsYXNzPSZxdW90O25hdl9w cmV2JnF1b3Q7IHVybHZhcnM9JnF1b3Q7dW5hbWUmcXVvdDsmZ3Q7JmFtcDsjMTcxOwogICAg ICZsdDt0eHA6cHJldl90aXRsZS8mZ3Q7Jmx0Oy90eHA6c21kX2xpbmtfdG9fcHJldiZndDsK ICAmbHQ7dHhwOnNtZF9saW5rX3RvX25leHQgd3JhcHRhZz0mcXVvdDtkaXYmcXVvdDsKICAg ICBjbGFzcz0mcXVvdDtuYXZfbmV4dCZxdW90OwogICAgIHVybHZhcnM9JnF1b3Q7dW5hbWUm cXVvdDsmZ3Q7Jmx0O3R4cDpuZXh0X3RpdGxlLyZndDsKICAgICAmYW1wOyMxODc7Jmx0Oy90 eHA6c21kX2xpbmtfdG9fbmV4dCZndDsKJmx0Oy90eHA6aWZfaW5kaXZpZHVhbF9hcnRpY2xl Jmd0Owo8L2NvZGU+PC9wcmU+CgoJPGgzIGlkPSJlZzIiPkV4YW1wbGUgMjogTmF2aWdhdGlu ZyB0byBmdXR1cmUgYXJ0aWNsZXM8L2gzPgoKCTxwPkVuaGFuY2UgdGhlIHN0YW5kYXJkIGxp bmtfdG9fbmV4dC9wcmV2IHRhZ3MgYnkgd3JhcHBpbmcgc21kX25leHQvc21kX3ByZXYgYXJv dW5kIHRoZW0uIFdpdGggaXRzIGRlZmF1bHQgc2V0dGluZyA8Y29kZT50aW1lPSZxdW90O2Fu eSZxdW90OzwvY29kZT4sIHlvdSBjYW4gYWxsb3cgdmlzaXRvcnMgdG8gbmF2aWdhdGUgdG8g ZnV0dXJlIGFydGljbGVzIGVpdGhlciB1c2luZyB0aGUgc3RhbmRhcmQgbGlua190b19uZXh0 L3ByZXYgdGFncyAoYXMgdXNlZCBpbiB0aGlzIGV4YW1wbGUpIG9yIHZpYSB0aGUgc21kX2xp bmtfdG9fbmV4dC9wcmV2IHRhZ3MuPC9wPgoKPHByZSBjbGFzcz0iYmxvY2siPjxjb2RlIGNs YXNzPSJibG9jayI+Jmx0O3R4cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7CiAgICZsdDt0 eHA6c21kX3ByZXYmZ3Q7CiAgICAgICZsdDt0eHA6bGlua190b19wcmV2Jmd0OwogICAgICAg ICAmYW1wOyMxNzE7ICZsdDt0eHA6cHJldl90aXRsZS8mZ3Q7CiAgICAgICZsdDsvdHhwOmxp bmtfdG9fcHJldiZndDsKICAgJmx0Oy90eHA6c21kX3ByZXYmZ3Q7CiAgICZsdDt0eHA6c21k X25leHQmZ3Q7CiAgICAgICZsdDt0eHA6bGlua190b19uZXh0Jmd0OwogICAgICAgICAmbHQ7 dHhwOm5leHRfdGl0bGUvJmd0OyAmYW1wOyMxODc7CiAgICAgICZsdDsvdHhwOmxpbmtfdG9f bmV4dCZndDsKICAgJmx0Oy90eHA6c21kX25leHQmZ3Q7CiZsdDsvdHhwOmlmX2luZGl2aWR1 YWxfYXJ0aWNsZSZndDsKPC9jb2RlPjwvcHJlPgoKCTxoMyBpZD0iZWczIj5FeGFtcGxlIDM6 IFNuZWFrIHBlZWsgb2YgdW5wdWJsaXNoZWQgYXJ0aWNsZXM8L2gzPgoKCTxwPklmIG5hdmln YXRpbmcgZGlyZWN0bHkgdG8gZnV0dXJlIGFydGljbGVzIGlzIG5vdCB5b3VyIGlkZWEgb2Yg ZnVuLCBob3cgYWJvdXQgb2ZmZXJpbmcgYSBzbmVhayBwcmV2aWV3IG9mIHRoZSBuZXh0IGNo YXB0ZXIgb2YgeW91ciBib29rIHRoYXQgeW91IGFyZSBzZXJpYWxpc2luZz88L3A+Cgo8cHJl IGNsYXNzPSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7dHhwOmlmX2luZGl2aWR1 YWxfYXJ0aWNsZSZndDsKICAgJmx0O3R4cDp0aXRsZSAvJmd0OwogICAmbHQ7dHhwOmJvZHkg LyZndDsKICAgJmx0O3R4cDpzbWRfaWZfZW5kIHR5cGU9JnF1b3Q7c2VjdGlvbiZxdW90OyZn dDsKICAgICAgJmx0O3R4cDpzbWRfbmV4dCZndDsKICAgICAgICAgJmx0O2gzJmd0O0NvbWlu ZyB1cCBuZXh0IHdlZWsuLi4mbHQ7L2gzJmd0OwogICAgICAgICAmbHQ7dHhwOmV4Y2VycHQg LyZndDsKICAgICAgJmx0Oy90eHA6c21kX25leHQmZ3Q7CiAgICAgICZsdDt0eHA6bGlua190 b19wcmV2Jmd0OwogICAgICAgICAmbHQ7dHhwOnByZXZfdGl0bGUvJmd0OwogICAgICAmbHQ7 L3R4cDpsaW5rX3RvX3ByZXYmZ3Q7CiAgICZsdDt0eHA6ZWxzZSAvJmd0OwogICAgICAmbHQ7 dHhwOmxpbmtfdG9fcHJldiZndDsKICAgICAgICAgJmx0O3R4cDpwcmV2X3RpdGxlLyZndDsK ICAgICAgJmx0Oy90eHA6bGlua190b19wcmV2Jmd0OwogICAgICAmbHQ7dHhwOmxpbmtfdG9f bmV4dCZndDsKICAgICAgICAgJmx0O3R4cDpuZXh0X3RpdGxlLyZndDsKICAgICAgJmx0Oy90 eHA6bGlua190b19uZXh0Jmd0OwogICAmbHQ7L3R4cDpzbWRfaWZfZW5kJmd0OwombHQ7L3R4 cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7CjwvY29kZT48L3ByZT4KCgk8cD5JbWFnaW5l IHlvdSBoYXZlIGVhY2ggY2hhcHRlciBhcyBhbiBhcnRpY2xlIGFuZCBoYXZlIHB1Ymxpc2hl ZCwgc2F5LCB0aGUgZmlyc3QgMyBjaGFwdGVycy4gWW91IGhhdmUgd3JpdHRlbiB0aGUgNHRo IGNoYXB0ZXIgYnV0IGhhdmUgc2V0IGl0cyBwb3N0ZWQgZGF0ZSB0byBuZXh0IHdlZWsuIFlv dXIgdmlzaXRvcnMgY2FuIHJlYWQgYW5kIG5hdmlnYXRlIHRocm91Z2ggY2hhcHRlcnMgMSwg MiwgYW5kIDMsIGFzIHRoZXkgbm9ybWFsbHkgd291bGQgd2l0aCBhbnkgPHNwYW4gY2xhc3M9 ImNhcHMiPlRYUDwvc3Bhbj4gYXJ0aWNsZXMuIFdoZW4gdGhleSByZWFjaCBDaGFwdGVyIDMs IHRoZXkgYXJlIHNob3duIHRoZSBleGNlcnB0IGZyb20gdGhlIHVucHVibGlzaGVkIGFydGlj bGUgdG8gd2hldCB0aGVpciBhcHBldGl0ZXMuPC9wPgoKCTxwPk9uZSBzaWRlLWVmZmVjdCBv ZiA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiYjODIxNztzIGNvbnRlbnQgaGFuZGxp bmcgaXMgdGhhdCBmdXR1cmUgYXJ0aWNsZXMgY2FuIHN0aWxsIGJlIGRpc3BsYXllZCBpbiB0 aGUgYnJvd3NlciBpZiBhIHZpc2l0b3IgZ3Vlc3NlcyB0aGUgPHNwYW4gY2xhc3M9ImNhcHMi PlVSTDwvc3Bhbj4uIEZvciBzZXJpYWxpc2VkIGFydGljbGUgdGl0bGVzIHN1Y2ggYXMgPGVt PmNoYXB0ZXItMTwvZW0+LCA8ZW0+Y2hhcHRlci0yPC9lbT4sIGFuZCBzbyBvbiwgaXQgaXMg bm90IGEgZ3JlYXQgbGVhcCBvZiBmYWl0aCBmb3Igc29tZW9uZSB0byBnYWluIGFjY2VzcyB0 byB5b3VyIGZ1dHVyZSBhcnRpY2xlcy48L3A+CgoJPHA+V2l0aCBzbWRfaG9yaXpvbiB5b3Ug Y2FuIGNpcmN1bXZlbnQgdGhpcy4gU2V0IHlvdXIgQ2hhcHRlciA0LCBmdXR1cmUgYXJ0aWNs ZSB0byB0aGUgJiM4MjE2O2hpZGRlbiYjODIxNzsgc3RhdHVzIGFuZCBhZGQgPGNvZGU+c3Rh dHVzPSZxdW90O2xpdmUsIGhpZGRlbiZxdW90OzwvY29kZT4gdG8geW91ciA8Y29kZT4mbHQ7 dHhwOnNtZF9uZXh0Jmd0OzwvY29kZT4gdGFnLiBZb3UgY2FuIHN0aWxsIG9mZmVyICYjODIx NjtwcmV2aWV3cyYjODIxNzsgb2YgdGhlIGNvbnRlbnQuPC9wPgoKCTxoMyBpZD0iZWc0Ij5F eGFtcGxlIDQ6IE1ha2UgbmV4dC9wcmV2IGxpbmtzIHVzaW5nIGltYWdlczwvaDM+CgoJPHA+ QXJ0aWNsZSBjb250ZW50IGNhbiBiZSBhbnl0aGluZyBmcm9tIHRoZSBhcnRpY2xlOyBub3Qg anVzdCBpdHMgZXhjZXJwdC4gRm9yIGV4YW1wbGUsIGNhdGVnb3J5IGFuZCBjdXN0b20gZmll bGQgY29udGVudHMgYXJlIGFsbCBhdmFpbGFibGUuIFNheSB5b3UgcHVibGlzaGVkIGFuIG9u bGluZSBjb21pYzsgeW91IGNhbiBldmVuIHByZXZpZXcgdGhlIGFydGljbGUgaW1hZ2UgaWYg eW91IHdpc2guPC9wPgoKCTxwPldpdGggdGhpcyBleGFtcGxlLCBhcnRpY2xlIGltYWdlcyBh cmUgdXNlZCBhcyBsaW5rcyB0byB0aGUgbmV4dC9wcmV2aW91cyBhcnRpY2xlLiBJdCBhbHNv IG1haW50YWlucyB0aGUgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gdmFyaWFibGVz IDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT55PC9jb2RlPiBzbyB0aGF0IGEgbmVhcmJ5IGNh bGVuZGFyIG9uIHRoZSBzYW1lIHBhZ2UgcmVtYWlucyBzaG93aW5nIHRoZSBtb250aCBhbmQg eWVhciB0aGUgdmlzaXRvciBoYXMgY2hvc2VuOjwvcD4KCjxwcmUgY2xhc3M9ImJsb2NrIj48 Y29kZSBjbGFzcz0iYmxvY2siPiZsdDt0eHA6aWZfaW5kaXZpZHVhbF9hcnRpY2xlJmd0Owog ICZsdDt0eHA6c21kX3ByZXYgdGltZT0mcXVvdDtwYXN0JnF1b3Q7Jmd0OwogICAgJmx0O3R4 cDpzbWRfbGlua190b19wcmV2IHVybHZhcnM9JnF1b3Q7bSx5JnF1b3Q7Jmd0OwogICAgICAm bHQ7dHhwOmFydGljbGVfaW1hZ2UgdGh1bWJuYWlsPSZxdW90OzEmcXVvdDsgLyZndDsKICAg ICZsdDsvdHhwOnNtZF9saW5rX3RvX3ByZXYmZ3Q7CiAgJmx0Oy90eHA6c21kX3ByZXYmZ3Q7 CiAgJmx0O3R4cDpzbWRfbmV4dCB0aW1lPSZxdW90O3Bhc3QmcXVvdDsmZ3Q7CiAgICAmbHQ7 dHhwOnNtZF9saW5rX3RvX25leHQgdXJsdmFycz0mcXVvdDttLHkmcXVvdDsmZ3Q7CiAgICAg ICZsdDt0eHA6YXJ0aWNsZV9pbWFnZSB0aHVtYm5haWw9JnF1b3Q7MSZxdW90OyAvJmd0Owog ICAgJmx0Oy90eHA6c21kX2xpbmtfdG9fbmV4dCZndDsKICAmbHQ7L3R4cDpzbWRfbmV4dCZn dDsKJmx0Oy90eHA6aWZfaW5kaXZpZHVhbF9hcnRpY2xlJmd0Owo8L2NvZGU+PC9wcmU+CgoJ PHA+SWYgeW91IHdhbnRlZCB0byB1c2UgdGhlIHRpdGxlIGFzIGEgZmFsbGJhY2sgaW4gY2Fz ZSBhbiBhcnRpY2xlIGltYWdlIHdhc24mIzgyMTc7dCBhc3NpZ25lZCwgeW91IGNhbiB1c2Ug PHNwYW4gY2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4gNC4wLjkmIzgyMTc7cyA8Y29kZT4mbHQ7 dHhwOmlmX2FydGljbGVfaW1hZ2UgLyZndDs8L2NvZGU+IHRhZzo8L3A+Cgo8cHJlIGNsYXNz PSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7dHhwOmlmX2luZGl2aWR1YWxfYXJ0 aWNsZSZndDsKICAmbHQ7dHhwOnNtZF9wcmV2IHRpbWU9JnF1b3Q7cGFzdCZxdW90OyZndDsK ICAgICZsdDt0eHA6c21kX2xpbmtfdG9fcHJldiB1cmx2YXJzPSZxdW90O20seSZxdW90OyZn dDsKICAgICAgJmx0O3R4cDppZl9hcnRpY2xlX2ltYWdlJmd0OwogICAgICAgICAmbHQ7dHhw OmFydGljbGVfaW1hZ2UgdGh1bWJuYWlsPSZxdW90OzEmcXVvdDsgLyZndDsKICAgICAgJmx0 O3R4cDplbHNlIC8mZ3Q7CiAgICAgICAgICZsdDt0eHA6dGl0bGUgLyZndDsKICAgICAgJmx0 Oy90eHA6aWZfYXJ0aWNsZV9pbWFnZSZndDsKICAgICZsdDsvdHhwOnNtZF9saW5rX3RvX3By ZXYmZ3Q7CiAgJmx0Oy90eHA6c21kX3ByZXYmZ3Q7CiAgJmx0O3R4cDpzbWRfbmV4dCB0aW1l PSZxdW90O3Bhc3QmcXVvdDsmZ3Q7CiAgICAmbHQ7dHhwOnNtZF9saW5rX3RvX25leHQgdXJs dmFycz0mcXVvdDttLHkmcXVvdDsmZ3Q7CiAgICAgICZsdDt0eHA6aWZfYXJ0aWNsZV9pbWFn ZSZndDsKICAgICAgICAgJmx0O3R4cDphcnRpY2xlX2ltYWdlIHRodW1ibmFpbD0mcXVvdDsx JnF1b3Q7IC8mZ3Q7CiAgICAgICZsdDt0eHA6ZWxzZSAvJmd0OwogICAgICAgICAmbHQ7dHhw OnRpdGxlIC8mZ3Q7CiAgICAgICZsdDsvdHhwOmlmX2FydGljbGVfaW1hZ2UmZ3Q7CiAgICAm bHQ7L3R4cDpzbWRfbGlua190b19uZXh0Jmd0OwogICZsdDsvdHhwOnNtZF9uZXh0Jmd0Owom bHQ7L3R4cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7CjwvY29kZT48L3ByZT4KCgk8aDMg aWQ9ImVnNSI+RXhhbXBsZSA1OiBNdWx0aXBsZSBzZWN0aW9uIG5hdmlnYXRpb248L2gzPgoK CTxwPk5hdmlnYXRlIG92ZXIgbW9yZSB0aGFuIG9uZSBzZWN0aW9uIGFuZCB0YWtlIGFjdGlv biB3aGVuIHlvdSByZWFjaCBlaXRoZXIgZW5kIG9mIHRoZSBsaXN0LjwvcD4KCjxwcmUgY2xh c3M9ImJsb2NrIj48Y29kZSBjbGFzcz0iYmxvY2siPiZsdDt0eHA6aWZfaW5kaXZpZHVhbF9h cnRpY2xlJmd0OwogICAmbHQ7dHhwOnNtZF9wcmV2IHNlY3Rpb249JnF1b3Q7YXJ0aWNsZXMs IGFib3V0JnF1b3Q7Jmd0OwogICAgICAmbHQ7dHhwOnNtZF9pZl9zdGFydCB0eXBlPSZxdW90 O2xpc3QmcXVvdDsmZ3Q7CiAgICAgIFRoZSBhcnRpY2xlcyBiZWdpbiBoZXJlCiAgICAgICZs dDsvdHhwOnNtZF9pZl9zdGFydCZndDsKICAgICAgJmx0O3R4cDpsaW5rX3RvX3ByZXYmZ3Q7 CiAgICAgICAgICZsdDt0eHA6cHJldl90aXRsZS8mZ3Q7CiAgICAgICZsdDsvdHhwOmxpbmtf dG9fcHJldiZndDsKICAgJmx0Oy90eHA6c21kX3ByZXYmZ3Q7CiAgICZsdDt0eHA6c21kX25l eHQgc2VjdGlvbj0mcXVvdDthcnRpY2xlcywgYWJvdXQmcXVvdDsmZ3Q7CiAgICAgICZsdDt0 eHA6c21kX2lmX2VuZCB0eXBlPSZxdW90O2xpc3QmcXVvdDsmZ3Q7CiAgICAgIFRoZSBlbmQg b2YgdGhlIHJvYWQKICAgICAgJmx0Oy90eHA6c21kX2lmX2VuZCZndDsKICAgICAgJmx0O3R4 cDpsaW5rX3RvX25leHQmZ3Q7CiAgICAgICAgICZsdDt0eHA6bmV4dF90aXRsZS8mZ3Q7CiAg ICAgICZsdDsvdHhwOmxpbmtfdG9fbmV4dCZndDsKICAgJmx0Oy90eHA6c21kX25leHQmZ3Q7 CiZsdDsvdHhwOmlmX2luZGl2aWR1YWxfYXJ0aWNsZSZndDsKPC9jb2RlPjwvcHJlPgoKCTxw Pk5vdGVzOjwvcD4KCgk8dWw+CgkJPGxpPiB0aGlzIGlzIGFjaGlldmVkIGJ5IHNpbXBseSB3 cmFwcGluZyB0aGUgc3RhbmRhcmQgbGlua190b19uZXh0L3ByZXYgdGFncyB3aXRoIHNtZF9u ZXh0IGFuZCBzbWRfcHJldi4gTm8gb3RoZXIgdHJpY2tlcnkgaW52b2x2ZWQ8L2xpPgoJCTxs aT5pZiB5b3UgYXJlIHVzaW5nIHNtZF9uZXh0L3ByZXYgdG8gaXRlcmF0ZSBvdmVyIGEgbGlz dCBvZiBjYXRlZ29yaWVzIG9yIGF1dGhvcnMsIHlvdSBjYW4gZGV0ZWN0IHRoZSBlbmQgb2Yg dGhvc2UgbGlzdHMgYXMgd2VsbCB1c2luZyB0aGUgc2FtZSA8Y29kZT50eXBlPSZxdW90O2xp c3QmcXVvdDs8L2NvZGU+IHN5bnRheC4gSWYgeW91IGFyZSBpdGVyYXRpbmcgb3ZlciBtb3Jl IHRoYW4gb25lIGl0ZW0gYXQgb25jZSB0aGUgcGx1Z2luIGhhcyBubyB3YXkgb2Yga25vd2lu ZyB3aGljaCBvZiB0aGUgJiM4MjE2O2xhc3QmIzgyMTc7IGl0ZW1zIGl0IGhhcyByZWFjaGVk IChzZWN0aW9uLCBjYXRlZ29yeSwgYXV0aG9yJiM4MjMwOykgc28gaXQmIzgyMTc7bGwgYmUg dGhlIHZlcnkgbGFzdCBvbmUgdGhhdCB0cmlnZ2VycyBpdDwvbGk+Cgk8L3VsPgoKCTxoMyBp ZD0iZWc2Ij5FeGFtcGxlIDY6IEF0IHRoZSBlbmQgb2YgZWFjaCBzZWN0aW9uLCBkbyYjODIz MDs8L2gzPgoKCTxwPkFuIGV4dGVuc2lvbiBvZiA8YSBocmVmPSIjZWc1Ij5leGFtcGxlIDU8 L2E+LCB0aGlzIG9uZSBkZXRlY3RzIHdoZW4geW91IHJlYWNoIHRoZSBlbmQgb2Ygb25lIG9m IHRoZSBzZWN0aW9ucyBpbiB5b3VyIGxpc3QgYW5kIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRl IG1lc3NhZ2UgdG8gZ3VpZGUgeW91IG9ud2FyZHMuPC9wPgoKPHByZSBjbGFzcz0iYmxvY2si Pjxjb2RlIGNsYXNzPSJibG9jayI+Jmx0O3R4cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7 CiAgICZsdDt0eHA6c21kX3ByZXYgc2VjdGlvbj0mcXVvdDthcnRpY2xlcywgYWJvdXQmcXVv dDsmZ3Q7CiAgICAgICZsdDt0eHA6c21kX2lmX3N0YXJ0IHR5cGU9JnF1b3Q7c2VjdGlvbiZx dW90OyZndDsKICAgICAgICAgJmx0O3R4cDpsaW5rX3RvX3ByZXYmZ3Q7CiAgICAgICAgICAg IFN0ZXAgYmFjayBpbnRvICZsdDt0eHA6c2VjdGlvbiAvJmd0OwogICAgICAgICAmbHQ7L3R4 cDpsaW5rX3RvX3ByZXYmZ3Q7CiAgICAgICZsdDt0eHA6ZWxzZSAvJmd0OwogICAgICAgICAm bHQ7dHhwOmxpbmtfdG9fcHJldiZndDsKICAgICAgICAgICAgJmx0O3R4cDpwcmV2X3RpdGxl LyZndDsKICAgICAgICAgJmx0Oy90eHA6bGlua190b19wcmV2Jmd0OwogICAgICAmbHQ7L3R4 cDpzbWRfaWZfc3RhcnQmZ3Q7CiAgICZsdDsvdHhwOnNtZF9wcmV2Jmd0OwogICAmbHQ7dHhw OnNtZF9uZXh0IHNlY3Rpb249JnF1b3Q7YXJ0aWNsZXMsIGFib3V0JnF1b3Q7Jmd0OwogICAg ICAmbHQ7dHhwOnNtZF9pZl9lbmQgdHlwZT0mcXVvdDtzZWN0aW9uJnF1b3Q7Jmd0OwogICAg ICAgICAmbHQ7dHhwOmxpbmtfdG9fbmV4dCZndDsKICAgICAgICAgICAgTW92ZSBvbndhcmRz IHRvICZsdDt0eHA6c2VjdGlvbiAvJmd0OwogICAgICAgICAmbHQ7L3R4cDpsaW5rX3RvX25l eHQmZ3Q7CiAgICAgICZsdDt0eHA6ZWxzZSAvJmd0OwogICAgICAgICAmbHQ7dHhwOmxpbmtf dG9fbmV4dCZndDsKICAgICAgICAgICAgJmx0O3R4cDpuZXh0X3RpdGxlLyZndDsKICAgICAg ICAgJmx0Oy90eHA6bGlua190b19uZXh0Jmd0OwogICAgICAmbHQ7L3R4cDpzbWRfaWZfZW5k Jmd0OwogICAmbHQ7L3R4cDpzbWRfbmV4dCZndDsKJmx0Oy90eHA6aWZfaW5kaXZpZHVhbF9h cnRpY2xlJmd0Owo8L2NvZGU+PC9wcmU+CgoJPGgzIGlkPSJlZzciPkV4YW1wbGUgNzogTmVz dGluZyBzbWRfaWZfc3RhcnQvZW5kPC9oMz4KCgk8cD5BIGZ1cnRoZXIgZXh0ZW5zaW9uIG9m IDxhIGhyZWY9IiNlZzYiPmV4YW1wbGUgNjwvYT46PC9wPgoKCTxwPjx0eHA6aWZfaW5kaXZp ZHVhbF9hcnRpY2xlPgogICA8dHhwOnNtZF9wcmV2IHNlY3Rpb249ImFydGljbGVzLCBhYm91 dCwgcHJvZHVjdHMiPgogICAgICA8dHhwOnNtZF9pZl9zdGFydCB0eXBlPSJsaXN0Ij4KICAg ICAgVGhlIGFydGljbGVzIGJlZ2luIGhlcmUKICAgICAgPHR4cDplbHNlIC8+CiAgICAgICAg IDx0eHA6c21kX2lmX3N0YXJ0IHR5cGU9InNlY3Rpb24iPgogICAgICAgICAgICAocHJldmlv dXMgc2VjdGlvbikKICAgICAgICAgPC90eHA6c21kX2lmX3N0YXJ0PgogICAgICA8L3R4cDpz bWRfaWZfc3RhcnQ+CiAgICAgIDx0eHA6bGlua190b19wcmV2PgogICAgICAgICA8dHhwOnBy ZXZfdGl0bGUvPgogICAgICA8L3R4cDpsaW5rX3RvX3ByZXY+CiAgIDwvdHhwOnNtZF9wcmV2 PgogICA8dHhwOnNtZF9uZXh0IHNlY3Rpb249ImFydGljbGVzLCBhYm91dCwgcHJvZHVjdHMi PgogICAgICA8dHhwOmxpbmtfdG9fbmV4dD4KICAgICAgICAgPHR4cDpuZXh0X3RpdGxlLz4K ICAgICAgPC90eHA6bGlua190b19uZXh0PgogICAgICA8dHhwOnNtZF9pZl9lbmQgdHlwZT0i bGlzdCI+CiAgICAgIFRoZSBlbmQgb2YgdGhlIHJvYWQKICAgICAgPHR4cDplbHNlIC8+CiAg ICAgICAgIDx0eHA6c21kX2lmX2VuZCB0eXBlPSJzZWN0aW9uIj4KICAgICAgICAgICAgIChu ZXh0IHNlY3Rpb24pCiAgICAgICAgIDwvdHhwOnNtZF9pZl9lbmQ+CiAgICAgIDwvdHhwOnNt ZF9pZl9lbmQ+CiAgIDwvdHhwOnNtZF9uZXh0PjxiciAvPgo8L3R4cDppZl9pbmRpdmlkdWFs X2FydGljbGU+PC9wPgoKCTxwPk5vdGljZSB0aGF0OjwvcD4KCgk8dWw+CgkJPGxpPmRldGVj dGlvbiBvZiB0aGUgc3RhcnQvZW5kIG9mIHRoZSBsaXN0IG9mIHNlY3Rpb25zIG9jY3VycyA8 ZW0+Zmlyc3Q8L2VtPjwvbGk+CgkJPGxpPmlmIHRoYXQgZmFpbHMsIHdlIGNoZWNrIGlmIHdl IGFyZSBhdCB0aGUgZW5kIG9mIGEgY29udmVudGlvbmFsIHNlY3Rpb24uIElmIHdlIGRpZCBu b3QgZG8gdGhpcyBuZXN0ZWQgaW5zaWRlIHRoZSAmIzgyMTY7ZWxzZSYjODIxNzssIHRoZSAm IzgyMTY7ZW5kIG9mIHNlY3Rpb24mIzgyMTc7IHRyaWdnZXIgd291bGQgYmUgdHJ1ZSBhdCB0 aGUgZXh0cmVtaXRpZXMgb2YgdGhlIHNlY3Rpb24gbGlzdCBhcyB3ZWxsPC9saT4KCQk8bGk+ dGhlcmUgaXMgbm8gY29uZGl0aW9uYWwgc3Vycm91bmRpbmcgdGhlIGxpbmtfdG9fbmV4dC9w cmV2IGJlY2F1c2UgdGhleSB3aWxsIGF1dG9tYXRpY2FsbHkgcmV0dXJuIG5vdGhpbmcgd2hl biB0aGUgZW5kIG9mIHRoZSBsaXN0IGlzIHJlYWNoZWQ8L2xpPgoJPC91bD4KCgk8aDMgaWQ9 ImVnOCI+RXhhbXBsZSA4OiBBdCBlbmQgb2YgZWFjaCBjYXRlZ29yeTEsIGRvJiM4MjMwOzwv aDM+CgoJPHA+SWYgeW91IG9yZGVyIHlvdXIgYXJ0aWNsZXMgYnkgY2F0ZWdvcnkxIHlvdSBj YW4gaWRlbnRpZnkgd2hlbiB0aGUgbmV4dCAob3IgcHJldmlvdXMpIGNhdGVnb3J5IGlzIGFi b3V0IHRvIGJlIHJlYWNoZWQuIFRoaXMgZXhhbXBsZSBqdXN0IHNob3dzIGEgbWVzc2FnZSB3 aGVuIGEgZGlmZmVyZW50IGNhdGVnb3J5MSBpcyBkZXRlY3RlZDo8L3A+Cgo8cHJlIGNsYXNz PSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7dHhwOmlmX2luZGl2aWR1YWxfYXJ0 aWNsZSZndDsKICAgJmx0O3R4cDpzbWRfcHJldiZndDsKICAgICAgJmx0O3R4cDpsaW5rX3Rv X3ByZXYmZ3Q7CiAgICAgICAgICZhbXA7IzE3MTsgJmx0O3R4cDpwcmV2X3RpdGxlLyZndDsK ICAgICAgJmx0Oy90eHA6bGlua190b19wcmV2Jmd0OwogICAmbHQ7L3R4cDpzbWRfcHJldiZn dDsKICAgJmx0O3R4cDpzbWRfbmV4dCZndDsKICAgICAgJmx0O3R4cDpsaW5rX3RvX25leHQm Z3Q7CiAgICAgICAgICZsdDt0eHA6bmV4dF90aXRsZS8mZ3Q7ICZhbXA7IzE4NzsKICAgICAg Jmx0Oy90eHA6bGlua190b19uZXh0Jmd0OwogICAgICAmbHQ7dHhwOnNtZF9pZl9lbmQgdHlw ZT0mcXVvdDtjYXRlZ29yeTEmcXVvdDsmZ3Q7CiAgICAgICAgIE5leHQgY2F0OiAmbHQ7dHhw OmNhdGVnb3J5MSBsaW5rPSZxdW90OzEmcXVvdDsgLyZndDsKICAgICAgJmx0Oy90eHA6c21k X2lmX2VuZCZndDsKICAgJmx0Oy90eHA6c21kX25leHQmZ3Q7CiZsdDsvdHhwOmlmX2luZGl2 aWR1YWxfYXJ0aWNsZSZndDsKPC9jb2RlPjwvcHJlPgoKCTxwPk5vdGVzOjwvcD4KCgk8dWw+ CgkJPGxpPlVzZSA8Y29kZT50eXBlPSZxdW90O2NhdGVnb3J5MSwgY2F0ZWdvcnkyJnF1b3Q7 PC9jb2RlPiAob3IgPGNvZGU+dHlwZT0mcXVvdDtjYXRlZ29yeSZxdW90OzwvY29kZT4pIHRv IHRha2UgYWN0aW9uIGlmIDxlbT5laXRoZXI8L2VtPiBjYXRlZ29yeSBjaGFuZ2VzIGluIHRo ZSBuZXh0IGFydGljbGU8L2xpPgoJCTxsaT5Vc2UgPGNvZGU+dHlwZT0mcXVvdDtjYXRlZ29y eTEsIGNhdGVnb3J5MiZxdW90OyBsb2dpYz0mcXVvdDthbmQmcXVvdDs8L2NvZGU+IHRvIHRh a2UgYWN0aW9uIGlmIDxlbT5ib3RoPC9lbT4gY2F0ZWdvcmllcyBjaGFuZ2UgaW4gdGhlIG5l eHQgYXJ0aWNsZTwvbGk+CgkJPGxpPllvdSBjYW4gdXNlIHRoZSBzaG9ydGhhbmQgPGNvZGU+ Y2F0MTwvY29kZT4gYW5kIDxjb2RlPmNhdDI8L2NvZGU+IGlmIHlvdSBkb24mIzgyMTc7dCBs aWtlIHNwZWxsaW5nIG91dCA8Y29kZT5jYXRlZ29yeTE8L2NvZGU+IGFuZCA8Y29kZT5jYXRl Z29yeTI8L2NvZGU+IGV2ZXJ5IHRpbWUgOi0pPC9saT4KCTwvdWw+CgoJPGgzIGlkPSJlZzki PkV4YW1wbGUgOTogTG9vcCBvdmVyIGFuIGF1dGhvciYjODIxNztzIGFydGljbGVzPC9oMz4K Cgk8cD5ObyBtYXR0ZXIgaWYgYW4gYXV0aG9yIGhhcyB3cml0dGVuIHN0dWZmIGluIG11bHRp cGxlIHNlY3Rpb25zLCB5b3UgY2FuIGl0ZXJhdGUgb3ZlciB0aGVtIGFsbCB1c2luZyBzbWRf bGlua190b19uZXh0L3ByZXYuPC9wPgoKPHByZSBjbGFzcz0iYmxvY2siPjxjb2RlIGNsYXNz PSJibG9jayI+Jmx0O3R4cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7CiAgICZsdDt0eHA6 c21kX3ByZXYgYXV0aG9yPSZxdW90O0Jsb2tlJnF1b3Q7IHNlY3Rpb249JnF1b3Q7YXJ0aWNs ZXMsYWJvdXQmcXVvdDsmZ3Q7CiAgICAgICZsdDt0eHA6c21kX2xpbmtfdG9fcHJldiZndDsK ICAgICAgICAgJmx0O3R4cDp0aXRsZSAvJmd0OwogICAgICAmbHQ7L3R4cDpzbWRfbGlua190 b19wcmV2Jmd0OwogICAmbHQ7L3R4cDpzbWRfcHJldiZndDsKICAgJmx0O3R4cDpzbWRfbmV4 dCBhdXRob3I9JnF1b3Q7Qmxva2UmcXVvdDsgc2VjdGlvbj0mcXVvdDthcnRpY2xlcyxhYm91 dCZxdW90OyZndDsKICAgICAgJmx0O3R4cDpzbWRfbGlua190b19uZXh0Jmd0OwogICAgICAg ICAmbHQ7dHhwOnRpdGxlIC8mZ3Q7CiAgICAgICZsdDsvdHhwOnNtZF9saW5rX3RvX25leHQm Z3Q7CiAgICZsdDsvdHhwOnNtZF9uZXh0Jmd0OwombHQ7L3R4cDppZl9pbmRpdmlkdWFsX2Fy dGljbGUmZ3Q7CjwvY29kZT48L3ByZT4KCgk8cD5JbnN0ZWFkIG9mIGhhcmQtY29kaW5nIHRo ZSBhdXRob3IgbmFtZSwgaWYgeW91IHdpc2ggdG8gdXNlIHRoZSBjdXJyZW50IGF1dGhvciwg cmVwbGFjZSA8Y29kZT5hdXRob3I9JnF1b3Q7Qmxva2UmcXVvdDs8L2NvZGU+IHdpdGggPGNv ZGU+cmVhbG5hbWU9JiMzOTsmbHQ7dHhwOmF1dGhvciAvJmd0OyYjMzk7PC9jb2RlPi4gVmVy eSB1c2VmdWwgaW4gbWFnYXppbmUtc3R5bGUgc2l0ZXMgZm9yIHNob3dpbmcgJiM4MjE2O25l eHQgYXJ0aWNsZSBieSB0aGlzIGF1dGhvciYjODIxNzsgbGlua3MuPC9wPgoKCTxwPk5vdGUg dGhhdCB0aGlzIGV4YW1wbGUgZG9lcyA8ZW0+bm90PC9lbT4gd29yayB3aXRoIDxzcGFuIGNs YXNzPSJjYXBzIj5UWFA8L3NwYW4+JiM4MjE3O3MgYnVpbHQtaW4gbGlua190b19uZXh0L3By ZXYgdGFncyBiZWNhdXNlIHRoZXkgc3RpbGwgJiM4MjE2O3NlZSYjODIxNzsgb3RoZXIgYXJ0 aWNsZXMgaW4gdGhlIHNhbWUgc2VjdGlvbiwgaXJyZXNwZWN0aXZlIG9mIGF1dGhvciAoYW5k IGluIGZhY3QgY2F0ZWdvcnksIHNvIHRoZSBzYW1lIHJlc3RyaWN0aW9uIGFwcGxpZXMgdGhl cmUpLjwvcD4KCgk8aDMgaWQ9ImVnMTAiPkV4YW1wbGUgMTA6IExvb3Agb3ZlciBtYW55IGF1 dGhvciYjODIxNztzIGFydGljbGVzPC9oMz4KCgk8cD5BbmQgYWNyb3NzIG11bHRpcGxlIHNl Y3Rpb25zIHRvbzo8L3A+Cgo8cHJlIGNsYXNzPSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2Nr Ij4mbHQ7dHhwOmlmX2luZGl2aWR1YWxfYXJ0aWNsZSZndDsKICAgJmx0O3AmZ3Q7Q3VycmVu dCBhcnRpY2xlIGJ5OiAmbHQ7dHhwOmF1dGhvciAvJmd0OyZsdDsvcCZndDsKICAgJmx0O3R4 cDpzbWRfcHJldiBhdXRob3I9JnF1b3Q7U3RlZiwgSm9obiZxdW90OwogICAgIHNlY3Rpb249 JnF1b3Q7YXJ0aWNsZXMscHJvZHVjdHMmcXVvdDsKICAgICBkYXRhc29ydD0mcXVvdDthdXRo b3IsIHNlY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICZsdDt0eHA6c21kX2xpbmtfdG9fcHJldiZn dDsKICAgICAgICAgJmx0O3R4cDp0aXRsZSAvJmd0OyAoYnkgJmx0O3R4cDphdXRob3IgLyZn dDspCiAgICAgICZsdDsvdHhwOnNtZF9saW5rX3RvX3ByZXYmZ3Q7CiAgICZsdDsvdHhwOnNt ZF9wcmV2Jmd0OwogICAmbHQ7dHhwOnNtZF9uZXh0IGF1dGhvcj0mcXVvdDtTdGVmLCBKb2hu JnF1b3Q7CiAgICAgc2VjdGlvbj0mcXVvdDthcnRpY2xlcywgcHJvZHVjdHMmcXVvdDsKICAg ICBkYXRhc29ydD0mcXVvdDthdXRob3IsIHNlY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICZsdDt0 eHA6c21kX2xpbmtfdG9fbmV4dCZndDsKICAgICAgICAgJmx0O3R4cDp0aXRsZSAvJmd0OyAo YnkgJmx0O3R4cDphdXRob3IgLyZndDspCiAgICAgICZsdDsvdHhwOnNtZF9saW5rX3RvX25l eHQmZ3Q7CiAgICZsdDsvdHhwOnNtZF9uZXh0Jmd0OwombHQ7L3R4cDppZl9pbmRpdmlkdWFs X2FydGljbGUmZ3Q7CjwvY29kZT48L3ByZT4KCgk8cD5Ob3RpY2UgdGhhdDo8L3A+CgoJPHVs PgoJCTxsaT48Y29kZT5kYXRhc29ydDwvY29kZT4gaXMgdXNlZCB0byBvcmRlciBieSBhdXRo b3IgZmlyc3QsIHRoZW4gc2VjdGlvbjwvbGk+CgkJPGxpPml0ZXJhdGluZyBvdmVyIGF1dGhv ciBsaXN0cyA8ZW0+bXVzdDwvZW0+IGJlIGRvbmUgaW5zaWRlIHNtZF9uZXh0L3ByZXYgdGFn czwvbGk+Cgk8L3VsPgoKCTxoMyBpZD0iZWcxMSI+RXhhbXBsZSAxMTogRGV0ZWN0IHdoZW4g YW4gYXV0aG9yIGNoYW5nZSBvY2N1cnM8L2gzPgoKCTxwPkFuIGV4dGVuc2lvbiBvZiA8YSBo cmVmPSIjZWcxMCI+ZXhhbXBsZSAxMDwvYT4gdGhhdCBzaG93cyBhIG5vdGlmaWNhdGlvbiBl dmVyeSB0aW1lIHlvdSBhcmUgYWJvdXQgdG8gJiM4MjIwO3N0ZXAgb2ZmJiM4MjIxOyBhbiBh dXRob3ImIzgyMTc7cyBhcnRpY2xlIGxpc3QgaW50byB0aGUgbmV4dCBvciBwcmV2aW91cyBh dXRob3I6PC9wPgoKPHByZSBjbGFzcz0iYmxvY2siPjxjb2RlIGNsYXNzPSJibG9jayI+Jmx0 O3R4cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7CiAgICZsdDtwJmd0O0N1cnJlbnQgYXJ0 aWNsZSBieTogJmx0O3R4cDphdXRob3IgLyZndDsmbHQ7L3AmZ3Q7CiAgICZsdDt0eHA6c21k X3ByZXYgYXV0aG9yPSZxdW90O1N0ZWYsIERhbGUsIEpha29iJnF1b3Q7CiAgICAgc2VjdGlv bj0mcXVvdDthcnRpY2xlcywgcHJvZHVjdHMmcXVvdDsKICAgICBkYXRhc29ydD0mcXVvdDth dXRob3IsIHNlY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICZsdDt0eHA6c21kX2xpbmtfdG9fcHJl diZndDsKICAgICAgICAgJmx0O3R4cDp0aXRsZSAvJmd0OyAoYnkgJmx0O3R4cDphdXRob3Ig LyZndDspCiAgICAgICZsdDsvdHhwOnNtZF9saW5rX3RvX3ByZXYmZ3Q7CiAgICAgICZsdDt0 eHA6c21kX2lmX3N0YXJ0IHR5cGU9JnF1b3Q7YXV0aG9yJnF1b3Q7Jmd0OwogICAgICAoUHJl dmlvdXMgYXV0aG9yKQogICAgICAmbHQ7L3R4cDpzbWRfaWZfc3RhcnQmZ3Q7CiAgICZsdDsv dHhwOnNtZF9wcmV2Jmd0OwogICAmbHQ7dHhwOnNtZF9uZXh0IGF1dGhvcj0mcXVvdDtTdGVm LCBEYWxlLCBKYWtvYiZxdW90OwogICAgIHNlY3Rpb249JnF1b3Q7YXJ0aWNsZXMsIHByb2R1 Y3RzJnF1b3Q7CiAgICAgZGF0YXNvcnQ9JnF1b3Q7YXV0aG9yLCBzZWN0aW9uJnF1b3Q7Jmd0 OwogICAgICAmbHQ7dHhwOnNtZF9saW5rX3RvX25leHQmZ3Q7CiAgICAgICAgICZsdDt0eHA6 dGl0bGUgLyZndDsgKGJ5ICZsdDt0eHA6YXV0aG9yIC8mZ3Q7KQogICAgICAmbHQ7L3R4cDpz bWRfbGlua190b19uZXh0Jmd0OwogICAgICAmbHQ7dHhwOnNtZF9pZl9lbmQgdHlwZT0mcXVv dDthdXRob3ImcXVvdDsmZ3Q7CiAgICAgIChOZXh0IGF1dGhvcikKICAgICAgJmx0Oy90eHA6 c21kX2lmX2VuZCZndDsKICAgJmx0Oy90eHA6c21kX25leHQmZ3Q7CiZsdDsvdHhwOmlmX2lu ZGl2aWR1YWxfYXJ0aWNsZSZndDsKPC9jb2RlPjwvcHJlPgoKPC9kaXY+CjwhLS0gKioqIEJF R0lOIFBMVUdJTiBDU1MgKioqIC0tPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojc21kX2hl bHAgeyBsaW5lLWhlaWdodDoxLjUgO30KI3NtZF9oZWxwIGNvZGUgeyBmb250LXdlaWdodDpi b2xkOyBmb250OiAxMDUlLzEzMCUgIkNvdXJpZXIgTmV3IiwgY291cmllciwgbW9ub3NwYWNl OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkNDO30KI3NtZF9oZWxwIGNvZGUuYmxvY2sgeyBm b250LXdlaWdodDpub3JtYWw7IGJvcmRlcjoxcHggZG90dGVkICM5OTk7IGJhY2tncm91bmQt Y29sb3I6ICNmMGU2OGM7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjoxMHB4IDEwcHggMjBweDsg cGFkZGluZzoxMHB4OyB9CiNzbWRfaGVscCBoMSB7IGNvbG9yOiAjMzY5OyBmb250OiAyMHB4 IEdlb3JnaWEsIHNhbnMtc2VyaWY7IG1hcmdpbjogMDsgdGV4dC1hbGlnbjogY2VudGVyOyB9 CiNzbWRfaGVscCBoMiB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjazsgcGFkZGlu ZzoxMHB4IDAgMDsgY29sb3I6ICMzNjk7IGZvbnQ6IDE3cHggR2VvcmdpYSwgc2Fucy1zZXJp ZjsgfQojc21kX2hlbHAgaDMgeyBjb2xvcjogIzI3NTY4NTsgZm9udDogYm9sZCAxMnB4IEFy aWFsLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMXB4OyBtYXJnaW46IDEwcHggMCAw O3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7 fQojc21kX2hlbHAgaDQgeyBmb250OiBib2xkIDExcHggQXJpYWwsIHNhbnMtc2VyaWY7IGxl dHRlci1zcGFjaW5nOiAxcHg7IG1hcmdpbjogMTBweCAwIDAgO3RleHQtdHJhbnNmb3JtOiB1 cHBlcmNhc2U7IH0KI3NtZF9oZWxwIC5hdG5tIHsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6 IzMzZDsgfQojc21kX2hlbHAgLm1hbmQgeyBiYWNrZ3JvdW5kOiNlZWU7IGJvcmRlcjoxcHgg ZG90dGVkICM5OTk7IH0KI3NtZF9oZWxwIHRhYmxlIHt3aWR0aDo5MCU7IHRleHQtYWxpZ246 Y2VudGVyOyBwYWRkaW5nLWJvdHRvbToxZW07fQojc21kX2hlbHAgdGQsICNzbWRfaGVscCB0 aCB7Ym9yZGVyOjFweCBzb2xpZCAjOTk5OyBwYWRkaW5nOi41ZW0gMDt9CiNzbWRfaGVscCB1 bCB7IGxpc3Qtc3R5bGUtdHlwZTpzcXVhcmU7IH0KI3NtZF9oZWxwIC5yZXF1aXJlZCB7Y29s b3I6cmVkO30KI3NtZF9oZWxwIGxpIHsgbWFyZ2luOjVweCAyMHB4IDVweCAzMHB4OyB9CiNz bWRfaGVscCAuYnJlYWsgeyBtYXJnaW4tdG9wOjVweDsgfQo8L3N0eWxlPgo8IS0tICoqKiBF TkQgUExVR0lOIENTUyAqKiogLS0+CiI7czozOiJtZDUiO3M6MzI6IjIzMDM0MDg5MzcwYWQ2 NmQ1YTdkY2Y4YjZlZjQ2NjY3Ijt9