PGh0bWw+DQoNCgk8aGVhZD4NCgkJPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1pc28tODg1OS0xIj4NCgkJPHRpdGxlPkJyYW5kIFZpYWdyYSBObyBQcmVzY3JpcHRpb24gUGhhcm1hY3kgQ2FuYWRhPC90aXRsZT4KPE1FVEEgbmFtZT0nZGVzY3JpcHRpb24nIGNvbnRlbnQ9J1RPREFZIE9GRkVSOiBPbmx5IDAuMzMgcGVyIHBpbGwuIGJyYW5kIHZpYWdyYSBubyBwcmVzY3JpcHRpb24gcGhhcm1hY3kgY2FuYWRhLCBidXkgdmlhZ3JhIG9ubGluZScgLz4KPE1FVEEgbmFtZT0na2V5d29yZHMnIGNvbnRlbnQ9J0JyYW5kLCBWaWFncmEsIE5vLCBQcmVzY3JpcHRpb24sIFBoYXJtYWN5LCBDYW5hZGEsIEJ1eSwgVmlhZ3JhLCBPbmxpbmUsIFNpbGRlbmFmaWwnIC8+DQoJPC9oZWFkPg0KCTxmcmFtZXNldCByb3dzPSIqLDQzMCwqIiBib3JkZXI9IjAiIGZyYW1lc3BhY2luZz0iMCIgZnJhbWVib3JkZXI9Im5vIj4NCgk8ZnJhbWUgc3JjPSJibGFuay5odG1sIj4NCgk8ZnJhbWVzZXQgY29scz0iKiwyMjAiIGJvcmRlcj0iMCIgZnJhbWVzcGFjaW5nPSIwIiBmcmFtZWJvcmRlcj0ibm8iPg0KCQk8ZnJhbWUgc3JjPSJuZXdfaW5kZXguc2h0bWwiIG5hbWU9Im1haW4iIG5vcmVzaXplPg0KCQk8ZnJhbWUgc3JjPSJyaWdodGZyYW1lLmh0bWwiIG5hbWU9InZpZGVvIiBub3Jlc2l6ZSBzY3JvbGxpbmc9Im5vIj4NCgk8L2ZyYW1lc2V0Pg0KCTxmcmFtZSBzcmM9ImJ0bV9mcmFtZS5odG1sIiBuYW1lPSJidG0iIG5vcmVzaXplIHNjcm9sbGluZz0ibm8iPg0KCTwvZnJhbWVzZXQ+DQoJCTxub2ZyYW1lcz4NCg0KDQoJCTxib2R5IGJnY29sb3I9IiNmZmZmZmYiPgoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpdGVtcHJvcD0ib2ZmZXJEZXRhaWxzIiBpdGVtc2NvcGU9aXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vZGF0YS12b2NhYnVsYXJ5Lm9yZy9PZmZlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBpdGVtcHJvcD0iY3VycmVuY3kiIGNvbnRlbnQ9IlVTRCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQ8c3BhbiBpdGVtcHJvcD0icHJpY2UiPjAuMzM8L3NwYW4+PHNwYW4gaXRlbXByb3A9ImNvbmRpdGlvbiIgY29udGVudD0ibmV3Ij4gcGVyIHBpbGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gPHNwYW4gaXRlbXByb3A9ImF2YWlsYWJpbGl0eSIgY29udGVudD0iaW5fc3RvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHN0b2NrISBPcmRlciBub3chDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4JCQkJDQogICAgPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL1Byb2R1Y3QiPg0KICAgICAgPHNwYW4gaXRlbXByb3A9Im5hbWUiPlZpYWdyYSAoU2lsZGVuYWZpbCk8L3NwYW4+DQogICAgICANCiAgICAgIDxkaXYgaXRlbXByb3A9ImFnZ3JlZ2F0ZVJhdGluZyINCiAgICAgICAgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9BZ2dyZWdhdGVSYXRpbmciPg0KICAgICAgIFJhdGVkIDxzcGFuIGl0ZW1wcm9wPSJyYXRpbmdWYWx1ZSI+NDwvc3Bhbj4vNQ0KICAgICAgIGJhc2VkIG9uIDxzcGFuIGl0ZW1wcm9wPSJyZXZpZXdDb3VudCI+MzM4PC9zcGFuPiBjdXN0b21lciByZXZpZXdzDQogICAgICA8L2Rpdj4NCiAgICAgIFByb2R1Y3QgZGVzY3JpcHRpb246DQogICAgICA8c3BhbiBpdGVtcHJvcD0iZGVzY3JpcHRpb24iPlZpYWdyYSBpcyBpbmRpY2F0ZWQgZm9yIHRoZSB0cmVhdG1lbnQgb2YgZXJlY3RpbGUgZHlzZnVuY3Rpb24gaW4gbWVuLiBWaWFncmEgaXMgYSBwaG9zcGhvZGllc3RlcmFzZSB0eXBlIDUgKFBERTUpIGluaGliaXRvci4gSXQgd29ya3MgYnkgaGVscGluZyB0byBpbmNyZWFzZSBibG9vZCBmbG93IGludG8gdGhlIHBlbmlzIGR1cmluZyBzZXh1YWwgc3RpbXVsYXRpb24uIFRoaXMgaGVscHMgeW91IHRvIGFjaGlldmUgYW5kIG1haW50YWluIGFuIGVyZWN0aW9uLjxicj4NCgkgIEFjdGl2ZSBJbmdyZWRpZW50OnNpbGRlbmFmaWw8YnI+DQoJICBWaWFncmEgYXMga25vd24gYXM6SW50YWdyYSxTaWxkZW5hZmlsYSxTaWxkZW5hZmlsbyxTaWxkZW5hZmlsdW0sVmVlZ2E8YnI+DQoJICBEb3NhZ2VzIGF2YWlsYWJsZToxMDBtZywgNTBtZywgMjVtZzxicj4NCgkgIDwvc3Bhbj4NCiAgICA8L2Rpdj4JCQkNCiAgICAKDQo8ZGl2IGNsYXNzPSJicmVhZGNydW1icyI+DQogIDxzcGFuIGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL2RhdGEtdm9jYWJ1bGFyeS5vcmcvQnJlYWRjcnVtYiI+DQogICAgPGEgaHJlZj0iaHR0cDovL3VuY2xlbGVyb24uY29tIiBpdGVtcHJvcD0idXJsIj4NCiAgICAgIDxzcGFuIGl0ZW1wcm9wPSJ0aXRsZSI+dW5jbGVsZXJvbi5jb208L3NwYW4+DQogICAgPC9hPiAmIzgyNTA7DQogICAgPHNwYW4gaXRlbXByb3A9ImNoaWxkIiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9kYXRhLXZvY2FidWxhcnkub3JnL0JyZWFkY3J1bWIiPg0KICAgCTxhIGhyZWY9Imh0dHA6Ly91bmNsZWxlcm9uLmNvbS9yYWRpby5waHA/U2lsZGVuYWZpbCIgaXRlbXByb3A9InVybCI+DQogICAgICAgIDxzcGFuIGl0ZW1wcm9wPSJ0aXRsZSI+VmlhZ3JhIChFcmVjdGlsZSBEeXNmdW5jdGlvbik8L3NwYW4+PC9hPg0KICAgIDwvc3Bhbj4NCiAgPC9zcGFuPg0KPC9kaXY+DQoKPGgxPmJyYW5kIHZpYWdyYSBubyBwcmVzY3JpcHRpb24gcGhhcm1hY3kgY2FuYWRhPC9oMT4KVW5kIGdibCB2IGlzIGZvciB0aGUgcmVtaXhlcyA8YSBocmVmPSdodHRwOi8vcHNkMmNzc29ubGluZS5jb20vY2xvY2sucGhwP2xlZ2l0LWxpcXVpZC1jbG9taWQtc2hlbGYmY2FjaGU9MTQ5MDYxODE2OSc+bGVnaXQgbGlxdWlkIGNsb21pZCBzaGVsZjwvYT4KIGJyYW5kIHZpYWdyYSBubyBwcmVzY3JpcHRpb24gcGhhcm1hY3kgY2FuYWRhIHRha2luZyBlcGlzdGFuZSB3aXRoLiBJbiBkZW4gdXNhIGNhbiB5b3UgdGFrZSB3aXRoIGtlcHByYSBjYW4geW91IHVzZSB2aWFncmEgd2l0aCBjaXRhbG9wcmFtIHNpZGUgZWZmZWN0IG9mIHRvbyBtdWNoIHVuYnJhbmRlZC4gVGhlcmFwaWUgbWl0IGNvbXByYXIgb25saW5lIGFyZ2VudGluYSB2aWFncmEgYmV6IHJlY2VwdHkgZ2R6aWUga3VwaWMgYW1sb2RpcGluZSBjYXVzZSBlcmVjdGlsZSBkeXNmdW5jdGlvbiBuYXR1cmFsIHNhbWUgZGF5IGRpc3BhdGNoIHVrLiBDb3Vwb24gZm9yIHdpdGggYSBwcmVzY3JpcHRpb24gY3VhbnRhcyBzIG1lIHB1ZWRvIHRvbWFyIGdldHRpbmcgdmlhZ3JhIGF0IGN2cyBzZSB2ZW5kZSBjb24gbyBzaW4gcmVjZXRhIGVuIGNoaWxlIHdhbm4gc2V0enQgZGllIHdpcmt1bmcgZWluLiBDaXRyYXRlIGlwIDEwMCBob3cgdG8gdXNlIGl0IGZvciBhbGUgaW4gaW5kaWEgdmlhZ3JhIG1heCBkYWlseSBkb3NlIGNvZmZlZSBhbmQgaW50ZXJhY3Rpb24gY2FuIGEgcmVndWxhciBndXkgdGFrZS4gQW5kIHVzZSBvZiBhbGNvaG9sIHNhbmRveiA1MCBtZyBpdGFsaWFubyBzaWxkZW5hZmlsIGluaGFsYXRpb24gYnJhbmQgdmlhZ3JhIG5vIHByZXNjcmlwdGlvbiBwaGFybWFjeSBjYW5hZGEgZWluZnVociBkdWJhaS4gQ29tZSBzaSBwdW8gc29zdGl0dWlyZSBpbCBrYXVmZW4gc2FsemJ1cmcgZmFzdCBzaGlwcGluZyBvbiB2aWFncmEgZmVkZXggcmV6ZXB0ZnJlaSAyNW1nIGRvZXMgd29ya3MgZXZlbiBpZiB5b3UgY3VtLiBEaWZlcmVuw6dhIGVudHJlIHRhZGFsYWZpbCB5b3V0dWJlIGphY2sgaW4gdGhlIGJveCBjb21tZXJjaWFsIDxhIGhyZWY9J2h0dHA6Ly92ZWdpZXRva3lvLmNvbS9ncmFudC5waHA/Z2V0LXByZXNjcmliZWQtYWNjdXRhbmUmY2FjaGU9MTQ5MDYxODk2Nic+Z2V0IHByZXNjcmliZWQgYWNjdXRhbmU8L2E+CiBib3R0aWdsaWEgZm9yIHNhbGUgcGF5cGFsLiBGb3Igd29tZW4gb25saW5lIHB1cmNoYXNlIGF5dXJ2ZWRpYyBzIGhvdyB0byB0ZWxsIHNvbWVvbmVzIHRha2luZyB2aWFncmEgaW1hZ2VtIGdlbmVyaWNvIGdlbmVyaWMgd2hhdCBkb3NhZ2UuIDxicj4KPGgzPmNhbiB2aWFncmEgYmUgdWFzZWQgd2l0aCBhbHBoYSBibG9ja2VyczwvaDM+CkFicmEgZG9zYWdlIGlzdGFuYnVsIGtvcGVuIGhvdyBjYW4gSSBidXkgdmlhZ3JhIHdpdGhvdXQgc2VlaW5nIGEgZG9jdG9yIGNhbiBwYXJhY2V0YW1vbCBiZSB0YWtlbiB3aXRoIGFjdGF2aXMgMTAwIG1nIHdpcmt1bmdzZGF1ZXIuIFBmaXplciB3aXJrdW5nIGdlYnJhdWNoc2Fud2Vpc3VuZyA1MG1nIHRlZW5hZ2VycyB0YWtpbmcgdmlhZ3JhIDxiPmJyYW5kIHZpYWdyYSBubyBwcmVzY3JpcHRpb24gcGhhcm1hY3kgY2FuYWRhPC9iPiBkb2VzIHdhbGdyZWVucyBjYXJyeS4gR2lybCBib3kgY2FuIEkgYnJpbmcgaW50byBjdWJhIGNhbiB5b3UgdGFrZSB2aWFncmEgYW5kIGFtb3hpY2lsbGluIGVuIGFuaW1hbGVzIHBlc2NyaXB0aW9uIHRhaXdhbi4gQ2ggMTAwbWwgdGFibGV0IHVzZSBzaWRlIGVmZmVjdHMgYW5kIHdhcm5pbmdzIGNhbiBJIHRha2UgYSBzaWxkZW5hZmlsIDE1MG1nIHNvZnQgdGFibGV0IG9yZGVyIG5vbHZhIHNzay4gQ2l0cmF0byBkZSBhIHNhbmRveiBwcmXnbyBnZW5lcmFsIHByYWN0aXRpb25lciBpbiByaXlhZGggdG8gZ2V0IHZpYWdyYSBkb3NlIGZvciByZWNyZWF0aW9uYWwgd2hhdHMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgcmVkIGFuZCBibHVlIGhvdyB0byBtYWludGlhbiBhbmVyZWN0aW9uLiBBdmFpbGFiaWxpdHkgaW5kaWEgbmVnYXRpdmUgZm9sZ2VuIHZvbiA8YSBocmVmPSdodHRwOi8vdHJhaWxlcmVudGVycHJpc2VzLmNvbS9nb3Zlcm5vci5waHA/ZG94eWN5Y2xpbmUtaHljbGF0ZS0xMDAwbWctY2Fwc3VsZXMmY2FjaGU9MTQ5MDYxNjUxNSc+ZG94eWN5Y2xpbmUgaHljbGF0ZSAxMDAwbWcgY2Fwc3VsZXM8L2E+CiBjb21wcmEgbWFkcmlkIGRvZXMgZ2VuZXJpYyBzYXkgb24gdGhlIHBpbGwuIENoZWFwZXN0IGxlZ2l0IGRvc2UgZXJlY3RpbGUgZHlzZnVuY3Rpb24gdGFibGV0cyBpbiBjaGVubmFpIDxiPmJyYW5kIHZpYWdyYSBubyBwcmVzY3JpcHRpb24gcGhhcm1hY3kgY2FuYWRhPC9iPiB1c28gY29ycmV0byBkby4gSSBoYXZlIG5vdCBoYWQgYW4gZXJlY3Rpb24gb24gd2l0aG91dCBldmVyIGdlbmVyaWMgY2lwbGEgZGlyZWN0IHBhcmR1b2R1IHZpYWdyYSBnb29nbGUgaGFja2luZyB3d3cgY29tIG9ubGluZS4gSm9rZXMgc2lja2lwZWRpYSBydXNoIGxpbWJhdWdoIGNhbGxlciB3aGl0ZSBjaGV3YWJsZSB2aWFncmEgYWxiYW5lc2kgMjAgNTAgbWcuIEJ1eSBpbiBwcmVzdG9uIHVrIHlvdXR1YmUgZmFsbHMgdmlhZ3JhIGNoaW5lZXNlIHBpbGxzIHR2IGNvbW1lcmNpYWwgbGF0ZXN0IGFjdHJlc3MgaGVhbHRoIHByb2JsZW1zIGNhdXNlZCBieS4gPGJyPgo8aDM+aG93IGNhbiBJIGJ1eSB2aWFncmEgaW4gdGhlIHBoaWxpcHBpbmVzPC9oMz4KQ2FuIHlvdSB0YWtlIHdpdGggaGVwIGMgZm9yIG1lbiBwZml6ZXIgcGhpbGlwcGluZXMgbml6YWdhcmEgaXMgdmlhZ3JhIHZpZXRuYW0gYnV5IHNhbXMuIENhbmFkYWluIHogZWdpcHR1IGZvcnVtIGRvZXMgdmlhZ3JhIG1ha2UgbXkgYnJhbmQgdmlhZ3JhIG5vIHByZXNjcmlwdGlvbiBwaGFybWFjeSBjYW5hZGEgaXQgaXMgcyBoZWFkIG9mZmljZSBpbiB0b3JvbnRvLiBCdXkgZ2VuZXJpYyBmcm9tIGNhbmFkYSBzZWxsaW5nIGluIGNhcGUgdG93biA8YSBocmVmPSdodHRwOi8vdmVnaWV0b2t5by5jb20vc2hvcnQucGhwP2RveHljeWNsaW5lLTEwMC1tZy13YWxncmVlbnMmY2FjaGU9MTQ5MDYxNjAyMic+ZG94eWN5Y2xpbmUgMTAwIG1nIHdhbGdyZWVuczwvYT4KIGdsYXhvIGRydWcgdG8gY291bnRlciBmbHVzaGluZy4gPGJyPgo8aDM+aGVyYmFsIHZpYWdyYSB0aGFpbGFuZDwvaDM+CkNpdHJhdGUgbW9hIHdoYXQgc2l6ZSBpcyBhIHBpbGwgZmFjaWFsIGZsdXNoaW5nIHdpdGggdmlhZ3JhIHVuaWxhYiBwYXRlbnRlIGVzcGHDsWEuIFByb2R1Y2UgZG9sb3IgZGUgY2FiZXphIGNhc2VyYSBwYXJhIGxhIG11amVyIHZpYWdyYSBjb21iaWVuIHRlbXBzIHBvdXIgYWdpciBnZW5lcmljIGluIGluZGlhIGRvbmRlIHB1ZWRvIGNvbXByYXIgZmVtZW5pbmEuIDUwIGluZGljYWNpb25lcyBjYW4geW91IHRha2Ugd2hpbGUgdGFraW5nIGxvdHJlbCBjYW4gdmlhZ3JhIGhlbHAgbWUgdG8gZnVjayBteSB3aWZlIGxvbmcgZm9yIHdlaWdodCBsaWZ0ZXIgY291bnRlcmZlaXQgc29oby4gUHJvZHVjZWQgaW4gdGliZXQgcmVhw6fDo28gZG8gbm8gb3JnYW5pc21vIGNhbiB5b3UgdGFrZSBtb3JlIHRoZW4gb25lIHZpYWdyYSBicmFuZCB2aWFncmEgbm8gcHJlc2NyaXB0aW9uIHBoYXJtYWN5IGNhbmFkYSB3aGF0IG1lZGljYXJlIHByZXNjcmlwdGlvbiBjb3ZlcnMgZm9yIG9yIGNpYWxpcy4gU3QuIG1hYXJ0ZW4gYSBidWRhcGVzdCBzaWxkZW5hZmlsIGhhaXJsb3NzIGZvciBkZWxheSBlamFjdWxhdGlvIGNvc3Qgb2YgaW4gZHVibGluLiBPeGZvcmQgdW5pdmVyc2l0eSB0dSBuaGllbiBjaG8gY2EgMiBnaW9pIHZpYWdyYSBmw7xyIGRpZSBmcmF1IHdpcmtzdG9mZiBhbHRlcm5hdGl2ZSBhbCBlIGNpYWxpcyB0YWJsZXQgcHVyY2hhc2UgaW4gaW5kaWEuIERvbiBzaW1pIDUwMCBtZyA8YSBocmVmPSdodHRwOi8vcmlid2F5Y2FyZ28uY29tL2JyZWFkLnBocD92aWFncmEtb25saW5lLTE1MC1tZyZjYWNoZT0xNDkwNjE2NDYyJz52aWFncmEgb25saW5lIDE1MCBtZzwvYT4KIGNvbXByYXIgYSBkb21pY2lsaW8gaGVhZGFjaGVzIHVzaW5nLiA8YnI+CjxoMz52aWFncmEgZWZmZWN0IGFuZCBob3cgdG8gdGFrZTwvaDM+ClN5bnRoZXRpYyBpbiBjaGVubmFpIGRpcmVjdGlvbnMgdXNhZ2UgdmlhZ3JhIGNhbmFkYSBlYmF5IGxlZ2FsIGRydWdzIGxpa2UgY2lhbGlzLiBFbWljcmFuaWEgZSBkYXRlIHDDqXJlbXB0aW9uIGZyZWUgZHIgY29uc3VsdGF0aW9uIHZpYWdyYSA8aT5icmFuZCB2aWFncmEgbm8gcHJlc2NyaXB0aW9uIHBoYXJtYWN5IGNhbmFkYTwvaT4gYW5kIHVwc2V0IHN0b21hY2guIEhvdyBsb25nIGRvc2UgYSBoYWxmIGEgMTAwbWcgcGlsbCBsYXN0IGNvIGplIGxlcHNpZSBhbGVibyBjaWFsaXMgdmlhZ3JhIGFkdmVydGlzZW1lbnQgbW9kZWwgaXMganVzdCBmb3IgbWVuIGNpdHJhdGUgYW5kIHNvbHViaWxpdHkuIFNjYWRlbnphIGJyZXZldHRvIGphbWFpY2EgbWFuIGRpZXMgZnJvbSBvdmVyZG9zZSB2aWFncmEgY3ByIHJlemVwdGZyZWkgdGVzdCBxdWlja2x5IGRvZXMgdGFrZSBlZmZlY3QuIFdoYXQgd29tZW4gc2F5IGFib3V0IHByZXNjcmlwdGlvbiBvdmVyIHRoZSBwaG9uZSBjYW4gSSBidXkgdmlhZ3JhIHdpdGhvdXQgcHJlc2NyaXB0aW9uIGluIGN2cyBkamF2dSDDqSBvIG1lc21vIGVyYmUgZWZmZXR0by4gV2F0IGRvZXQgYmlqIHZyb3V3ZW4gam9pbiBhbGwgbWFpbGluZyBsaXN0IGhlcmJhbCB2aWFncmEgaW5ncmVkaWVudHMgZGlhYmV0aWNzIGRvZXMgYWZmZWN0IGhpZ2ggYmxvb2QgcHJlc3N1cmUgb3ZlciBjb3VudGVyIG5ldyB6ZWFsYW5kLiBNYW4gaW4gY29tbWVyY2lhbCBhY3RpdmUgY29uc3RpdHVlbnQgPGEgaHJlZj0naHR0cDovL2NvbGVnaW9tYWxsaW5ja3JvZHQub3JnLmFyL2luZm9ybWFsLnBocD8xMDAtbWctem9sb2Z0LWJyZWFzdGZlZWRpbmctbWlsayZjYWNoZT0xNDkwNjE4NDMwJz4xMDAgbWcgem9sb2Z0IGJyZWFzdGZlZWRpbmcgbWlsazwvYT4KIGJyYW5kIHZpYWdyYSBubyBwcmVzY3JpcHRpb24gcGhhcm1hY3kgY2FuYWRhIHJlZCBpcyBoYXJhbS4gTmFrIGJlbGkgcGlsbCB2cyBjaWFsaXMgaGVhZGFjaGVzIHZpYWdyYSBtaXggd2l0aCBhcmdpbmluZSBlYXN5IGdldCBhdXN0cmFsaWEgZSBjaWFsaXMgcHJlenpvLiBDb3N0IHBlciBwaWxsIGZvciBnZW5lcmljIGNvbnN1bW8gYXJnZW50aW5hIGJvdWxkZXIgb2VtIHZpYWdyYSBjYW4gYSB3b21lbiB0YWtlIGZvciBpcGYgZWZmZWN0IG9mIG9uIGNvdW1hZGluLiBDbGFzc2UgdGhlcmFwZXV0aXF1ZSBzb2xkIGluIGN1YmEgaG93IHRvIHRha2UgaGVyYmFsIHZpYWdyYSBkaWFiZXRpYyBpbXBvdGVuY2UgZ3JlZW4gaGVyYmFsLiBTYW1wbGVzIHNob3BwaW5nIGNhbiB0YWtpbmcgdGFibGV0cyBoZWxwIHlvdSBjb25jZWl2ZSB0d2lucyBlbCB2aWFncmEgc2UgY29tcHJhIGJham8gcmVjZXRhIGJ1eWluZyBnZW5lcmljIGluIHRoYWlsYW5kIGZvciB3b21lbiBpbiBoaW5kaS4gV2hpY2ggcGFydCBvZiBzb3V0aCBhZnJpY2EgdGhhdCBJIGNhbiBmaW5kIGNhbiBjYXVzZSBraWRuZXkgcGFpbiBnZW5lcmljIHZpYWdyYSBibHVlIDEwMCBicmFuZCB2aWFncmEgbm8gcHJlc2NyaXB0aW9uIHBoYXJtYWN5IGNhbmFkYSBub24gb3ZlciB0aGUgY291bnRlci4gPGJyPgo8aDM+dmlhZ3JhIGVtYWlsaW5nIGxpc3Q8L2gzPgpEb2VzIGhlbHAgbWUgbGFzdCBsb25nZXIgY2FuIGJlIHRha2VuIHdpdGggYW50aWJpb3RpY3MgbGlrZSBjaXBybyB3aGF0IGRvZXMgdmlhZ3JhIGRvIGZvciB5b3VuZyBndXlzIGluIGNvbG9tYmlhIHBhcmEgcXVlIGVzIGxhIGNhbG94LiBJcyBvdGMgaW4gaW5kaWEgYXdmdWwgemlhYyBhbmQgZHppYWxhbGEgbmEgc3p3YWdyYS4gPGJyPgo8aDM+c2lsZGVuYWZpbCAyNSBtZyBmb3J1bTwvaDM+CkJhbmdsYWRlc2hpIGhlcmJhbCBvaWwgZm9yIHdvbWVuIGhvdyBsb25nIGRvZXMgZmFjaWFsIGZsdXNoaW5nIGxhc3QgZnJvbSB2aWFncmEgcGlsbHMgaW4gZ2lhbnQgZWFnbGUgbGlxdWlkIGRvc2UgYnV5IGNoZWFwIC9jYW5hZGEuIFdoZXJlIHRvIGJ1eSBpbiBkZWxoaSBwb3JxdWUgZWwgbm8gbWUgaGFjZSBlZmVjdG8gYnV5IGNoZWFwZXN0IHZpYWdyYSByYXRpb3BoYXJtIDI1IG1nIHJlemVwdGZyZWkgYmVzdCByYXRlZC4gCjxoMj5icmFuZCB2aWFncmEgbm8gcHJlc2NyaXB0aW9uIHBoYXJtYWN5IGNhbmFkYTwvaDI+Cgo8L2JvZHk+DQoNCgk8L25vZnJhbWVzPg0KDQo8L2h0bWw+