<?xml version="1.0" encoding="UTF-8"?>
<zaznam xmlns="http://portal.gov.cz/rejstriky/ISRS/1.2/"><data><identifikator><idSmlouvy>12125384</idSmlouvy><idVerze>13014568</idVerze></identifikator><odkaz>https://smlouvy.gov.cz/smlouva/13014568</odkaz><casZverejneni>2020-06-18T08:41:56+02:00</casZverejneni><smlouva><subjekt><datovaSchranka>jwaeuen</datovaSchranka><nazev>Krajská nemocnice Liberec, a.s.</nazev><ico>27283933</ico><adresa>Husova 357/10, 46001 Liberec, CZ</adresa></subjekt><smluvniStrana><nazev>SanaClis, s.r.o.</nazev><ico>35804084</ico><adresa>Staré Grunty 130, BRATISLAVA</adresa></smluvniStrana><predmet>Smlouva o provedení klinického hodnocení</predmet><datumUzavreni>2020-05-29</datumUzavreni><cisloSmlouvy>S2020/00332/00</cisloSmlouvy><hodnotaBezDph>2554089.28</hodnotaBezDph></smlouva><prilohy><priloha><data>IAoKIAoKIAoKQ2xpbmljYWwgVHJpYWwgQWdyZWVtZW50CgpOby4KClNtbG91dmEgbyBrbGluaWNrw6ltIGhvZG5vY2Vuw60KCiAKCkRhdGU6IEJyYXRpc2xhdmEKCkRhdHVtOiBCcmF0aXNsYXZhCgogCgpUaGlzIENsaW5pY2FsIFRyaWFsIEFncmVlbWVudCAodGhlICJBZ3JlZW1lbnQiKQppcyBtYWRlIGJ5IGFuZCBiZXR3ZWVuCgpUYXRvIHNtbG91dmEgbyBrbGluaWNrw6ltIGhvZG5vY2Vuw60gKGTDoWxlIGplbm9tCuKAnlNtbG91dmHigJwpIHVwcmF2dWplIHZ6dGFoIG1lemkKCiAKCktyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCgpoYXZpbmcgaXRzIHJlZ2lzdGVyZWQgcGxhY2Ugb2YgQnVzaW5lc3MgYXQgSHVzb3ZhCgozNTcvMTAsIExpYmVyZWMgSeKAlFN0YXLDqSBNxJtzdG8sIDQ2MCA2MyBMaWJlcmVjLAoKQ3plY2ggUmVwdWJsaWMKCnJlZ2lzdGVyZWQgaW4gdGhlIENvbW1lcmNpYWwgUmVnaXN0ZXIga2VwdCBpbiB0aGUKClJlZ2lvbmFsIENvdXJ0IGluIMOac3TDrSBhbmQgTGFiZW0KCklkIG5vLjogMjcyIDgzIDkzMwoKVkFUIG5vLjogQ1oyNzI4MzkzMwoKZm9yIHB1cnBvc2VzIG9mIHRoaXMgYWdyZWVtZW50IHJlcHJlc2VudGVkIGJ5CkNoYWlybWFuIG9mIEJvYXJkCgpvZiBEaXJlY3RvcnMgYW5kIENFTyAoaGVyZWluYWZ0ZXIgcmVmZXJyZWQgYXMgdGhlCgoiQ2xpbmljYWwgU2l0ZSIpCgpLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgoKc2Ugc8OtZGxlbSB2IEh1c3F2YSAzNTcvMTAsIExpYmVyZWMgSeKAlFN0YXLDqSBNxJtzdG8sCjQ2MCA2MyBMaWJlcmVjLCBDZXNrw6EgcmVwdWJsaWthCgp6YXBzw6FuYSB2IE9SIHZlZGVuw6ltIEtyYWpza8O9bSBzb3VkZW0gdiDDmnN0w60KbmFkIExhYmVtCgpJxIw6VjI3MiA4MyA5MzMKbWM6IENaMjcyODM5MzMKCnBybyDDusSNZWx5IHTDqXRvIHNtbG91dnkgemFzdG91cGVuYQpwxZllZHNlZG91CnDFmWVkc3RhdmVuc3R2YSBhIGdlbmVyw6FsbsOtbSDFmWVkaXRlbGVtIChkw6FsZQoKamVub20g4oCeUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmVi4oCcKQoKIAoKQW5kCgpBCgogCgpDemVjaAp0aGUKClJlcHVibGljCgooaGVyZWluYWZ0ZXIgcmVmZXJyZWQgYXMgIlByaW5jaXBhbAoKSW52ZXN0aWdhdG9yIikKCkNlc2vDoQrigJ5IbGF2bmkgWmtvdcWhZWrDrWPDreKAnCkKCnJlcHVibGlrYSAoZMOhbGUgamVub20KCiAKCkFuZAoKQQoKIAoKU2FuYUNJaXMgcy5yLm8uLCBhIGNvbnRyYWN0IHJlc2VhcmNoIG9yZ2FuaXphdGlvbgpoYXZpbmcgaXRzIHJlZ2lzdGVyZWQgcGxhY2Ugb2YgYnVzaW5lc3MgYXQgU3RhcmUKR3J1bnR5IDEzMCwgODQxIDA0LCBCcmF0aXNsYXZhLCBTbG92YWtpYSwgSWQuCk5vLjogMzU4MDQwODQgKGZvciBidXNpbmVzcyBpbiB0aGUgQ3plY2gKUmVwdWJsaWMgZXN0YWJsaXNoZWQgb3JnYW5pemF0aW9uIGNvbXBvbmVudApTYW5hQ0lpcyBzLnIuby4sIElELiBOby46IDIyNzczMjE1ICjigJxoZXJlaW5hZnRlcgpyZWZlcnJlZCBhcyAiQ1JPIiIpLCBhY3RpbmcgZm9yIGFuZCBvbiBiZWhhbGYgb2YKQklPQ0FEIEpTQywgaGF2aW5nIGl0cyByZWdpc3RlcmVkIHBsYWNlIG9mCmJ1c2luZXNzIGF0IFN2eWF6aSBzdHIuLCAzNOKAlEEsIFN0cmVsbmEsIDE5ODUxNSwKU2FpbnTigJRQZXRlcnNidXJnLCB0aGUgUnVzc2lhbiBGZWRlcmF0aW9uCihoZXJlaW5hZnRlciByZWZlcnJlZCBhcyB0aGUgIlNwb25zb3IiKS4KClNhbmFDSWlzIHMuci5vLiwgc21sdXZuw60gdsO9emt1bW5vdSBvcmdhbml6YWPDrSwKc2Ugc8OtZGxlbSBTdGFyw6kgR3J1bnR5IDEzMCwgODQxIDA0LCBCcmF0aXNsYXZhLApTbG92ZW5za8OhIFJlcHVibGlrYSwgSUM6IDM1ODA0MDg0IChwcm8gcG9kbmlrw6Fuw60KbmEgw7p6ZW3DrSBDUiB6xZnDrXplbmEgb3JnYW5penHEjW7DrSBzbG/FvmthIFNhbmFDSWlzCnMuci5vLiwgb3JnYW5pemHEjW7DrSBzbG/FvmthLCBJQzogMjI3NzMyMTUgKGTDoWxlCmplbm9tIOKAnkNST+KAnCksIGt0ZXLDoSB6YXN0dXB1amUgesOham15IHNwb2xlxI1ub3N0aQpCSU9DQUQgSlNDIHNlIHPDrWRsZW0gU3Z5YXppIHN0ci4sIDM04oCUQSwgU3RyZWxuYSwKMTk4NTE1LCBTYWludOKAlFBldGVyc2J1cmcsIFJ1c2vDoSBmZWRlcmFjZSAoZMOhbGUKamVub20g4oCeWmFkYXZhdGVs4oCcKS4KCiAKClN1YmplY3Qgb2YgdGhlIEFncmVlbWVudAoKUMWZZWRtxJt0IHNtbG91dnkKCiAKCiAKClRoZSBzdWJqZWN0IG9mIHRoZSBBZ3JlZW1lbnQgaXMgdGhhdCB0aGUgQ1JPCmFzc2lnbnMgQ2xpbmljYWwgU2l0ZSBhbmQgQ2xpbmljYWwgU2l0ZSBhY2NlcHRzIHRoaXMKYXNzaWdubWVudCB0byBjb25kdWN0IHRoZSBUcmlhbAoKKHRoZSAiVHJpYWwiKSBhbmQgdGhlIHB1cnBvc2UKb2YgdGhlIEFncmVlbWVudCBpcyB0byBkZXRlcm1pbmUgY29uZGl0aW9ucyBmb3IKdGhlIGNvbmR1Y3Qgb2YgdGhlIFRyaWFsIGFuZCB0byBkZWZpbmUgdGhlIHJpZ2h0cwoKIAoKUMWZZWRtxJt0ZW0gc21sb3V2eSBqZSBwb3bEm8WZZW7DrSBwb3NreXRvdmF0ZWxlCnpkcmF2b3Ruw61jaCBzbHXFvmViIHplIHN0cmFueSBDUk8gYSBzb3VobGFzCnBvc2t5dG92YXRlbGUgemRyYXZvdG7DrWNoIHNsdcW+ZWIgc2dvdsSbxZllbsOtbQpwcm92w6FkxJt0IGtsaW5pY2vDqSBob2Rub2NlbsOtCgooZMOhbGUgamVub20g4oCeS2xpbmlja8OpIGhvZG5vY2Vuw63igJwpIGEgw7rEjWVsZW0gdMOpdG8Kc21sb3V2eSBqZSBzdGFub3ZpdCBwb2Rtw61ua3kgcHJvIHByb3ZlZGVuw60KCiAKCkRPTUFKT1IgVHJpZ2FydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJIFYubCwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgMSBvZiAyMgoKIAoKIAoKIAoKYW5kIGR1dGllcyBvZiB0aGUgY29udHJhY3R1YWwgcGFydGllcyBoZXJldG8gZm9yCnRoZSBwZXJmb3JtYW5jZSBhbmQgcHJvY2Vzc2luZyBvZiB0aGUgVHJpYWwuClByb2NlZHVyZXMgYW5kIG1ldGhvZHMgb2YgdGhlIFRyaWFsIGFyZQpkZXNjcmliZWQgaW4gUHJvdG9jb2wgKHRoZSAiUHJvdG9jb3wiKSBlbnRpdGxlZAoiSW50ZXJuYXRpb25hbCBNdWx0aWNlbnRlciBSYW5kb21pemVkCkRvdWJsZS1CbGluZCBQbGFjZWJvLUNvbnRyb2xsZWQgQ2xpbmljYWwKVCByaWFsIEV2YWx1YXRpbmcgRWZmaWNhY3kgYW5kIFNhZmV0eSBPZiBCQ0QtCjEwMCBpbiBjb21iaW5hdGlvbiB3aXRoClBlbWV0cmV4ZWQrQ2lzcGxhdGluL0NhcmJvcGxhdGluCkNvbXBhcmVkIHRvIFBsYWNlYm8gaW4gY29tYmluYXRpb24gd2l0aApQZW1ldHJleGVkK0Npc3BsYXRpbi9DYXJib3BsYXRpbiBhcyBGaXJzdC0KTGluZSBUcmVhdG1lbnQgb2YgU3ViamVjdHMgd2l0aCBBZHZhbmNlZApOb24tc3F1YW1vdXMgTm9uLVNtYWxsIENlbGwgTHVuZyBDYW5jZXIKKE5TQ0xDKSIsIGJlaW5nIGluc2VwYXJhYmxlIHBhcnQgb2YgdGhpcwpBZ3JlZW1lbnQgYW5kIGF0dGFjaG1lbnRzIGhlcmV0by4KCmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gYSBkZWZpbm92YXQgcHLDoXZhCmFwb3Zpbm5vc3RpIHNtbHV2bsOtY2ggc3RyYW4gcHJvIHByb3ZlZGVuw60KYXpwcmFjb3bDoW7DrSBrbGluaWNrw6lobyBob2Rub2NlbsOtLiBQb3N0dXB5IGEKbWV0b2R5IGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60ganNvdSBwb3Bzw6FueQp2IHByb3Rva29sdSBzIG7DoXp2ZW0g4oCeTWV6aW7DoXJvZG7DrQptdWx0aWNlbnRyaWNrw6kgcmFuZG9taXpvdmFuw6kgZHZvaml0xJsKCnphc2xlcGVuw6kgcGxhY2ViZW0ga29udHJvbG92YW7DqSBrbGluaWNrw6kKaG9kbm9jZW7DrSBob2Rub3TDrWPDrSDDusSNaW5ub3N0IGEgYmV6cGXEjW5vc3QKQkNELTEwMCB2IGtvbWJpbmFjaSBzIFBlbWV0cmV4ZWQKK0Npc3BsYXRpbmEvQ2FyYm9wbGF0aW5hIHYgcG9yb3Zuw6Fuw60gcwpwb2TDoXbDoW7DrW0gUGxhY2ViYSB2IGtvbWJpbmFjaSBzClBlbWV0cmV4ZWQgK0Npc3BsYXRpbmEvQ2FyYm9wbGF0aW5hIGpha28KCmzDqcSNYnkgcHJ2bsOtIGxpbmllIHUgc3ViamVrdMWvIHMgcG9rcm/EjWlsw71tCgpuZXNrdmFtw7N6bsOtbSBuZW1hbG9idW7Em8SNbsO9bQprYXJjaW5vbWVtIHBsaWMgKCBOU0NMQynigJwgKGTDoWxlIGplbm9tCuKAnlByb3Rva2984oCcKSwga3RlcsO9IGplIG5lZMOtbG5vdSBzb3XEjcOhc3TDrSB0w6l0bwoKc21sb3V2eSBhIGplasOtY2ggcMWZw61sb2guCgogCgpUaGUgdHJpYWwgd2lsbCBiZSBjb25kdWN0ZWQgYXQgS3JhanNrw6EKbmVtb2NuaWNlIExpYmVyZWMsIGEucy4sIEtvbXBsZXhuw60Kb25rb2xvZ2lja8OpIGNlbnRydW0sIEh1c292YSAzNTcvIDEwLAoKTGliZXJlYyBJLVN0YXLDqSBNxJtzdG8sIDQ2MCA2MyBMaWJlcmVjLApDemVjaCBSZXB1YmxpYy4gQ2xpbmljYWwgU2l0ZTogQ1JPIGFuZCBTZW9uc29yCmFncmVlIHRvIGFzc2lnbiBhcwpQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHdobyB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvcgp0aGUgY29uZHVjdCBvZiB0aGUgVHJpYWwuCgpIb2Rub2NlbsOtIHNlIGJ1ZGUga29uYXQgdiBLcmFqc2vDqSBuZW1vY25pY2kKTGliZXJlYywgS29tcGxleG7DrW0gb25rb2xvZ2lja8OpbSBjZW50cnUsCkh1c292YSAzNTcvMTAsIExpYmVyZWMgSS1TdGFyw6kgTcSbc3RvLCA0NjAKNjMgTGliZXJlYywgxIxlc2vDoSByZXB1Ymxpa2EuIFBvc2t5dG92YXRlbAp6ZHJhdm90bsOtY2ggc2x1xb5lYiwgQ1JPIGEgemFkYXZhdGVsIHNlIGRvaG9kbGksIMW+ZQpqYWtvIGhsYXZuw61obyB6a291xaFlasOtY8OtaG8sIGt0ZXLDvSBidWRlIHpvZHBvdsSbZG7DvQoKemEgQnJvdmVkZW7DrSBrbGluaWNrw6lobyBob2Rub2NlbsOtLCBqbWVudWrDrQoKIAoKU2NvcGUgYW5kIG5hdHVyZSBvZiB0aGUgc2NpZW50aWZpYyB3b3JrcyBpcwpkZWZpbmVkIGluIHRoZSBQcm90b2NvbCB3aGljaCBpcyBjb25zaWRlcmVkIGFzIGFuCmludGVncmFsIHBhcnQgb2YgdGhlIEFncmVlbWVudC4KClJvenNhaCBhIGNoYXJha3RlciB2xJtkZWNrw71jaCBwcmFjw60gamUgZGVmaW5vdsOhbgp2IHByb3Rva29sdSwga3RlcsO9IGplIG5lZMOtbG5vdSBzb3XEjcOhc3TDrSB0w6l0bwpzbWxvdXZ5LgoKIAoKMS4gR2VuZXJhbCBjb25kaXRpb25zCgoxLiBWxaFlb2JlY27DqSBwb2Rtw61ua3kKCiAKCjEuMSBUaGUgVHJpYWwgd2lsbCBiZSBtYW5hZ2VkIGJ5IENSTyBhY3Rpbmcgb24KYmVoYWxmIG9mIFNwb25zb3IsIGZvciB0aGUgY2xpbmljYWwgZXZhbHVhdGlvbiBvZgpTcG9uc29yJ3MgSW52ZXN0aWdhdGlvbmFsIE1lZGljaW5hbCBQcm9kdWN0CihoZXJlYWZ0ZXIg4oCcVHJpYWwgRHJ1ZyIpIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUKUHJvdG9jb2wuCgoxLjEgS2xpbmlja8OpIGhvZG5vY2Vuw60gYnVkZSB2ZWRlbm8gQ1JPLCBqZWRuYWrDrWPDrQpqbcOpbmVtIHphZGF2YXRlbGUgemEgw7rEjWVsZW0ga2xpbmlja8OpaG8Kdnlob2Rub2NlbsOtIGhvZG5vY2Vuw6lobyBsw6nEjWl2w6lobyBwxZnDrXByYXZrdQp6YWRhdmF0ZWxlIChkw6FsZSBqZW5vbSDigJ5Ib2Rub2NlbsO9IGzDqcSNaXbDvQpwxZnDrXByYXZla+KAnCkgdiBzb3VsYWR1IHMgcHJvdG9rb2xlbS4KCiAKCjEuMiBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFyZQpvYmxpZ2VkIHRvIGNvbmR1Y3QgdGhlIFRyaWFsIGluIGFjY29yZGFuY2Ugd2l0aAp0aGUgUHJvdG9jb2wgd2hpY2ggaXMgcGFydCBvZiB0aGUgSW52ZXN0aWdhdG9yIFNpdGUKRmlsZSAoSVNGKS4gVGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3Igc2hhbGwgYWRoZXJlCnRvIGFsbCB0aGUgZ3VpZGVsaW5lcyBhbmQgdGhlIGRvY3VtZW50cyB0aGF0IGFyZQpjb250YWluZWQgaW4gdGhlIElTRiBhbmQgbXVzdCBtYWludGFpbiB0aGUgSVNGCmFuZCBrZWVwIGl0IHVwIHRvIGRhdGUgaW4gYWNjb3JkYW5jZSB0byB0aGUKcmVxdWVzdHMgb2YgQ1JPIG9yIFNwb25zb3IuIFRoZSBUcmlhbCBzaGFsbCBiZQpjb25kdWN0ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBydWxlcyBvZgpJbnRlcm5hdGlvbmFsIENvbmZlcmVuY2Ugb24gSGFybW9uaXphdGlvbiBHb29kCkNsaW5pY2FsIFByYWN0aWNlICjigJxJQ0ggR0NQIiksIHRoZSBEZWNsYXJhdGlvbiBvZgpIZWxzaW5raSBhcyB3ZWxsIGFzIGFsbCByZWxldmFudCBsYXdzLCBsb2NhbApyZWd1bGF0b3J5IHJlcXVpcmVtZW50cyBhbmQgZ3VpZGVsaW5lcyAoaW5jbHVkaW5nCkV1cm9wZWFuIE1lZGljaW5lcyBBZ2VuY3kgZ3VpZGVsaW5lcykgKGhlcmVhZnRlcgrigJxFTUEiKS4gcmVsYXRpdmUgdG8gdGhlIGNvbmR1Y3Qgb2YgY2xpbmljYWwgc3R1ZGllcywKY29uZGl0aW9ucyBpbXBvc2VkIGJ5IE11bHRpY2VudGVyIG9yIExvY2FsIEV0aGljcwpDb21taXR0ZWUsIGFueSB3cml0dGVuIGluc3RydWN0aW9uIG9mIHRoZQpTcG9uc29yIHJlbGF0ZWQgdG8gdGhlIGNvbmR1Y3Qgb2YgdGhlIFRyaWFsCmNvbW11bmljYXRlZCBieSBDUk8uCgoxLjIgUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEgaGxhdm7DrQp6a291xaFlasOtY8OtIGpzb3UgcG92aW5uaSBwcm92w6FkxJt0IGtsaW5pY2vDqSBob2Rub2NlbsOtCnZzb3VsYWR1IHNwcm90b2tvbGVtLCBrdGVyw70gamUgc291xI3DoXN0w60gc3Bpc3UKemtvdcWhZWrDrWPDrWhvIHZjZW50cnUga2xpbmlja8OpaG8gaG9kbm9jZW7DrQooSW52ZXN0aWdhdG9yIFNpdGUgRmlsZSwgSVNGKS4gSGxhdm7DrSB6a291xaFlasOtY8OtIGplCnBvdmluZW4gZG9kcsW+b3ZhdCB2xaFlY2hueSBwb2t5bnkgYSB1ZHLFvm92YXQKZG9rdW1lbnR5LCBrdGVyw6kganNvdSBvYnNhxb5lbnkgdklTRiwgdgpha3R1w6FsbsOtbSBzdGF2dSB2IHNvdWxhZHUgcyBwb8W+YWRhdmt5IENSTyBuZWJvCnphZGF2YXRlbGUuIEtsaW5pY2vDqSBob2Rub2NlbsOtIG11c8OtIGLDvXQgcHJvdmVkZW5vCnYgc291bGFkdSBzcHJhdmlkbHkgU3Byw6F2bsOpIGtsaW5pY2vDqSBwcmF4ZQpNZXppbsOhcm9kbsOtIGtvbmZlcmVuY2UgbyBoYXJtb25pemFjaSAoZMOhbGUgamVuCuKAnklDSCBHQ1DigJwpIGEgSGVsc2luc2vDqSBkZWtsYXJhY2UsIHN0ZWpuxJsgamFrbyBzZQp2xaFlbWkgcMWZw61zbHXFoW7DvW1pIHrDoWtvbnkgYSBwxZllZHBpc3ksIG3DrXN0bsOtbWkKcmVndWxhxI1uw61taSBwb8W+YWRhdmt5LCBwb2t5bnkgKHbEjWV0bsSbIHBva3luxa8KRXZyb3Bza8OpIGzDqWtvdsOpIGFnZW50dXJ5IChkw6FsZSBqZW4g4oCeRU1B4oCcKSkKdnp0YWh1asOtY8OtY2ggc2UgayBwcm92ZWRlbsOtIGtsaW5pY2vDvWNoIGhvZG5vY2Vuw60sCnBvZG3DrW5rYW1pIHVsb8W+ZW7DvW1pIE11bHRpY2VudHJpY2tvdSDEjWkgTG9rw6FsbsOtCkV0aWNrb3Uga29taXPDrSwgamFrw71taWtvbGkgcMOtc2VtbsO9bWkgcG9reW55CnphZGF2YXRlbGUgc2TEm2xlbsO9Y2ggcHJvc3TFmWVkbmljdHbDrW0gQ1JPLgoKIAoKIAoKMS4zIENSTyBpcyBvYmxpZ2VkIHRvIHN1cHBseSB0aGUgQ2xpbmljYWwgU2l0ZSB3aXRoCnRoZSBUcmlhbCBEcnVnLCBUcmlhbCBtYXRlcmlhbHMgYW5kIFRyaWFsCgogCgoxLjMgQ1JPIGplIHBvdmlubmEgcHJvIHBvc2t5dG92YXRlbGUgemRyYXZvdG7DrWNoCnNsdcW+ZWIgYmV6cGxhdG7EmyB6YWJlenBlxI1pdCBhIGRvZGF0IGhvZG5vY2Vuw70KCiAKCkRPTUFKT1IgVHJpcGFydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJICwgdi4xLCBEYXRlIGxTTUFZMjAyMAoKUGFnZSAyIG9mIDIyCgogCgogCgogCgplcXVpcG1lbnQgZnJlZSBvZiBjaGFyZ2UgaW4gYW1vdW50LCBuZWVkZWQgZm9yCmNvbmR1Y3RpbmcgdGhlIFRyaWFsIGF0IHRoaXMgU2l0ZS4gVGhpcyBUcmlhbCBEcnVnLApUcmlhbCBtYXRlcmlhbHMgYW5kIFRyaWFsIGVxdWlwbWVudCBhbmQgYWxsCmluZm9ybWF0aW9uIHBlcnRhaW5pbmcgdGhlcmV0byBnaXZlbiB0byBDbGluaWNhbApTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFyZSBleGNsdXNpdmUKcHJvcGVydHkgb2YgU3BvbnNvci4gUHJpbmNpcGFsIEludmVzdGlnYXRvciBrZWVwcwpyZXNwb25zaWJpbGl0eSBpbiBmcm9udCBvZiBDUk8gYW5kIG1hbmFnZW1lbnQgb2YKQ2xpbmljYWwgU2l0ZSBmb3IgVHJpYWwgRHJ1ZyAod2hpbGUgdGhlCmludmVzdGlnYXRpb25hbCBtZWRpY2luYWwgcHJvZHVjdCBpcyB1bmRlciBoaXMKc3VwZXJ2aXNpb24pIGFuZCBvdGhlciBUcmlhbCBtYXRlcmlhbHMgZGVsaXZlcmVkIHRvCnRoZSBDbGluaWNhbCBTaXRlIGZvciBUcmlhbCBwdXJwb3NlLiBDbGluaWNhbCBTaXRlIGFuZApQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHNoYWxsIHJldHVybiBhbGwgbWF0ZXJpYWwgYW5kCmluZm9ybWF0aW9uIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSB0ZXJtaW5hdGlvbiBvZgp0aGUgVHJpYWwgb3Igb24gd3JpdHRlbiByZXF1ZXN0IG9mIENSTyBleGNlcHQgZm9yCmEgY29weSBvZiB0aGUgaW5mb3JtYXRpb24gY29tcHVsc29yaWx5IGtlcHQgdW5kZXIKYXBwbGljYWJsZSBsYXcuCgpsw6nEjWl2w70gcMWZw61wcmF2ZWssIG1hdGVyacOhbCBhIHZ5YmF2ZW7DrQp2ZG9zdGF0ZcSNbsOpbSBtbm/FvnN0dsOtLCBrdGVyw6kgamUgcG90xZllYm7DqSBwcm8KcmVhbGl6YWNpIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gdiBjZW50cnUKcG9za3l0b3ZhdGVsZSB6ZHJhdm90bsOtY2ggc2x1xb5lYi4gSG9kbm9jZW7DvQoKbMOpxI1pdsO9IHDFmcOtcHJhdmVrLCBtYXRlcmnDoWwgYSB2eWJhdmVuw60gcHJvIGtsaW5pY2vDqQpob2Rub2NlbsOtIGEgdsWhZWNobnkgaW5mb3JtYWNlLCB2enRhaHVqw61jw60gc2UKayBob2Rub2NlbsOtLCBwb3NreXRudXTDqSBwb3NreXRvdmF0ZWxpIHpkcmF2b3Ruw61jaApzbHXFvmViIGEgaGxhdm7DrW11IHprb3XFoWVqw61jw61tdSwganNvdSB2w71ocmFkbsOtbQptYWpldGtlbSB6YWRhdmF0ZWxlLiBIbGF2bsOtIHprb3XFoWVqw61jw60gamUgdsWvxI1pCkNSTyBhdmVkZW7DrSBwb3NreXRvdmF0ZWxlIHpkcmF2b3Ruw61jaCBzbHXFvmViCm9kcG92xJtkbsO9IHphIGhvZG5vY2Vuw70gbMOpxI1pdsO9IHDFmcOtcHJhdmVrIChwbwpkb2J1LCBrZHkgamUgaG9kbm9jZW7DvSBsw6nEjWl2w70gcMWZw61wcmF2ZWsgcG9kIGplaG8KZG9obGVkZW0pIGFvc3RhdG7DrSBtYXRlcmnDoWwgZG9kYW7DvSBkbyBjZW50cmEKcG9za3l0b3ZhdGVsZSB6ZHJhdm90bsOtY2ggc2x1xb5lYiBwcm8gcG90xZllYnkKa2xpbmlja8OpaG8gaG9kbm9jZW7DrS4gUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaApzbHXFvmViIGEgaGxhdm7DrSB6a291xaFlasOtY8OtIGpzb3UgcG92aW5uaSB2ZcWha2Vyw70KbWF0ZXJpw6FsIGEgaW5mb3JtYWNlIHZyw6F0aXQgYmV6b2RrbGFkbsSbIHBvCnVrb27EjWVuw60ga2xpbmlja8OpaG8gaG9kbm9jZW7DrSBuZWJvIHBvIG9iZHLFvmVuw60KcMOtc2VtbsOpIMW+w6Fkb3N0aSBDUk8gKHMgdsO9amlta291IGtvcGllIGluZm9ybWFjw60KcG92aW5uxJsgdWNob3bDoXZhbsO9Y2ggbmEgesOha2xhZMSbIHDFmcOtc2x1xaFuw71jaApwcsOhdm7DrWNoIHDFmWVkcGlzxa8pLgoKIAoKMS40IENSTyAob3IgU3BvbnNvcikgaXMgb2JsaWdlZCB0byBwcm92aWRlClByaW5jaXBhbCBJbnZlc3RpZ2F0b3Igd2l0aCBmaW5hbCB2ZXJzaW9uIG9mIHRoZQpQcm90b2NvbCBhcyB3ZWxsIGFzIGFsbCBwcm90b2NvbCBhbWVuZG1lbnRzCmlzc3VlZCB0aHJvdWdob3V0IHRoZSBUcmlhbCBjb3Vyc2UgYW5kIGFjdHVhbAp2ZXJzaW9ucyBvZiBTdWJqZWN0IEluZm9ybWF0aW9uIGFuZCBJbmZvcm1lZApDb25zZW50IEZvcm1zIGFuZCBhbGwgb3RoZXIgVHJpYWwgZG9jdW1lbnRzLgpUaGUgQ1JPIGNvbmZpcm1zIHRoYXQgdGhlIFNwb25zb3IgaGFzIHRha2VuIG91dApjbGluaWNhbCB0cmlhbCBpbnN1cmFuY2UgaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24KNTIsIHBhci4gMyAoZikgb2YgQWN0IE5vLiAzNzgvMjAwNyBDb2xsLiwgT24KUGhhcm1hY2V1dGljYWxzLCBhcyBhbWVuZGVkLgoKMS40IENSTyAobmVibyB6YWRhdmF0ZWwpIGplIHBvdmlubmEgemFiZXpwZcSNaXQKaGxhdm7DrW11IHprb3XFoWVqw61jw61tdSBrb25lxI1ub3UgdmVyemkgcHJvdG9rb2x1LApzcG9sdSBzZG9kYXRreSBrcHJvdG9rb2x1IHZ5ZGFuw71taSB2IHByxa9ixJtodQpyZWFsaXphY2Uga2xpbmlja8OpaG8gaG9kbm9jZW7DrSBhYWt0dcOhbG7DrSB2ZXJ6ZQpJbmZvcm1hY8OtIHBybyBzdWJqZWt0IGEgZm9ybXVsw6HFmSBpbmZvcm1vdmFuw6lobwpzb3VobGFzdSBzcG9sdSBzZSB2xaFlbWkgb3N0YXRuw61taSBkb2t1bWVudHkga2UKa2xpbmlja8OpbXUgaG9kbm9jZW7DrS4gQ1JPIHBvdHZyenVqZSwgxb5lClphZGF2YXRlbCB1emF2xZllbCBwb2ppxaF0xJtuw60ga2xpbmlja8OpaG8gaG9kbm9jZW7DrQp2IHNvdWxhZHUgcyDFoSA1MiBvZHN0LiAzIChmKSB6w6Frb25hIMSNLiAzNzgvMjAwNwpTYi4sIG8gbMOpxI1pdmVjaCB2IHBsYXRuw6ltIHpuxJtuw60uCgogCgoxLjUgQ2xpbmljYWwgU2l0ZSBhbmQgUHJpbmNpcGFsIEludmVzdGlnYXRvcgpndWFyYW50ZWUgdGhhdCBUcmlhbCBEcnVnIGlzIHVzZWQgb25seSBmb3IgVHJpYWwKcHVycG9zZXMgYW5kIGlzIGFkZXF1YXRlbHkgc3RvcmVkLiBBbnkKY29tbWVyY2lhbCB1c2Ugb2YgdGhlIFRyaWFsIERydWcgaXMgcHJvaGliaXRlZC4KCjEuNSBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCnprb3XFoWVqw61jw60gc2UgemFydcSNdWrDrSwgxb5lIGhvZG5vY2Vuw70gbMOpxI1pdsO9CnDFmcOtcHJhdmVrIGJ1ZGUgc3Byw6F2bsSbIHNrbGFkb3bDoW4gYSBidWRlIHBvdcW+aXQKcG91emUga8O6xI1lbMWvbSBrbGluaWNrw6lobyBob2Rub2NlbsOtLiBKYWvDqWtvbGl2CmtvbWVyxI1uw60gcG91xb5pdMOtIGhvZG5vY2Vuw6lobyBsw6nEjWl2w6lobyBwxZnDrXByYXZrdQpqZSB6YWvDoXrDoW5vLgoKIAoKMS42IENsaW5pY2FsIFNpdGUgc2hhbGwgdXNlIGl0cyBiZXN0IGVmZm9ydHMgdG8KZW5zdXJlIHRoYXQgdGhlcmUgYXJlIG5vIGNoYW5nZXMgaW4gdGhlIHBlcnNvbiBvZgp0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBkdXJpbmcgdGhlIHRlcm0gb2YgdGhlCmNvbnRyYWN0LiBDbGluaWNhbCBTaXRlIHdpbGwgbWFrZSBhbGwgbmVjZXNzYXJ5CmVmZm9ydHMgdG8gc2VsZWN0IGFuIGFwcHJvcHJpYXRlIHN1Y2Nlc3Nvcgp3aGVyZXVwb24gQ1JPIGluIGNvb3BlcmF0aW9uIHdpdGggU3BvbnNvciBzaGFsbAphdCBpdHMgc29sZSBkaXNjcmV0aW9uIGFwcHJvdmUgb3IgcmVqZWN0IGFueSBzdWNoCnJlcGxhY2VtZW50IHdpdGhpbiBhIHJlYXNvbmFibGUgdGltZS4gSW4gY2FzZSwgaWYKbmV3IFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgaXMgbm90IGFwcHJvdmVkIGJ5IHRoZQpDUk8sIHByZXNlbnQgQWdyZWVtZW50IG1heSBiZSB0ZXJtaW5hdGVkIGluCmFjY29yZGFuY2Ugd2l0aCBjbGF1c2UgNC4yIG9mIHRoZSBwcmVzZW50CkFncmVlbWVudC4KCjEuNiBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgdnl2aW5lCm1heGltw6FsbsOtIMO6c2lsw60sIGFieSB2cHLFr2LEm2h1IHRydsOhbsOtIHNtbG91dnkKbmVkb8WhbG8ga2Ugem3Em27EmyBobGF2bsOtaG8gemtvdcWhZWrDrWPDrWhvLgpQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgdnl2aW5lIHZlxaFrZXLDqQpuZXpieXRuw6kgw7pzaWzDrSB6YSDDusSNZWxlbSB2w71ixJtydSB2aG9kbsOpaG8KbsOhc3R1cGNlLCBuYcSNZcW+IGhvIENSTyB2ZSBzcG9sdXByw6FjaQpzZSB6YWRhdmF0ZWxlbSBzY2h2w6Fsw60gbmVibyB6YW3DrXRuZSBwb2RsZQp2bGFzdG7DrWhvIHV2w6HFvmVuw60gdiBwxZlpbcSbxZllbsOpIGxoxa90xJsuIFYgcMWZw61wYWTEmyDFvmUKbm92w70gaGxhdm7DrSB6a291xaFlasOtY8OtIG5lbsOtIHNjaHbDoWxlbiBDUk8sIHRhdG8Kc21sb3V2YSBtxa/FvmUgYsO9dCB1a29uxI1lbmEgdiBzb3VsYWR1CnMgdXN0YW5vdmVuw61tIDQuMiB0w6l0byBzbWxvdXZ5LgoKIAoKIAoKMS43IENsaW5pY2FsIFNpdGUgaXMgb2JsaWdlZCB0byBwcm92aWRlIFBJIHdpdGggbW9zdApzdWl0YWJsZSBjb25kaXRpb25zIGZvciB0aGUgc3ViamVjdHMnIGVucm9sbWVudCBpbgphY2NvcmRhbmNlIHdpdGggdGhlIFByb3RvY29sLiBTdWJqZWN0cycKZW5yb2xtZW50IHNoYWxsIHN0YXJ0IG9uIDIwMjAgYW5kIGZpbmlzaCBvbgoKMjAyMCAoaGVyZWFmdGVyICJFbnJvbG1lbnQgcGVyaW9kIikuCgpFc3RpbWF0ZWQgTnVtYmVyIG9mIHN1YmplY3RzIChoZXJlYWZ0ZXIK4oCcUmVjcnVpdG1lbnQgTnVtYmVyIikgdG8gYmUgcmVjcnVpdGVkOgp0cmVhdGVkOgoKIAoKMS43IFBvc2t5dG92YXRlbCB6ZHJhdm90bsOtY2ggc2x1xb5lYiBqZSBwb3ZpbmVuCgp6YWJlenBlxI1pdCBobGF2bsOtbXUgemtvdcWhZWrDrWPDrW11IHZob2Ruw6kKcG9kbcOtbmt5IHBybyBuw6Fib3Igc3ViamVrdMWvIHYgc291bGFkdQpzIHByb3Rva29sZW0uIE7DoWJvciBzdWJqZWt0xa8gemHEjW5lIHYgMjAyMAoKYSBza29uxI3DrSB2IDIwMjAgKGTDoWxlIGplbiDigJ5vYmRvYsOtIG7DoWJvcnXigJwpLgoKT2RoYWRvdmFuw70gcG/EjWV0IHN1Ympla3TFryAoZMOhbGUgamVuIOKAnlBvxI1ldAo7YcWZYXplbsO9Y2ggc3ViamVrdMWv4oCcKSwga3RlxZnDrSBidWRvdSBuYWJyw6Fuw606Cidsw6nEjWVuaToKCiAKCiAKCkRPTUFKT1IgVHJpcGFydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJICwgVi5sLCBEYXRlIGxTTUFZMjAyMAoKUGFnZSAzIG9mIDIyCgogCgogCgpUaGUgcmVjcnVpdG1lbnQgb2YgdGhlIFRyaWFsIGlzIGEgY29tcGV0aXRpdmUgb25lCmFuZCB3aWxsIGJlIHN0b3BwZWQgYWZ0ZXIgdGhlIHdvcmxkd2lkZQpyZWNydWl0bWVudCBnb2FsIGhhcyBiZWVuIGFjaGlldmVkLiBBdCBhbnkgdGltZSwKU3BvbnNvciBtYXkgY2hhbmdlIEVucm9sbWVudCBwZXJpb2QsIENSTwpyZXRhaW5zIHRoZSByaWdodCB0byBkaXNjb250aW51ZSB0aGUgVHJpYWwKcHJlbWF0dXJlbHkgZHVlIHRvIGluc3VmZmljaWVudCByZWNydWl0bWVudC4gVGhpcwppbmZvcm1hdGlvbiBoYXMgdG8gYmUgcHJvdmlkZWQgaW1tZWRpYXRlbHkgYnkKQ1JPIHRvIHRoZSBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yCmJ5IG9mZmljaWFsIHxldHRlciBvZiBDUk8uIFRoZSBQYXJ0aWVzIGFncmVlIHRoYXQKQW1lbmRtZW50IHRvIHRoaXMgQWdyZWVtZW50IHdpbGwgbm90IGJlCm5lY2Vzc2FyeSB0byBjaGFuZ2UgRW5yb2xtZW50IHBlcmlvZCBvcgpSZWNydWl0bWVudCBudW1iZXIuCgpOw6Fib3IgZG8ga2xpbmlja8OpaG8gaG9kbm9jZW7DrSBqZSBrb25rdXJlbsSNbsOtIGEKYnVkZSB6YXN0YXZlbiwga2R5xb4gYnVkZSBkb3Nhxb5lbiBjZWxvc3bEm3RvdsO9IGPDrWwKbsOhYm9ydS4gWmFkYXZhdGVsIG3Fr8W+ZSBrZHlrb2xpIHptxJtuaXQgb2Jkb2LDrQpuw6Fib3J1LCBDUk8gc2kgdnlocmF6dWplIHByw6F2byBwxZllZMSNYXNuxJsgdWtvbsSNaXQKa2xpbmlja8OpIGhvZG5vY2Vuw60geiBkxa92b2R1IG5lZG9zdGF0ZcSNbsOpaG8KbsOhYm9ydS4gQ1JPIG11c8OtIHR1dG8gaW5mb3JtYWNpIG5lb2RrbGFkbsOpIHNkxJtsaXQKcG9za3l0b3ZhdGVsaSB6ZHJhdm90bsOtY2ggc2x1xb5lYiBhIGhsYXZuw61tdQp6a291xaFlasOtY8OtbXUgZm9ybW91IG9maWNpw6FsbsOtaG8gZG9waXN1IENSTy4KU21sdXZuw60gc3RyYW55IHNvdWhsYXPDrSBzIHTDrW0sIMW+ZSBwb2t1ZCBkb2pkZSBrZQp6bcSbbsSbIHYgb2Jkb2LDrSBuw6Fib3J1IMSNaSBwb8SNdHUgemHFmWF6ZW7DvWNoCnN1Ympla3TFrywgbmVuw60gbnV0bsO9IGRvZGF0ZWsgc21sb3V2eS4KCiAKCkVhY2ggc3ViamVjdCBzaGFsbCBiZSBmdWxseSBpbmZvcm1lZCBvbiB0aGUKZXNzZW5jZSBhbmQgc2lnbmlmaWNhbmNlIG9mIHRoZSBUcmlhbCBhbmQgbGVnYWxseQpyZXF1aXJlZCBpbmZvcm1lZCBjb25zZW50LiBQcmluY2lwYWwgSW52ZXN0aWdhdG9yCndpbGwgcmVjZWl2ZSBmcm9tIENSTy9TcG9uc29yIGEgdGVtcGxhdGUgb2YKbGVnYWxseSByZXF1aXJlZCBpbmZvcm1lZCBjb25zZW50IHRvIGFzc3VyZSBpdHMKc2lnbmluZyBiZWZvcmUgcGFydGljaXBhdGlvbiBpbiB0aGUgVHJpYWwuCgpLYcW+ZMO9IHN1Ympla3QgbXVzw60gYsO9dCBwbG7EmyBpbmZvcm1vdsOhbiBvCnBvZHN0YXTEmyBhIHbDvXpuYW11IGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60uIEhsYXZuw60KemtvdcWhZWrDrWPDrSBvYmRyxb7DrSBvZCBDUk8vWmFkYXZhdGVsZSB2em9yCnrDoWtvbmVtIHBvxb5hZG92YW7DqWhvIGluZm9ybW92YW7DqWhvIHNvdWhsYXN1CnBybyB6YWppxaF0xJtuw60gamVobyBwb2RwaXN1IHDFmWVkIHphcG/EjWV0w61tIMO6xI1hc3RpCnN1Ympla3R1IHYga2xpbmlja8OpbSBob2Rub2NlbsOtLgoKIAoKMS44IEluIHBlcmZvcm1pbmcgdGhlIFRyaWFsLCBDbGluaWNhbCBTaXRlIGlzIG9ibGlnZWQKdG86CgoxLjggUMWZaSByZWFsaXphY2kga2xpbmlja8OpaG8gaG9kbm9jZW7DrQpwb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgcG92aW5lbjoKCmplCgogCgphKSBmdWxseSBjb29wZXJhdGUgd2l0aCBTcG9uc29yIGFuZCBQcmluY2lwYWwKSW52ZXN0aWdhdG9yIG9uIHRoZSBUcmlhbCBhbmQsIGluIHBhcnRpY3VsYXIsCnByb3ZpZGUgYWRlcXVhdGUgbnVtYmVyIG9mIHF1YWxpZmllZCBzdGFmZnMgdG8KY29uZHVjdCB0aGUgVHJpYWwgcHJvcGVybHkgYW5kIHNhZmVseSBhbmQgcHJvdmlkZQpuZWNlc3NhcnkgZmFjaWxpdGllcyBmb3IgdGhlIGNvbmR1Y3Qgb2YgdGhlIFRyaWFsOwoKYSkgcGxuxJsgc3BvbHVwcmFjb3ZhdCBzZSB6YWRhdmF0ZWxlbSBhIGhsYXZuw61tCnprb3XFoWVqw61jw61tIG5hIGtsaW5pY2vDqW0gaG9kbm9jZW7DrSBhLCB0byB6ZWptw6luYSwKcG9za3l0bm91dCBkb3N0YXRlxI1uw70gcG/EjWV0IGt2YWxpZmlrb3ZhbsOpaG8KcGVyc29uw6FsdSBuYSBzcHLDoXZuw6kgYSBiZXpwZcSNbsOpIHByb3ZlZGVuw60KCmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gYSBwb3NreXRub3V0IHBvdMWZZWJuw6kKesOhemVtw60gYSB2eWJhdmVuw60gbmEgcHJvdmVkZW7DrSBrbGluaWNrw6lobwpob2Rub2NlbsOtOwoKIAoKYikgZ3VhcmFudGVlIHRoYXQgb3RoZXIgdHJpYWxzIGRvIG5vdCB0YWtlCmVzc2VudGlhbCBzdWJqZWN0cyBvciBmYWNpbGl0aWVzIGF3YXkgZnJvbSB0aGUgVHJpYWw7CgpiKSBzZSB6YXJ1xI1pdCwgxb5lIGppbsOpIGtsaW5pY2vDqSBob2Rub2NlbsOtIG5lb3ZsaXZuw60Kw7rEjWFzdCBzdWJqZWt0xa8sIG5lYm8gbmVvdmxpdm7DrSB2eXXFvml0w60gdnliYXZlbsOtCnBvdMWZZWJuw6lobyBrIHByb3ZlZGVuw60gaG9kbm9jZW7DrTsKCiAKCmMpIGFjY2VwdCBtb25pdG9yaW5nIHZpc2l0cyBhbmQgc291cmNlIGRhdGEKdmVyaWZpY2F0aW9uIGluIGFncmVlZCB1cG9uIGZyZXF1ZW5jeTsKCmMpIGFrY2VwdG92YXQgbW9uaXRvcm92YWPDrSBuw6F2xaF0xJt2eSBhIG92xJvFmW92w6Fuw60KemRyb2pvdsO9Y2ggZGF0IHN1Ympla3TFryB6YcWZYXplbsO9Y2ggZG8ga2xpbmlja8OpaG8KaG9kbm9jZW7DrSB2IGRvaG9kbnV0w71jaCB0ZXJtw61uZWNoOwoKIAoKZCkgYWxsb3cgdmlzaXRzIG9mIGxvY2FsIGFuZCBmb3JlaWduIGF1dGhvcml0aWVzIGFuZApyZXByZXNlbnRhdGl2ZXMgb2YgU3BvbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YKbW9uaXRvcmluZywgaW5zcGVjdGlvbnMsIGFuZCBhdWRpdHMgaW5jbHVkaW5nCmFjY2VzcyB0byB0aGUgRWxlY3Ryb25pYyBDYXNlIFJlY29yZCBGb3JtcwooZUNSRnMpIGFuZCBob3NwaXRhbCBzdWJqZWN0IHJlY29yZHMgYW5kIG90aGVyCmRvY3VtZW50YXRpb24gZm9yIHNvdXJjZSBkYXRhIHZlcmlmaWNhdGlvbjsKCmQpIHVtb8W+bml0IG7DoXbFoXTEm3Z5IG7DoXJvZG7DrWNoIGEgemFocmFuacSNbsOtY2gKc3Byw6F2bsOtY2ggw7rFmWFkxa8gYSBuw6F2xaF0xJt2eSB6w6FzdHVwY8WvIHphZGF2YXRlbGUsCnZ5a29uYW7DvWNoIHphIMO6xI1lbGVtIG1vbml0b3Jpbmd1LCBrb250cm9seSBhCmF1ZGl0dS4gVW1vxb5uaXQgcMWZw61zdHVwIGsgZWxla3Ryb25pY2vDvW0KesOhem5hbcWvbSBzdWJqZWt0xa8gaG9kbm9jZW7DrSAoZUNSRiksCmtuZW1vY25pxI1uw61tIHrDoXpuYW3Fr20gc3ViamVrdHUgYSBrb3N0YXRuw61tCmRva3VtZW50xa9tIHBvdMWZZWJuw71tIGtvdsSbxZlvdsOhbsOtIHpkcm9qb3bDvWNoCmRhdC4KCiAKCkNsaW5pY2FsIFNpdGUgYWdyZWVzIHRvIGNvbmR1Y3QgdGhlIFRyaWFsLCB0byBoYW5kbGUKYW5kIHN0b3JlIGFueSBkYXRhIGFuZCBzb3VyY2UgZG9jdW1lbnRhdGlvbiwKY29ubmVjdGVkIHRvIHRoZSBUcmlhbCwgZHVyaW5nIHRoZSB2YWxpZGl0eSB0ZXJtCmFuZCBhZnRlciBleHBpcmF0aW9uIG9mIHRoZSBwcmVzZW50IEFncmVlbWVudCBpbgpjb21wbGlhbmNlIHRvIGFwcGxpY2FibGUgbGF3cyBhbmQgcmVndWxhdG9yeQpyZXF1aXJlbWVudHMsIHN0aXB1bGF0ZWQgb24gdGhlIHRlcnJpdG9yeSBvZiBDemVjaApSZXB1YmxpYywgSUNIIEdDUCBhbmQgRU1BIHJlcXVpcmVtZW50cy4KClBvc2t5dG92YXRlbCB6ZHJhdm90bsOtY2ggc2x1xb5lYiBzb3VobGFzw60gcyB0w61tLCDFvmUKYnVkZSBwcm92w6FkxJt0IGtsaW5pY2vDqSBob2Rub2NlbsOtLCB6cHJhY292w6F2YXQKYSB1Y2hvdsOhdmF0IGpha8Oha29saXYgZGF0YSBhIGRva3VtZW50eQpzb3V2aXNlasOtY8OtIHMga2xpbmlja8O9bSBob2Rub2NlbsOtbSB2IHByxa9ixJtodQpwbGF0bm9zdGksIGEgaSBwbyB1a29uxI1lbsOtIHTDqXRvIHNtbG91dnkgdiBzb3VsYWR1CnMgcGxhdG7DvW1pIHByw6F2bsOtbWkgcMWZZWRwaXN5IGEgamlub3UgcmVndWxhY8OtCnBsYXRub3UgbmEgw7p6ZW3DrSBDZXNrw6kgcmVwdWJsaWt5LCBzcG/FvmFkYXZreQpJQ0ggR0NQIGEgRU1BLgoKIAoKIAoKQ2xpbmljYWwgU2l0ZSBpcyBmdXJ0aGVyIG9ibGlnZWQgdG8gZ3VhcmFudGVlIHRoYXQKdGhlIGVudGlyZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBUcmlhbCwgZS5nLgpwcm90b2NvbCwgZUNSRnMsIElTRiwgU3ViamVjdCBJbmZvcm1lZCBDb25zZW50LApzb3VyY2UgZGF0YSwgbGlzdCBvZiBzdWJqZWN0IGlkZW50aWZpY2F0aW9uLCB3aWxsIGJlCgogCgpQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgamUgZMOhbGUgcG92aW5lbgp6YXJ1xI1pdCBiZXpwZcSNbm91IGFyY2hpdmFjaSB2ZcWha2Vyw71jaCBkb2t1bWVudMWvCmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gbmFwxZnDrWtsYWQgcHJvdG9rb2wsIGVDUkYsCklTRiwgaW5mb3Jtb3ZhbsOpIHNvdWhsYXN5IHN1Ympla3TFrywgemRyb2pvdsOhCgogCgpET01BSk9SIFRyaWJhcnRpdGUgQ2xpbmljYWwgVHJpYWwgQWdyZWVtZW50IFNhbmFDSWlzIENaIEtyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCgpQSSAsIFYubCwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgNCBvZiAyMgoKIAoKIAoKIAoKc2VjdXJlbHkgYXJjaGl2ZWQgYnkgdGhlIENsaW5pY2FsIFNpdGUgZm9yIGF0IGxlYXN0CmZpZnRlZW4gKDE1KSB5ZWFycyBhZnRlciB0aGUgVHJpYWwgZW5kIChjbG9zZeKAlG91dAp2aXNpdHMpLiBBdCBubyB0aW1lIGR1cmluZyB0aGlzIHBlcmlvZCBzdWNoIHJlY29yZHMKc2hhbGwgYmUgZGVzdHJveWVkIHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4KY29uc2VudCBvZiBTcG9uc29yIG9yIGl0cyBkZXNpZ25hdGVkIHBhcnR5LiBUbwphdm9pZCBhbnkgcG9zc2libGUgZXJyb3JzLCBDbGluaWNhbCBTaXRlIHNoYWxsCmNvbnRhY3QgQ1JPIG9yIFNwb25zb3IgYXQgbGVhc3QgdGhpcnR5ICgzMCkgZGF5cwpwcmlvciB0byB0aGUgaW50ZW5kZWQgZGVzdHJ1Y3Rpb24gb2YgcmVjb3Jkcy4KCmRhdGEsIGlkZW50aWZpa2HEjW7DrSBzZXpuYW0gc3ViamVrdMWvIHZwcsWvYsSbaHUKbmVqbcOpbsSbIHBhdG7DoWN0ICgxNSkgbGV0IG9kIHVrb27EjWVuw60gaG9kbm9jZW7DrQoocG8gesOhdsSbcmXEjW7DqSBuw6F2xaF0xJt2xJspLiBWIMW+w6FkbsOpbSBva2Ftxb5pa3UKYsSbaGVtIHRvaG90byBvYmRvYsOtIHNlIHR5dG8gesOhem5hbXkgbmVzbcOtIHpuacSNaXQKYmV6IHDFmWVkY2hvesOtaG8gcMOtc2VtbsOpaG8gc291aGxhc3UgemFkYXZhdGVsZQpuZWJvIGrDrW0gdXLEjWVuw71tIHN1Ympla3RlbS4gQWJ5IHNlIHphYnLDoW5pbG8KcMWZw61wYWRuw6kgY2h5YsSbLCBobGF2bsOtIHprb3XFoWVqw61jw60gbXVzw60gesOhbcSbcgpza2FydGFjZSBvem7DoW1pdCBDUk8gbmVibyB6YWRhdmF0ZWxpIG5lam3DqW7Emwp0xZlpY2V0ICgzMCkgZG7FryBwxZllZCB6YW3DvcWhbGVuw71tIHpuacSNZW7DrW0KesOhem5hbcWvLgoKIAoKRnVydGhlcm1vcmUsIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3Igd2lsbCBndWFyYW50ZWUKdGhhdCBhbGwgcmVxdWlyZW1lbnRzIGZvciBSZW1vdGUgRGF0YSBDYXB0dXJlCihSREMpIGFyZSBpbiBwbGFjZS4KCkTDoWxlIHNlIGhsYXZuw60gemtvdcWhZWrDrWPDrSB6YXJ1xI11amUsIMW+ZSB2xaFlY2hueQpwb8W+YWRhdmt5IHBybyB2emTDoWxlbsO9IHrDoXpuYW0gw7pkYWrFryAoUmVtb3RlCkRhdGEgQ2FwdHVyZSwgUkRDKSBqc291IHphamnFoXTEm255CgogCgpDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFncmVlIHRoYXQKdGhpcyBBZ3JlZW1lbnQgbWF5IGJlIGZvcndhcmRlZCB0byBFdGhpY3MKQ29tbWl0dGVlIGFuZC9vciByZWd1bGF0b3J5IChjb21wZXRlbnQpCmF1dGhvcml0aWVzLCBpZiByZXF1ZXN0ZWQgYnkgbG9jYWwgbGF3LgoKUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEgaGxhdm7DrSB6a291xaFlasOtY8OtCnNvdWhsYXPDrSBzIHTDrW0sIMW+ZSB0YXRvIHNtbG91dmEgbcWvxb5lIGLDvXQKcG9zdG91cGVuYSBFdGlja8OpIGtvbWlzaSBhL25lYm8gamluw71tIHDFmcOtc2x1xaFuw71tCihrb21wZXRlbnRuw61tKSBvcmfDoW7Fr20sIGtkecW+IHRvIGJ1ZGUKcG/FvmFkb3bDoW5vIG7DoXJvZG7DrW1pIHrDoWtvbnkuCgogCgpDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHNoYWxsIG5vdGlmeQp0aGUgQ1JPIG9yIFNwb25zb3IgYWJvdXQgZXZlcnkgaW5zdXJhbmNlIGNsYWltCml0IGhhcyBiZWVuIG5vdGlmaWVkIG9mIGFuZCBjb25zZW50cyB0aGF0IHRoaXMKQWdyZWVtZW50IG1heSBiZSBmb3J3YXJkZWQgdG8gdGhlIHJlc3BlY3RpdmUKaW5zdXJhbmNlIGNvbXBhbnkgaW4gY2FzZSBvZiBhbiBpbnN1cmFuY2UgY2xhaW0uCgpQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtIHprb3XFoWVqw61jw60KamUgcG92aW5lbiBpbmZvcm1vdmF0IENSTyBuZWJvIHphZGF2YXRlbGUgbwp2em5pa3Uga2HFvmTDqSBwb2ppc3Ruw6kgdWTDoWxvc3RpLCBrdGVyw6EgYnlsYSBobMOhxaFlbmEKYSBzb3VobGFzw60sIMW+ZSB0YXRvIHNtbG91dmEgbcWvxb5lIGLDvXQgcMWZZWTDoW5hCnDFmcOtc2x1xaFuw6kgcG9qacWhxaVvdm7EmyB2IHDFmcOtcGFkxJsgdGFrb3bDqSBwb2ppc3Ruw6kKdWTDoWxvc3RpLgoKIAoKQ2xpbmljYWwgU2l0ZSBpcyBmdWxseSByZXNwb25zaWJsZSBmb3IgY29tcGx5aW5nIHdpdGgKdGhlIHByb3Zpc2lvbnMgb2YgdGhlIENvbmZpZGVudGlhbGl0eSBDbGF1c2UgYXMgc2V0CmZvcnRoIGluIGNsYXVzZSA1LjIgb2YgdGhpcyBBZ3JlZW1lbnQgYW5kIHdpbGwgYmUKaGV8ZCBsaWFibGUgZm9yIGFueSBicmVhY2ggb2Ygc2FpZCBDb25maWRlbnRpYWxpdHkKQ2xhdXNlLCBubyBtYXR0ZXIgd2hldGhlciB0aGUgYnJlYWNoIG9mIHNhaWQKQ29uZmlkZW50aWFsaXR5IENsYXVzZSBpcyBjb21taXR0ZWQgYnkgbGVhZGluZwpvZmZpY2VycyBvZiB0aGUgQ2xpbmljYWwgU2l0ZSBvciBvbmUgb3IgbW9yZSBvZiBpdHMKZW1wbG95ZWVzLgoKUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGplIHBsbsSbCnpvZHBvdsSbZG7DvSB6YSBkb2Ryxb5vdsOhbsOtIHVzdGFub3ZlbsOtIG8KRMWvdsSbcm5vc3RpLCBqYWsgamUgdXZlZGVubyB2IGJvZHUgNS4yIHTDqXRvCnNtbG91dnksIGplIG9kcG92xJtkbsO9IHphIHBvcnXFoWVuw60gcG92aW5ub3N0aQptbMSNZW5saXZvc3RpLCBiZXogb2hsZWR1IG5hIHRvLCB6ZGEgc2UgcG9ydcWhZW7DrQptbMSNZW5saXZvc3RpIGRvcHVzdGlsIHZlZG91Y8OtIHByYWNvdm7DrWsKcG9za3l0b3ZhdGVsZSB6ZHJhdm90bsOtY2ggc2x1xb5lYiBuZWJvIGplZGVuIMSNaQp2w61jZSBqZWhvIHphbcSbc3RuYW5jxa8uCgogCgpDbGluaWNhbCBzaXRlIHNoYWxsIGFjdCBpbiBmdWxsIGNvbXBsaWFuY2Ugd2l0aAphcHBsaWNhYmxlIGFudGnigJRjb3JydXB0aW9uIGxlZ2lzbGF0aW9ucyBhcyB3ZWxsIGFzCmFueSBhcHBsaWNhYmxlIGluZHVzdHJ5IGNvZGVzLgoKxZnDrWRpdApzdGVqbsSbIGpha28KClBvc2t5dG92YXRlbCB6ZHJhdm90bsOtY2ggc2x1xb5lYiBzZSBtdXPDrQpwbGF0bm91IHByb3Rpa29ydXDEjW7DrSBsZWdpc2xhdGl2b3UsCnDFmcOtc2x1xaFuw71taSBzbcSbcm5pY2VtaS4KCiAKCjEuOSBPYmxpZ2F0aW9ucyBvZiB0aGUgUHJpbmNpcGFsIGludmVzdGlnYXRvcgoKMS45IFBvdmlubm9zdGkgaGxhdm7DrWhvIHprb3XFoWVqw61jw61obwoKIAoKYSkgUHJvdmlkZSBhZGVxdWF0ZSBudW1iZXIgb2YgcXVhbGlmaWVkIHN0YWZmcyB0bwpjb25kdWN0IHRoZSBjbGluaWNhbCB0cmlhbCBwcm9wZXJseSBhbmQgc2FmZWx5LgoKYSkgWmFqaXN0aXQgYWRla3bDoXRuw60gcG/EjWV0IGt2YWxpZmlrb3ZhbsOpaG8KcGVyc29uw6FsdSB6YSDDusSNZWxlbSBzcHLDoXZuw6ksIGFkZWt2w6F0bsOtCmEgYmV6cGXEjW7DqSByZWFsaXphY2Uga2xpbmlja8OpaG8gaG9kbm9jZW7DrS4KCiAKCmIpIFdvcmsgYWNjb3JkaW5nIHRvIHRoaXMgQWdyZWVtZW50LCBJQ0ggR0NQLApEZWNsYXJhdGlvbiBvZiBIZWxzaW5raSwgdGhlIFByb3RvY29sIGFuZCBhbnkKYW1lbmRtZW50cyB0aGVyZXRvIGFzIHdlbGwgYXMgYWxsIHJlbGV2YW50IGxhd3MKYW5kIGxvY2FsIHJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzLgoKYikgUHJhY292YXQgdiBzb3VsYWR1IHMgdG91dG8gc21sb3V2b3UsIHNlCnrDoXNhZGFtaSBJQ0ggR0NQLCBIZWxzaW5za291IGRla2xhcmFjw60sCnByb3Rva29sZW0gYSB2xaFlbWkgamVobyBkb2RhdGt5IGEgdGFrw6kgdiBzb3VsYWR1CnNlIHbFoWVtaSBwxZnDrXNsdcWhbsO9bWkgcHLDoXZuw61taSBhIGppbsO9bWkgcMWZZWRwaXN5LgoKIAoKYykgRW5zdXJlIG5vdCB0byBpbmNsdWRlIHRoZSBzYW1lIHN1YmplY3RzIGluCmFub3RoZXIgY2xpbmljYWwgVHJpYWwgZHVyaW5nIHRoZSBkdXJhdGlvbiBvZiB0aGlzClRyaWFsIGluY2x1ZGluZyBhIGZvbGxvd+KAlHVwIGV4YW1pbmF0aW9uIGlmCnJlcXVpcmVkLgoKYykgWmFqaXN0aXQsIGFieSBzZSBzdGVqbsOpIHN1Ympla3R5IG5lw7rEjWFzdG5pbGkKamluw6lobyBrbGluaWNrw6lobyBob2Rub2NlbsOtIHBvIGRvYnUgdHJ2w6Fuw60gdG9ob3RvCmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gdsSNZXRuxJsgbsOhc2xlZG7DvWNoIHZ5xaFldMWZZW7DrSwKcG9rdWQganNvdSBwb8W+YWRvdsOhbmEuCgogCgogCgpkKSBHdWFyYW50ZWUgdG8gbWFpbnRhaW4gY29tcGxldGUgYW5kIHVw4oCUdG/igJQKZGF0ZSBUcmlhbCByZWNvcmRzIGR1cmluZyB0aGUgVHJpYWwsIGluY2x1ZGluZyBidXQKbm90IGxpbWl0ZWQgdG8gU3ViamVjdCBJbmZvcm1lZCBDb25zZW50IEZvcm1zLApBZHZlcnNlIEV2ZW50IEZvcm1zLCBlQ1JGcywgbWVkaWNhbCByZWNvcmRzLApUcmlhbCBEcnVnIHN1cHBseSBhbmQgYWNjb3VudGFiaWxpdHkgbG9ncyBhbmQgYW4KCiAKCmQpIFphcnXEjWl0IHphY2hvdsOhbsOtIMO6cGxuw71jaCBhIGFrdHXDoWxuw61jaAp6w6F6bmFtxa8ga2xpbmlja8OpaG8gaG9kbm9jZW7DrSB2IHByxa9ixJtodQprbGluaWNrw6lobyBob2Rub2NlbsOtLCB2xI1ldG7EmywgbmUgdsWhYWsgcG91emUKSW5mb3Jtb3ZhbsO9Y2ggc291aGxhc8WvIHN1Ympla3TFrywgZm9ybXVsw6HFmcWvCgpuZcW+w6Fkb3Vjw61jaCDDusSNaW5rxa8sIGVDUkYsIGzDqWthxZlza8O9Y2ggesOhem5hbcWvLAoKIAoKRE9NQUpPUiBUcmliYXJ0aXRlIENsaW5pY2FsIFRyaWFsIEFncmVlbWVudCBTYW5hQ0lpcyBDWiBLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgoKUEkgLCB2LjEsIERhdGUgbFNNQVkyMDIwCgpQYWdlIDUgb2YgMjIKCiAKCiAKCiAKCkludmVzdGlnYXRvciBTaXRlIEZpbGUgKElTRikgd2hpY2ggaW5jbHVkZXMgYWxsClRyaWFs4oCUcmVsYXRlZCBjb3JyZXNwb25kZW5jZS4KCnrDoXNvYnkgaG9kbm9jZW7DqWhvIGzDqcSNaXbDqWhvIHDFmcOtcHJhdmt1LCBsw6lrb3bDvWNoCnrDoXpuYW3FryBhIElTRiwga3RlcsO9IHphaHJudWplIHZlxaFrZXJvdQprb3Jlc3BvbmRlbmNpIHNvdXZpc2Vqw61jw60gcyBrbGluaWNrw71tIGhvZG5vY2Vuw61tLgoKIAoKZSkgRW5zdXJlIHRoYXQgZUNSRnMgYXJlIGZpbGxlZCBpbiBwcm9tcHRseSBhbmQKZXJyb3JzIGFyZSBjb3JyZWN0ZWQgaW1tZWRpYXRlbHkgYWNjb3JkaW5nIHRvIHRoZQpQcm90b2NvbCBhbmQgY29udGFpbiBhbiBhY2N1cmF0ZSBhY2NvdW50aW5nIG9mCnRoZSBzdWJqZWN0J3MgdHJlYXRtZW50IGFuZCBjYXJlIGFuZCBvZiB0aGUKZXZlbnRzIHN1cnJvdW5kaW5nIHRoZSBzdWJqZWN0J3MgaW52b2x2ZW1lbnQgaW4KdGhlIFRyaWFsLgoKZSkgWmFqaXN0aXQsIGFieSBlQ1JGIGJ5fHkgdnlwbG7Em255IHJ5Y2hsZSwgYQpjaHlieSBvcHJhdmVueSBva2Ftxb5pdMSbIHYgc291bGFkdSBzIHByb3Rva29sZW0sCmEgYWJ5IG9ic2Fob3ZhbHkgcMWZZXNuw6kgaW5mb3JtYWNlIG8gbMOpxI1ixJsgYSBww6nEjWkKbyBuxJtqIGEgdWTDoWxvc3RlY2ggc291dmlzZWrDrWPDrWNoIHNlIHphcG9qZW7DrW0Kc3ViamVrdHUgZG8ga2xpbmlja8OpaG8gaG9kbm9jZW7DrS4KCiAKCmYpIERvY3VtZW50IGFuZCBtb25pdG9yIGFsbCBBZHZlcnNlIEV2ZW50cwoobm9u4oCUc2VyaW91cyBhbmQgc2VyaW91cykgYW5kIGluIGFkZGl0aW9uIHJlcG9ydAphbGwgU2VyaW91cyBBZHZlcnNlIGV2ZW50cyB0byBDUk8gd2l0aGluIHRoZQpzcGVjaWZpZWQgdGltZWxpbmVzIGFjY29yZGluZyB0byB0aGUgUHJvdG9jb2wsClNwb25zb3IncyBTT1BzLCB2YWxpZCBsZWdhbCByZWd1bGF0aW9uczsgdGhpcwppbmNsdWRlcyBwcm92aXNpb24gb2YgYXZhaWxhYmxlIGZvbGxvdyB1cCBjYXNlIGRhdGEKYW5kIGRldGFpbGVkIG1lZGljYWwgaW5mb3JtYXRpb24uCgpmKSBEb2t1bWVudG92YXQgYSBzbGVkb3ZhdCB2xaFlY2hueSBuZcW+w6Fkb3Vjw60Kw7rEjWlua3kgKG5lesOhdmHFvm7DqSBpIHrDoXZhxb5uw6kpIGEgbmF2w61jIGhsw6FzaXQKCnbFoWVjaG55IHrDoXZhxb5uw6kgbmXFvsOhZG91Y8OtIHVkw6Fsb3N0aSBDUk8gdmUKc3Rhbm92ZW7DvWNoIGxoxa90w6FjaCBwb2RsZSBwcm90b2tvbHUsIHBvZGxlClN0YW5kYXJkbsOtY2ggUHJvdm96bsOtY2ggUG9zdHVwxa8gKFNPUCkKCnphZGF2YXRlbGUsIHBvZGxlIHBsYXRuw71jaCBwcsOhdm7DrWNoIHDFmWVkcGlzxa8sIGEgdG8KdsSNZXRuxJsgcG9za3l0b3bDoW7DrSBkb3N0dXBuw71jaCDDumRhasWvIG8gbsOhc2xlZG7DqQpsw6nEjWLEmyBhIHBvZHJvYm7DqSBsw6lrYcWZc2vDqSBpbmZvcm1hY2UuCgogCgpnKSBJbnRyb2R1Y2UgYWxsIHBlcnNvbnMgaW52b2x2ZWQgaW4gdGhlIFRyaWFsCmFjY29yZGluZyB0byB0aGUgVHJpYWwgUHJvdG9jb2wgYW5kIGFycmFuZ2UgZm9yCm1lZXRpbmdzIHdpdGggU3BvbnNvciBvbiBkZW1hbmQuCgpnKSBQxZllZHN0YXZpdCB2xaFlY2hueSBvc29ieSB6YXBvamVuw6kgZG8Ka2xpbmlja8OpaG8gaG9kbm9jZW7DrSBwb2RsZSBwcm90b2tvbHUgYSB6YcWZw61kaXQKc2V0a8OhbsOtIHNlIHphZGF2YXRlbGVtIG5hIHBvxb7DoWTDoW7DrS4KCiAKCmgpIEFjY2VwdCBtb25pdG9yaW5nIHZpc2l0cyBhbmQgVHJpYWwgc3ViamVjdHMnCnNvdXJjZSBkYXRhIHZlcmlmaWNhdGlvbiBhcyBmcmVxdWVudCBhcyBTcG9uc29yIG9yCkNSTyBkZWVtcyBuZWNlc3NhcnkuCgpoKSBBa2NlcHRvdmF0IG1vbml0b3JvdmFjw60gdml6aXR5IGEgb3bEm8WZb3bDoW7DrQp6ZHJvam92w71jaCBkYXQgc3ViamVrdMWvIHphxZlhemVuw71jaCBkbyBrbGluaWNrw6lobwpob2Rub2NlbsOtIHYgdGVybcOtbmVjaCBqYWvDqSB6YWRhdmF0ZWwgbmVibyBDUk8KcG92YcW+dWplIHphIHBvdMWZZWJuw6kuCgogCgogCgppKSBBbGxvdyBhdWRpdHMgYnkgU3BvbnNvciBhbmQgaW5zcGVjdGlvbnMgYnkgaSkgVW1vxb5uaXQgYXVkaXQgemFkYXZhdGVsaSBhIGluc3Bla2NlCmNvbXBldGVudCByZWd1bGF0b3J5IGF1dGhvcml0aWVzIGluIGFjY29yZGFuY2Ugb3Byw6F2bsSbbsO9Y2ggcmVndWxhdG9ybsOtY2ggw7rFmWFkxa8gdnNvdWxhZHUKd2l0aCBjbGF1c2UgMyBvZiB0aGlzIEFncmVlbWVudC4gcyB1c3Rhbm92ZW7DrW0gMyB0w6l0byBzbWxvdXZ5LgoKaikgUHJlcGFyZSBmb3IgYXJjaGl2aW5nIHRoZSBlbnRpcmUgVHJpYWwgaikgUMWZaXByYXZpdCBrIGFyY2hpdmFjaSB2ZcWha2Vyw6kgZG9rdW1lbnR5Cgpkb2N1bWVudHMgZS5nLiBQcm90b2NvbCwgZUNSRnMsIElTRiwgSW5mb3JtZWQKQ29uc2VudCBGb3JtLCBzb3VyY2UgZGF0YSwgbGlzdCBvZiBzdWJqZWN0CmlkZW50aWZpY2F0aW9uLiBBdCBubyB0aW1lIGR1cmluZyBwZXJpb2Qgb2YgYXQgbGVhc3QKZmlmdGVlbiAoMTUpIHllYXJzIGFmdGVyIHRoZSBjbG9zZeKAlG91dCB2aXNpdCBzdWNoCnJlY29yZHMgc2hhbGwgYmUgZGVzdHJveWVkIHdpdGhvdXQgdGhlIHByaW9yCndyaXR0ZW4gY29uc2VudCBvZiBDUk8gb3IgU3BvbnNvci4gVG8gYXZvaWQgYW55CnBvc3NpYmxlIGVycm9ycywgUHJpbmNpcGFsIEludmVzdGlnYXRvciBzaGFsbApjb250YWN0IENSTyBvciBTcG9uc29yIGF0IGxlYXN0IHRoaXJ0eSAoMzApIGRheXMKcHJpb3IgdG8gdGhlIGludGVuZGVkIGRlc3RydWN0aW9uIG9mIHJlY29yZHMuCgprbGluaWNrw6lobyBob2Rub2NlbsOtIG5hcMWZw61rbGFkIHByb3Rva29sLCBlQ1JGLApJU0YsIGluZm9ybW92YW7DqSBzb3VobGFzeSBzdWJqZWt0xa8sIHpkcm9qb3bDoQpkYXRhLCBpZGVudGlmaWthxI1uw60gc2V6bmFtIHN1Ympla3TFry4gViDFvsOhZG7DqW0Kb2thbcW+aWt1IGLEm2hlbSBvYmRvYsOtIHBhdG7DoWN0aSAoMTUpIGxldCBwbwp6w6F2xJtyZcSNbsOpIG7DoXbFoXTEm3bEmyBzZSB0eXRvIHrDoXpuYW15IG5lc23DrSB6bmnEjWl0CmJleiBwxZllZGNob3rDrWhvIHDDrXNlbW7DqWhvIHNvdWhsYXN1IENSTyBuZWJvCnphZGF2YXRlbGUuIEFieSBzZSB6YWJyw6FuaWxvIHDFmcOtcGFkbsOpIGNoeWLEmywKaGxhdm7DrSB6a291xaFlasOtY8OtIG11c8OtIGtvbnRha3RvdmF0IENSTyBuZWJvCnphZGF2YXRlbGUgbmVqbcOpbsSbIHTFmWljZXQgKDMwKSBkbsWvIHDFmWVkCnphbcO9xaFsZW7DvW0gem5pxI1lbsOtbSB6w6F6bmFtxa8uCgogCgprKSBBZ3JlZSB0aGF0IHByb2dyZXNzIG9mIHRoZSB0cmlhbCBjb25kdWN0IG1heQpiZSBmb3J3YXJkZWQgdG8gRXRoaWNzIENvbW1pdHRlZSAoRUMpIGFuZCAvIG9yCnJlZ3VsYXRvcnkgKGNvbXBldGVudCkgYXV0aG9yaXRpZXMgd2hlcmUKcmVxdWVzdGVkLgoKaykgU291aGxhc2l0IHMgdMOtbSwgxb5lIHByb2NlcyByZWFsaXphY2Uga2xpbmlja8OpaG8KaG9kbm9jZW7DrSBidWRlIHYgcMWZw61wYWTEmyBwb8W+YWRhdmt1IHBvc3RvdXBlbgpFdGlja8OpIGtvbWlzaSBhL25lYm8gamluw71tIHDFmcOtc2x1xaFuw71tIG9yZ8OhbsWvbS4KCiAKCnwpIEluZm9ybSB0aGUgU3BvbnNvciBhYm91dCBldmVyeSBpbnN1cmFuY2UKY2xhaW0gaGUgaGFzIGJlZW4gbm90aWZpZWQgb2YgYW5kIGNvbnNlbnQgdGhhdAp0aGlzIEFncmVlbWVudCBtYXkgYmUgZm9yd2FyZGVkIHRvIHRoZQpyZXNwZWN0aXZlIGluc3VyYW5jZSBjb21wYW55IGluIGNhc2Ugb2Ygc3VjaCBhbgppbnN1cmFuY2UgY2xhaW0uCgp8KSBJbmZvcm1vdmF0IHphZGF2YXRlbGUgbyBrYcW+ZMOpIGhsw6HFoWVuw6kKcG9qaXN0bsOpIHVkw6Fsb3N0aSwgYSBzb3VobGFzaXQgcyB0w61tLCDFvmUgdGF0bwpzbWxvdXZhIG3Fr8W+ZSBiw710IHDFmWVkw6FuYSBwxZnDrXNsdcWhbsOpIHBvamnFocWlb3ZuxJsgdgpwxZnDrXBhZMSbIHRha292w6kgcG9qaXN0bsOpIHVkw6Fsb3N0aS4KCiAKCiAKCnJuKSBFbnN1cmUgdGhhdCBhbGwgcGVyc29ucyBpbnZvbHZlZCBpbiB0aGUgVHJpYWwKY29tcGx5IHdpdGggYWxsIG9ibGlnYXRpb25zIG9mIHRoZSBQcmluY2lwYWwKSW52ZXN0aWdhdG9yIGFuZC9vciBDbGluaWNhbCBTaXRlIHRvIHRoZSBleHRlbnQgdGhhdAp0aGV5IHdlcmUgZGVsZWdhdGVkIHRvIHRoZW0sIGVzcGVjaWFsbHksIGJ1dCBub3QKbGltaXRlZCB0byB0aGUgb2JsaWdhdGlvbnMgcmVnYXJkaW5nCmNvbmZpZGVudGlhbGl0eSwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cywKCiAKCnJuKSBaYWppc3RpdCwgYWJ5IHbFoWVjaG55IG9zb2J5IHphcG9qZW7DqSBkbwprbGluaWNrw6lobyBob2Rub2NlbsOtIGplZG5hbGkgdiBzb3VsYWR1IHNlIHbFoWVtaQp6w6F2YXpreSBobGF2bsOtaG8gemtvdcWhZWrDrWPDrWhvIGEvbmVibwpwb3NreXRvdmF0ZWxlIHpkcmF2b3Ruw61jaCBzbHXFvmViIGRvIHTDqSBtw61yeSwgZG8Ka3RlcsOpIG5hIG7EmyBieXx5IHDFmWVuZXNlbsOpLCBhIHRvIHbEjWV0bsSbLCBuZSB2xaFhawpwb3V6ZSwgcyBwb3Zpbm5vc3RtaSB0w71rYWrDrWPDrW1pIHNlIGTFr3bEm3Jub3N0aSwKCiAKCkRPTUFKT1IgVHJpZ2FydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJIFYubCwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgNiBvZiAyMgoKIAoKIAoKIAoKcHVibGljYXRpb24gZXRjLgoKcHJhdmEgZHXFoWV2bsOtaG8gdmxhc3RuaWN0dsOtLCBwdWJsaWthY2UgYXRkLgoKIAoKbikgUHJvdmlkZSByZWltYnVyc2VtZW50cyB0byB0aGUgVHJpYWwgc3ViamVjdHMKb2YgZXhwZW5zZXMgcmVsYXRlZCB0byB0aGUgYXR0ZW5kZWQgVHJpYWwgdmlzaXRzCmZyb20gMSB0byAyNiBpbiB0aGUgYW1vdW50IG9mIDEwMDAgQ1pLIChpbiB0aGUKZm9ybSBvZiBtZWFsIHZvdWNoZXJzKSBwZXIgdmlzaXQuIFRoZXNlIGFyZSBjb3N0cwpmb3IgcGFya2luZywgdHJhdmVsLCBiYWJ5c2l0dGluZyBldGMuIEZpbmFuY2lhbAphbW91bnQgZm9yIHRoaXMgcHVycG9zZSB3aWxsIGJlIHByb3ZpZGVkIHRvClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgaW4gdGhlIGZvcm0gb2YgYWR2YW5jZXMuCgpuKSBWeXBsYXRpdCBzdWJqZWt0xa9tIGhvZG5vY2Vuw60gbsOhaHJhZHUKdnluYWxvxb5lbsO9Y2ggbsOha2xhZMWvIHphIG7DoXbFoXTEm3Z5IDEgYcW+IDI2LCBrdGVyw6kKYnlseSBzdGFub3ZlbnkgdmUgdsO9xaFpIDEwMDAgS8SNICh2ZSBmb3JtxJsKc3RyYXZlbmVrKSB6YSBuw6F2xaF0xJt2dS4gSmVkbmEgc2UgbyBuw6FrbGFkeSB6YQpwYXJrb3bDoW7DrSwgY2VzdG92bsOtIHbDvWRhamUsIGhsw61kw6Fuw60gZMSbdMOtIGFwb2QuCkZpbmFuxI1uw60gcHJvc3TFmWVka3kga3RvbXV0byDDusSNZWx1IGJ1ZG91CmhsYXZuw61tdSB6a291xaFlasOtY8OtbXUgc3bEm8WZZW55IHByb3N0xZllZG5pY3R2w61tCnrDoWxvaHkuCgogCgoxLjEwMW4gcGVyZm9ybWluZyB0aGUKCkludmVzdGlnYXRvciBpcyBvYmxpZ2VkIHRvOgoKVHJpYWwsIFByaW5jaXBhbAoKMS4xMCBQxZlpIHJlYWxpemFjaSBrbGluaWNrw6lobyBob2Rub2NlbsOtIGplIGhsYXZuw60KemtvdcWhZWrDrWPDrSBwb3ZpbmVuOgoKIAoKIAoKYSkgbWFrZSBpbmRlcGVuZGVudCBtZWRpY2FsIGp1ZGdtZW50IGFzIHRvIGEpIHZ5a29uYXQgbmV6w6F2aXNsw6kgbMOpa2HFmXNrw6kgcG9zb3V6ZW7DrQp0aGUgY29tcGF0aWJpbGl0eSBvZiBlYWNoIHN1YmplY3Qgd2l0aCB0aGUga29tcGF0aWJpbGl0eSBrYcW+ZMOpaG8gc3ViamVrdHUgdnNvdWxhZHUKUHJvdG9jb2wgcmVxdWlyZW1lbnRzOyBzIHBvxb5hZGF2a3kgcHJvdG9rb2x1OwoKYikgaW5mb3JtIGVhY2ggc3ViamVjdCBvbiB0aGUgZXNzZW5jZSBhbmQgYikgaW5mb3Jtb3ZhdCBrYcW+ZMO9IHN1Ympla3Qgb3BvZHN0YXTEmyBhCgpzaWduaWZpY2FuY2Ugb2YgdGhlIFRyaWFsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQKdG8gdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBUcmlhbCBEcnVnLCB0aGUKbmF0dXJlIG9mIHRoZSBUcmlhbCwgdGhlIGV4cGVjdGVkIGVmZmVjdGl2ZW5lc3MsCnNhZmV0eSBhbmQgcmlzayBmYWN0b3JzIGZvciBzdWJqZWN0cywgbWVhc3VyZXMgZm9yCnRoZSBwcmV2ZW50aW9uIG9yIHJlZHVjdGlvbiBvZiBhZHZlcnNlIGVmZmVjdHMgb2YKdGhlIGRydWcgb24gc3ViamVjdCdzIGhlYWx0aCwgYW5kIHRoZSB0ZXJtIG9mCmhlYWx0aCBpbnN1cmFuY2UgYmVpbmcgcHJvdmlkZWQgdG8gc3ViamVjdHMgaW4KY29ubmVjdGlvbiB3aXRoIHRoZSBUcmlhbDsKCnbDvXpuYW11IGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60sIGEgdG8gdsSNZXRuxJsKaW5mb3JtYWPDrSBvIGhvZG5vY2Vuw6ltIGzDqcSNaXZlbSBwxZnDrXByYXZrdSwKcG92YXplIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60sIG/EjWVrw6F2YW7DqW0gw7rEjWlua3UsCmJlenBlxI1ub3N0aSBhIG8gcml6aWtvdsO9Y2ggZmFrdG9yZWNoIHBybyBzdWJqZWt0LApvcGF0xZllbsOtIHBybyBwcmV2ZW5jaSBuZWJvIHJlZHVrY2kgbmXFvsOhZG91Y8OtY2gKw7rEjWlua8WvIGzDqWvFryBuYSB6ZHJhdsOtIHN1Ympla3R1LCBhIG9wb2Rtw61ua2FjaAp6ZHJhdm90bsOtaG8gcG9qacWhdMSbbsOtIHBvc2t5dG51dMOpaG8gc3ViamVrdMWvbQp2IHNvdXZpc2xvc3RpIHMga2xpbmlja8O9bSBob2Rub2NlbsOtbTsKCiAKCmFuZAoKYQoKIAoKYykgb2J0YWluIGZyb20gZWFjaCBzdWJqZWN0IHBhcnRpY2lwYXRpbmcgaW4gdGhlClRyaWFsIGEgd3JpdHRlbiBjb25zZW50IGZvciBoaXMvaGVyIHBhcnRpY2lwYXRpb24gaW4KYWNjb3JkYW5jZSB3aXRoIGxvY2FsIGxhd3MgYW5kIHJlZ3VsYXRpb25zLApldGhpY2FsIHByaW5jaXBsZXMgYW5kIElDSCBHQ1AgZ3VpZGVsaW5lcy4gQQp0ZW1wbGF0ZSBvZiB0aGUgSW5mb3JtZWQgQ29uc2VudCBGb3JtIGFuZCBhClN1YmplY3QgSW5mb3JtYXRpb24gU2hlZXQgY29udGFpbmluZyB3cml0dGVuCmluZm9ybWF0aW9uIGZvciBzdWJqZWN0cyB3YXMgaGFuZGVkIG92ZXIgdG8KUHJpbmNpcGFsIEludmVzdGlnYXRvcjsKCmMpIHrDrXNrYXQgb2Qga2HFvmTDqWhvIHN1Ympla3R1IMO6xI1hc3Ruw61jw61obyBzZQprbGluaWNrw6lobyBob2Rub2NlbsOtIHDDrXNlbW7DvSBzb3VobGFzIHNqZWhvL2plasOtCsO6xI1hc3TDrSBuYSBuxJttLCB2c291bGFkdSBzcHLDoXZuw61taSBwxZllZHBpc3ksCmV0aWNrw71taSBwcmluY2lweSBhIElDSCBHQ1Agc23Em3JuaWNlbWkuIFZ6b3IKZm9ybXVsw6HFmWUgaW5mb3Jtb3ZhbsOpaG8gc291aGxhc3UgYSBJbmZvcm1hxI1uw61obwpsaXN0dSBwcm8gc3ViamVrdCBvYnNhaHVqw61jw61obyBww61zZW1uw6kgaW5mb3JtYWNlCnBybyBzdWJqZWt0eSBieWwgcMWZZWTDoW4gaGxhdm7DrW11IHprb3XFoWVqw61jw61tdS4KCiAKCmQpIFRoZSBJbmZvcm1lZCBDb25zZW50IEZvcm0gYW5kIHRoZSBTdWJqZWN0CkluZm9ybWF0aW9uIFNoZWV0IHNpZ25lZCBieSBzdWJqZWN0cyBtdXN0IGJlCmZpbGVkIGluIG9uZSBvcmlnaW5hbCBpbiB0aGUgVHJpYWwgZG9jdW1lbnRhdGlvbgp3aGljaCBpcyBrZXB0IGJ5IFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgYW5kIGluIHRoZQpzZWNvbmQgb3JpZ2luYWwgYnkgdGhlIHN1YmplY3QuCgpkKSBGb3JtdWzDocWZIGluZm9ybW92YW7DqWhvIHNvdWhsYXN1IHN1Ympla3R1IGEKSW5mb3JtYcSNbsOtIGxpc3QgcHJvIHN1Ympla3R5IHBvZGVwc2Fuw70gc3ViamVrdHkKbXVzw60gYsO9dCB2eXBsbsSbbiB2ZSBkdm91IG9yaWdpbmFsZWNoLiBKZWRlbgpvcmlnaW5hbCBidWRlIHphbG/FvmVuIGhsYXZuw61tIHprb3XFoWVqw61jw61tIHYKZG9rdW1lbnRhY2kga2xpbmlja8OpaG8gaG9kbm9jZW7DrSBhIGRydWjDvSBvcmlnaW5hbApqZSB1csSNZW4gcHJvIHN1Ympla3QgaG9kbm9jZW7DrS4KCiAKCmUpIEluIGNhc2UgUHJpbmNpcGFsIEludmVzdGlnYXRvciBmaW5kcyBvdXQgb3Zlcgp0aGUgY291cnNlIG9mIHRoZSBUcmlhbCB0aGF0IGEgc3ViamVjdCBpbmNsdWRlZAppbnRvIHRoZSBUcmlhbCBkb2VzIG5vdCBmdWxmaWxsIGl0cyBjcml0ZXJpYSwgaGUgc2hhbGwKaW1tZWRpYXRlbHkgaW5mb3JtIHRoZSBDUk8gdGhlcmVvZi4KCmUpIFYgcMWZw61wYWTEmywgxb5lIGhsYXZuw60gemtvdcWhZWrDrWPDrSB6amlzdMOtIHYgcHLFr2LEm2h1CmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60sIMW+ZSBzdWJqZWt0IHphxZlhemVuw70gZG8Ka2xpbmlja8OpaG8gaG9kbm9jZW7DrSBuZXNwbMWIdWplIHN0YW5vdmVuYSBrcml0w6lyaWEsCmplIHBvdmluZW4gbyB0b20gbmVwcm9kbGVuxJsgaW5mb3Jtb3ZhdCBDUk8uCgogCgpmKSBUaGUgcGFydGllcyB0byB0aGlzIEFncmVlbWVudCBkZWNsYXJlIHRoYXQKdGhleSB3aWxsIGVuc3VyZSBwcm90ZWN0aW9uIG9mIHBlcnNvbmFsIGRhdGEgYXQKYW55IHRpbWUgaW4gYWNjb3JkYW5jZSB3aXRoIGFwcGxpY2FibGUgbGF3cyBhbmQKcmVndWxhdGlvbnMuCgpmKSBTbWx1dm7DrSBzdHJhbnkgdMOtbXRvIHByb2hsYcWhdWrDrSwgxb5lIHphamlzdMOtCm9jaHJhbnUgb3NvYm7DrWNoIMO6ZGFqxa8gdiBzb3VsYWR1IHMgcGxhdG7DvW1pCnrDoWtvbnkgYSBwxZllZHBpc3kuCgogCgogCgpQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFncmVlcyB0byBjb25kdWN0IHRoZSBUcmlhbCwKdG8gaGFuZGxlIGFuZCBzdG9yZSBhbnkgZGF0YSBhbmQgc291cmNlCmRvY3VtZW50YXRpb24sIGNvbm5lY3RlZCB0byB0aGUgVHJpYWwsIGR1cmluZyB0aGUKdmFsaWRpdHkgdGVybSBhbmQgYWZ0ZXIgZXhwaXJhdGlvbiBvZiB0aGUgcHJlc2VudApBZ3JlZW1lbnQgaW4gY29tcGxpYW5jZSB0byBhcHBsaWNhYmxlIGxhd3MgYW5kCnJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzLCBzdGlwdWxhdGVkIG9uIHRoZQoKIAoKSGxhdm7DrSB6a291xaFlasOtY8OtIHNvdWhsYXPDrSBhIHphdmF6dWplIHNlLCDFvmUgYnVkZQpwcm92w6FkxJt0IGtsaW5pY2vDqSBob2Rub2NlbsOtLCB6cHJhY292w6F2YXQKYSB1Y2hvdsOhdmF0IGpha8Oha29saSBkYXRhIGEgemRyb2pvdsOpIGRva3VtZW50eSwKc291dmlzZWrDrWPDrSBzIGtsaW5pY2vDvW0gaG9kbm9jZW7DrW0sIHYgcHLFr2LEm2h1Cm9iZG9iw60gcGxhdG5vc3RpIGFqYWtvxb4gaSBwbyB1a29uxI1lbsOtIHTDqXRvCnNtbG91dnkgdnNvdWxhZHUgcyBwbGF0bsO9bWkgcHLDoXZuw61taSBhIGppbsO9bWkKCiAKCkRPTUFKT1IgVHJpcGFydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJIFYubCwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgNyBvZiAyMgoKIAoKIAoKIAoKdGVycml0b3J5IG9mIEN6ZWNoIFJlcHVibGljLCByZXF1aXJlbWVudHMgb2YgSUNICkdDUCwgYW5kIHRoZSByZXF1aXJlbWVudHMgb2YgRU1BLgoKcMWZZWRwaXN5IENlc2vDqSByZXB1Ymxpa3ksIHBvxb5hZGF2a3kgSUNIIEdDUCwKcG/FvmFkYXZreSBFTUEuCgogCgpCZWZvcmUgdGhlIGNvbW1lbmNlbWVudCBvZiB0aGUgVHJpYWwgdGhlClByaW5jaXBhbCBJbnZlc3RpZ2F0b3Igc2hhbGwgcHJvdmlkZSBDUk8gd2l0aCBhbgp1cGRhdGVkIHNpZ25lZCBhbmQgZGF0ZWQgY29weSBvZiBoaXMvaGVyCmN1cnJpY3VsdW0gdml0YWUgYW5kIGFzIGFwcGxpY2FibGUgZm9yIGFsbCBUcmlhbAp0ZWFybiBtZW1iZXJzIGFzc2lnbmVkIGZvciB0aGUgdHJpYWwgY29uZHVjdGlvbi4KClDFmWVkIHphaMOhamVuw61tIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gaGxhdm7DrQp6a291xaFlasOtY8OtIHBvc2t5dG5lIENSTyBzdsWvaiBha3R1YWxpem92YW7DvQpwb2RlcHNhbsO9IGEgZGF0b3ZhbsO9IMW+aXZvdG9waXMgYSB0YWvDqSDFvml2b3RvcGlzeQp2xaFlY2ggxI1sZW7FryB0w71tdSBrbGluaWNrw6lobyBob2Rub2NlbsOtIHDFmWlkxJtsZW7DvWNoCm5hIHByb3ZlZGVuw60ga2xpbmlja8OpaG8gaG9kbm9jZW7DrS4KCiAKClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgaXMgZnVsbHkgcmVzcG9uc2libGUgZm9yCmNvbXBseWluZyB3aXRoIHRoZSBwcm92aXNpb25zIG9mIHRoZQpDb25maWRlbnRpYWxpdHkgQ2xhdXNlIGFzIHNldCBmb3J0aCBpbiBjbGF1c2UgNS4yIG9mCnRoaXMgQWdyZWVtZW50IGFuZCB3aWxsIGJlIGhlfGQgSWlhYkllIGZvciBhbnkKYnJlYWNoIG9mIHNhaWQgQ29uZmlkZW50aWFsaXR5IENsYXVzZSwgbm8gbWF0dGVyCndoZXRoZXIgdGhlIGJyZWFjaCBvZiBzYWlkIENvbmZpZGVudGlhbGl0eSBDbGF1c2UKaXMgY29tbWl0dGVkIGJ5IFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgaGltc2VsZiBvcgpvbmUgb3IgbW9yZSBvZiB0aGUgVHJpYWwgdGVhcm4gbWVtYmVycy4KCkhsYXZuw60gemtvdcWhZWrDrWPDrSBqZSBwbG7EmyBvZHBvdsSbZG7DvSB6YSBkb2Ryxb5vdsOhbsOtCnVzdGFub3ZlbsOtIHTDqXRvIHNtbG91dnkgbyBExa92xJtybm9zdGksIGphayBqZQp1dmVkZW5vIHYgxI1sLiBrLCBib2R1IDUuMiB0w6l0byBzbWxvdXZ5IGEgb2Rwb3bDrWTDoQp6YSBwb3J1xaFlbsOtIHBvdmlubm9zdGkgbWzEjWVubGl2b3N0aSwgYmV6IG9obGVkdSBuYQp0bywgemRhIHNlIHBvcnXFoWVuw60gbWzEjWVubGl2b3N0aSBkb3B1c3RpbCBobGF2bsOtCnprb3XFoWVqw61jw60gc8OhbSBuZWJvIGplZGVuIMSNaSB2w61jZSDEjWxlbsWvIHTDvW11CmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60uCgogCgpQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHNoYWxsIGFjdCBpbiBmdWxsIGNvbXBsaWFuY2UKd2l0aCBhcHBsaWNhYmxlIGFudGnigJRjb3JydXB0aW9uIGxlZ2lzbGF0aW9ucyBhcyB3ZWxsCmFzIGFueSBhcHBsaWNhYmxlIGluZHVzdHJ5IGNvZGVzLgoKSGxhdm7DrSB6a291xaFlasOtY8OtIHNlIG11c8OtIMWZw61kaXQgcGxhdG5vdQpwcm90aWtvcnVwxI1uw60gbGVnaXNsYXRpdm91LCB0YWsgamFrbyBwxZnDrXNsdcWhbsO9bWkKc23Em3JuaWNlbWkuCgogCgoyLiBEdXJhdGlvbiBvZiB0aGUgVHJpYWwKCjIuIFBvZG3DrW5reQpob2Rub2NlbsOtCgpwcm8gcmVhbGl6YWNpIGtsaW5pY2vDqWhvCgogCgoyLjEgVGhlIFRyaWFsCigyMDIwLgoKc2hhbGwgYmUgaW5pdGlhdGVkIGF0IHNpdGUg4oCUIGluCgoyLjEgS2xpbmlja8OpIGhvZG5vY2Vuw60gYnVkZSB2IGNlbnRydSBpbmljaW92w6FubyDigJQKMjAyMC4KCiAKCjIuMiBUaGUgdGVycm4gb2YgdGhlIFRyaWFsIGlzIHN0aXB1bGF0ZWQgYnkgdGhlClByb3RvY29sIHdoaWNoIGlzIGludGVncmFsIHBhcnQgb2YgdGhlIEFncmVlbWVudAphbmQgd2l0aCB3aGljaCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGZhbWlsaWFyaXplCnByaW9yIHRvIHNpZ25pbmcgdGhpcyBBZ3JlZW1lbnQuCgoyLjIgUG9kbcOtbmt5IGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60ganNvdSBzdGFub3ZlbnkKcHJvdG9rb2xlbSwga3RlcsO9IGplIG5lZMOtbG5vdSBzb3XEjcOhc3TDrSB0w6l0bwpzbWxvdXZ5IGEgc27DrW3FviBzZSBobGF2bsOtIHprb3XFoWVqw61jw60gcMWZZWQKcG9kcGlzZW0gdMOpdG8gc21sb3V2eSBzZXpuw6FtaWwuCgogCgoyLjMgVHJpYWwgc2hhbGwgYmUgZGV0ZXJtaW5lZCB0byBiZSBjb21wbGV0ZWQgb24KdGhlIGRhdGUsIG9uIHdoaWNoIHRoZSBsYXN0IG9mIHRoZSBmb2xsb3dpbmcgd2lsbApoYXZlIG9jY3VycmVkOgoKMi4zIEtsaW5pY2vDqSBob2Rub2NlbsOtIGJ1ZGUgZG9rb27EjWVubyBkbmVtLCBrZHkKYnVkZSBzcGxuxJtuYSBwb3NsZWRuw60geiBuw6FzbGVkdWrDrWPDrWNoIHBvZG3DrW5lazoKCiAKCmEpIHN1Ym1pc3Npb24gYnkgdGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgdG8KQ1JPIG9yIFNwb25zb3Igb2YgYWxsIGRhdGEsIGNvcnJlc3BvbmRlbnQKcXVlcmllcyBhbmQgc2lnbmVkIGNhc2UgcmVwb3J0IGZvcm1zIHJlbGF0aW5nIHRvCmFsbCBzdWJqZWN0cywgcGFydGljaXBhdGluZyBpbiB0aGUgVHJpYWw7CgphKSBIbGF2bsOtIHprb3XFoWVqw61jw60gcMWZZWRsb8W+w60gQ1JPIG5lYm8gemFkYXZhdGVsaQp2xaFlY2huYSBkYXRhLCBwxZlpcG9tw61ua3ksIHBvZGVwc2Fuw6kgemF6bmFteQpzdWJqZWt0xa8ga2xpbmlja8OpaG8gaG9kbm9jZW7DrSwga3RlcsOpIHNlIHZ6dGFodWrDrQprZSB2xaFlbSBzdWJqZWt0xa9tLCBrdGXFmcOtIHNlIHrDusSNYXN0bmlsaSBrbGluaWNrw6lobwpob2Rub2NlbsOtLgoKIAoKYikgU3BvbnNvcidzIHdyaXR0ZW4gYWNjZXB0YW5jZSBvZiB0aGUgZmluYWwKCmIpIFphZGF2YXRlbCBww61zZW1uxJsgb2Rzb3VobGFzw60ga29uZcSNbm91IHZlcnppCgogCgp2ZXJzaW9ucyBvZiB0aGUgbWF0ZXJpYWwgc3VibWl0dGVkIHVuZGVyIGNsYXVzZSBwxZllZGxvxb5lbsO9Y2ggbWF0ZXJpw6Fsxa8gdiBzb3VsYWR1IHMgdsO9xaFlCihhKSBhYm92ZS4gdXZlZGVuw71tIHDDrXNtLiAoYSkuCjMuIFRyaWFsbW9uaXRvcmluZy8gcmVwb3J0aW5nIDMuIE1vbml0b3JvdsOhbsOtIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gLwoKaGzDocWhZW7DrQoKIAoKMy4xIENSTyB3aWxsIGJlIGluIGNoYXJnZSBvZiBjbGluaWNhbCBtb25pdG9yaW5nCihpbmNsdWRpbmcgY29udGFjdHMgd2l0aCBTdGF0ZSBSZWd1bGF0b3J5CkF1dGhvcml0aWVzIGFuZCBFdGhpY3MgQ29tbWl0dGVlKSwgaW1wb3J0YXRpb24gb2YKY2xpbmljYWwgU3VwcGxpZXMgYW5kIHdpbGwgcHJvdmlkZSBhfHwgbmVjZXNzYXJ5ClRyaWFsIFN1cHBsaWVzIGluY2x1ZGluZyBUcmlhbCBEcnVnIHRvIHRoZSBDbGluaWNhbApTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yLgoKMy4xQ1JPIG9kcG92w61kw6EgemEgbW9uaXRvcm92w6Fuw60ga2xpbmlja8OpaG8KaG9kbm9jZW7DrSAodsSNZXRuxJsga29udGFrdMWvIHNlIHN0w6F0bsOtbWkgw7rFmWFkeSBhCmV0aWNrw71taSBrb21pc2VtaSksIHphIGRvZMOhbsOtIG1hdGVyacOhbMWvIG5hCmtsaW5pY2vDqSBob2Rub2NlbsOtIGEgemFiZXpwZcSNdWplIHBybwpwb3NreXRvdmF0ZWxlIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEgaGxhdm7DrWhvCnprb3XFoWVqw61jw61obyB2ZcWha2Vyw70gbWF0ZXJpYWwgcG90xZllYm7DvSBwcm8Ka2xpbmlja8OpIGhvZG5vY2Vuw60sIHbEjWV0bsSbIGhvZG5vY2Vuw6lobyBsw6nEjWl2w6lobwpwxZnDrXByYXZrdS4KCiAKCiAKCjMuMiBDbGluaWNhbCBTaXRlLCBlc3BlY2lhbGx5IHRocm91Z2ggdGhlIFByaW5jaXBhbAoKIAoKMy4yIFBvc2t5dG92YXRlbCB6ZHJhdm90bsOtY2ggc2x1xb5lYiwgYSB0byB6ZWptw6luYQoKIAoKRE9NQUpPUiBUcmlwYXJ0aXRlIENsaW5pY2FsIFRyaWFsIEFncmVlbWVudCBTYW5hQ0lpcyBDWiBLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgoKUEkgVi5sLCBEYXRlIGxTTUFZMjAyMAoKUGFnZSA4IG9mIDIyCgogCgogCgogCgpJbnZlc3RpZ2F0b3IsIGFncmVlcyB0byBhY2NlcHQgbW9uaXRvcmluZyB2aXNpdHMgb2YKdGhlIENSTyByZXByZXNlbnRhdGl2ZXMgKENsaW5pY2FsIFJlc2VhcmNoCkFzc29jaWF0ZXMgYW5kIG90aGVyIENSTyBzdGFmZikgZm9yIHRoZSBwdXJwb3NlCm9mIG1vbml0b3JpbmcgYW5kIHNvdXJjZSBkYXRhIHZlcmlmaWNhdGlvbiBpbgphZ3JlZWQgZnJlcXVlbmN5LgoKcHJvc3TFmWVkbmljdHbDrW0gaGxhdm7DrWhvIHprb3XFoWVqw61jw61obywgc291aGxhc8OtIHMKdMOtbSwgxb5lIGJ1ZGUgYWtjZXB0b3ZhdCBtb25pdG9yb3ZhY8OtIG7DoXbFoXTEm3Z5CnByYWNvdm7DrWvFryBDUk8gKHByYWNvdm7DrWNpIHBvdsSbxZllbsOtCm1vbml0b3JpbmdlbSBrbGluaWNrw71jaCBzdHVkacOtIGEgamluw60gemFtxJtzdG5hbmNpCgpDUk8pIHphIMO6xI1lbGVtIG1vbml0b3JvdsOhbsOtIGEgb3bEm8WZb3bDoW7DrQp6ZHJvam92w71jaCDDumRhasWvIHYgZG9ob2RudXTDvWNoIMSNYXNvdsO9Y2gKaW50ZXJ2YWxlY2guCgogCgozLjMgUHJpbmNpcGFsIEludmVzdGlnYXRvciBhZ3JlZXMgdG8gcHJvdmlkZSB0aGUKQ1JPIHBlcmlvZGljYWxseSBhbmQgaW4gYSB0aW1lbHkgbWFubmVyIGR1cmluZwp0aGUgdGVybSBvZiB0aGlzIEFncmVlbWVudCB3aXRoIHRoZSBUcmlhbCBkYXRhCnJlcXVpcmVkIGJ5IHRoZSBQcm90b2NvbCBpbiBwcm9wZXJseSBjb21wbGV0ZWQKY2FzZSByZXBvcnQgZm9ybXMuIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgU2l0ZSBhbHNvCmd1YXJhbnRlZXMgdGhhdCB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciB3aWxsCm5vdGlmeSB0aGUgQ1JPIGFuZCBTcG9uc29yIGFib3V0IGFueSBzZXJpb3VzCmFuZC9vciB1bmV4cGVjdGVkIGFkdmVyc2UgZXZlbnQgd2l0aGluIHRoZQpzcGVjaWZpZWQgdGltZWxpbmVzIGFjY29yZGluZyB0byB0aGUgUHJvdG9jb2wsClNwb25zb3IncyBhbmQvb3IgQ1JPIFNPUHMsIG5hdGlvbmFsIGxhd3MgYW5kCmludGVybmF0aW9uYWwgcmVxdWlyZW1lbnRzLiBDbGluaWNhbCBTaXRlIGFuZApQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGZ1cnRoZXIgYWdyZWUgdG8gZm9sbG93IHVwCnN1Y2ggbm90aWZpY2F0aW9uIHdpdGggYXBwcm9wcmlhdGUgcmVwb3J0cyBpbgpjb21wbGlhbmNlIHdpdGggYWxsIGFwcGxpY2FibGUgbGVnYWwgYW5kCnJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzLgoKMy4zIEhsYXZuw60gemtvdcWhZWrDrWPDrSBzZSB6YXZhenVqZSwgxb5lIGJ1ZGUgcG8gZG9idQpwbGF0bm9zdGkgdMOpdG8gc21sb3V2eSBDUk8gcHJhdmlkZWxuxJsgYSB2xI1hcwpwb3NreXRvdmF0IMO6ZGFqZSB2ecW+YWRvdmFuw6kgcHJvdG9rb2xlbSB2IMWZYWRuxJsKdnlwbG7Em27DvWNoIHrDoXpuYW1lY2ggc3ViamVrdMWvIGhvZG5vY2Vuw60uIEhsYXZuw60KemtvdcWhZWrDrWPDrSBzZSB6YXZhenVqZSwgxb5lIHVwb3pvcm7DrSBDUk8gYQp6YWRhdmF0ZWxlIG5hIGpha8Opa29saXYgdsOhxb5uw6kgYS9uZWJvCm5lb8SNZWvDoXZhbsOpIG5lxb7DoWRvdWPDrSDDusSNaW5reSB2ZSBzdGFub3ZlbsO9Y2gKbGjFr3TDoWNoIHBvZGxlIHByb3Rva29sdSwgcG9kbGUgU3RhbmRhcmRuw61jaApQcm92b3puw61jaCBQb3N0dXDFryB6YWRhdmF0ZWxlIGEvbmVibyBDUk8gKFNPUCksCnBvZGxlIG7DoXJvZG7DrWNoIHrDoWtvbsWvIGEgbWV6aW7DoXJvZG7DrWNoCnBvxb5hZGF2a8WvLiBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYQpobGF2bsOtIHprb3XFoWVqw61jw60gc291aGxhc8OtIHMgdMOtbSwgxb5lIHR5dG8gaW5mb3JtYWNlCnBvZGFqw60gdiBuw6FsZcW+aXTDqSBmb3JtxJsgdiBzb3VsYWR1IHNlIHbFoWVtaQpwbGF0bsO9bWkgcHLDoXZuw61taSBhIGppbsO9bWkgcmVndWxhxI1uw61taSBwb8W+YWRhdmt5LgoKIAoKMy40IEluc3BlY3Rpb25zTEF1ZGl0cy4gVG8gaW5zcGVjdCB0aGUgcHJvZ3Jlc3Mgb2YKdGhlIFRyaWFsIGFuZCB0aGUgcXVhbGl0eSBvZiBvYnRhaW5lZCByZXN1bHRzCgpDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFncmVlLApmb2xsb3dpbmcgcmVjZWlwdCBvZiBhIHRpbWVseSBwcmlvciB3cml0dGVuIG5vdGljZSwKdG8gcGVybWl0IHJlcHJlc2VudGF0aXZlcyBvZiB0aGUgQ1JPIGFuZC9vcgpTcG9uc29yLCBhbmQvb3IgYW55IHJlZ3VsYXRvcnkgYXV0aG9yaXR5IHRvCmV4YW1pbmUgZHVyaW5nIG5vcm1hbCBidXNpbmVzcyBob3VyczoKCjMuNCBJbnNwZWtjZXogQXVkaXR5LiBaYSDDusSNZWxlbSBrb250cm9seSBwcsWvYsSbaHUKa2xpbmlja8OpaG8gaG9kbm9jZW7DrSBhIGt2YWxpdHkgesOtc2thbsO9Y2ggdsO9c2xlZGvFrwpwb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtIHprb3XFoWVqw61jw60Kc291aGxhc8OtIHMgdMOtbSwgxb5lIHYgbsOhdmF6bm9zdGkgbmEgZG9ydcSNZW7DrQp2xI1hc27DqWhvIHDFmWVkY2hvesOtaG8gcMOtc2VtbsOpaG8gb3puYW1lbsOtLAp1bW/Fvm7DrSB6w6FzdHVwY8WvbSBDUk8gYS9uZWJvIHphZGF2YXRlbGkgYS9uZWJvCmpha8O9bWtvbGkgc3Byw6F2bsOtbSDDusWZYWTFr20gdnlrb25hdCBrb250cm9sdQp2IHByxa9ixJtodSBwcmFjb3Zuw61jaCBob2RpbjoKCiAKCiAKCmEpIHRoZSBmYWNpbGl0aWVzIHdoZXJlIHRoZSBUcmlhbCBpcyBiZWluZyBhKSBrb250cm9sdSBwcm9zdG9yxa8sIGtkZSBzZSByZWFsaXp1amUga2xpbmlja8OpCmNvbmR1Y3RlZDsgaG9kbm9jZW7DrTsKYikgcmF3IFRyaWFsIGRhdGEgaW5jbHVkaW5nIG9yaWdpbmFsIHN1YmplY3QgYikga29udHJvbHUgemRyb2pvdsO9Y2ggbWF0ZXJpYWx1IG9ic2FodWrDrWPDrWhvCgpyZWNvcmRzLCBpZiBhbGxvd2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKSW5mb3JtZWQgQ29uc2VudDsKCm9yaWdpbsOhbG7DrSB6w6F6bmFteSBvIHN1Ympla3R1LCBwb2t1ZCB0byB1bW/FvsWIdWplCkluZm9ybW92YW7DvSBzb3VobGFzIHN1Ympla3R1LgoKIAoKYykgYW55IG90aGVyIHJlbGV2YW50IFRyaWFsIGRvY3VtZW50cyBpbmNsdWRpbmcKYnV0IG5vdCBsaW1pdGVkIHRvIHJlc3VsdHMgYW5kIG1hdGVyaWFscyBuZWNlc3NhcnkKdG8gY29uZmlybSB0aGF0IHRoZSBUcmlhbCBpcyBiZWluZyBjb25kdWN0ZWQgaW4KY29uZm9ybWFuY2Ugd2l0aCB0aGUgUHJvdG9jb2wsIGFwcGxpY2FibGUKbmF0aW9uYWwvIHN0YXRlIGFuZCB8b2NhfCBsYXdzIGFuZCByZWd1bGF0aW9ucyBhbmQKaW4gY29tcGxpYW5jZSB3aXRoIGFwcGxpY2FibGUgRU1BIHJlZ3VsYXRpb25zCgpjKSBrb250cm9sdSBqYWvDvWNoa29saSBqaW7DvWNoIHJlbGV2YW50bsOtY2gKZG9rdW1lbnTFryBrbGluaWNrw6lobyBob2Rub2NlbsOtIHphaHJudWrDrWPDrSwgbmUKdsWhYWsgcG91emUsIHbDvXNsZWRreSBhIG1hdGVyacOhbHkgcG90xZllYm7DqSBwcm8KcG90dnJ6ZW7DrSwgxb5lIGtsaW5pY2vDqSBob2Rub2NlbsOtIGplIHJlYWxpem92w6Fubwp2c291bGFkdSBzcHJvdG9rb2xlbSwgc3BsYXRuw71taSBwcsOhdm7DrW1pIGEKamluw71taSBwxZllZHBpc3kgYSB2IHNvdWxhZHUgc2Ugc23Em3JuaWNlbWkgRU1BLgoKIAoKIAoKQ2xpbmljYWwgU2l0ZSBhbmQgUHJpbmNpcGFsIEludmVzdGlnYXRvciBzaGFsbAppbW1lZGlhdGVseSBub3RpZnkgQ1JPIGlmIGFueSByZWd1bGF0b3J5CmF1dGhvcml0eSBzY2hlZHVsZXMgb3IsIHdpdGhvdXQgc2NoZWR1bGluZywKCmJlZ2lucyBhbiBpbnNwZWN0aW9uIGFuZCBzaGFsbCBwcm9tcHRseSBwcm92aWRlClNwb25zb3IgYW5kIENSTyB3aXRoIGEgY29weSBvZiBhbnkgcmVndWxhdG9yeQpjb3JyZXNwb25kZW5jZSByZWxhdGVkIHRvIGFueSBzdWNoIGluc3BlY3Rpb24KZXhjZXB0IGZvciBhbnkgaW5mb3JtYXRpb24gY29uY2VybmluZwpjb25maWRlbnRpYWwgc3ViamVjdCBkYXRhIGFuZCBvdGhlciBjb25maWRlbnRpYWwKaW5mb3JtYXRpb24gd2hpY2ggbWF5IG5vdCBiZSBkaXNjbG9zZWQKYWNjb3JkaW5nIHRvIGFwcGxpY2FibGUgbGVnYWwgcmVndWxhdGlvbnMuIENsaW5pY2FsClNpdGUgYW5kIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3Igc2hhbGwgY29vcGVyYXRlCndpdGggdGhlIHJlcHJlc2VudGF0aXZlcyBvZiBzdWNoIHJlZ3VsYXRvcnkKYXV0aG9yaXRpZXMgYW5kIHJlcG9ydCB0byBDUk8gYW5kIFNwb25zb3IgYW55CmZpbmRpbmdzIGR1cmluZyBzdWNoIGF1ZGl0LgoKIAoKUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEgaGxhdm7DrSB6a291xaFlasOtY8OtCm5lb2RrbGFkbsSbIGluZm9ybXVqw60gQ1JPLCBqZXN0bGnFvmUgamltIGpha8O9a29saQpyZWd1bGF0b3Juw60gw7rFmWFkIG96bsOhbcOtLCDFvmUgYnVkZSBwcm92ZWRlbmEKaW5zcGVrY2UsIHDFmcOtcGFkbsSbIGJ1ZGUgdnlrb27DoW5hIG5lb2hsw6HFoWVuw6EKaW5zcGVrY2UgYW9rYW3Fvml0xJsgcG9za3l0bmUgemFkYXZhdGVsaSBhQ1JPCmtvcGllIGpha8Opa29saSBrb3Jlc3BvbmRlbmNlIMSNaSBwcm90b2tvbMWvIG8KamVkbsOhbsOtIHMgcMWZw61zbHXFoW7DvW0gcmVndWxhdG9ybsOtbSDDusWZYWRlbSBvaGxlZG7EmwppbnNwZWtjZSwgcyB2w71qaW1rb3UgamFrw71jaGtvbGkgaW5mb3JtYWPDrSwKdMO9a2Fqw61jw61jaCBzZSBkxa92xJtybsO9Y2ggZGF0IHN1Ympla3TFryBhIGRhbMWhw61jaApkxa92xJtybsO9Y2ggaW5mb3JtYWPDrSwga3RlcsOpIG5lbW9ob3UgYsO9dAp6dmXFmWVqbsSbbnkgdiBzb3VsYWR1IHMgcGxhdG7DvW1pIHByw6F2bsOtbWkKcMWZZWRwaXN5LiBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCnprb3XFoWVqw61jw60gc2UgemF2YXp1asOtLCDFvmUgYnVkb3Ugc3BvbHVwcmFjb3ZhdCBzZQp6w6FzdHVwY2kgdMSbY2h0byByZWd1bGF0b3Juw61jaCDDusWZYWTFryBhIGluZm9ybW92YXQKQ1JPIGEgemFkYXZhdGVsZSBvIGpha8OpbWtvbGkgemppxaF0xJtuw60gYsSbaGVtCgogCgpET01BSk9SIFRyaWdhcnRpdGUgQ2xpbmljYWwgVHJpYWwgQWdyZWVtZW50IFNhbmFDSWlzIENaIEtyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCgpQSSBWLmwsIERhdGUgbFNNQVkyMDIwCgpQYWdlIDkgb2YgMjIKCiAKCiAKCiAKCnRvaG90byBhdWRpdHUuCgogCgozLjUgZ29ycmVjdGl2ZSBBY3Rpb24uIENsaW5pY2FsIFNpdGUgYW5kIFByaW5jaXBhbApJbnZlc3RpZ2F0b3IgYWdyZWUgdG8gdGFrZSBhbnkgcmVhc29uYWJsZSBhY3Rpb25zCnJlcXVlc3RlZCBieSB0aGUgQ1JPIHRvIGN1cmUgZGVmaWNpZW5jaWVzIG5vdGVkCmR1cmluZyBhbiBhdWRpdCBvciBpbnNwZWN0aW9uLiBmIHBvc3NpYmxlIHVuZGVyCnNwZWNpZmljIGNvbmRpdGlvbnMsIENSTyBzaGFsbCBoYXZlIHRoZSByaWdodCB0bwpyZXZpZXcgYW55IGNvcnJlc3BvbmRlbmNlIHRvIGFueSBhcHBsaWNhYmxlCnJlZ3VsYXRvcnkgYXV0aG9yaXR5IGdlbmVyYXRlZCBhcyBhIHJlc3VsdCBvZiBhbgppbnNwZWN0aW9uIHByaW9yIHRvIHN1Ym1pc3Npb24gYnkgdGhlIENsaW5pY2FsIFNpdGUKYW5kIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IuCgozLjUwOXJhdm5hJyBvcGF0xZllbsOtLiBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoCnNsdcW+ZWIgYSBobGF2bsOtIHprb3XFoWVqw61jw60gc2UgemF2YXp1asOtIHByb3bDqXN0Cm9kxa92b2RuxJtuYSBvcGF0xZllbsOtIGRsZSBwb8W+YWRhdmvFryBDUk8gemEKw7rEjWVsZW0gbmFwcmF2eSBuZWRvc3RhdGvFryB6amnFoXTEm27DvWNoIHYgcHLFr2LEm2h1CmF1ZGl0dSBuZWJvIGluc3Bla2NlLiBCdWRl4oCUbGkgdG8gemEga29ua3LDqXRuw61jaApwb2Rtw61uZWsgbW/Fvm7DqSwgQ1JPIHNpIHZ5aHJhenVqZSBwcsOhdm8KbmFobMOpZG5vdXQgZG8ga29yZXNwb25kZW5jZSBzIHDFmcOtc2x1xaFuw71tCnJlZ3VsYXRvcm7DrW0gw7rFmWFkZW0gcHJvdsOhZMSbasOtY8OtbSBpbnNwZWtjaSwga3RlcmEKamUgZMWvc2xlZGtlbSBpbnNwZWtjZSwgamXFoXTEmyBwxZllZCBqZWrDrW0gb2Rlc2zDoW7DrW0KcG9za3l0b3ZhdGVsZW0gemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtbQp6a291xaFlasOtY8OtbS4KCiAKCjMuNiBSZXR1cm4gb2YgTWF0ZXJpYWxzLiBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwKSW52ZXN0aWdhdG9yIGlzIG9ibGlnZWQgdG8gcmV0dXJuIHRvIHRoZSBDUk8gYXx8CnVzZWQgYW5kIHVudXNlZCBUcmlhbCBEcnVnLCBhbmQgcGFja2FnaW5nCm1hdGVyaWFsIG9mIHVzZWQgVHJpYWwgRHJ1ZywgVHJpYWwgbWF0ZXJpYWxzIGFuZAplcXVpcG1lbnQgYXMgd2VsbCBhcyBhfHwgQ29uZmlkZW50aWFsIEluZm9ybWF0aW9uLApnaXZlbiBieSB0aGUgQ1JPIGFuZC9vciBTcG9uc29yIGZvciBUcmlhbApwdXJwb3Nlcywgc3ViamVjdCB0byBhIGNvcHkgb2Ygc3VjaCBkb2N1bWVudHMKcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcuCgozLjZWcmFjZW7DrSBtYXRlcmlhbHUuIFBvc2t5dG92YXRlbCB6ZHJhdm90bsOtY2gKc2x1xb5lYiBhIGhsYXZuw60gemtvdcWhZWrDrWPDrSBqc291IHBvdmlubmkgdnJhdGl0IENSTwp2xaFlY2hueSBwb3XFvml0w6kgYSBuZXBvdcW+aXTDqSBob2Rub2NlbsOpIGzDqcSNaXbDqQpwxZnDrXByYXZreSwgb2JhbG92w70gbWF0ZXJpw6FsIHBvdcW+aXTDqWhvCmhvZG5vY2Vuw6lobyBsw6nEjWl2w6lobyBwxZnDrXByYXZrdSwgbWF0ZXJpw6FsCmEgdnliYXZlbsOtIGtlIGtsaW5pY2vDqW11IGhvZG5vY2Vuw60gYSB0YWvDqQp2xaFlY2hueSBkb2t1bWVudHkgb2JzYWh1asOtY8OtIGTFr3bEm3Juw6kgaW5mb3JtYWNlLAprdGVyw6kgamltIHBvc2t5dGxhIENSTyBuZWJvIHphZGF2YXRlbCBwcm8gw7rEjWVseQprbGluaWNrw6lobyBob2Rub2NlbsOtLCBzIHbDvWhyYWRvdSBrb3BpZSB0YWtvdsO9Y2gKZG9rdW1lbnTFryB2ecW+YWRvdmFuw71jaCBwbGF0bsO9bWkgcHLDoXZuw61taQpwxZllZHBpc3kuCgogCgo0LiBUZXJtcyBhbmQgdGVybWluYXRpb24gb2YgdGhlIEFncmVlbWVudAoKNC4gU21sdXZuw60gcG9kbcOtbmt5IGEgenJ1xaFlbsOtIHNtbG91dnkKCiAKCjQuMSBUZXJtcyBvZiB0aGUgQWdyZWVtZW50LiBUaGUgdGVybXMgb2YgdGhpcwpBZ3JlZW1lbnQgc2hhbGwgYmVnaW4gb24gdGhlIGRhdGUgb2Ygc2lnbmluZyBvZgoKdGhpcyBBZ3JlZW1lbnQgYnkgYXx8IHBhcnRpZXMgYW5kIHB1YmxpY2F0aW9uIGluCnRoZSByZWdpc3RyeSBhbmQgZW5kIG9uIDA2LzIwMjQgdW5sZXNzIHNvb25lcgp0ZXJtaW5hdGVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgdGVybXMgaGVyZW9mCm9yIG5ldyBFbnJvbGxtZW50IFBlcmlvZC4gVGVybXMgb2YgdGhpcwpBZ3JlZW1lbnQgbWF5IGJlIHVwZGF0ZWQgYWNjb3JkaW5nIHRvIG5ldwpFbnJvbG1lbnQgcGVyaW9kIGJ5IGFtZW5kaW5nIHRoaXMgQWdyZWVtZW50Cgo0LjEgU21sdXZuw60gcG9kbcOtbmt5LiBTbWxvdXZhIG5hYsO9dsOhIHBsYXRub3N0aQpkbmVtLCBrZHkgamUgcG9kZXBzw6FuYSB2xaFlbWkgc21sdXZuw61taQpzdHJhbmFtaSBhIMO6xI1pbm5vc3RpIG5hYnVkZSBkbmVtIHp2ZcWZZWpuxJtuw60KdnJlZ2lzdHJ1IHNtbHV2LiBKZWrDrSBwbGF0bm9zdCBrb27EjcOtIHYgMDYvMjAyNCwKcG9rdWQgbmVidWRlIHVrb27EjWVuYSBkxZnDrXZlIHZzb3VsYWR1CnMgcG9kbcOtbmthbWkgdXZlZGVuw71taSBuw63FvmUgcG9wxZnDrXBhZMSbIHogZMWvdm9kxa8Kbm92w6lobyBvYmRvYsOtIG7DoWJvcnUuIFNtbHV2bsOtIHBvZG3DrW5reSBtb2hvdQpiw710IGFrdHVhbGl6b3bDoW55IHBvZGxlIG5vdsOpaG8gb2Jkb2LDrSBuw6Fib3J1CmZvcm1vdSBkb2RhdGt1IGtlIHNtbG91dsSbLgoKIAoKIAoKNC4yIFRlcm1pbmF0aW9uIG9mIHRoZSBBZ3JlZW1lbnQuIENSTyBhbmQvb3IKU3BvbnNvciBtYXkgdGVybWluYXRlIHRoaXMgQWdyZWVtZW50IGVmZmVjdGl2ZQppbW1lZGlhdGVseSB1cG9uIHdyaXR0ZW4gbm90aWNlLiBUaGUgQ2xpbmljYWwgU2l0ZQphbmQvb3IgUHJpbmNpcGFsIEludmVzdGlnYXRvciBtYXkgdGVybWluYXRlIHVwb24Kd3JpdHRlbiBub3RpY2UgaWYgY2lyY3Vtc3RhbmNlcyBiZXlvbmQgdGhlCkNsaW5pY2FsIFNpdGUncyBhbmQvb3IgUHJpbmNpcGFsIEludmVzdGlnYXRvcidzCnJlYXNvbmFibGUgY29udHJvbCBwcmV2ZW50IHRoZSBDbGluaWNhbCBTaXRlCmFuZC9vciBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGZyb20gY29tcGxldGluZyB0aGUKVHJpYWwsIG9yIGlmIHRoZSBDbGluaWNhbCBTaXRlIGFuZC9vciBQcmluY2lwYWwKSW52ZXN0aWdhdG9yIHJlYXNvbmFibHkgZGV0ZXJtaW5lcyB0aGF0IGl0IGlzCnVuc2FmZSB0byBjb250aW51ZSB0aGUgVHJpYWwuIFVwb24gcmVjZWlwdCBvZgpub3RpY2Ugb2YgdGVybWluYXRpb24sIHRoZSBDbGluaWNhbCBTaXRlIGFuZApQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHNoYWxsIGltbWVkaWF0ZWx5IGNlYXNlIGFueQpzdWJqZWN0IHJlY3J1aXRtZW50LCBmb2xsb3cgdGhlIHNwZWNpZmllZAp0ZXJtaW5hdGlvbiBwcm9jZWR1cmVzLCBlbnN1cmUgdGhhdCBhbnkgcmVxdWlyZWQKc3ViamVjdCBmb2xsb3figJR1cCBwcm9jZWR1cmVzIGFyZSBjb21wbGV0ZWQgaW4KYWNjb3JkYW5jZSB0byB0aGUgUHJvdG9jb2wsIGV4Y2VwdCBpZiB0aGUgc2FmZXR5IG9mCnN1Y2ggZW5yb2xsZWQgc3ViamVjdHMgY291bGQgYmUgZW5kYW5nZXJlZCBvciBpZgp0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBpcyBvdGhlcndpc2UgaW5zdHJ1Y3RlZApieSBTcG9uc29yLCBhbmQgbWFrZSBhfHwgcmVhc29uYWJsZSBlZmZvcnRzIHRvCm1pbmltaXplIGZ1cnRoZXIgY29zdHMuIENSTyBzaGFsbCBtYWtlIGEgZmluYWwKcGF5bWVudCBmb3IgdmlzaXRzIG9yIG1pbGVzdG9uZXMgcHJvcGVybHkKcGVyZm9ybWVkIHB1cnN1YW50IHRvIHRoaXMgQWdyZWVtZW50IGluIHRoZQoKIAoKNC4yVWtvbsSNZW7DrSBzbWxvdXZ5LiBDUk8gYS9uZWJvIHphZGF2YXRlbAptxa/FvmUgb2QgdMOpdG8gc21sb3V2eSBvZHN0b3VwaXQgc29rYW3Fvml0b3UKcGxhdG5vc3TDrSBuYSB6w6FrbGFkxJsgcMOtc2VtbsOpaG8gb3puYW1lbsOtLgpQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYS9uZWJvIGhsYXZuw60KemtvdcWhZWrDrWPDrSBtb2hvdSBww61zZW1uxJsgb2RzdG91cGl0IG9kIHTDqXRvCnNtbG91dnksIHYgcMWZw61wYWTEmyDFvmUgamltIG9rb2xub3N0aSB6bmVtb8W+xYh1asOtCmRva29uxI1pdCBrbGluaWNrw6kgaG9kbm9jZW7DrSwgbmVibyBwb2t1ZCB1c291ZMOtLArFvmUgbmVuw60gYmV6cGXEjW7DqSBwb2tyYcSNb3ZhdCB2a2xpbmlja8OpbQpob2Rub2NlbsOtLiBQbyBwxZlldnpldMOtIG96bsOhbWVuw60gbyB2eXBvdsSbemVuw60Kc21sb3V2eSBwb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCnprb3XFoWVqw61jw60gb2thbcW+aXTEmyB1a29uxI3DrSBuYWJvciBzdWJqZWt0xa8sIGJ1ZG91CnNlIMWZw61kaXQgc3Rhbm92ZW7DvW1pIHVrb27EjW92YWPDrW1pIHBvc3R1cHksCnphYmV6cGXEjcOtLCDFvmUgamFrw6lrb2xpIHByb2NlZHVyeSBwb3TFmWVibsOpIHBybwpzdWJqZWt0IGJ1ZG91IGRva29uxI1lbnkgdiBzb3VsYWR1IHMgcHJvdG9rb2xlbSwKcyB2w71qaW1rb3UgcMWZw61wYWTFrywga2R5YnkgYmV6cGXEjW5vc3QgdMSbY2h0bwp6YcWZYXplbsO9Y2ggc3ViamVrdMWvIG1vaGxhIGLDvXQgb2hyb8W+ZW5hIG5lYm8KcG9rdWQgbcOhIGhsYXZuw60gemtvdcWhZWrDrWPDrSBqaW7DqSBwb2t5bnkgb2QKemFkYXZhdGVsZSBhIHZ5bmFsb8W+w60gcMWZaW3Em8WZZW7DqSDDunNpbMOtIHBybwptaW5pbWFsaXphY2kgZGFsxaHDrWNoIG7DoWtsYWTFry4gQ1JPIHphcGxhdMOtCmtvbmXEjW5vdSBwbGF0YnUgemEgbsOhdsWhdMSbdnkgbmVibyBtaWxuw61reSDFmWFkbsSbCmRvc2HFvmVuw6kgZGxlIHTDqXRvIHNtbG91dnl2ZSB2w73FoWkgdXZlZGVuw6kKdnDFmcOtbG96ZSBBOyBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYQpobGF2bsOtIHprb3XFoWVqw61jw60gc291aGxhc8OtIHMgdMOtbSwKCiAKCkRPTUFKT1IgVHJpZ2FydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJIFYubCwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgMTAgb2YgMjIKCiAKCiAKCiAKCmFtb3VudHMgc3BlY2lmaWVkIGluIHRoZSBBcHBlbmRpeCBBIHByb3ZpZGVkOwpDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIG5vdGljZSwKaG93ZXZlciwgdGhhdCB8b2YgdGhpcyBmaW5hbApwYXltZW50IHdpbGwgYmUgd2l0aGhlbGQgdW50aXwgZmluYXwgYWNjZXB0YW5jZSBieQpTcG9uc29yIG9mIGFsbCBzdWJqZWN0cyBDUkYgcGFnZXMgYW5kIGFsbCBkYXRhCmNsYXJpZmljYXRpb25zIGlzc3VlZCBhbmQgc2F0aXNmYWN0aW9uIG9mIGFsbCBvdGhlcgphcHBsaWNhYmxlIGNvbmRpdGlvbnMgc2V0IGZvcnRoIGluIHRoZSBBZ3JlZW1lbnQuCgp6IHTDqXRvIGtvbmXEjW7DqSBwbGF0YnkgdsWhYWsgYnVkZSB6YWRyxb5lbm8KYcW+IGRvIGtvbmXEjW7DqWhvIG9kc291aGxhc2Vuw60gdsWhZWNoIGZvcm11bMOhxZnFrwpwxZnDrXBhZG92w71jaCB6w6F6bmFtxa8gc3ViamVrdMWvIGtsaW5pY2vDqWhvCmhvZG5vY2Vuw60gemFkYXZhdGVsZW0gYSB2eWphc27Em27DrSB2xaFlY2gKdnlkYW7DvWNoIMO6ZGFqxa8gYSBzcGxuxJtuw60gdsWhZWNoIGRhbMWhw61jaCBwb2Rtw61uZWsKc3Rhbm92ZW7DvWNoIHZlIHNtbG91dsSbLgoKIAoKVXBvbiBhbnkgdGVybWluYXRpb24sIENsaW5pY2FsIFNpdGUgYW5kIFByaW5jaXBhbApJbnZlc3RpZ2F0b3Igc2hhbGwgZW5zdXJlIHRoYXQgYW55IFRyaWFsIERydWcsClRyaWFsIG1hdGVyaWFsIGFuZCBlcXVpcG1lbnQgd2lsbCBiZSByZXR1cm5lZCB0bwpDUk8gb3IgU3BvbnNvci4KClBvIGpha8OpbWtvbGkgdWtvbsSNZW7DrSBob2Rub2NlbsOtIGpzb3UKcG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEgaGxhdm7DrSB6a291xaFlasOtY8OtCnBvdmlubmkgemFiZXpwZcSNaXQsIMW+ZSB2ZcWha2Vyw6kgcG9za3l0bnV0w6kKaG9kbm9jZW7DqSBsw6nEjWl2w6kgcMWZw61wcmF2a3ksIG1hdGVyacOhbCBhIHZ5YmF2ZW7DrQpidWRlIHZyYWNlbm8gQ1JPIG5lYm8gemFkYXZhdGVsaS4KCiAKCjQuMyBGb3JjZSBNYWpldXJlCgo0LjMgVnnFocWhw60gbW9jCgogCgo0LjMuMSBUaGUgUGFydGllcyBzaGFsbCBiZSByZWxlYXNlZCBmcm9tIHxpYWJpfGl0eQpmb3IgZmFpbHVyZSB0byBwZXJmb3JtIG9yIGltcHJvcGVyIHBlcmZvcm1hbmNlIG9mCnRoZWlyIG9ibGlnYXRpb25zIGhlcmV1bmRlciBpZiBzdWNoIGZhaWx1cmUKb2NjdXJyZWQgZHVlIHRvIHRoZSBmb3JjZSBtYWpldXJlCmNpcmN1bXN0YW5jZXM7IHRoZSBmYWN0IG9mIGZvcmNlIG1hamV1cmUgc2hhbGwgYmUKY29uZmlybWVkIGluIGEgZHVlIG1hbm5lciBieSB0aGUgY29tcGV0ZW50CnB1YmxpYyBhdXRob3JpdGllcyAodGhlIENoYW1iZXIgb2YgQ29tbWVyY2Ugb3IKb3RoZXIgY29tcGV0ZW50IGF1dGhvcml0aWVzKSBpZiBzdWNoCmNpcmN1bXN0YW5jZXMgcHJldmVudGVkIGRpcmVjdGx5IHRoZSBQYXJ0aWVzIGZyb20KcGVyZm9ybWluZyB0aGVpciBvYmxpZ2F0aW9ucyBzcGVjacWIZWQgaW4gdGhpcwpBZ3JlZW1lbnQuIEhlcmV3aXRoLCB0aGUgcGVyaW9kIGZvciBwZXJmb3JtYW5jZQpvZiBvYmxpZ2F0aW9ucyBzcGVjaWZpZWQgaW4gdGhpcyBBZ3JlZW1lbnQgc2hhbGwgYmUKZXh0ZW5kZWQgZm9yIGEgcGVyaW9kIGR1cmluZyB3aGljaCBzdWNoCmNpcmN1bXN0YW5jZXMgd2VyZSBpbiBlZmZlY3QuCgo0LjMuMVN0cmFueSBidWRvdSB6YmF2ZW55IG9kcG92xJtkbm9zdGkgemEKbmVzcGxuxJtuw60gc3bDvWNoIHrDoXZhemvFrywgamVzdGxpxb5lIGRvxaFsbyBramVqaWNoCm5lc3BsbsSbbsOtIHZkxa9zbGVka3UgbmVwxZllZHbDrWRhdGVsbsO9Y2ggb2tvbG5vc3TDrQoKKHZ5xaHFocOtIG1vYyk7IHNrdXRlxI1ub3N0IG5lcMWZZWR2w61kYXRlbG7DvWNoCm9rb2xub3N0w60gbXVzw60gYsO9dCBwb3R2cnplbmEgcHLFr2them7DvW0KenDFr3NvYmVtIHDFmcOtc2x1xaFuw71taSBvcmfDoW55IHZlxZllam7DqSBtb2NpCgooSG9zcG9kw6HFmXNrb3Uga29tb3JvdSBuZWJvIGppbsO9bSBwxZnDrXNsdcWhbsO9bQpvcmfDoW5lbSksIHBva3VkIHRha292w6kgb2tvbG5vc3RpIGJyYW7DrSBwxZnDrW1vCnN0cmFuw6FtIHZwbG7Em27DrSBzdsO9Y2ggesOhdmF6a8WvIHZ5cGzDvXZhasOtY8OtY2gKenTDqXRvIHNtbG91dnkuIFTDrW10byBzZSBsaMWvdGEgcHJvIHBsbsSbbsOtCnBvdmlubm9zdMOtIHN0YW5vdmVuw71jaCB2IHTDqXRvIHNtbG91dsSbIHByb2RsdcW+dWplCm8gZG9idSwgcG8ga3Rlcm91IHR5dG8gbmVwxZllZHbDrWRhdGVsbsOpIG9rb2xub3N0aQpieWx5IHYgcGxhdG5vc3RpLgoKIAoKNC4zLjIgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIEFncmVlbWVudCB0aGUKZm9sbG93aW5nIGNpcmN1bXN0YW5jZXMgc2hhbGwgYmUgcmVnYXJkZWQgYXMKZm9yY2UgbWFqZXVyZSBjaXJjdW1zdGFuY2VzOiBuYXR1cmFsIGRpc2FzdGVycywKZmlyZXMsIGZ8b29kcywgc3RyaWtlcywgaG9zdGlsaXRpZXMsIGFybWVkIGNvbmZsaWN0cywKc3RhdGVzIG9mIGVtZXJnZW5jeSwgbWFu4oCUY2F1c2VkIGRpc2FzdGVycyBhbmQKZGlzYXN0ZXJzIG9mIG90aGVyIG9yaWdpbiwgYWN0cyBvZiB0ZXJyb3Jpc20sCnNhYm90YWdlIGFuZCBvdGhlciBldmVudHMgKHNpdHVhdGlvbnMpIHRoYXQgb2NjdXIKaW5kZXBlbmRlbnRseSBvZiB0aGUgd2lsbCBvZiB0aGUgUGFydGllcyBhbmQgdGhlClBhcnRpZXMgY291fGQgbm90IHByZXZlbnQgdGhlbS4KCjQuMy4yIFBybyDDusSNZWx5IHTDqXRvIHNtbG91dnkgYnVkb3UgbmFzbGVkdWrDrWPDrQpva29sbm9zdGkgcG92YcW+b3bDoW55IHphIHZ5xaHFocOtIG1vYzogcMWZw61yb2Ruw60Ka2F0YXN0cm9meSwgcG/FvsOhcnksIHBvdm9kbsSbLCBzdMOhdmt5LCBuZXDFmcOhdGVsc3R2w60sCm96YnJvamVuw6kga29uZmxpa3R5LCBzdGF2eSBub3V6ZSwga2F0YXN0cm9meQp6cMWvc29iZW7DqSDEjWxvdsSba2VtIGEga2F0YXN0cm9meSBqaW7DqWhvIHDFr3ZvZHUsCnRlcm9yaXN0aWNrw6kgxI1pbnksIHNhYm90w6HFvmUgYSBqaW7DqSBha2NlIChzaXR1YWNlKSwKa3RlcsOpIHNlIHZ5c2t5dHVqw60gbmV6w6F2aXNsZSBuYSB2xa9saSBzbWx1dm7DrWNoCnN0cmFuIGEgc3RyYW55IGppbSBuZW1vaG91IHDFmWVkZWrDrXQuCgogCgo0LjMuMyBUaGUgUGFydHkgZm9yIHdoaWNoIHRoZSBpbXBvc3NpYmlsaXR5IG9mCnBlcmZvcm1hbmNlIG9mIGl0cyBvYmxpZ2F0aW9ucyBoZXJldW5kZXIgaGFzCmJlZW4gYXJpc2VuIGR1ZSB0byB0aGUgZm9yY2UgbWFqZXVyZQpjaXJjdW1zdGFuY2VzIHNoYWxsIGltbWVkaWF0ZWx5IG5vdGlmeSBhbm90aGVyClBhcnR5IG9mIG9jY3VycmVuY2Ugb2Ygc3VjaCBjaXJjdW1zdGFuY2VzIGFuZAp0ZXJtaW5hdGlvbiBvZiBzdWNoIGNpcmN1bXN0YW5jZXMuCgo0LjMuMyBTdHJhbmEsIGt0ZXJhIGJ5IG5lbW9obGEgcGxuaXQgc3bDqSB6w6F2YXpreQp2IGTFr3NsZWRrdSBuZXDFmWVkdsOtZGF0ZWxuw71jaCBva29sbm9zdMOtICh2ecWhxaHDrQptb2MpIG11c8OtIG5lcHJvZGxlbsSbIGluZm9ybW92YXQgbyB0w6l0bwpza3V0ZcSNbm9zdGkgZHJ1aG91IHN0cmFudSwgYSB0byBqZWRuYWsgbyB2w71za3l0dQp0YWtvdsO9Y2ggb2tvbG5vc3TDrSBhIG8gdWtvbsSNZW7DrSB0xJtjaHRvIG9rb2xub3N0w60uCgogCgo0LjMuNCBJbiBjYXNlIHN1Y2ggY2lyY3Vtc3RhbmNlcyBhcmUgaW4gZWZmZWN0Cm1vcmUgdGhhbiB0aGlydHkgKDMwKSBjYWxlbmRhciBkYXlzIGVhY2ggUGFydHkKaGFzIGEgcmlnaHQgZm9yIHRoZSBBZ3JlZW1lbnQgdGVybWluYXRpb24uIEluCnN1Y2ggY2FzZSBvbmUgcGFydHkgY291fGQgbm90IHJlcXVpcmUgZnJvbQphbm90aGVyIHBhcnR5IHJlZnVuZGluZyBvZiBzcGVjdWxhdGl2ZSBkYW1hZ2VzCmV4Y2VwdCBwYXltZW50IG9mIHN1bXMgcmVjZWl2ZWQgZm9yIGdvb2RzLgoKNC4zLjQgViBwxZnDrXBhZMSbLCDFvmUgdHl0byBuZXDFmWVkdsOtZGF0ZWxuw6kgb2tvbG5vc3RpCnRydmFqw60gZMOpbGUgbmXFviB0xZlpY2V0ICgzMCkga2FsZW5kw6HFmW7DrWNoIGRuxa8sIGthxb5kw6EKem9ib3Ugc3RyYW4gbcOhIHByw6F2byBuYSB1a29uxI1lbsOtIHNtbG91dnkuIFYKdGFrb3bDqW0gcMWZw61wYWTEmyBuZW3Fr8W+ZSBqZWRuYSBzdHJhbmEgb2QgZHJ1aMOpCnZ5xb5hZG92YXQgbsOhaHJhZHUgxaFrb2QuCgogCgo1LiBJbnRlbGxlY3R1YWwgcHJvcGVydHkgLyBwYXRlbnRzIC8KY29uZmlkZW50aWFsaXR5IC8gZGF0YSBwcm90ZWN0aW9uCgo1LiBEdcWhZXZuw60gdmxhc3RuaWN0dsOtIFtwYXRlbnR5XSBkxa92xJtybm9zdC8Kb2NocmFuYSDDumRhasWvCgogCgo1LjEgSW50ZWxsZWN0dWFsIERyb25lcnR2IC8gbmF0ZW50cwoKNS4xSW50ZXxla3R1YXxuw60gdmxhc3RuaWN0dsOtLyBEYXRlbnR2CgogCgogCgphKSBBcyBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGlzIG9ibGlnZWQgdG8gY29uZHVjdAoKIAoKYSkgUHJvdG/FvmUgaGxhdm7DrSB6a291xaFlasOtY8OtIGplIHBvdmluZW4gcHJvdsOpc3QKCiAKCkRPTUFKT1IgVHJpcGFydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJIFYubCwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgMTEgb2YgMjIKCiAKCiAKCiAKCnRoZSBUcmlhbCBzdHJpY3RseSBhY2NvcmRpbmcgdG8gdGhlIFByb3RvY29sIGl0IGlzIG5vdAppbnRlbmRlZCB0aGF0IHRoZSBUcmlhbCBJZWFkcyB0byB0aGUgZ2VuZXJhdGlvbiBvZgprbm934oCUaG93LCBkaXNjb3ZlcmllcyBvciBwYXRlbnRhYmxlIGludmVudGlvbnMKKOKAnEludmVudGlvbnMiKS4gSG93ZXZlciwgaW4gdGhlIGV2ZW50IGFueQpJbnZlbnRpb24gaXMgbWFkZSBpbiBjb25uZWN0aW9uIHdpdGggdGhlIGNvbmR1Y3QKb2YgdGhlIFRyaWFsLCB0aGlzIHNoYWxsIGJlIHByb21wdGx5IGRpc2Nsb3NlZCBieQpQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFuZCAvb3IgQ2xpbmljYWwgU2l0ZSB0bwpTcG9uc29yLiBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yCmFyZSBvYmxpZ2VkIHRvIGFzc2lnbiB0aGVpciByaWdodHMgcmVsYXRpbmcgdG8gdGhlCkludmVudGlvbiB0byBDUk8gYW5kL29yIFNwb25zb3IuIEF8fCBkYXRhIGFuZAppbnZlbnRpb25zIHJlc3VsdGluZyBmcm9tIHRoZSBUcmlhbCBhcyB3ZWxsIGFzIGF8fApUcmlhbCByZXN1bHRzIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IG93bmVkIGJ5ClNwb25zb3IsIHdobyBzaGFsbCBoYXZlIHRoZSBzb2xlIGFuZCBleGNsdXNpdmUKcmlnaHQgdG8gYXBwbHkgZm9yIHdvcklk4oCUd2lkZSBwYXRlbnQgcmlnaHRzIGluIGl0cwpvd24gbmFtZSBhbmQgaXRzIG93biBjb3N0cywgbmFtaW5nIHRoZQppbnZlbnRvciwgYW5kIHRvIG1ha2UgdW5saW1pdGVkIHVzZSBvZiB0aGUKSW52ZW50aW9ucy4KCmtsaW5pY2vDqSBob2Rub2NlbsOtIHDFmWVzbsSbIHBvZGxlIHByb3Rva29sdSwKbmVwxZllZHBva2zDoWTDoSBzZSwgxb5lIGtsaW5pY2vDqSBob2Rub2NlbsOtIHBvdmVkZSBrCnZ5dHbDocWZZW7DrSBrbm934oCUaG93LCBvYmpldsWvbSBuZWJvCnBhdGVudG92YXRlbG7DvW0gdnluYWxlesWvbSAoInZ5bmFsZXp5IikuCk5pY23DqW7EmywgdiBwxZnDrXBhZMSbLCDFvmUgamFrw71rb2xpIHZ5bmFsZXogamUgdcSNaW7Em24KdiBzb3V2aXNsb3N0aSBzIHByb3bDoWTEm27DrW0ga2xpbmlja8OpaG8gaG9kbm9jZW7DrSwKbXVzw60gaGxhdm7DrSB6a291xaFlasOtY8OtIGEvbmVibyBwb3NreXRvdmF0ZWwKemRyYXZvdG7DrWNoIHNsdcW+ZWIgbmVwcm9kbGVuxJsgdsO9c2xlZGt5IHp2ZcWZZWpuaXQKemFkYXZhdGVsaS4gUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEKaGxhdm7DrSB6a291xaFlasOtY8OtIGpzb3UgcG92aW5uaSBwb3N0b3VwaXQgc3bDoSBwcsOhdmEKdMO9a2Fqw61jw60gc2Ugdnluw6FsZXp1IENSTyBhL25lYm8gemFkYXZhdGVsaS4KVsWhZWNobnkgw7pkYWplIGEgdnluw6FsZXp5IHZ5cGzDvXZhasOtY8OtIHoga2xpbmlja8OpaG8KaG9kbm9jZW7DrSwgc3Rlam7EmyBqYWtvIHbFoWVjaG55IHbDvXNsZWRreQprbGluaWNrw6lobyBob2Rub2NlbsOtIGpzb3UgdsO9bHXEjW7EmyB2bGFzdG5pY3R2w61tCnphZGF2YXRlbGUsIGt0ZXLDvSBtw6EgdsO9aHJhZG7DrSBhIHbDvWx1xI1uw6kgcHJhdm8KcG/FvsOhZGF0IHBvIGNlbMOpbSBzdsSbdMSbIDAgcGF0ZW50b3bDoW7DrSB2eW7DoWxlesWvIG5hCnN2w6kgdmxhc3Ruw60gam3DqW5vIGEgc3bDqSB2bGFzdG7DrSBuw6FrbGFkeSwgam1lbm92YXQKdnluw6FsZXpjZSBhIHVza3V0ZcSNxYhvdmF0IMSNYXNvdsSbIG5lb21lemVuw6kKdnl1xb5pdMOtIHZ5bsOhbGV6xa8uCgogCgogCgpiKSBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFyZSBiKSBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCgpvYmxpZ2VkIHRvIGltcG9zZSByZXNwZWN0aXZlIG9ibGlnYXRpb25zIGFzIHNldCB6a291xaFlasOtY8OtIGpzb3UgcG92aW5uaSBwxZllbsOpc3QgcMWZw61zbHXFoW7DqQoKZm9ydGggaW4gdGhpcyBBZ3JlZW1lbnQgb24gSW52ZXN0aWdhdG9ycyBhbmQgYWxsIHBvdmlubm9zdGkgdnlwbMO9dmFqw61jw60geiB0w6l0byBzbWxvdXZ5IG5hIHprb3XFoWVqw61jw60KCnBlcnNvbnMgaW52b2x2ZWQgaW4gdGhlIGN8aW5pY2F8IHRyaWFsLiBhIHbFoWVjaG55IG9zb2J5IHphcG9qZW7DqSBkbyBrbGluaWNrw6lobwpob2Rub2NlbsOtLgoKYykgVGhlIGNvbnRyYWN0aW5nIHBhcnRpZXMgaGVyZWJ5IGFncmVlIHRoYXQgYW55IGMpIFNtbHV2bsOtIHN0cmFueSBzZSBkb2hvZGx5LCDFvmUgdmXFoWtlcsOpCgpjb21wZW5zYXRpb24gd2hpY2ggbWF5IGJlIGR1ZSB0byB0aGUgUHJpbmNpcGFsCkludmVzdGlnYXRvciBvbiB0aGUgYmFzaXMgb2YgYW55IHJlZ3VsYXRpb25zIGZvcgphbnkgSW52ZW50aW9ucyBpcyBmdXx8eSBwYWlkIHVwIGJ5IHRoZSBDUk8KcmVzcGVjdGl2ZWx5IGJ5IHRoZSBTcG9uc29yIGJ5IHRoZSBmaW5hbmNpYWwKcmVpbWJ1cnNlbWVudCB0byB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBhcwphZ3JlZWQgdXBvbiBpbiBBcnRpY2xlIDcgYW5kIEFwcGVuZGl4IEEgb2YgdGhpcwpBZ3JlZW1lbnQuIENsaW5pY2FsIFNpdGUgaXMgc29sZWx5IHJlc3BvbnNpYmxlIHRvCgpuw6FrbGFkeSwga3RlcsOpIHZ6bmlrbHkgaGxhdm7DrW11IHprb3XFoWVqw61jw61tdSBuYQp6w6FrbGFkxJsgamFrw71jaGtvbGkgcmVndWxhY8OtIG9obGVkbsSbIHZ5bsOhbGV6xa8sCmJ1ZG91IHBsbsSbIGhyYXplbnkgQ1JPLCByZXNwZWt0aXZlIHphZGF2YXRlbGVtLAphIHRvIGZpbmFuxI1uw60gcmVmdW5kYWPDrSBobGF2bsOtbXUgemtvdcWhZWrDrWPDrW11LCBqYWsKYnlsbyBkb2hvZG51dG8gdsSNbGFua3UgNyBhIHDFmcOtbG9oeSBBIHTDqXRvCnNtbG91dnkuIFbDvWhyYWRuxJsgcG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaApzbHXFvmViIG5lc2UgamFrw6lrb2xpIGtvbXBlbnphxI1uw60gesOhdmF6a3kgdsWvxI1pCgogCgpjb21wZW5zYXRlIGl0cyBlbXBsb3llZXMgYW5kIFByaW5jaXBhbCBzdsO9bSB6YW3Em3N0bmFuY8WvbSBhIGhsYXZuw61tdSB6a291xaFlasOtY8OtbXUKCkludmVzdGlnYXRvciBmb3IgaW50ZXx8ZWN0dWF8IHByb3BlcnR5IHJpZ2h0cyB2c291dmlzbG9zdGkgcyBwcsOhdnkgbmEgb2NocmFudSBkdcWhZXZuw61obwoKY3JlYXRlZCBpbiB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIFRyaWFsLiB2bGFzdG5pY3R2w60gdnpuaWtsw6lobyB2IHByxa9ixJtodSBwcm92w6FkxJtuw60Ka2xpbmlja8OpaG8gaG9kbm9jZW7DrS4KCmQpIEF8fCBwcm9qZWN0cywgZGF0YSwgZG9jdW1lbnRzLCBpbmZvcm1hdGlvbiwgZCkgVmXFoWtlcsOpIHByb2pla3R5LCDDumRhamUsIGRva3VtZW50eSwKCmV4cGVyaWVuY2VzIGFuZCBpbnZlbnRpb25zIHJlc3VsdGluZyBmcm9tIHRoZQoKVHJpYWwgYXJlIGV4Y2x1c2l2ZWx5IG93bmVkIGJ5IFNwb25zb3IuCkFjY29yZGluZ2x5LCBTcG9uc29yIGtlZXBzIGFsbCByaWdodHMgZm9yCndvcmxkd2lkZSBjb21tZXJjaWFsaXphdGlvbiBvZiBpdHMgcmVzcGVjdGl2ZQoKcHJvZHVjdHMgYW5kIGxpY2Vuc2VzIHdpdGhvdXQgYW55IHJlc3RyaWN0aW9ucy4KCmluZm9ybWFjZSwgemt1xaFlbm9zdGkgYSB2eW7DoWxlenksIGt0ZXLDqSB2emXFoWx5Cnoga2xpbmlja8OpaG8gaG9kbm9jZW7DrSwganNvdSB2w71sdcSNbsO9bSB2bGFzdG5pY3R2w61tCnphZGF2YXRlbGUuIFByb3RvIHNpIHphZGF2YXRlbCB2eWhyYXp1amUgdsWhZWNobmEKcHLDoXZhIG5hIGNlbG9zdsSbdG92w6kga29tZXJjaWFsaXphY2Ugc3bDvWNoCnDFmcOtc2x1xaFuw71jaCBwcm9kdWt0xa8gYSBsaWNlbmPDrSBiZXogamFrw71jaGtvbGkKb21lemVuw60uCgogCgplKSBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGNlcnRpZnkKdGhhdCB0aGUgYWJvdmXigJRtZW50aW9uZWQgb2JsaWdhdGlvbnMgYXJlIG5vdApjb250cmFkaWN0b3J5IHRvIGFueSBvdGhlciBhZ3JlZW1lbnQgY29uY2x1ZGVkCndpdGggaGlzL2hlciBlbXBsb3llZXMgYW5kL29yIHRoaXJkIHBhcnRpZXMuCgplKSBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCnprb3XFoWVqw61jw60gcHJvaGxhxaF1asOtLCDFvmUgdsO9xaFlIHV2ZWRlbsOpIHBvdmlubm9zdGkKbmVqc291IHYgcm96cG9ydSBzZSDFvsOhZG5vdSBqaW5vdSBzbWxvdXZvdQp1emF2xZllbm91IHMgamVobyB6YW3Em3N0bmFuY2kgbmVibyA1IHTFmWV0w60Kc3RyYW5vdS4KCiAKCjUuMiBDb25maWRlbnRpYWxpdHYKCjUuMiBExa92xJtybsOpIGluZm9ybWFjZQoKIAoKYSkgQXx8IHZpc3VhbCwgb3JhbCwgd3JpdHRlbiBhbmQvb3IgZWxlY3Ryb25pYwppbmZvcm1hdGlvbiBhbmQgZGF0YSBvbiB0aGUgaW52ZXN0aWdhdGlvbmFsCnByb2R1Y3QgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCBkb2N1bWVudHMsCmRlc2NyaXB0aW9ucywgZGF0YSwgQ1JGcywgcGhvdG9ncmFwaHMsIHZpZGVvcwphbmQgaW5zdHJ1Y3Rpb25zKSwgYW5kIG1hdGVyaWFscyBwcm92aWRlZCB0byB0aGUKQ2xpbmljYWwgU2l0ZSBhbmQgUHJpbmNpcGFsIEludmVzdGlnYXRvciBieSBDUk8sClNwb25zb3IsIG9yIHRoZWlyIGFnZW50cywgb3IgZ2VuZXJhdGVkIHB1cnN1YW50CgogCgogCgphKSBWZcWha2Vyw6kgdml6dcOhbG7DrSwgw7pzdG7DrSwgcMOtc2VtbsOpIGEgZWxla3Ryb25pY2vDqQppbmZvcm1hY2UgYSDDumRhamUgb2hsZWRuxJsgaG9kbm9jZW7DqWhvIGzDqcSNaXbDqWhvCnDFmcOtcHJhdmt1ICh2xI1ldG7Emywgbmlrb2xpdiB2xaFhayB2w71ocmFkbsSbLAp0w71rYWrDrWPDrWNoIHNlIGRva3VtZW50xa8sIHBvcGlzxa8sIGRhdCwgZm9ybXVsw6HFmcWvCnDFmcOtcGFkb3bDvWNoIHrDoXpuYW3FryBzdWJqZWt0xa8ga2xpbmlja8OpaG8KaG9kbm9jZW7DrSwgZm90b2dyYWZpw60sIHZpZGVhIGEgaW5zdHJ1a2PDrSkgYQptYXRlcmnDoWx5IHBvc2t5dG51dMOpIHBvc2t5dG92YXRlbGkgemRyYXZvdG7DrWNoCgogCgpET01BSk9SIFRyaXBhcnRpdGUgQ2xpbmljYWwgVHJpYWwgQWdyZWVtZW50IFNhbmFDSWlzIENaIEtyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCgpQSSBWLmwsIERhdGUgbFNNQVkyMDIwCgpQYWdlIDEyIG9mIDIyCgogCgogCgogCgp0byB0aGUgVHJpYWwsIGFuZCBhbGwgdmlzdWFsLCBvcmFsLCB3cml0dGVuIGFuZC9vcgplbGVjdHJvbmljIGRhdGEsIHJlcG9ydHMgYW5kIGluZm9ybWF0aW9uLCByZWxhdGluZwp0byB0aGUgVHJpYWwgb3IgaXRzIHByb2dyZXNzIChoZXJlaW5hZnRlciwgdGhlCiJDb25maWRlbnRpYWwgSW5mb3JtYXRpb24iKSBzaGFsbCBiZSB0cmVhdGVkCnN0cmljdGx5IGNvbmZpZGVudGlhbC4KCnNsdcW+ZWIgYSBobGF2bsOtbXUgemtvdcWhZWrDrWPDrW11IHplIHN0cmFueSBDUk8sCnphZGF2YXRlbGVtIG5lYm8gamVqaWNoIHrDoXN0dXBjZW0sIG5lYm8Kdnl0dm/FmWVuw6kgbmEgesOha2xhZMSbIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gYQp2xaFlY2hueSB2aXp1w6FsbsOtLCDDunN0bsOtLCBww61zZW1uw6kgYSBlbGVrdHJvbmlja8OpCsO6ZGFqZSwgenByw6F2eSBhIGluZm9ybWFjZSwgdMO9a2Fqw61jw60gc2Uga2xpbmlja8OpaG8KaG9kbm9jZW7DrSBuZWJvIGplaG8gcG9zdHVwdSAoZGFsZSBqZW5vbQrigJ5Exa92xJtybsOpIGluZm9ybWFjZeKAnCkgYnVkb3UgenByYWNvdsOhbnkgamFrbwpwxZnDrXNuxJsgZMWvdsSbcm7DqS4KCiAKCmIpIENsaW5pY2FsIFNpdGUgYW5kIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgYXJlCmZ1fHx5IHJlc3BvbnNpYmxlIGZvciBjb21wbHlpbmcgd2l0aCB0aGUKY29uZmlkZW50aWFsaXR5IG9ibGlnYXRpb24uCgpiKSBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCnprb3XFoWVqw61jw60ganNvdSBwbG7EmyBvZHBvdsSbZG7DrSB6YSBkb2Ryxb5vdsOhbsOtCmTFr3bEm3Jub3N0aSBhIG9jaHJhbnkgw7pkYWrFry4KCiAKCmMpIERpc2Nsb3N1cmUgb2YgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIHRvClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IsIHBlcnNvbnMgaW5jbHVkZWQgaW4gdGhlClRyaWFsIG9yIHRvIHRoaXJkIHBhcnRpZXMgdG8gd2hvbSBpdCBzaGFsbCBiZQpuZWNlc3NhcnkgYW5kIGVzc2VudGlhbCBmb3IgdGhlIGNvbmR1Y3Qgb2YgdGhlClRyaWFsIGNhbiBmb2xsb3cgb258eSBhZnRlciB0aGUgQ2xpbmljYWwgU2l0ZSBhbmQKUHJpbmNpcGFsIEludmVzdGlnYXRvciBoYXZlIGltcG9zZWQgcmVzcGVjdGl2ZQpvYmxpZ2F0aW9ucyBvbiBzdWNoIHBlcnNvbnMgYXMgc2V0IGZvcnRoIGluIHRoaXMKQWdyZWVtZW50LgoKYykgUG9za3l0bnV0w60gZMWvdsSbcm7DvWNoIGluZm9ybWFjw60gemtvdcWhZWrDrWPDrW0sCm9zb2JhbSB6YWhybnV0w71tIGRvIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gYW5lYm8KdMWZZXTDrW0gc3RyYW7DoW0sIHUgbmljaMW+IHRvIGplIG5lemJ5dG7DqSBhIGTFr2xlxb5pdMOpCnBybyBwcm92ZWRlbsOtIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60sIGplIG1vxb5uw6kKamVub20gdnDFmcOtcGFkxJssIMW+ZSBwb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoCnNsdcW+ZWIgYSBobGF2bsOtIHprb3XFoWVqw61jw60gdWxvxb7DrSB0xJttdG8gb3NvYmFtCnDFmcOtc2x1xaFuw6kgcG92aW5ub3N0aSBtbMSNZW5saXZvc3RpLCBqYWsgamUgdG8KdXZlZGVubyB2IHTDqXRvIHNtbG91dsSbLgoKIAoKZCkgQ2xpbmljYWwgU2l0ZSdzIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yJ3MKb2JsaWdhdGlvbnMgZnVydGhlciBpbmNsdWRlLCBidXQgYXJlIG5vdCBsaW1pdGVkIHRvOgoKZCkgUG92aW5ub3N0aSBwb3NreXRvdmF0ZWxlIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEKaGxhdm7DrWhvIHprb3XFoWVqw61jw61obyBkYWxlIHphaHJudWrDrSwgemVqbcOpbmE6CgogCgphLiBub3QgZGlzY2xvc2luZyB0aGUgQ29uZmlkZW50aWFsIEluZm9ybWF0aW9uIHRvCmFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gY29uc2VudCBieQpTcG9uc29yLAoKYS4gbmV6dmXFmWVqxYhvdmF0IGTFr3bEm3Juw6kgaW5mb3JtYWNlIMW+YWRuw6kgdMWZZXTDrQpzdHJhbsSbIGJleiBwxZllZGNob3rDrWhvIHDDrXNlbW7DqWhvIHNvdWhsYXN1IHplCnN0cmFueSB6YWRhdmF0ZWxlLAoKIAoKYi4gbm90IHVzaW5nIHRoZSBDb25maWRlbnRpYWwgSW5mb3JtYXRpb24gZm9yIGFueQpvdGhlciBwdXJwb3NlIGJ1dCB0aGUgb25lIGFncmVlZCBoZXJlaW4uCgpiLiBuZXBvdcW+w612YXQgZMWvdsSbcm7DqSBpbmZvcm1hY2UgcHJvIMW+w6FkbsOpIGppbsOpCsO6xI1lbHksIG5lxb4gamFrw6kgYnlseSBzdGFub3ZlbnkgdiB0w6l0byBzbWxvdXbEmy4KCiAKCmUpIFRoZSBjb25maWRlbnRpYWxpdHkgb2JsaWdhdGlvbiBzZXQgZm9ydGggaW4gdGhpcwpBZ3JlZW1lbnQgc2hhbGwgZXhwYW5kIGZvciBhIHBlcmlvZCBvZiBmaWZ0ZWVuCigxNSkgeWVhcnMgYWZ0ZXIgdGVybWluYXRpb24gb2YgdGhlIEFncmVlbWVudApidXQgc2hhbGwgbm90IGFwcGx5IHRvIENvbmZpZGVudGlhbCBJbmZvcm1hdGlvbiB0bwp0aGUgZXh0ZW50IHRoYXQgaXQ6IDEpIGlzIG9yIGJlY29tZXMgcHVibGljbHkKYXZhaWxhYmxlIHRocm91Z2ggbm8gZmF1fHQgb2YgdGhlIENsaW5pY2FsIFNpdGUKYW5kL29yIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3I7IDIpIGlzIGRpc2Nsb3NlZCB0bwp0aGUgQ2xpbmljYWwgU2l0ZSBhbmQvb3IgUHJpbmNpcGFsIEludmVzdGlnYXRvciBieSBhCnRoaXJkIHBhcnR5IG5vdCBzdWJqZWN0IHRvIGFueSBvYmxpZ2F0aW9uIG9mCmNvbmZpZGVuY2U7IDMpIG11c3QgYmUgZGlzY2xvc2VkIHRvIEVDcywgb3IKYXBwbGljYWJsZSByZWd1bGF0b3J5IGF1dGhvcml0aWVzIGFjY29yZGluZyB0byB0aGUKYXBwbGljYWJsZSBsYXc7IDQpIG11c3QgYmUgaW5jbHVkZWQgaW4gYW55CnN1YmplY3QncyBpbmZvcm1lZCBjb25zZW50IGZvcm0gYWNjb3JkaW5nIHRvIHRoZQphcHBsaWNhYmxlIGxhdzsgNSkgaXMgcHVibGlzaGVkIGluIGFjY29yZGFuY2Ugd2l0aApBcnRpY2xlIDYgb3IsIDYpIGlzIHJlcXVpcmVkIHRvIGJlIGRpc2Nsb3NlZCBieQphcHBsaWNhYmxlIGxhdy4KCmUpIFBvdmlubm9zdCB6YWNob3ZhdCBkxa92xJtybm9zdCwgamFrIGplIHV2ZWRlbm8KdiB0w6l0byBzbWxvdXbEmywgdHJ2YSBwbyBkb2J1IHBhdG7DoWN0aSAoMTUpIGxldCBwbwp1a29uxI1lbsOtIHBsYXRub3N0aSBzbWxvdXZ5LCBhfGUgbmV2enRhaHVqZSBzZSBuYQpkxa92xJtybsOpIGluZm9ybWFjZSB2cm96c2FodSwgdm7Em23FvjogMSkganNvdSwKbmVibyBzZSBzdGFub3UgdmXFmWVqbsSbIGRvc3R1cG7DvW1pIGJleiB6YXZpbsSbbsOtCnBvc2t5dG92YXRlbGUgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYS9uZWJvIGhsYXZuw61obwp6a291xaFlasOtY8OtaG87IDIpIGpzb3UgcG9za3l0bnV0eSBwb3NreXRvdmF0ZWxpCnpkcmF2b3Ruw61jaCBzbHXFvmViIGEgaGxhdm7DrW11IHprb3XFoWVqw61jw61tdSB0xZlldMOtCnN0cmFub3UsIGt0ZXJhIG5lcG9kbMOpaMOhIHBvdmlubm9zdGkgemFjaG92w6F2YXQKbWzEjWVubGl2b3N0OyAzKSBtdXPDrSBiw710IHBvc2t5dG51dHkgRXRpY2vDqSBrb21pc2kKbmVibyBwxZnDrXNsdcWhbsO9bSBzcHLDoXZuw61tIMO6xZlhZMWvbSB2IHNvdWxhZHUgcwpwbGF0bsO9bWkgcHLDoXZuw61taSBwxZllZHBpc3k7IDQpIG11c8OtIGLDvXQgemFocm51dHkKdiBuxJtrdGVyw6ltIHogaW5mb3Jtb3ZhbsO9Y2ggc291aGxhc8WvIHBybyBzdWJqZWt0CmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gdiBzb3VsYWR1IHMgcGxhdG7DvW1pCnByw6F2bsOtbWkgcMWZZWRwaXN5OyA1KSBqc291IHp2ZcWZZWpuxJtueSB2c291bGFkdQpzIMSNbMOhbmtlbSA2IHTDqXRvIHNtbG91dnk7IG5lYm8sIDYpIGplamljaApwb3NreXRudXTDrWplIHBvxb5hZG92w6FubyBwcsOhdm7DrW1pIHDFmWVkcGlzeS4KCiAKCjUuMyBQZXJzb25hbCBEYXRhIHByb3RlY3Rpb24KCjUuMyBPY2hyYW5hIG9zb2Juw61jaCDDumRhasWvCgogCgpDUk8sIENsaW5pY2FsIFNpdGUgYW5kIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3Igd2lsbApwcm92aWRlIGZvciBzdWJqZWN0IHBlcnNvbmFsIGRhdGEgcHJvdGVjdGlvbgphY2NvcmRpbmcgdG8gYXBwbGljYWJsZSBsYXcgd2hpY2ggaW5jbHVkZXMKcGFydGljdWxhcmx5IHRoZSBSZWd1bGF0aW9uIChFVSkgMjAxNi82Nzkgb2YgdGhlCkV1cm9wZWFuIFBhcmxpYW1lbnQgYW5kIG9mIHRoZSBDb3VuY2lsIG9mIDI3CkFwcmlsIDIwMTYgb24gdGhlIHByb3RlY3Rpb24gb2YgbmF0dXJhbCBwZXJzb25zCndpdGggcmVnYXJkIHRvIHRoZSBwcm9jZXNzaW5nIG9mIHBlcnNvbmFsIGRhdGEKYW5kIG9uIHRoZSBmcmVlIG1vdmVtZW50IG9mIHN1Y2ggZGF0YSwgYW5kCnJlcGVhbGluZyBEaXJlY3RpdmUgOTUvNDYvRUMgKEdlbmVyYWwgRGF0YQpQcm90ZWN0aW9uIFJlZ3VsYXRpb24pIChoZXJlaW5hZnRlciByZWZlcnJlZCBhcwoKIAoKIAoKQ1JPLCBwb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCnprb3XFoWVqw61jw60gc2UgemF2YXp1asOtIHphYmV6cGXEjWl0IG9jaHJhbnUgb3NvYm7DrWNoCmRhdCBzdWJqZWt0xa8gdiBrbGluaWNrw6ltIGhvZG5vY2Vuw60gdiBzb3VsYWR1IHMKcGxhdG5vdSBsZWdpc2xhdGl2b3UsIGt0ZXLDoSB6YWhybnVqZSB6ZWptw6luYQpOYcWZw616ZW7DrSBFdnJvcHNrw6lobyBwYXJsYW1lbnR1IGEgUmFkeSAoRVUpCjIwMTYvNjc5IHplIGRuZSAyNy5kdWJuYSAyMDE2IG8gb2NocmFuxJsKZnl6aWNrw71jaCBvc29iIHYgc291dmlzbG9zdGkgc2UgenByYWNvdsOhbsOtbQpvc29ibsOtY2ggw7pkYWrFryBhIGplamljaCB2b2xuw6ltIHBvaHlidSwgYSBvCnpydcWhZW7DrSBTbcSbcm5pY2UgOTUvNDYvRUMgKE9iZWNuw6kgbmHFmcOtemVuw60gbwpvY2hyYW7EmyBvc29ibsOtY2ggw7pkYWrFrykgZGFsZSBqZW5vbSDigJ5OYcWZw616ZW7DrQoKIAoKRE9NQUpPUiBUcmlwYXJ0aXRlIENsaW5pY2FsIFRyaWFsIEFncmVlbWVudCBTYW5hQ0lpcyBDWiBLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgoKUEkgVi5sLCBEYXRlIGxTTUFZMjAyMAoKUGFnZSAxMyBvZiAyMgoKIAoKIAoKIAoK4oCcdGhlIEdEUFIgUmVndWxhdGlvbiIpIGFuZCBwdXJzdWFudCB0byBwb2ludCA1LjIKb2YgdGhpcyBBZ3JlZW1lbnQuCgpHRFBS4oCcIGEgcyBib2RlbSA1LjIgdMOpdG8gc21sb3V2eS4KCiAKClBhcnRpZXMgc2hhbGwgaW1wbGVtZW50IGFwcHJvcHJpYXRlIHRlY2huaWNhbCBhbmQKb3JnYW5pemF0aW9uYWwgbWVhc3VyZXMgdG8gZW5zdXJlIGFuZCB0byBiZSBhYmxlCnRvIGRlbW9uc3RyYXRlIHRoYXQgcHJvY2Vzc2luZyBpcyBwZXJmb3JtZWQgaW4KYWNjb3JkYW5jZSB3aXRoIHRoZSBHRFBSIFJlZ3VsYXRpb24uIFRoZQphZG9wdGVkIG1lYXN1cmVzIHNoYWxsIGVuc3VyZSBhIGxldmVsIG9mIHNlY3VyaXR5CgphcHByb3ByaWF0ZSB0byB0aGUgcmlzaywgaW5jbHVkaW5nCnBzZXVkb255bWl6YXRpb24sIHdoaWxlIHRoZSBQcmluY2lwYWwKSW52ZXN0aWdhdG9yIHNoYWxsIGJlIHJlc3BvbnNpYmxlIGZvciB0aGUKCnBzZXVkb255bWl6YXRpb24gYW5kIENSTyBhbmQgU3BvbnNvciBzaGFsbApwcm9jZXNzIG9ufHkgcHNldWRvbnltaXplZCBkYXRhLiBUaGUgYWRvcHRlZAptZWFzdXJlcyBzaGFsbCBpbmNsdWRlIGVuY3J5cHRpb24sIGFiaWxpdHkgdG8KZW5zdXJlIHRoZSBvbmdvaW5nIGNvbmZpZGVudGlhSWl0eSwgaW50ZWdyaXR5LAphdmFpbGFiaWxpdHkgYW5kIHJlc2lsaWVuY2Ugb2YgcHJvY2Vzc2luZyBzeXN0ZW1zCmFuZCBzZXJ2aWNlczsgYWJpbGl0eSB0byByZXN0b3JlIHRoZSBhdmFpbGFiaWxpdHkKYW5kIGFjY2VzcyB0byBwZXJzb25hbCBkYXRhIGluIGEgdGltZWx5IG1hbm5lcgppbiB0aGUgZXZlbnQgb2YgYSBwaHlzaWNhbCBvciB0ZWNobmljYWwgaW5jaWRlbnQ7CmFuZCBhIHByb2Nlc3MgZm9yIHJlZ3VsYXJseSB0ZXN0aW5nLCBhc3Nlc3NpbmcgYW5kCmV2YWx1YXRpbmcgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgdGVjaG5pY2FsIGFuZApvcmdhbml6YXRpb25hbCBtZWFzdXJlcyBmb3IgZW5zdXJpbmcgdGhlIHNlY3VyaXR5Cm9mIHRoZSBwcm9jZXNzaW5nLgoKU3RyYW55IHphdmVkb3Ugb2Rwb3bDrWRhasOtY8OtIHRlY2huaWNrw6EgYQpvcmdhbml6YcSNbsOtIG9wYXTFmWVuw60sIGFieSB6YWppc3RpbHkgYSBwcm9rw6F6YWx5LCDFvmUKenByYWNvdmFuw60gcHJvYsOtaMOhIHYgc291bGFkdSBzIE5hxZnDrXplbsOtbSBHRFBSLgoKUMWZaWphdMOhIG9wYXTFmWVuw60gemFqaXN0w60gw7pyb3ZlxYggYmV6cGXEjW5vc3RpCm9kcG92w61kYWrDrWPDrSByaXppa3UgdsSNZXRuxJsgcHNldWRvbnltaXphY2UsCnDFmWnEjWVtxb4gSGxhdm7DrSB6a291xaFlasOtY8OtIG9kcG92w61kw6EgemEKCnBzZXVkb255bWl6YWNpIGEgQ1JPIGEgWmFkYXZhdGVsIHpwcmFjb3ZhdmEKcG91emUgcHNldWRvbnltaXpvdmFuYSBkYXRhLiBQxZlpamF0w6Egb3BhdMWZZW7DrQp6YWhybnVqw60gxaFpZnJvdsOhbsOtLCBzY2hvcG5vc3QgemFqaXN0aXQgemFjaG92YW7DrQpkxa92xJtybm9zdGksIGludGVncml0eSwgZG9zdHVwbm9zdGkgYSBvZG9sbm9zdGkKenByYWNvdmF0ZWxza8O9Y2ggc3lzdMOpbcWvIGEgc2x1xb5lYjsgc2Nob3Bub3N0Cm9ibm92aXQgZG9zdHVwbm9zdCBhIHDFmcOtc3R1cCBrIG9zb2Juw61tIMO6ZGFqxa9tCnbEjWFzIHYgcMWZw61wYWTEmyBmeXppY2vDqSBuZWJvIHRlY2huaWNrw6kgdWTDoWxvc3RpOyBhCnBvc3R1cCBwcm8gcHJhdmlkZWxuw6kgdGVzdG92YW7DrSwgcG9zdXpvdsOhbsOtIGEKaG9kbm9jZW7DrSDDusSNaW5ub3N0aSB0ZWNobmlja8O9Y2ggYSBvcmdhbml6YcSNbsOtY2gKb3BhdMWZZW7DrSBwcm8gemFqacWhdMSbbsOtIGJlenBlxI1ub3N0aSB6cHJhY292YW7DrS4KCiAKClRoZSBQYXJ0aWVzIHNoYWxsIHRha2Ugc3RlcHMgdG8gZW5zdXJlIHRoYXQgYW55Cm5hdHVyYWwgcGVyc29uIGFjdGluZyB1bmRlciB0aGVpciBhdXRob3JpdHkgd2hvCmhhcyBhY2Nlc3MgdG8gcGVyc29uYWwgZGF0YSBkb2VzIG5vdCBwcm9jZXNzCnRoZW0gZXhjZXB0IG9uIGluc3RydWN0aW9ucyBmcm9tIHRoZSBwYXJ0aWVzIGFuZApwcm9jZXNzIHRoZW0gaW4gcHVyc3VhbnQgdG8gcG9pbnQgNSwyIG9mIHRoaXMKQWdyZWVtZW50LCB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBzaGFsbApwcm92aWRlIGNvbnNlbnRzIG9mIGRhdGEgc3ViamVjdHMgdG8gdGhlCnByb2Nlc3Npbmcgb2YgcGVyc29uYWwgZGF0YSBjb3x8ZWN0ZWQgYnkgdGhlClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IsIHdoaWxlIHN1Y2ggY29uc2VudCBzaGFsbAphdXRob3JpemUgdGhlIHRyYW5zZmVyIG9mIHBlcnNvbmFsIGRhdGEgYW5kIHNoYWxsCmJlIGdyYW50ZWQgZm9yIHRoZSBjb25kdWN0IGFuZCBpbnRlcnByZXRhdGlvbiBvZgp0aGUgVHJpYWwsIGZvciByZXZpZXcgYnkgZ292ZXJubWVudGFsIG9yCnJlZ3VsYXRvcnkgYWdlbmNpZXMsIFNwb25zb3IsIGFuZCBpdHMgYWdlbnRzLAphZmZpbGlhdGVzIGFuZCBjb3x8YWJvcmF0b3JzOyBmb3Igc2F0aXNmeWluZyBsZWdhbCBvcgpyZWd1bGF0b3J5IHJlcXVpcmVtZW50czsgYW5kIGZvciBwdWJsaWNhdGlvbi4gQXx8ClBhcnRpZXMgaW4gZ2VuZXJhbCBhZ3JlZSB0byBvYnRhaW4gYW55IGV4cHJlc3MKY29uc2VudHMsIGFzIG1heSBiZSBuZWNlc3NhcnkgaW4gYWNjb3JkYW5jZQp3aXRoIEdEUFIgUmVndWxhdGlvbiBvciBhbnkgb3RoZXIgYXBwbGljYWJsZQpkYXRhIHByb3RlY3Rpb24gbGVnaXNsYXRpb24sIGZvciB0aGUgcHJvY2Vzc2luZyBvZgphbnkgcGVyc29uYWwgZGF0YSBjb3x8ZWN0ZWQgZnJvbSBhbnkgZGF0YQpzdWJqZWN0cyBpbnZvbHZlZCBpbiB0aGUgY29uZHVjdCBvZiB0aGUgVHJpYWwuCgpTdHJhbnkgcMWZaWptb3UgdGFrb3bDoSBvcGF0xZllbsOtLCBhYnkgemFqaXN0aWx5LCDFvmUKa2HFvmTDoSBmeXppY2vDoSBvc29iYSBqZWRuYWrDrWPDrSBwb2QgamVqaWNoCnByYXZvbW9jw60sIGt0ZXLDoSBtw6EgcMWZw61zdHVwIGsgb3NvYm7DrW0gw7pkYWrFr20sIGplCm5lenByYWNvdsOhdsOhLCBzIHbDvWppbWtvdSB6cHJhY292YW7DrSBkbGUgcG9reW7FrwpzdHJhbiBhIHpwcmFjb3ZhdmEgamUgcG9kbGUgYm9kdSA1LjIgdMOpdG8KU21sb3V2eSwgSGxhdm7DrSB6a291xaFlasOtY8OtIHBvc2t5dG5lIHNvdWhsYXMKc3ViamVrdMWvIMO6ZGFqxa8gc2UgenByYWNvdsOhbsOtbSBvc29ibsOtY2ggw7pkYWrFrwpzaHJvbcOhxb5kxJtuw71jaCBIbGF2bsOtbSB6a291xaFlasOtY8OtbSwgcMWZacSNZW3Fvgp0ZW50byBzb3VobGFzIHVtb8W+bsOtIHDFmWVkw6F2w6Fuw60gb3NvYm7DrWNoIMO6ZGFqxa8gYQp1ZMSbbHVqZSBzZSBrIHByb3bDoWTEm27DrSBhIGludGVycHJldGFjaSBrbGluaWNrw6lobwpob2Rub2NlbsOtLCBrIHDFmWV6a291bcOhbsOtIHZsw6FkbsOtbWkgbmVibwpyZWd1bGHEjW7DrW1pIG9yZ2FueSwgWmFkYXZhdGVsZSBhIGplaG8gesOhc3R1cGPFrywKcG9ib8SNZWsgYSBzcG9sdXByYWNvdm7DrWvFrzsgcHJvIHNwbG7Em27DrSB6w6Frb25uw71jaApuZWJvIHJlZ3VsYcSNbsOtY2ggcG/FvmFkYXZrxa87IGEgcHJvIHB1Ymxpa2FjaS4KVsWhZWNobnkgc21sdXZuw60gc3RyYW55IG9iZWNuxJsgc291aGxhc8OtIHMgdMOtbSwgxb5lCm9iZHLFvsOtIHbDvXNsb3Zuw6kgc291aGxhc3ksIGt0ZXLDqSBtb2hvdSBiw710Cm5lemJ5dG7DqSB2IHNvdWxhZHUgcyBOYcWZw616ZW7DrW0gR0RQUiBuZWJvIGppbsO9bWkKcGxhdG7DvW1pIHByw6F2bsOtbWkgcMWZZWRwaXN5IG8gb2NocmFuxJsgw7pkYWrFrywgcHJvCnpwcmFjb3bDoW7DrSBqYWvDvWNoa29saSBvc29ibsOtY2ggw7pkYWrFrwpzaHJvbcOhxb5kxJtuw71jaCBvZCB2xaFlY2ggc3ViamVrdMWvIMO6ZGFqxa8KemFwb2plbsO9Y2ggZG8gcHJvdsOhZMSbbsOtIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60uCgogCgpJZiByZXF1aXJlZCwgYWNjb3JkaW5nIHRvIHRoZSBHRFBSIFJlZ3VsYXRpb24sCmVhY2ggb2YgdGhlIHBhcnRpZXMgc2hhbGwgcHJvdmlkZSB0byB0aGUgZGF0YQpzdWJqZWN0IGF8fCBpbmZvcm1hdGlvbiBhY2NvcmRpbmcgdG8gQXJ0LiAxMyByZXNwLgoxNCBvZiB0aGUgR0RQUiBSZWd1bGF0aW9uIGFuZCBmdXxmaXx8IGF8fApvYmxpZ2F0aW9ucyByZWdhcmRpbmcgZW5mb3JjZW1lbnQgb2YgdGhlIHJpZ2h0cwpieSB0aGUgZGF0YSBzdWJqZWN0cy4KClYgcMWZw61wYWTEmyBwb3TFmWVieSwgcG9kbGUgTmHFmcOtemVuw60gR0RQUiwgcG9za3l0bmUKa2HFvmTDoSB6ZSBzdHJhbiBzdWJqZWt0dSDDumRhasWvIHZlxaFrZXLDqSBpbmZvcm1hY2UKcG9kbGUgxI1sLiAxMyByZXNwLiAxNCBOYcWZw616ZW7DrSBHRFBSIGEgc3BsbsOtCnbFoWVjaG55IHBvdmlubm9zdGkgdMO9a2Fqw61jw60gc2UgcHJvc2F6b3ZhbsOtIHByYXYKc3ViamVrdMWvIMO6ZGFqxa8uCgogCgogCgpJZiBlaXRoZXIgUGFydHkgYmVjb21lcyBhd2FyZSBvZiBhIHBlcnNvbmFsIGRhdGEKYnJlYWNoLCB0aGF0IFBhcnR5IHNoYWxsIHByb21wdGx5IG5vdGlmeSB0aGUgb3RoZXIKUGFydHkvaWVzLiBJbiBzdWNoIGEgY2FzZSBQYXJ0aWVzIHdpbGwgZnV8fHkKY29vcGVyYXRlIHdpdGggZWFjaCBvdGhlciB0byByZW1lZHkgdGhlCnBlcnNvbmFsIGRhdGEgYnJlYWNoLCBmdXxmaXwgdGhlIChzdGF0dXRvcnkpCm5vdGlmaWNhdGlvbiBvYmxpZ2F0aW9ucyBhY2NvcmRpbmcgdG8gQXJ0LiAzMyBhbmQKMzQgb2YgdGhlIEdEUFIgUmVndWxhdGlvbiB0aW1lbHkuCgogCgpQb2t1ZCBzZSBuxJtrdGVyw6Egc21sdXZuw60gc3RyYW5hIGRvenbDrSwgxb5lIGRvxaFsbyBrCnBvcnXFoWVuw60gb2NocmFueSBvc29ibsOtY2ggw7pkYWrFrywgdGF0byBzdHJhbmEKbmVwcm9kbGVuxJsgb3puw6Ftw60gdHV0byBza3V0ZcSNbm9zdCBkcnVow6kgc21sdXZuw60Kc3RyYW7Emy9zdHJhbmFtLiBWIHRha292w6ltIHDFmcOtcGFkxJsgc3RyYW55CnZ6w6FqZW1uxJsgcGxuxJsgc3BvbHVwcmFjdWrDrSBuYSBuw6FwcmF2xJsgcG9ydcWhZW7DrQpvY2hyYW55IG9zb2Juw61jaCDDumRhasWvIGEgdsSNYXMgc3BsbsOtIChzdGF0dXTDoXJuw60pCm96bmFtb3ZhY8OtIHBvdmlubm9zdGkgcG9kbGUgxI1sLiAzMyBhIDM0IE5hxZnDrXplbsOtCkdEUFIuCgogCgpET01BSk9SIFRyaXBhcnRpdGUgQ2xpbmljYWwgVHJpYWwgQWdyZWVtZW50IFNhbmFDSWlzIENaIEtyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCgpQSSAsIHYuMSwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgMTQgb2YgMjIKCiAKCiAKCiAKClRoZSBwYXJ0aWVzIHNoYWxsIGNvb3BlcmF0ZSwgb24gcmVxdWVzdCwgd2l0aCB0aGUKc3VwZXJ2aXNvcnkgYXV0aG9yaXR5IGluIHRoZSBwZXJmb3JtYW5jZSBvZiBpdHMKdGFza3MuCgpTdHJhbnkgbmEgcG/FvsOhZMOhbsOtIHNwb2x1cHJhY3Vqw60gcyBkb3pvcm92w71tCm9yZ8OhbmVtIHDFmWkgcGxuxJtuw61qZWhvIMO6a29sxa8uCgogCgo2LiBQdWJsaWNhdGlvbgoKNi4gUHVibGlrYWNlCgogCgpJdCBpcyB1bmRlcnN0b29kIGFuZCBhZ3JlZWQgdGhhdCBhbnkgYW5kIGFsbAppbmZvcm1hdGlvbiwgZGF0YSBvciBkaXNjb3ZlcmllcyByZXN1bHRpbmcgZnJvbSwKZ2VuZXJhdGVkIG9yIGRldmVsb3BlZCBieSB0aGUgVHJpYWwgaXMgdGhlCnByb3BlcnR5IG9mIFNwb25zb3IgYW5kIG1heSBiZSB1c2VkIGJ5IFNwb25zb3IKaW4gY29ubmVjdGlvbiB3aXRoIGFueSBvZiBpdHMgcmVzZWFyY2gsCmRldmVsb3BtZW50LCBtYXJrZXRpbmcgb3IgcHJvbW90aW9uYWwKYWN0aXZpdGllcy4gU3BvbnNvciBoYXMgdW5yZXN0cmljdGVkIHB1YmxpY2F0aW9uCnJpZ2h0cyBvbiBkYXRhIHJlc3VsdGluZyBmcm9tIHRoZSBUcmlhbC4gU3BvbnNvcgptYXkgYWxzbyBnaXZlIGRhdGEgdG8gdGhpcmQgcGFydGllcyBmb3IKcHVibGljYXRpb24uIFNwb25zb3IgaGFzIHRoZSByaWdodCB0byBuYW1lIGNv4oCUCmF1dGhvcnMuCgpTdHJhbnkgbWFqw60gemEgdG8gYSBzb3VobGFzw60gcyB0w61tLCDFvmUgdmXFoWtlcsOpCmluZm9ybWFjZSwgw7pkYWplIG5lYm8gb2JqZXZ5LCBrdGVyw6kgdnlwbHlub3UgegprbGluaWNrw6lobyBob2Rub2NlbsOtLCBqc291IHZsYXN0bmljdHbDrW0gemFkYXZhdGVsZQphIG1vaG91IGLDvXQgcG91xb5pdMOpIHphZGF2YXRlbGVtIHYgc291dmlzbG9zdGkgcwprdGVyb3Vrb2xpIHogamVobyB2w716a3VtbsO9Y2gsIHbDvXZvam92w71jaCwKbWFya2V0aW5nb3bDvWNoIGEgcHJvcGFnYcSNbsOtY2ggYWt0aXZpdC4gWmFkYXZhdGVsCm1hIG5lb21lemVuw6kgcHJhdm8gcHVibGlrb3ZhdCDDumRhamUgdnlwbMO9dmFqw61jw60KeiBrbGluaWNrw6lobyBob2Rub2NlbsOtLiBaYWRhdmF0ZWwgbcWvxb5lIHRha8OpCnBvc2t5dG5vdXQgZGF0YSB0xZlldMOtIHN0cmFuxJsgemEgw7rEjWVsZW0gamVqaWNoCnB1Ymxpa2FjZS4gWmFkYXZhdGVsIGplIG9wcsOhdm7Em24gdXbDqXN0CnNwb2x1YXV0b3J5LgoKIAoKQmVmb3JlIHN1Ym1pc3Npb24gZm9yIHB1YmxpY2F0aW9uIFByaW5jaXBhbApJbnZlc3RpZ2F0b3IgbXVzdCBwcm92aWRlIGF8fCBtYW51c2NyaXB0cyB0bwpTcG9uc29yIGZvciByZXZpZXcgYW5kIGNvbW1lbnQuIEluIG9yZGVyIHRvCmVuc3VyZSB0aGF0IFNwb25zb3Igd2lsbCBiZSBhYmxlIHRvIG1ha2UKY29tbWVudHMgYW5kIHN1Z2dlc3Rpb25zIHdoZXJlIHBlcnRpbmVudApwYXBlcnMgbXVzdCBiZSBwcm92aWRlZCBubyBsYXRlciB0aGFuIGVpZ2h0ICg4KQp3ZWVrcyBhbmQgYWJzdHJhY3RzIG5vIHxhdGVyIHR3byAoMikgd2Vla3MKYmVmb3JlIHN1Ym1pc3Npb24gZm9yIHB1YmxpY2F0aW9uLiBTcG9uc29yIHdpbGwKcmVzcG9uZCB0byBzdWNoIHN1Ym1pc3Npb25zIHdpdGhpbiBhIHJlYXNvbmFibGUKcGVyaW9kIG9mIHRpbWUsIG5vdCB0byBleGNlZWQgdGhpcnR5ICgzMCkgZGF5cy4gQXx8CgpQxZllZCBvZGVzbMOhbsOtbSBwxZnDrXNwxJt2a3UgayBwdWJsaWthY2kgamUgaGxhdm7DrQp6a291xaFlasOtY8OtIHBvdmluZW4gcG9za3l0bm91dCB2xaFlY2hueSBydWtvcGlzeQp6YWRhdmF0ZWxpIHBybyBrb250cm9sdSBhIHDFmWlwb23DrW5rb3bDoW7DrS4gQWJ5IGJ5bG8KemFqacWhdMSbbm8sIMW+ZSB6YWRhdmF0ZWwgYnVkZSBtb2NpIHZ6bsOhxaFldApwxZlpcG9tw61ua3kgYSBwb2RuxJt0eSwgcG9rdWQganNvdSByZWxldmFudG7DrSwKZG9rdW1lbnR5IG11c8OtIGLDvXQgZG9ydcSNZW55IG5lanBvemTEm2ppIG9zbSAoOCkKdMO9ZG7FryBhIGFic3RyYWt0eSBuZWpwb3pkxJtqaSBkdmEgKDIpIHTDvWRueSBwxZllZApwb2TDoW7DrW0gxb7DoWRvc3RpIG8gcHVibGlrYWNpLiBaYWRhdmF0ZWwgYnVkZQpyZWFnb3ZhdCBuYSB0YWtvdsOpIHBvZGFuw60gdiBwxZlpbcSbxZllbsOpIGxoxa90xJssCm5lcMWZZXNhaHVqw61jw60gdMWZaWNldCAoMzApIGRuxa8uIFbFoWVjaG55IHJvenVtbsOpCgpyZWFzb25hYmxlIGNvbW1lbnRzIG1hZGUgYnkgU3BvbnNvciBpbiBwxZlpcG9tw61ua3kgb2QgemFkYXZhdGVsZSB2IHNvdXZpc2xvc3RpIHMKcmVsYXRpb24gdG8gYSBwcm9wb3NlZCBwdWJsaWNhdGlvbiBtdXN0IGJlIG5hdnLFvmVub3UgcHVibGlrYWPDrSBtdXPDrSBiw710IHphxI1sZW7Em255IGRvCmluY29ycG9yYXRlZCBpbnRvIHRoZSBwdWJsaWNhdGlvbi4gcHVibGlrYWNlLgoKIAoKSGF2aW5nIGluIG1pbmQgdGhhdCB0aGUgVHJpYWwgaXMgbXV8dGnigJRjZW50ZXJlZCwKYW55IHB1YmxpY2F0aW9uIGJhc2VkIG9uIHRoZSByZXN1bHRzIG9idGFpbmVkIGF0CnRoZSBDbGluaWNhbCBTaXRlIChvciBhIGdyb3VwIG9mIENsaW5pY2FsIFNpdGVzKSBzaGFsbAoKbm90IGJlIG1hZGUgYmVmb3JlIHRoZSBtdXx0aeKAlGNlbnRlcgpwdWJsaWNhdGlvbihzKSwgaS5lLiBiZWZvcmUgZnV8fCBUcmlhbCByZXN1bHRzCnB1YmxpY2F0aW9uLiBJbiBhZ3JlZW1lbnQgd2l0aCB0aGUgVHJpYWwncwoKUHJpbmNpcGFsIEludmVzdGlnYXRvciAoZm9yIHNha2Ugb2YgY2xhcml0eSB0aGUgdGVybQrigJxUcmlhbCdzIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IiIG1lYW5zIHRoZQp3b3JsZHdpZGUgcmVzcG9uc2libGUgSW52ZXN0aWdhdG9yKSBhbmQgU3BvbnNvciwKc3ViamVjdCB0byB0aGUgY29uZGl0aW9ucyBzZXQgZm9ydGggYWJvdmUsIHRoZQpwYXJ0aWNpcGF0aW5nIEludmVzdGlnYXRvcnMgbWF5IHB1Ymxpc2ggb24gZGF0YQp0aGV5IGhhdmUgY29udHJpYnV0ZWQgYWZ0ZXIgb2J0YWluaW5nIGFncmVlbWVudAp3aXRoIHRoZSBUcmlhbCdzIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgYW5kIFNwb25zb3IKaW4gd3JpdGluZy4KCk1hasOtY2UgbmEgesWZZXRlbGksIMW+ZSB2IHDFmcOtcGFkxJsgbXV8dGljZW50cmlja8OpaG8Ka2xpbmlja8OpaG8gaG9kbm9jZW7DrSBuZXNtw60gYsO9dCBwdWJsaWtvdsOhbnkgw7pkYWplCnphbG/FvmVuw6kgbmEgdsO9c2xlZGPDrWNoIGRvc2HFvmVuw71jaCB2IGNlbnRydQpwb3NreXRvdmF0ZWxlIHpkcmF2b3Ruw61jaCBzbHXFvmViIChuZWJvIHZlIHNrdXBpbsSbCmNlbnRlciBwb3NreXRvdmF0ZWzFryB6ZHJhdm90bsOtY2ggc2x1xb5lYikgZG9rdWQKbmVkb2pkZSBrIHB1Ymxpa2FjaSB6IG11fHRpY2VudHJpY2vDqWhvIGhvZG5vY2Vuw60sCnRqLiBkb2t1ZCBuZWRvamRlIGsgcHVibGlrYWNpIMO6cGxuw71jaCB2w71zbGVka8WvCmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60uIFBvIGRvaG9kxJsgcyBobGF2bsOtbQp6a291xaFlasOtY8OtbSBwcm8ga2xpbmlja8OpIGhvZG5vY2Vuw60gKHBybyBvYmphc27Em27DrQp0ZXJtw61udSDigJxobGF2bsOtIHprb3XFoWVqw61jw60gcHJvIGtsaW5pY2vDqSBob2Rub2NlbsOtIgp6bmFtZW5hIGNlbG9zdsSbdG92xJsgaGxhdm7DrSB6a291xaFlasOtY8OtKSBhCnphZGF2YXRlbGVtLCB6YSBwb2Rtw61uZWsgdXZlZGVuw71jaCB2w73FoWUsCsO6xI1hc3Ruw61jw60gc2UgemtvdcWhZWrDrWPDrSBtb2hvdSBwdWJsaWtvdmF0IMO6ZGFqZSwga2UKa3RlcsO9bSBwxZlpc3DEm2xpLCBwbyBww61zZW1uw6kgZG9ob2TEmyBzIGhsYXZuw61tCnprb3XFoWVqw61jw61tIHBybyBrbGluaWNrw6kgaG9kbm9jZW7DrSBhIHphZGF2YXRlbGVtLgoKIAoKNy4gRmluYW5jaWFsIGNvbXBlbnNhdGlvbgoKNy4gRmluYW7EjW7DrSBvZG3Em25hCgogCgpDb21wZW5zYXRpb24gZm9yIFRyaWFsIGNvbmR1Y3RlZCB1bmRlciB0aGUKcHJlc2VudCBBZ3JlZW1lbnQgaXMgc3RpcHVsYXRlZCBieSBQYXJ0aWVzIGluIHRoZQpBcHBlbmRpeCBBIG9mIHRoZSBBZ3JlZW1lbnQsIHdoaWNoIGlzCmNvbnNpZGVyZWQgdG8gYmUgYW4gaW50ZWdyYWwgcGFydCBoZXJlaW4uCgpPZG3Em25hIHphIGtsaW5pY2vDqSBob2Rub2NlbsOtLCBwcm92ZWRlbsOpCnZzb3VsYWR1IHNlIHNtbG91dm91LCBqZSBzbWx1dm7DrW1pIHN0cmFuYW1pCnNqZWRuw6FuYSB2cMWZw61sb3plIEEgdMOpdG8gc21sb3V2eSwga3RlcsOpIGplCm5lZMOtbG5vdSBzb3XEjcOhc3TDrSBzbWxvdXZ5CgogCgogCgo4LiBGaW5hbmNpYWwgZGlzY2xvc3VyZSAvIHByaW5jaXBsZXMgb2YgY28tCm9wZXJhdGlvbgoKIAoKOC4gSW5mb3JtYWNlIG8gZmluYW7EjW7DrWNoIHrDoWptZWNoIC8gcHJpbmNpcHkKc3BvbHVwcsOhY2UKCiAKCkRPTUFKT1IgVHJpZ2FydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJIFYubCwgRGF0ZSBsU01BWTIwMjAKClBhZ2UgMTUgb2YgMjIKCiAKCiAKCiAKCkJvdGggcHJpb3IgdG8gYW5kIGR1cmluZyB0aGUgY291cnNlIG9mIHRoZSBUcmlhbCwKdGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgYW5kIGhpcy9oZXIgdGVhbXMgbWF5CmJlIGNhfHxlZCB1cG9uIHRvIHByb3ZpZGUgcGVyc29uYWwgZGF0YS4gVGhpcwpkYXRhIGZhbGxzIHdpdGhpbiB0aGUgc2NvcGUgb2YgdGhlIGxhdyBhbmQKcmVndWxhdGlvbnMgcmVsYXRpbmcgdG8gdGhlIHByb3RlY3Rpb24gb2YgcGVyc29uYWwKZGF0YS4gRm9yIHRoZSBJbnZlc3RpZ2F0b3IsIHRoaXMgcGVyc29uYWwgZGF0YQptYXkgaW5jbHVkZSBuYW1lcywgY29udGFjdCBpbmZvcm1hdGlvbiwgd29yawpleHBlcmllbmNlIGFuZCBwcm9mZXNzaW9uYWwgcXVhbGlmaWNhdGlvbnMsCnB1YmxpY2F0aW9ucywgcmVzdW1lcywgYW5kIGVkdWNhdGlvbmFsCmJhY2tncm91bmQgZm9yIHRoZSBmb2xsb3dpbmcgcHVycG9zZXM6IChpKSB0aGUKY29uZHVjdCBvZiBjfGluaWNhfCB0cmlhbHMsIChpaSkgdmVyaWZpY2F0aW9uIGJ5CmdvdmVybm1lbnRhbCBvciByZWd1bGF0b3J5IGFnZW5jaWVzLCB0aGUKU3BvbnNvciwgQ1JPLCB0aGVpciBhZ2VudHMgYW5kIGFmZmlsaWF0ZXMsIChpaWkpCmNvbXBsaWFuY2Ugd2l0aCBsZWdhbCBhbmQgcmVndWxhdG9yeQpyZXF1aXJlbWVudHMsIChpdikgcHVibGljYXRpb24gb24gb2ZmaWNpYWwgd2Vic2l0ZXMKYW5kIGRhdGFiYXNlcyB0aGF0IHNlcnZlIGEgY29tcGFyYWJsZSBwdXJwb3NlOwphbmQgKHYpIHN0b3JhZ2UgaW4gZGF0YWJhc2VzIHRvIGZhY2lsaXRhdGUgdGhlCnNlbGVjdGlvbiBvZiBJbnZlc3RpZ2F0b3JzIGZvciBmdXR1cmUgY3xpbmljYXwgdHJpYWxzLgpOYW1lcyBvZiBtZW1iZXJzIG9mIENsaW5pY2FsIFNpdGUgc3RhZmYgbWF5IGJlCnByb2Nlc3NlZCBpbiBDUk8nIFRyaWFsIGNvbnRhY3RzIGRhdGFiYXNlIGZvcgpUcmlhbOKAlHJlbGF0ZWQgcHVycG9zZXMgb25seS4gVGhlIFNwb25zb3Igc2hhbGwgYmUKdGhlIGRhdGEgY29udHJvfHxlciBmb3Igc3VjaCBwZXJzb25hbCBkYXRhIGV4Y2VwdAp0aGF0LCBpZiBDUk8gZGVhbHMgd2l0aCBhbnkgcGVyc29uYWwgZGF0YSB1bmRlcgp0aGlzIEFncmVlbWVudCBpbiB0aGUgbWFubmVyIG9mIGEgZGF0YQpjb250cm9sbGVyLCBDUk8gc2hhbGwgYmUgdGhlIGRhdGEgY29udHJvfHxlciBvZgpzdWNoIHBlcnNvbmFsIGRhdGEgdG8gdGhlIGV4dGVudCBvZiBzdWNoCmRlYWxpbmdzLiBDUk8gbWF5IHByb2Nlc3MgInBlcnNvbmFsIGRhdGEiLCBhcwpkZWZpbmVkIGluIHRoZSBHZW5lcmFsIERhdGEgUHJvdGVjdGlvbiBSZWd1bGF0aW9uCjIwMTYvNjc5IGFuZCBhcHBsaWNhYmxlIGxlZ2lzbGF0aW9uIChjb2xsZWN0aXZlbHkKIkRhdGEgUHJvdGVjdGlvbiBMZWdpc2xhdGlvbiIpLCBvZiB0aGUgSW52ZXN0aWdhdG9yCmFuZCBDbGluaWNhbCBTaXRlIHN0YWZmIGZvciBUcmlhbOKAlHJlbGF0ZWQgcHVycG9zZXMKYW5kIGFsbCBzdWNoIHByb2Nlc3Npbmcgd2lsbCBiZSBjYXJyaWVkIG91dCBpbgphY2NvcmRhbmNlIHdpdGggdGhlIERhdGEgUHJvdGVjdGlvbiBMZWdpc2xhdGlvbi4KClYgcsWvYsSbaHUgaXBvIHVrb27EjWVuw60ga2xpbmlja8OpaG8gaG9kbm9jZW7DrQptdcW+ZSBiw710IHprb3XFoWVqw61jw60gYWplaG8vamVqw60gdMO9bSB2eXp2w6FuCmtwb3NreXRudXTDrSBvc29ibsOtY2ggw7pkYWrFry4gVHl0byDDumRhamUganNvdQp6YWhybnV0eSBkbyBvYmxhc3RpIG9jaHJhbnkgb3NvYm7DrWNoIMO6ZGFqxa8KdnNvdWxhZHUgcyBwcsOhdm7DrW1pIHDFmWVkcGlzeS4gVXprb3XFoWVqw61jw61obwoKbW9ob3UgdHl0byBvc29ibsOtIMO6ZGFqZSB6YWhybm92YXQgam3DqW5hLAprb250YWt0bsOtIGluZm9ybWFjZSwgcHJhY292bsOtIHprdcWhZW5vc3RpCmEgb2Rib3Jub3Uga3ZhbGlmaWthY2ksIHB1Ymxpa2HEjW7DrSDEjWlubm9zdCwKCsW+aXZvdG9waXN5IGEgdnpkxJtsw6F2w6Fuw60gemEgw7rEjWVsZW06IChpKSBwcm92w6FkxJtuw60KCmtsaW5pY2vDqWhvIGhvZG5vY2Vuw60sIChpaSkgcHJvdsSbxZllbsOtIHN0w6F0bsOtbWkKb3Jnw6FueSwgemFkYXZhdGVsZW0sIENSTyBhIGplamljaCB6YXN0dXBjaQphcGFydG5lcnksIChpaWkpIG92xJvFmWVuw60gc291bGFkdSBzIHBvxb5hZGF2a3kKCnByw6F2bsOtY2ggcMWZZWRwaXPFrywgKGl2KSBwdWJsaWthY2UgbmEgb2ZpY2nDoWxuw61jaAp3ZWJvdsO9Y2ggc3Ryw6Fua8OhY2ggYSBkYXRhYsOhesOtY2gsIGt0ZXLDqSBzbG91xb7DrSBrCsO6xI1lbHUgcG9yb3Zuw6Fuw607IGEgKHYpIHVjaG92w6Fuw60gdmRhdGFiYXrDrWNoIHBybwp1bGVoxI1lbsOtIHbDvWLEm3J1IHprb3XFoWVqw61jw61jaCBwcm8gYnVkb3Vjw60ga2xpbmlja8OpCmhvZG5vY2Vuw60uIEptw6luYSB6YW3Em3N0bmFuY8WvIHBvc2t5dG92YXRlbGUKemRyYXZvdG7DrWNoIHNsdcW+ZWIgbW9ob3UgYsO9dCB6cHJhY292w6FuYQp2ZGF0YWJhemkga29udGFrdMWvIHBybyBrbGluaWNrw6kgaG9kbm9jZW7DrSBDUk8KamVub20gemEgw7rEjWVsZW0gc291dmlzZWrDrWPDrW0gcyBrbGluaWNrw71tCmhvZG5vY2Vuw61tLiBaYWRhdmF0ZWwgYnVkZSBzcHJhdmNlbSB0xJtjaHRvCm9zb2Juw61jaCDDumRhasWvLCBrcm9txJsgcMWZw61wYWR1LCBrZHkgQ1JPIHpwcmFjdWplCm9zb2Juw60gw7pkYWplIHZzb3VsYWR1IHN0b3V0byBzbWxvdXZvdSBqYWtvCnNwcsOhdmNlIG9zb2Juw61jaCDDumRhasWvOyB2IHRha292w6ltIHDFmcOtcGFkxJsgYnVkZQpDUk8gc3ByYXZjZW0gb3NvYm7DrWNoIMO6ZGFqxa8gdiByb3pzYWh1IGRhbsOpaG8KenByYWNvdmFuw60uIENSTyBtxa/FvmUgenByYWNvdsOhdmF0IG9zb2Juw60gw7pkYWplCnprb3XFoWVqw61jw61obyBhIHphbcSbc3RuYW5jxa8gY2VudHJhIGtsaW5pY2vDqWhvCmhvZG5vY2Vuw60gcHJvIHBvdMWZZWJ5IGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60gZGxlCk5hxZnDrXplbsOtIDIwMTYvNjc5IG9vY2hyYW7EmyDDumRhasWvIGFwbGF0bsO9Y2gKcHLDoXZuw61jaCBwxZllZHBpc8WvIChzcG9sZcSNbsSbOiDigJ5wxZllZHBpc3kgbyBvY2hyYW7Emwpvc29ibsOtY2ggw7pkYWrFr+KAnCkgYSB2xaFlY2hueSDDumRhamUgYnVkb3UKenByYWNvdsOhbnkgdiBzb3VsYWR1IHMgcMWZZWRwaXN5IG9vY2hyYW7Emwpvc29ibsOtY2ggw7pkYWrFry4KCiAKCjkuIERpc3B1dGUgcmVzb2x1dGlvbgoKOS4gxZhlxaFlbsOtIHNwb3LFrwoKIAoKSW4gY2FzZSBvZiBvY2N1cnJlbmNlIG9mIGFueSBkaXNwdXRlcyBiZXR3ZWVuCnRoZSBjb250cmFjdHVhbCBwYXJ0aWVzIGJhc2VkIG9uIHRoZSBwcmVzZW50CmNvbnRyYWN0LCB0aGUgY29udHJhY3R1YWwgcGFydGllcyB1bmRlcnRha2UgdG8KcmVzb2x2ZSB0aGVtIGJ5IG5lZ290aWF0aW9ucy4gSW4gdGhlIGV2ZW50IGlmCmR1cmluZyBuZWdvdGlhdGlvbnMgaXQgd2FzIG5vdCBwb3NzaWJsZSB0byByZWFjaAp0aGUgYWdyZWVtZW50LCBkaXNwdXRlIHNoYWxsIGJlIHRyYW5zZmVycmVkIG9uCmNvbnNpZGVyYXRpb25zIG9mIGNvbXBldGVudCBDb3VydCBvZiBDemVjaApSZXB1YmxpYy4KClYgcMWZw61wYWTEmyB2em5pa3UgamFrw71jaGtvbGl2IHNwb3LFryBtZXppIHNtbHV2bsOtbWkKc3RyYW5hbWksIHNlIHNtbHV2bsOtIHN0cmFueSB6YXZhenVqw60gxZllxaFpdCBqZQpwcm9zdMWZZWRuaWN0dsOtbSBqZWRuYW7DrS4gViBwxZnDrXBhZMSbLCDFvmUgdiBwcsWvYsSbaHUKamVkbmFuw60gbmVidWRlIGRvc2HFvmVubyBkb2hvZHksIHNwb3IgYnVkZQpyb3pob2RudXQgcMWZw61zbHXFoW7DvW1pIHNvdWR5IENlc2vDqSByZXB1Ymxpa3kuCgogCgoxMC4gT3RoZXIgcHJvdmlzaW9ucwoKMTAuIEppbsOhIHVzdGFub3ZlbsOtCgogCgoxMC4xIFRoZSBwcmVzZW50IEFncmVlbWVudCBpcyBmb3JtZWQgYW5kCnNpZ25lZCBpbiB0aHJlZSAoMykgY29waWVzIGVhY2ggb2Ygd2hpY2ggaXMKY29uc2lkZXJlZCB0byBiZSBvcmlnaW5hbCBhbmQgaGFzIHRoZSBlcXVhbCBsZWdhbApmb3JjZS4KCjEwLjEgVGF0byBzbWxvdXZhIGplIHZ5cHJhY292w6FuYSBhCnBvZGVwaXNvdmFuYSB2ZSB0cm9qw61tICgzKSB2eWhvdG92ZW7DrSwgcMWZacSNZW3FvgprYcW+ZMOhIHogbmljaCBqZSBwb3Zhxb5vdsOhbmEgemEgb3JpZ2luw6FsIGEgdsWhZWNobnkKanNvdSB6IHByw6F2bsOtaG8gaGxlZGlza2Egcm92bm9jZW5uw6kuCgogCgoxMC4yIFRoZSBwcmVzZW50IEFncmVlbWVudCBpcyBpc3N1ZWQgYW5kCnNpZ25lZCBpbiBFbmdsaXNoIGFuZCBDemVjaCBsYW5ndWFnZXMuIFRoZQpwYXJ0aWVzIGhlcmV0byBhZ3JlZSB0aGF0IHRoZSBDemVjaCB2ZXJzaW9uIHNoYWxsCnByZXZhaWwgb3ZlciB0aGUgRW5nbGlzaCBvbmUgZm9yIGFsbCBtYXR0ZXJzIG9mCmludGVycHJldGF0aW9uIGFuZCBjb25zdHJ1Y3Rpb24uCgoxMC4yIFRhdG8gc21sb3V2YSBqZSB2eWhvdG92ZW5hIGEgcG9kZXBzw6FuYQp2YW5nbGlja8OpbSBhdsSNZXNrw6ltIGphenljZS4gU21sdXZuw60gc3RyYW55CnTDrW10byBzb3VobGFzw60sIMW+ZSByb3pob2R1asOtY8OtIGplIHZlcnplIHYgxI1lc2vDqW0KamF6eWNlIHBybyB2xaFlY2hueSDDusSNZWx5IGludGVycHJldGFjZSBhIHbDvWtsYWR1LgoKIAoKIAoKMTAuMyBUaGUgcHJlc2VudCBBZ3JlZW1lbnQgaXMgZ292ZXJuZWQgYnkKCiAKCjEwLjMgVGF0byBzbWxvdXZhIHNlIMWZw61kw60gcGxhdG7DvW1pIHByw6F2bsOtbWkKCiAKCkRPTUFKT1IgVHJpcGFydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJaSB2LjEsIERhdGUgMTVNQVkyMDIwCgpQYWdlIDE2IG9mIDIyCgogCgogCgogCgpjdXJyZW50IEN6ZWNoIGxlZ2lzbGF0aW9uLgoKcMWZZWRwaXN5IENlc2vDqSByZXB1Ymxpa3kuCgogCgoxMC40IFRoZSBwcmVzZW50IEFncmVlbWVudCBtYXkgYmUgY2hhbmdlZCwKbW9kaWZpZWQgb3IgYW1lbmRlZCBieSBzaWduaW5nIG9mIHRoZQpjb3JyZXNwb25kaW5nIGRvY3VtZW50IGJ5IHRoZSBQYXJ0aWVzIG9mIHRoZQpBZ3JlZW1lbnQuCgoxMC40IFRhdG8gc21sb3V2YSBtxa/FvmUgYsO9dCB6bcSbbsSbbmEgbmVibwpkb3BsbsSbbmEgcG9kZXBzw6Fuw61tIHDFmcOtc2x1xaFuw6lobyBkb2t1bWVudHUKdsWhZW1pIHNtbHV2bsOtbWkgc3RyYW5hbWkuCgogCgoxMC41IFRoaXMgQWdyZWVtZW50IHNoYWxsIGNvbnN0aXR1dGUgdGhlIGVudGlyZQphZ3JlZW1lbnQgYmV0d2VlbiB0aGUgcGFydGllcy4gSWYgdGhlcmUgaXMgYW55CmNvbmZsaWN0IGJldHdlZW4gdGhlIHByb3Zpc2lvbnMgb2YgdGhpcyBBZ3JlZW1lbnQKYW5kIHRoZSBwcm92aXNpb25zIG9mIHRoZSBQcm90b2NvbCwgdGhlIHByb3Zpc2lvbnMKb2YgdGhlIFByb3RvY29sIHNoYWxsIGdvdmVybiBhbmQgcHJldmFpbC4KCjEwLjUgVGF0byBzbWxvdXZhIG9ic2FodWplIMO6cGxub3UgZG9ob2R1IG1lemkKc21sdXZuw61taSBzdHJhbmFtaS4gSmVzdGxpxb5lIG5hc3RhbmUga29uZmxpa3QgbWV6aQp1c3Rhbm92ZW7DrW1pIHTDqXRvIHNtbG91dnkgYSBwcm90b2tvbHUsCnVzdGFub3ZlbsOtIHByb3Rva29sdSBqc291IHBvdmHFvm92w6FuYSB6YQpyb3pob2R1asOtY8OtIGEgbmFkxZlhemVuw6Egc21sb3V2xJsuCgogCgogCgpQYXJ0aWVzIHNpZ25hdHVyZXMKQ2xpbmljYWwgU2l0ZQoKUG9kcGlzeSBzdHJhbgpQb3NreXRvdmF0ZWwgemQgcmF2b3Ruw61jaCBzbHXFvmViCgogCgpLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgpIdXNvdmEgMzU3LzEwLCBMaWJlcmVjIEnigJRTdGFyw6kgTcSbc3RvLCA0NjAgMDEKTGliZXJlYywgQ3plY2ggUmVwdWJsaWMKCktyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCkh1c292YSAzNTcvMTAsIExpYmVyZWMgSeKAlFN0YXLDqSBNxJtzdG8sIDQ2MCAwMQpMaWJlcmVjLCBDZXNrYSByZXB1Ymxpa2EKCiAKCkNoYWlybWFuIG9mCkJvYXJkIG9mIERpcmVjdG9ycyBhbmQgQ0VPCgpDaGFpcm1hbiBvZgpCb2FyZCBvZiBEaXJlY3RvcnMgYW5kIENFTwoKIAoKIAoKU2lnbmF0dXJlCgpQb2RwaXMKCiAKCkRhIHRlCgpEYXR1bQoKIAoKIAoKUHJpbmNpcGFsIEludmVzdGlnYXRvcgoKQ3plY2ggUmVwdWJsaWMKCkhsYXZuw60gemtvdcWhZSfDrWPDrQoKQ2Vza2EgcmVwdWJsaWthCgogCgogCgogCgogCgogCgpTaWduYXR1cmUgUG9kcGlzCkRhdGUgRGF0dW0KQ1JPIENSTwoKIAoKU2FuYUNJaXMgcy5yLm8uClN0YXLDqSBHcnVudHkxMzAKODQxIDA0IEJyYXRpc2xhdmEKCiAKClNhbmFDSWlzIHMuci5vLgpTdGFyw6kgR3J1bnR5MTMwCjg0MSAwNCBCcmF0aXNsYXZhCgogCgpTbG92YWsgUmVwdWJsaWMKCiAKClNsb3ZhayBSZXB1YmxpYwoKIAoKRE9NQUpPUiBUcmliYXJ0aXRlIENsaW5pY2FsIFRyaWFsIEFncmVlbWVudCBTYW5hQ0lpcyBDWiBLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgoKUEkgfCB8LCB2LjEsIERhdGUgMTVNQVkyMDIwCgpQYWdlIDE3IG9mIDIyCgogCgogCgpDaGllZiBFeGVjdXRpdmUgT2ZmaWNlcgoKVsO9a29ubsO9IMWZZWRpdGVsCgogCgogCgpTaWduYXR1cmUKClBvZHBpcwoKIAoKIAoKRGF0ZQoKRGF0dW0KCiAKCiAKCiAKCiAKCkRPTUFKT1IgVHJpcGFydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNJaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJICwgVi5sLCBEYXRlIGxTTUFZWk9aTwoKUGFnZSAxOCBvZiAyMgoKIAoKIAoKQXBwZW5kaXggQSB0byB0aGUgQWdyZWVtZW50CgpQxZnDrWxvaGEgQSBrZSBzbWxvdXbEmwoKIAoKIAoKIAoKTm86IMSMw61zbG86CjEuIENvbXBlbnNhdGlvbiAxLiBPZG3Em25hCjEuMSBDUk8gd2lsbCByZWltYnVyc2UgdGhlIENsaW5pY2FsIFNpdGUgYW5kIHRoZSAxLjEgQ1JPIHBvc2t5dG5lIG9kbcSbbnUgcG9za3l0b3ZhdGVsaQoKUHJpbmNpcGFsIEludmVzdGlnYXRvciBmb3IgdGhlIHdvcmsgcGVyZm9ybWVkCmR1cmluZyB0aGUgVHJpYWwuIFRoaXMgZmluYW5jaWFsIHJlaW1idXJzZW1lbnQgc2hhbGwKYmUgcHJvdmlkZWQgZm9yIGV2ZXJ5IGNvbXBsZXRlZCBzdWJqZWN0IHVuZGVyClByb3RvY29sIGFuZCBzaGFsbCBiZSBjYXxjdXxhdGVkIGluIGFjY29yZGFuY2UgdG8KdGhlIG51bWJlciBvZiBzdWJqZWN0cyBlbnJvfHxlZCBhcyBvZiBlbnJvbG1lbnQKZGF0ZS4gRm9yIGV2ZXJ5IHN1YmplY3QgZW5yb3x8ZWQgaW4gYWNjb3JkYW5jZQp3aXRoIGluY2x1c2lvbiBjcml0ZXJpYSBvZiB0aGUgUHJvdG9jb2wgYW5kCmNvbXBsZXRlZCBzdWJqZWN0LCBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwKSW52ZXN0aWdhdG9yIHNoYWxsIGJlIHBhaWQgdGhlIHN1bSBvZiBFVVIKd2l0aG91dCBWQVQgb24gdGhlIGJhc2lzIG9mIHRoZSBmb2xsb3dpbmcgcGF5bWVudApzY2hlZHVsZSBwZXIgdmlzaXQgYW5kIGFjdHVhfHx5IHBlcmZvcm1lZCB2aXNpdHMuClBheW1lbnQgdG8gdGhlIENsaW5pY2FsIFNpdGUgYW5kIFByaW5jaXBhbApJbnZlc3RpZ2F0b3IgY292ZXJzIGF8fCBjb3N0cyBvZiB0aGUgQ2xpbmljYWwgU2l0ZQphbmQgUHJpbmNpcGFsIEludmVzdGlnYXRvciBpbiBjb25uZWN0aW9uIHdpdGggdGhlClRyaWFsLgoKemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtbXUgemtvdcWhZWrDrWPDrW11IHphCnByw6FjaSBwcm92ZWRlbm91IGLEm2hlbSBrbGluaWNrw6lobyBob2Rub2NlbsOtLgpGaW5hbsSNbsOtIG9kbcSbbmEgYnVkZSB1dmVkZW5hIHphIGthxb5kw70KdWtvbsSNZW7DvSBzdWJqZWt0IHYgc291bGFkdSBzIHByb3Rva29sZW0gYSBidWRlCnZ5cG/EjcOtdMOhbmEgbmEgesOha2xhZMSbIHBvxI10dSBzdWJqZWt0xa8gbmFicmFuw71jaApkbyBrbGluaWNrw6lobyBob2Rub2NlbsOtIG9kIGRhdGEgbmFib3J1LiBaYQprYcW+ZMO9IHN1Ympla3QgbmFicmFuw70gdnNvdWxhZHUgc2tyaXTDqXJpaSBwcm8KbmFib3IgZG8ga2xpbmlja8OpaG8gaG9kbm9jZW7DrSB1dmVkZW7DvW1pCnYgcHJvdG9rb2x1IGEgdWtvbsSNZW7DvSBzdWJqZWt0LCBidWRlCnBvc2t5dG92YXRlbGkgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtbXUKemtvdcWhZWrDrWPDrW11IHZ5cGxhY2VuYSDEjWFzdGthIEVVUiBiZXoKRFBILiBQbGF0YnkgYnVkb3UgcmVhbGl6b3bDoW55IG5hIHrDoWtsYWTEmyBuw63FvmUKdXZlZGVuw6lobyByb3pwaXN1IGEgc2t1dGXEjW7EmyB2eWtvbmFuw71jaCB2aXppdC4KUGxhdGJhIHBvc2t5dG92YXRlbGkgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYQpobGF2bsOtbXUgemtvdcWhZWrDrWPDrW11IGtyeWplIHbFoWVjaG55IG5ha2xhZHkgcHJvCgogCgogCgogCgogCgogCgogCgogCgogCgogCgogCgogCgogCgogCgogCgogCgoqVmFsaWQgdXAgdG8gc2NyZWVuaW5nIGZhaWx1cmVzLiBQYXltZW50IGZvciBmdXJ0aGVyCnNjcmVlbmluZyBmYWlsdXJlcyB3aWxsIGJlIGFwcHJvdmVkIMOtbmTDrXbDrWR1YWxseSBieSB0aGUKc3BvbnNvci4KClNjcmVlbiBGYWlsdXJlIHBhdGllbnQgd2lsbCBiZSBwYWlkIGluIFJhdGlvOgoKU2NyZWVuIEZhaWx1cmUgc3ViamVjdCB3aWxsIGJlIHBhaWQgZm9yIHJhbmRvbWlzZWQKCnN1YmplY3RzIGFjY29yZGluZyB0byBQcm90b2NvbAoKIAoKIAoKIAoKIAoKIAoKIAoKIAoKcG9za3l0b3ZhdGVsZSB6ZHJhdm90bsOtY2ggc2x1xb5lYiBhIGhsYXZuw61obwp6a291xaFlasOtY8OtaG8gdiBzb3V2aXNsb3N0aSBzIGtsaW5pY2vDvW0KaG9kbm9jZW7DrW0uCkNvc3RzIG9mIFBheW1lbnQgTnVtYmVyIFRvdGFsIE7DoWtsYWR5IG5hIFBsYXRiYSB6YSBQb8SNZXQgQ2Vsa292w6EKc3ViamVjdCB2aXNpdHMgcGVyIHVuaXQgb2YgdW5pdHMgcGF5bWVudCBuw6F2xaF0xJt2eSBqZWRub3RrdSBqZWRub3RlayBwbGF0YmEgKEVVUikKKEVVUikgKEVVUikgc3ViamVrdMWvIChFVVIpClNjcmVlbmluZyB2aXNpdCBTY3JlZW5pbmcKUmFuZG9taXphdGlvbiBSYW5kb21pemFjZQpUcmVhdG1lbnQgTsOhdsWhdMSbdmEKVidzJ3QgcyBsw6nEjWJvdQpGb2xsb3ctdXAgVmlzaXQKRm9sbG93LXVwIC4KKHRlbGVwaG9uZSkgKHRlbGVmb25pY2t5KQpUT1RBTCBDRUxLRU0KU2NyZWVuaW5nIHYgLApmYWlsdXJlKiBOZXBvZGFyZW55CnNjcmVlbW5nKgpVbnNjaGVkdWxlZAp2aXNpdCAuIE5lcGzDoW5vdmFuw6EKbsOhdsWhdMSbdmEKRW5kIG9mIOKAniAsCnRyZWF0bWVudCB2aXNpdCBVa29uY292YW0KbmF2c3RldmEKCiAKCiAKCiAKCiAKCiAKCiAKCnNjcmVlbmluZyBmYWlsdXJlcy4gw5pocmFkeSBkYWzFocOtY2gKCiogUGxhdMOtIGRvIHBvxI10dQppbmRpdmlkdcOhbG7EmyBzY2h2YWxvdsOhbnkKCnNjcmVlbmluZyBmYWlsdXJlcyBidWRvdQp6YWRhdmF0ZWxlbS4KCk5lcG9kYcWZZW7DvSBzY3JlZW5pbmcqIGJ1ZGUgdnlwbMOhY2VuIHYgcG9txJtydTogMjogMQoKc3ViamVjdCBzIG5lw7pzcMSbxaFuw71tIHNjcmVlbmluZ2VtIGJ1ZGUgcHJvcGxhY2VuCgpuYSByYW5kb23DrXpvdmFuw6kgc3ViamVrdHkgcG9kbGUgcHJvdG9rb2x1CgogCgpET01BSk9SIFRyaWJhcnRpdGUgQ2xpbmljYWwgVHJpYWwgQWdyZWVtZW50IFNhbmFDSWlzIENaIEtyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCgpQSSBWLmwsIERhdGUgbFNNQVkyMDIwCgpQYWdlIDE5IG9mIDIyCgogCgogCgogCgpPdGhlciBwYXltZW50cwoKIAoKT3RoZXIgcGF5bWVudHMgUGF5bWVudCBpbiBFVVIKCiAKClN0YXJ0LXVwIGZlZSAocGF5YWJsZSB1cG9uCnNpZ25hdHVyZSBvZiB0aGUgY29udHJhY3QpCgogCgpBcmNoaXZlIGZlZSAoZm9yIHRoZSB3aG9sZQpzdHVkeSkKCiAKCkNvbnRyYWN0IGFtZW5kbWVudCBmZWUKCiAKCkNUICg0IHpvbmVzKQoKIAoKQ1QgKDMgem9uZXMpCgogCgpFQ0cgKDEyLUllYWQpCgogCgpFQ0hPCgogCgpCaW9wc3kgZmVlCgogCgpTdGFydC11cCBmZWUgKGxvY2FsCmxhYm9yYXRvcnkpCgogCgpMb2NhbCBsYWIgSXVtcCBzdW0gcGVyIDQKeWVhcnMgKHBvc3NpYmxlIHRvIHNwbGl0IGludG8gNApwYXJ0cykKCiAKClBoYXJtYWN5IGZlZSAocGVyIGVhY2gKc3RhcnRlZCBjYWxlbmRhciB5ZWFyKQoKIAoKUGhhcm1hY3kgZmVlIHBlciBlYWNoCnByZXBhcmVkIGluZnVzaW9uCgogCgogCgogCgogCgpEYWzFocOtIHBvcGxhdGt5CgogCgpPc3RhdG7DrSBwb3BsYXRreSBQbGF0YmEgdiBFVVIKCiAKClN0YXJ0b3ZhY8OtIHBvcGxhdGVrIChzcGxhdG7DvQpwbyBwb2RwaXN1IHNtbG91dnkpCgogCgpBcmNoaXZhxI1uw60KY2Vsb3Ugc3R1ZGlpKQoKcG9wbGF0ZWsgKHphCgogCgpQb3BsYXRlayB6YSBkb2RhdGVrIHNtbC4KCiAKCkNUICg0IHrDs255KQoKIAoKQ1QgKDMgesOzbnkpCgogCgpFS0cgKDEyIC0gc3ZvZG92w6kpCgogCgpFQ0hPCgogCgpCaW9wc2llCgogCgpTdGFydG92YWPDrSBwb3BsYXRlayAobG9rw6FsbsOtCmxhYm9yYXRvxZkpCgogCgpQYXXFocOhbG7DrSBwb3BsYXRlayBsb2vDoWxuw60KbGFib3JhdG/FmWUgemEgNCByb2t5IHN0dWRpZQoobW/Fvm5vIHJvemTEm2xpdCBkbyA0IHBsYXRlYikKCiAKClBvcGxhdGVrIGzDqWvDoXJuxJsgKHphIGthxb5kw70KemFwb8SNYXTDvSBrYWxlbmTDocWZbsOtIHJvaykKCiAKClBvcGxhdGVrIGzDqWvDoXJuxJsgemEga2HFvmRvdQpwxZlpcHJhdmVub3UgaW5mdXppCgogCgogCgogCgogCgogCgoxLjIgUGF5bWVudCB3aWxsIGJlIHBlcmZvcm1lZCB0d2ljZSBhIHllYXIKYWNjb3JkaW5nIHRvIHRoZSBjb21wbGV0ZWQgZUNSRiBzY3JlZW5zaG90cyBwZXIKdmlzaXQgYW5kIHN1bW1hcnkgbGlzdCBvZiB2aXNpdHMgcGVyZm9ybWVkIHRpbGwgMzAgb2YKSnVuZSBhbmQgMzEgb2YgRGVjZW1iZXIuIFRoZSBsYXN0IHBheW1lbnQgd2lsbApiZSBkb25lIGF0IHRoZSBlbmQgb2YgdGhlIFRyaWFsIGFzIHNvb24gYXMgYXx8CnF1ZXJpZXMgYW5kIGRhdGEgY2xhcmlmaWNhdGlvbiBmb3JtcyBhcmUgcmVzb2x2ZWQKYW5kIG5vIGZ1cnRoZXIgYXJlIHRvIGJlIGV4cGVjdGVkLgoKMS4yIFBsYXRieSBidWRvdSByZWFsaXpvdsOhbnkgZHZha3LDoXQgcm/EjW7EmyBuYQp6w6FrbGFkxJsgdnlwbG7Em27DvWNoIGZvcm11bMOhxZnFryBwxZnDrXBhZG92w71jaAp6w6F6bmFtxa8gc3ViamVrdMWvIGtsaW5pY2vDqWhvIGhvZG5vY2Vuw60geiBrYcW+ZMOpCm7DoXbFoXTEm3Z5IGEgc291aHJubsOpaG8gdsO9a2F6dSB2eWtvbmFuw71jaCB2aXppdAp2ZWxla3Ryb25pY2vDqSBwb2RvYsSbIGRvIDMwLiDEjWVydm5hIGEzMS4KcHJvc2luY2UuIFBvc2xlZG7DrSBwbGF0YmEgYnVkZSBwcm92ZWRlbmEgbmEKa29uY2kga2xpbmlja8OpaG8gaG9kbm9jZW7DrSwgamFrbWlsZSBidWRvdQp2eXBvxZnDoWTDoW55IHbFoWVjaG55IHDFmWlwb23DrW5reSBhIG9iamFzbsSbbnkKdsWhZWNobnkgw7pkYWplIGEgZGFsxaHDrWppxb4gbmVidWRvdSBvxI1la8OhdsOhbnkuCgogCgogCgoxLjMgUGF5bWVudCB0byB0aGUgcGhhcm1hY3kgd2lsbCBiZSBwZXJmb3JtZWQKdHdpY2UgYSB5ZWFyLiBBdCB0aGUgYmVnaW5uaW5nIG9mIGEgY2FsZW5kYXIgeWVhcgoobHVtcCBzdW0gYW5kIHBlcmZvcm1lZCBzZXJ2aWNlcyBvZiBwaGFybWFjeQp0aWxsIDMxIG9mIERlY2VtYmVyKSBhbmQgcGVyZm9ybWVkIHNlcnZpY2VzIG9mCnBoYXJtYWN5IHRpbGwgMzAgb2YgSnVuZS4gSW4gY2FzZSBzZXJ2aWNlcyB3ZXJlIG5vdApwcm92aWRlZCBmb3IgcGVyaW9kIG9mIDEyIG1vbnRocyBpbiBjYWxlbmRhciB5ZWFyLAphbW91bnQgd2lsbCBiZSBjYWxjdWxhdGVkIGFzIGFsaXF1b3QgZm9yIHBlcmlvZCwKd2hlbiBzZXJ2aWNlcyB3ZXJlIHByb3ZpZGVkIGJ5IHBoYXJtYWN5LiBUaGUKbGFzdCBwYXltZW50IHdpbGwgYmUgZG9uZSBhdCB0aGUgZW5kIG9mIHRoZSBUcmlhbCBhcwpzb29uIGFzIGF8fCBxdWVyaWVzIGFuZCBkYXRhIGNsYXJpZmljYXRpb24gZm9ybXMgYXJlCnJlc29sdmVkIGFuZCBubyBmdXJ0aGVyIGFyZSB0byBiZSBleHBlY3RlZC4KCiAKCjEuMyBQbGF0YnkgbMOpa8Ohcm7EmyBidWRvdSByZWFsaXpvdsOhbnkgZHZha3LDoXQKcm/EjW7Emy4gTmEgemHEjcOhdGt1IGthbGVuZMOhxZluw61obyByb2t1IChwYXXFocOhbG7DrQpwb3BsYXRlayBhIHNsdcW+YnkgcG9za3l0bnV0w6kgbMOpa2Fybm91IGRvIDMxLgpwcm9zaW5jZSkgYSB6YSBwb3NreXRudXTDqSBzbHXFvmJ5IGRvIDMwLiDEjWVydm5hLgpWIHDFmcOtcGFkxJssIMW+ZSBzbHXFvmJ5IG5lYnlseSBwb3NreXRvdsOhbnkgemEgY2Vsw6kKb2Jkb2LDrSAxMiBtxJtzw61jxa8gdiBrYWxlbmTDocWZbsOtbSByb2t1LCBwxZllcG/EjcOtdGEKc2UgYWxpa3ZvdG7DrSDEjWFzdCB6YSBvYmRvYsOtLCBrZHkgZG/FoWxvCmtwb3NreXRvdmFuw60gc2x1xb5lYiBsw6lrYXJub3UuIFBvc2xlZG7DrSBwbGF0YmEKYnVkZSBwcm92ZWRlbmEgbmEga29uY2kga2xpbmlja8OpaG8gaG9kbm9jZW7DrSwKamFrbWlsZSBidWRvdSB2eXBvxZnDoWTDoW55IHbFoWVjaG55IHDFmWlwb23DrW5reSBhCm9iamFzbsSbbnkgdsWhZWNobnkgw7pkYWplIGEgZGFsxaHDrSBqacW+IG5lYnVkb3UKb8SNZWvDoXbDoW55LgoKIAoKRE9NQUpPUiBUcmlwYXJ0aXRlIENsaW5pY2FsIFRyaWFsIEFncmVlbWVudCBTYW5hQ0lpcyBDWiBLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgoKUElpIHYuMSwgRGF0ZSAxNU1BWTIwMjAKClBhZ2UgMjAgb2YgMjIKCiAKCiAKCiAKCjEuNCBDbGluaWNhbCBTaXRlIGFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHdpbGwKaGF2ZSA2MCAoc2l4dHkpIGNhbGVuZGFyIGRheXMgZnJvbSB0aGUgcmVjZWlwdCBvZgpmaW5hbCBwYXltZW50IHRvIGRpc3B1dGUgYW55IHBheW1lbnQKZGlzY3JlcGFuY2llcyBkdXJpbmcgdGhlIGNvdXJzZSBvZiB0aGUgVHJpYWwuCgoxLjQgUG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEgaGxhdm7DrQp6a291xaFlasOtY8OtIGJ1ZGUgbcOtdCBsaMWvdHUgNjAgKMWhZWRlc8OhdCkgZG7DrSBvZApvYmRyxb5lbsOtIHBvc2xlZG7DrSBwbGF0YnkgbmEgcmVrbGFtYWNpIGpha8O9Y2hrb2xpdgpuZXNyb3ZuYWxvc3TDrSB2cGxhdGJhY2ggdnByxa9ixJtodSBrbGluaWNrw6lobwpob2Rub2NlbsOtLgoKIAoKMS41IENsaW5pY2FsIFNpdGUgYW5kIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgYWdyZWUsCnRoYXQgc3VtcyBhYm92ZSBtZW50aW9uZWQgaW5jbHVkZSBhfHwgYXBwbGljYWJsZQp0YXhlcyB3aGljaCBoYXZlIHRvIGJlIHBhaWQgaW4gYWNjb3JkYW5jZSB3aXRoCmFjdHVhbCBsZWdpc2xhdGlvbi4KCjEuNSBQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtCnprb3XFoWVqw61jw60gc291aGxhc8OtIHMgdMOtbSwgxb5lIHbDvcWhZSB1dmVkZW7DqSBzdW15CnphaHJudWrDrSB2xaFlY2hueSBwxZnDrXBhZG7DqSBkYW7EmyBhIHBvcGxhdGt5LCBrdGVyw6kKbXVzw60gYsO9dCBwbGFjZW55IHZzb3VsYWR1IHMgcGxhdG7DvW1pIHByw6F2bsOtbWkKcMWZZWRwaXN5LgoKIAoKMi4gQWRkaXRpb25hbCBleHBlbnNlcwoKMi4gRG9kYXRlxI1uw6kgbsOha2xhZHkKCiAKCjIuMSBBbnkgYWRkaXRpb25hbCBleHBlbnNlcyBjb25uZWN0ZWQgdG8gdGhlIFRyaWFsCnNoYWxsIGJlIHJlaW1idXJzZWQgdG8gdGhlIENsaW5pY2FsIFNpdGUgYW5kClByaW5jaXBhbCBJbnZlc3RpZ2F0b3Igb258eSBpZiBzdWNoIGV4cGVuc2VzIHdlcmUKcHJldmlvdXNseSBhcHByb3ZlZCBieSB0aGUgU3BvbnNvciBhbmQgQ1JPLgpDb21wZW5zYXRpb24gb2YgZXhwZW5zZXMgc2hhbGwgYmUgcHJvdmlkZWQgb258eQpvbiB0aGUgYmFzaXMgb2YgZ2l2ZW4gaW52b2ljZXMuCgoyLjEgVmXFoWtlcsOpIGRvZGF0ZcSNbsOpIG7DoWtsYWR5IHNwb2plbsOpCnNrbGluaWNrw71tIGhvZG5vY2Vuw61tIGJ1ZG91IHBvc2t5dG92YXRlbGkKemRyYXZvdG7DrWNoIHNsdcW+ZWIgYSBobGF2bsOtbXUgemtvdcWhZWrDrWPDrW11CnByb3BsYWNlbnkgamVub20gdnDFmcOtcGFkxJssIMW+ZSBieWx5IHDFmWVkZW0KcMOtc2VtbsSbIHNjaHbDoWxlbnkgemFkYXZhdGVsZW0gYSBDUk8uIE7DoWtsYWR5CmJ1ZG91IHByb3BsYWNlbnkgamVub20gbmEgesOha2xhZMSbIMWZYWRuxJsKdnlzdGF2ZW7DvWNoIGZha3R1ci4KCiAKCjIuMiBDUk8gc2hhbGwgbm90IHJlaW1idXJzZSBhbnkgYWRkaXRpb25hbApleHBlbnNlcywgd2hpY2ggd2VyZSBjYXJyaWVkIGJ5IHRoZSBDbGluaWNhbCBTaXRlCmFuZCBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHdpdGhvdXQgcHJldmlvdXNseQp3cml0dGVuIGFwcHJvdmFsIG9mIHRoZSBDUk8gb3IgU3BvbnNvci4KCjIuMkNSTyBuZXByb3BsYXTDrSDFvmFkbsOpIGRvZGF0ZcSNbsOpIG7DoWtsYWR5LAprdGVyw6kgdnpuaWtseSBwb3NreXRvdmF0ZWxpIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEKCmhsYXZuw61tdSB6a291xaFlasOtY8OtbXUsIGFuacW+IGJ5IGJ5bHkgcMWZZWRlbQpww61zZW1uxJsgc2NodsOhbGVueSB6ZSBzdHJhbnkgQ1JPIG5lYm8KemFkYXZhdGVsZS4KCiAKCjMuIFByb3ZpZGluZyBvZiBwYXltZW50cwoKMy4gUG9za3l0bnV0w60gcGxhdGViCgogCgpBfHwgcGF5bWVudHMgY29ubmVjdGVkIHRvIHRoZSBUcmlhbCBzaGFsbCBiZQpwcm92aWRlZCBieSB0aGUgQ1JPIGJ5IGJhbmsgdHJhbnNmZXIgdG8gdGhlCnNldHRsZW1lbnQgYWNjb3VudCBvZiB0aGUgQ2xpbmljYWwgU2l0ZSBhbmQvb3IKUHJpbmNpcGFsIEludmVzdGlnYXRvciBtZW50aW9uZWQgYmVsb3c6CgpWxaFlY2hueSBwbGF0Ynkgc3BvamVuw6kgcyBrbGluaWNrw71tIGhvZG5vY2Vuw61tCmJ1ZG91IHZ5cGxhY2Vuw6kgcHJvc3TFmWVkbmljdHbDrW0gQ1JPIGZvcm1vdQpiYW5rb3Zuw61obyBwxZlldm9kdSBuYSBuw63FvmUgdXZlZGVuw70gw7rEjWV0CnBvc2t5dG92YXRlbGUgemRyYXZvdG7DrWNoIHNsdcW+ZWIgYS9uZWJvIGhsYXZuw61obwp6a291xaFlasOtY8OtaG86CgogCgpCYW5rIGFkZHJlc3M6IEtvbWVyxI1uw60gYmFua2EsIGEucy4KCkFkcmVzYSBiYW5reTogS29tZXLEjW7DrSBiYW5rYSwgYS5zLgoKIAoKQWNjb3VudCBuYW1lOiBLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywKCk7DoXpldiDDusSNdHU6IEtyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCgogCgogCgphLnMuICoKQWNjb3VudCBudW1iZXIvIGJhbmsgY29kZTogXyBDw61zL28gw7rEjXR1IC9rw7NkIGJhbmt5OgpTV0lGVDogU1dJRlQ6CklCQU46IElCQU46CgpJRCBOby46IDI3MjgzOTMzCgpJQzogMjcyODM5MzMKCiAKClZBVCBOby46IENaMjcyODM5MzMKCkRJQzogQzIyNyAyODM5MzMKCiAKCkluIGNhc2Ugb2YgY2hhbmdlcyBpbiB0aGUgYmFuayBkZXRhaWxzLCBDbGluaWNhbApTaXRlIGFuZC9vciBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFyZSBvYmxpZ2VkIHRvCmluZm9ybSB0aGUgQ1JPIGluIDE1IChmaWZ0ZWVuKSBiYW5raW5nIGRheXMgdGVybQpmcm9tIHRoZSBtb21lbnQgd2hlbiBzdWNoIGNoYW5nZXMgY29tZSBpbgpmb3JjZSwgYnkgc2VuZGluZyBhIHdyaXR0ZW4gbm90aWZpY2F0aW9uLiBQYXJ0aWVzCmFncmVlIHRoYXQgaW4gY2FzZSBvZiBhbnkgY2hhbmdlcyBpbiBiYW5rIGRldGFpbHMKb2YgdGhlIENsaW5pY2FsIFNpdGUsIGFkZGVuZHVtIHRvIEFwcGVuZGl4IEEgb2YKQWdyZWVtZW50IHdpbGwgYmUgaXNzdWVkLgoKViBwxZnDrXBhZMSbIHptxJtuIHYgw7pkYWrDrWNoIGJhbmt5IGpzb3UKcG9za3l0b3ZhdGVsIHpkcmF2b3Ruw61jaCBzbHXFvmViIGEvbmVibyBobGF2bsOtCnprb3XFoWVqw61jw60gcG92aW5uaSBww61zZW1uxJsgaW5mb3Jtb3ZhdCBDUk8gZG8gMTUKKHBhdG7DoWN0aSkgcHJhY292bsOtY2ggZG7FryBvZCBva2Ftxb5pa3UsIGtkeSBqc291CnR5dG8gem3Em255IHBsYXRuw6kuIFNtbHV2bsOtIHN0cmFueSBzZSBkb2hvZGx5LCDFvmUKdiBwxZnDrXBhZMSbIGpha8O9Y2hrb2xpdiB6bcSbbiB2IGJhbmtvdm7DrWNoIMO6ZGFqw61jaApwb3NreXRvdmF0ZWxlIHpkcmF2b3Ruw61jaCBzbHXFvmViLCBidWRlIHV6YXbFmWVuCmRvZGF0ZWsgayBwxZnDrWxvemUgQSB0w6l0byBzbWxvdXZ5LgoKIAoKIAoKIAoKIAoKIAoKRE9NQUpPUiBUcmlwYXJ0aXRlIENsaW5pY2FsIFRyaWFsIEFncmVlbWVudCBTYW5hQ0lpcyBDWiBLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYywgYS5zLgoKUEkgVi5sLCBEYXRlIGxTTUFZMjAyMAoKUGFnZSAyMSBvZiAyMgoKIAoKIAoKIAoKUGFydGllcyBzaWduYXR1cmVzCgpQb2RwaXN5IHN0cmFuCgogCgpDbGluaWNhbCBTaXRlCgpQb3NreXRvdmF0ZWwgemRyYXZvdG7DrWNoIHNsdcW+ZWIKCiAKCktyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjLCBhLnMuCkh1c292YSAzNTcvMTAsIExpYmVyZWMgSeKAlFN0YXLDqSBNxJtzdG8sIDQ2MCAwMQpMaWJlcmVjLCBDemVjaCBSZXB1YmxpYwoKS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KSHVzb3ZhIDM1Ny8xMCwgTGliZXJlYyBJ4oCUU3RhcsOpIE3Em3N0bywgNDYwIDAxCkxpYmVyZWMsIEN6ZWNoIFJlcHVibGljCgogCgogCgpDaGFpcm1hbiBvZgpCb2FyZCBvZiBEaXJlY3RvcnMgYW5kIENFTwoKQ2hhaXJtYW4gb2YKQm9hcmQgb2YgRGlyZWN0b3JzIGFuZCBDRU8KCiAKCiAKClNpZ25hdHVyZQoKUG9kcGlzCgogCgpEYSB0ZQoKRGF0dW0KCiAKClByaW5jaW5hbCBJbnZlc3RpZ2F0b3IKCiwgQ3plY2ggUmVndWJsaWMKCl8gSGxhdm7DrSB6a291xaFlasOtY8OtIF8KCkN6ZWNoIFJlZ3VibGljCgogCgogCgogCgpTaWduYXR1cmUgUG9kcGlzCkRhdGUgRGF0dW0KQ1JPIENSTwoKIAoKU2FuYUNsaXMgcy5yLm8uClN0YXLDqSBHcnVudHkxMzAKODQxIDA0IEJyYXRpc2xhdmEKU2xvdmFrIFJlcHVibGljCgpTYW5hQ2xpcyBzLnIuby4KU3RhcsOpIEdydW50eTEzMAo4NDEgMDQgQnJhdGlzbGF2YQpTbG92YWsgUmVwdWJsaWMKCiAKCkNoaWVmIEV4ZWN1dGl2ZSBPZmZpY2VyCgpWw71rb25uw70gxZllZGl0ZWwKCiAKCiAKClNpZ25hdHVyZQoKUG9kcGlzCgogCgogCgpEYSB0ZQoKIAoKRGF0dW0KCiAKCiAKCkRPTUFKT1IgVHJpcGFydGl0ZSBDbGluaWNhbCBUcmlhbCBBZ3JlZW1lbnQgU2FuYUNsaXMgQ1ogS3JhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMsIGEucy4KClBJaSBcLCB2LjEsIERhdGUgMTVNQVkyMDIwCgpQYWdlIDIyIG9mIDIyCgo=</data><hash algoritmus="sha256">f8bde032f878c12079a96e01fd6de497ec16197a94475b4ad1f527fb90fa01d7</hash><nazevSouboru>S20200033200_TXT.txt</nazevSouboru></priloha></prilohy><casGenerovani>2026-07-09T09:07:39+02:00</casGenerovani><platnyZaznam>1</platnyZaznam></data><potvrzeni><hash algoritmus="sha256">264b02d3a3bc07aa3e766834768db9f4674675a517f3dfdd49a7cb3f8e087ebc</hash><elektronickaZnacka/></potvrzeni></zaznam>
