Want to find out how your birth-year fared? Or want to know which vintages are drinking well now? Our Port vintage guide has you covered.
We take a look at the vintages from 1960 to 2017, offering ratings for each year and advising whether the vintage is best to drink now or keep for ageing. Outstanding, widely declared vintages are highlighted, and specific weather conditions and their impact on grape quality and yields are detailed for each year. We also highlights some of the best wines for notable years.
{"content":"PGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjwvcD4KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij48c3Ryb25nPkp1bXAgdG8gdGhlIG91dHN0YW5kaW5nLCB3aWRlbHkgZGVjbGFyZWQgdmludGFnZXM8L3N0cm9uZz48L3A+CjxoMyBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPjxhIGhyZWY9IiMyMDE3Ij4yMDE3PC9hPsKgIMKgPGEgaHJlZj0iIzIwMTYiPjIwMTY8L2E+wqAgwqA8YSBocmVmPSIjMjAxMSI+MjAxMTwvYT48YnIgLz4KPGEgaHJlZj0iIzIwMDciPjIwMDc8L2E+wqAgPGEgaHJlZj0iIzIwMDMiPjIwMDM8L2E+wqAgPGEgaHJlZj0iIzIwMDAiPsKgMjAwMDwvYT48YnIgLz4KPGEgaHJlZj0iIzE5OTgiPjE5OTg8L2E+IMKgwqA8YSBocmVmPSIjMTk5NyI+MTk5N8KgwqA8L2E+IDxhIGhyZWY9IiMxOTk2Ij4xOTk2wqDCoDwvYT4gPGEgaHJlZj0iIzE5OTUiPjE5OTXCoCDCoDwvYT48YSBocmVmPSIjMTk5NCI+MTk5NDwvYT7CoCDCoDxhIGhyZWY9IiMxOTkyIj4xOTkyPC9hPsKgIMKgPGEgaHJlZj0iIzE5OTEiPjE5OTE8L2E+PGJyIC8+CjxhIGhyZWY9IiMxOTg1Ij4xOTg1IMKgPC9hPjxhIGhyZWY9IiMxOTgzIj4xOTgzPC9hPiDCoDxhIGhyZWY9IiMxOTgyIj4xOTgywqDCoDwvYT4gPGEgaHJlZj0iIzE5ODAiPjE5ODA8YnIgLz4KPC9hPjxhIGhyZWY9IiMxOTc3Ij4xOTc3IMKgIDwvYT48YSBocmVmPSIjMTk3MCI+MTk3MDwvYT48YnIgLz4KPGEgaHJlZj0iIzE5NjciPjE5NjY8L2E+IMKgwqA8YSBocmVmPSIjMTk2MyI+MTk2M8KgwqA8L2E+IDxhIGhyZWY9IiMxOTYwIj4xOTYwPC9hPjwvaDM+CjxwPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD48ZGl2IGNsYXNzPSJhZC1jb250YWluZXIgYWQtY29udGFpbmVyLS1tb2JpbGUiPjxkaXYgaWQ9InBvc3QtaW5saW5lLTIiIGNsYXNzPSJpcGMtYWR2ZXJ0Ij48L2Rpdj48L2Rpdj48L3A+Cjxocj4KPHA+PGEgbmFtZT0iMjAxNyI+PC9hPjwvcD4KPGgyPjIwMTc8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsvS2VlcDwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+VGhlIG1vc3Qgd2lkZWx5IGRlY2xhcmVkIHZpbnRhZ2UgdG8gZGF0ZSwgd2l0aCBvdXRzdGFuZGluZyBxdWFsaXR5IGFuZCBjZWxsYXJpbmcgcG90ZW50aWFsLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz41LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlRoZSBmYWN0IHRoYXQgdGhpcyB3YXMgdGhlIGZpcnN0IHRpbWUgdGhhdCB0d28gdmludGFnZXMgd2VyZSBjb25zZWN1dGl2ZWx5IHdpZGVseSBkZWNsYXJlZCBpcyB0ZXN0YW1lbnQgdG8gdGhlIHN1cGVybGF0aXZlIHF1YWxpdHkgb2YgdGhlIDIwMTcgY3JvcC4gVGhlIGdyb3dpbmcgc2Vhc29uIHdhcyBleHRyZW1lbHkgZHJ5IGFzIHdlbGwgYXMsIGZyb20gdGhlIGVuZCBvZiB3aW50ZXIgdW50aWwgaGFydmVzdCwgdmVyeSBob3Qgd2l0aCB2YXJpb3VzIGhlYXQgd2F2ZXMgdGhyb3VnaCBzcHJpbmcgYW5kIGVhcmx5IHN1bW1lci4gSW50ZW5zZSwgc2hvcnQgc3VtbWVyIHN0b3JtcyBjYXVzZWQgZnVydGhlciBjaGFsbGVuZ2VzLiBIb3dldmVyLCB3aGlsZSB5aWVsZHMgd2VyZSBzaWduaWZpY2FudGx5IHJlZHVjZWQgYnkgdGhlc2UgZXh0cmVtZSB3ZWF0aGVyIGNvbmRpdGlvbnMsIHF1YWxpdHkgd2FzIHN1cGVyYiwgd2l0aCBoYXJ2ZXN0IGJyaW5naW5nIGluIGEgc21hbGwgYnV0IGZhbnRhc3RpYyBjcm9wLjxiciAvPgpUaGUgcmVzdWx0aW5nIHdpbmVzIGhhdmUgdml2aWQsIGRlZXAgZnJ1aXQgYW5kIGEgcGFpcmVkLWRvd24gaW50ZW5zaXR5LCBjb21iaW5pbmcgcG93ZXIgd2l0aCBlbGVnYW5jZSBhbmQgcmVzdHJhaW50LiBTb3BoaXN0aWNhdGVkIHdpbmVzIHRoYXQgd2lsbCBhZ2Ugd2VsbCBmb3IgZGVjYWRlcyB0byBjb21lLjwvcD4KPGRpdiBjbGFzcz0iYWQtY29udGFpbmVyIGFkLWNvbnRhaW5lci0tbW9iaWxlIj48ZGl2IGlkPSJwb3N0LWlubGluZS0zIiBjbGFzcz0iaXBjLWFkdmVydCI+PC9kaXY+PC9kaXY+Cjxocj4KPHA+PGEgbmFtZT0iMjAxNiI+PC9hPjwvcD4KPGgyPjIwMTY8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsva2VlcDwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+RmFudGFzdGljIHZpbnRhZ2UsIHdpZGVseSBkZWNsYXJlZCBhbmQgd2l0aCBncmVhdCBhZ2VpbmcgcG90ZW50aWFsLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz41LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImFkLWNvbnRhaW5lciBhZC1jb250YWluZXItLW1vYmlsZSI+PGRpdiBpZD0icG9zdC1pbmxpbmUtNCIgY2xhc3M9ImlwYy1hZHZlcnQiPjwvZGl2PjwvZGl2Pgo8cD5UaGUgcmF0aGVyIHVudXN1YWwgZ3Jvd2luZyBzZWFzb24gc3RhcnRlZCB3aXRoIGEgbWlsZCBhbmQgd2V0IHdpbnRlciwgZm9sbG93ZWQgYnkgYW4gZXF1YWxseSB3ZXQgYnV0IG9kZGx5IGNvbGQgc3ByaW5nLiBBIHNjb3JjaGluZywgZXh0cmVtZWx5IGRyeSBzdW1tZXIgZW5zdWVkLCB3aXRoIGEgcmFpbnkgY29kYSBpbiBTZXB0ZW1iZXIuIFRoZXNlIGZsdWN0dWF0aW9ucyBjaGFsbGVuZ2VkIHRoZSB2aW5lcywgYWZmZWN0aW5nIHlpZWxkcy4gUXVhbGl0eSwgb24gdGhlIG90aGVyIGhhbmQsIHdhcyBzdXBlcmI6IHRoZSBncmFwZXMgaGFkIGNvbmNlbnRyYXRpb24sIGNvbXBsZXhpdHkgYW5kIGFyb21hdGljIG51YW5jZS4gVGhlIHN0cnVjdHVyZSBhbmQgcm9idXN0bmVzcyBvZiB0aGUgdGFubmlucywgcGFpcmVkIHdpdGggdGhlaXIgZWxlZ2FuY2UgYW5kIGRldGFpbHMgd2FzIHBhcnRpY3VsYXJseSBub3Rld29ydGh5LjxiciAvPgpBIHZpbnRhZ2Ugb2YgY29uY2VudHJhdGVkLCBiYWxhbmNlZCB3aW5lcywgdGhhdCB3aWxsIGFnZSBiZWF1dGlmdWxseS48L3A+Cjxocj4KPGgyPjIwMTU8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsva2VlcDwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+QW4gb3V0c3RhbmRpbmcgdmludGFnZSwgd2hpY2ggd2FzIG9uIHRoZSBjdXNwIG9mIGJlY29taW5nIGxlZ2VuZGFyeSBiZWZvcmUgYmVpbmcgZGlzcnVwdGVkIGJ5IGludGVuc2UgaGVhdCBzcGVsbHMuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjQvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KPGRpdiBjbGFzcz0iYWQtY29udGFpbmVyIGFkLWNvbnRhaW5lci0tbW9iaWxlIj48ZGl2IGlkPSJwb3N0LWlubGluZS01IiBjbGFzcz0iaXBjLWFkdmVydCI+PC9kaXY+PC9kaXY+CjxwPkEgZHJ5IHNwcmluZyBhbmQgZWFybHkgc3VtbWVyIHByb21pc2VkIGEgaGVhbHRoeSBjcm9wLiBIb3dldmVyLCBvbmUgb2YgdGhlIGhvdHRlc3QgSnVuZXMgb24gcmVjb3JkLCBmb2xsb3dlZCBieSBlbmR1cmluZyBzY29yY2hpbmcgdGVtcGVyYXR1cmVzLCBwbGFjZWQgdmluZXlhcmRzIHVuZGVyIGV4dHJlbWUgc3RyZXNzIGFuZCByZWR1Y2VkIHlpZWxkcywgaW4gc29tZSBjYXNlcyBzaWduaWZpY2FudGx5LiBXaGlsZSBUb3VyaWdhIE5hY2lvbmFsIGFuZCBUb3VyaWdhIEZyYW5jYSB2aW5lcyB3ZXJlIGFibGUgdG8gY29wZSBhbmQgcHJvZHVjZSB2ZXJ5IGdvb2QgcXVhbGl0eSBncmFwZXMsIHRoZSBvdGhlciBEb3VybyB2YXJpZXRpZXMgc3VmZmVyZWQgYW5kIHRoZSBncmFwZXMgd2VyZSBtb3N0bHkgb3ZlcnJpcGUgYW5kIGxhY2tpbmcgYmFsYW5jZS48YnIgLz4KV2hpbGUgbWFueSBsZWFkaW5nIGhvdXNlcyBkZWNsYXJlZCB0aGUgdmludGFnZSwgaXQgaXMgbGFyZ2VseSBwZXJjZWl2ZWQgYXMgYSBoYXJ2ZXN0IHRoYXQgbmV2ZXIgcXVpdGUgcmVhY2hlZCBpdHMgZnVsbCBwb3RlbnRpYWwuPC9wPgo8aHI+CjxoMj4yMDE0PC9oMj4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5UaGUgYnVtcHkgZ3Jvd2luZyBzZWFzb24sIHdpdGggc2lnbmlmaWNhbnQgZGlzZWFzZSBwcmVzc3VyZSwgZGlkIG5vdCB5aWVsZCBjb25zaXN0ZW50bHkgZ29vZCBmcnVpdC4gVGhlIHZpbnRhZ2Ugd2VudCBsYXJnZWx5IHVuZGVjbGFyZWQsIHdpdGggbW9zdCBvZiB0aGUgY3JvcCB1c2VkIGZvciBibGVuZHMgYW5kIHNpbmdsZSBxdWludGFzLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz4yLzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+Cjxocj4KPGgyPjIwMTM8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsvS2VlcDwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+TGFyZ2VseSB1bmRlY2xhcmVkIGJ1dCB3aXRoIHN0YW5kb3V0IHNpbmdsZS1xdWludGEgd2luZXMuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjMvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+VGhlIGdyb3dpbmcgc2Vhc29uIHdhcyB1bmV2ZW50ZnVsIGJ1dCBhIHZlcnkgcmFpbnkgU2VwdGVtYmVyIGRpc3J1cHRlZCBoYXJ2ZXN0IGFuZCBoYWQgYW4gaW1wYWN0IG9uIGJvdGggeWllbGRzIGFuZCBxdWFsaXR5LjxiciAvPgpUaGUgdmludGFnZSB3ZW50IGxhcmdlbHkgdW5kZWNsYXJlZC4gSG93ZXZlciwgcHJvZHVjZXJzIHRoYXQgaGFydmVzdGVkIGVhcmx5IHdlcmUgYWJsZSB0byBwcm9kdWNlIGV4Y2VsbGVudCBzaW5nbGUgcXVpbnRhcyB3aXRoIHZlcnkgZ29vZCBjb25jZW50cmF0aW9uIGFuZCBzdHJ1Y3R1cmUuIEEgaGFuZGZ1bCBvZiBob3VzZXMgcmVsZWFzZWQgdmVyeSBzbWFsbCBhbGxvY2F0aW9ucyBvZiB2aW50YWdlIGV4cHJlc3Npb25zLjwvcD4KPGhyPgo8aDI+MjAxMjwvaDI+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5Ecmluay9LZWVwPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5BbiBleGNlbGxlbnQgdmludGFnZSwgcGVyaGFwcyB1bmRlcmVzdGltYXRlZCBkdWUgdG8gb3V0c3RhbmRpbmcgcXVhbGl0eSBvZiB0aGUgcHJlY2VkaW5nIGhhcnZlc3QuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjUvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+QWx0aG91Z2ggZXh0cmVtZWx5IGRyeSwgdGhlIGdyb3dpbmcgc2Vhc29uIHdhcyBzdGVhZHkgYW5kIGNvb2wuIFlpZWxkcyB3ZXJlIGxvdyDigJMgbW9zdGx5IGR1ZSB0byB3YXRlciBzdHJlc3Mg4oCTIGJ1dCBwcm9kdWNlZCB3aW5lcyBvZiBncmVhdCBmaW5lc3NlLCBjaGlzZWxsZWQgdGFubmlucywgYXJvbWF0aWMgZGV0YWlsIGFuZCBkZWZpbmVkIGZydWl0LiBBIGNvdXBsZSBvZiB0b3AgcHJvZHVjZXJzIHJlbGVhc2VkIHZpbnRhZ2Ugd2luZXMgYnV0IG1vc3QgZGlkIG5vdCBkZWNsYXJlLCByZWxlYXNpbmcgc2luZ2xlIHF1aW50YXMgaW5zdGVhZCDigJMgYSBkZWNpc2lvbiBubyBkb3VidCBpbmZsdWVuY2VkIGJ5IHRoZSAyMDExIGRlY2xhcmF0aW9uLCByYXRoZXIgdGhhbiBieSBsYWNrIG9mIHBvdGVudGlhbCBpbiAyMDEyLjwvcD4KPGhyPgo8cD48YSBuYW1lPSIyMDExIj48L2E+PC9wPgo8aDI+MjAxMTwvaDI+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5Ecmluay9LZWVwPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5PdXRzdGFuZGluZywgdW5pdmVyc2FsbHkgZGVjbGFyZWQgdmludGFnZSwgY29tYmluaW5nIGVsZWdhbmNlIGFuZCBydXN0aWNpdHkuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjUvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+QSByYWlueSB3aW50ZXIsIHdhYSBmb2xsb3dlZCBieSBhIHdhcm0gYW5kIGRyeSBzcHJpbmcsIHdpdGggcGF0Y2hlZCBtaWxkZXcgYW5kIGhhaWwuIFRoZSBtaWxkIGFuZCBkcnkgc3VtbWVyIHdhcyBkaXNydXB0ZWQgYnkgaGVhdCBzcGlrZXMgbGVhZGluZyB0byBkcm91Z2h0LCB3aGljaCB3YXMgbWl0aWdhdGVkIGJ5IHNsaW1lIHByZWNpcGl0YXRpb24gaW4gbGF0ZSBBdWd1c3QgYW5kIGVhcmx5IFNlcHRlbWJlci48YnIgLz4KVGhlIHBsYW50cyB0aGF0IHdlcmUgYWJsZSB0byByZXNwb25kIHRvIHRoZXNlIG1hbnkgY2hhbGxlbmdlcyB5aWVsZGVkIGZydWl0IG9mIGdyZWF0IHF1YWxpdHksIHVsdGltYXRlbHkgcHJvZHVjaW5nIHdpbmVzIHdpdGggZWxlZ2FudCBzdHJ1Y3R1cmUsIG51YW5jZWQgYXJvbWFzIGFuZCB2aWJyYW50IGFjaWQuIEEgeWVhciB3aXRoIGEgZGlzdGluY3QgcGVyc29uYWxpdHkgYW5kIGV4dHJhb3JkaW5hcnkgYmFsYW5jZSwgbW9yZSBydXN0aWMgdGhhbiAyMDA3IGFuZCBlbGVnYW50IHRoYW4gMjAwMy48L3A+CjxkaXYgaWQ9ImF0dGFjaG1lbnRfNTM3MzcxIiBzdHlsZT0id2lkdGg6IDMxMHB4IiBjbGFzcz0id3AtY2FwdGlvbiBhbGlnbmNlbnRlciI+PGltZyBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiIGFyaWEtZGVzY3JpYmVkYnk9ImNhcHRpb24tYXR0YWNobWVudC01MzczNzEiIGNsYXNzPSJsYXp5bG9hZCBibHVyLXVwIHNpemUtbWVkaXVtIHdwLWltYWdlLTUzNzM3MSIgZGF0YS1wcm9jZXNzZWQgc3JjPSJodHRwczovL3d3dy5kZWNhbnRlci5jb20ubWFzdGVyLnB1YmxpYy5rZXlzdG9uZS1wcm9kLWVrcy1ldXcxLmZ1dHVyZXBsYy5lbmdpbmVlcmluZy93cC1jb250ZW50L3RoZW1lcy9zaW1iYS10aGVtZS9hc3NldHMvaW1hZ2VzL3BsYWNlaG9sZGVyLnBuZyIgZGF0YS1zcmM9Imh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjIvMTIvUG9ydHdpbmVfZ3JhcGV0cmVhZGluZ19HZXR0eUltYWdlcy0xNTU2ODMwMDMwLTMwMHgxOTkuanBnIiBhbHQ9IkhhcnZlc3Qgd29ya2VycyB0cmVhZCB0aGUgUG9ydCBncmFwZXMgdXNpbmcgdGhlIGJhcmUgZm9vdCBtZXRob2QgaW4gYSB0cmFkaXRpb25hbCBzdG9uZSBsYWdhciwgYXQgYSBQb3J0IHdpbmVyeSBpbiB0aGUgRG91cm8gVmFsbGV5IHdpbmUgZ3Jvd2luZyByZWdpb24gb2YgUG9ydHVnYWwuIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjE5OSIgZGF0YS1zaXplcz0iYXV0byIgZGF0YS1zcmNzZXQ9Imh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjIvMTIvUG9ydHdpbmVfZ3JhcGV0cmVhZGluZ19HZXR0eUltYWdlcy0xNTU2ODMwMDMwLTMwMHgxOTkuanBnIDMwMHcsIGh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjIvMTIvUG9ydHdpbmVfZ3JhcGV0cmVhZGluZ19HZXR0eUltYWdlcy0xNTU2ODMwMDMwLTYzMHg0MTguanBnIDYzMHcsIGh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjIvMTIvUG9ydHdpbmVfZ3JhcGV0cmVhZGluZ19HZXR0eUltYWdlcy0xNTU2ODMwMDMwLTEzNXg5MC5qcGcgMTM1dywgaHR0cHM6Ly9rZXlhc3NldHMudGltZWluY3VrLm5ldC9pbnNwaXJld3AvbGl2ZS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMzQvMjAyMi8xMi9Qb3J0d2luZV9ncmFwZXRyZWFkaW5nX0dldHR5SW1hZ2VzLTE1NTY4MzAwMzAtMzIweDIxMi5qcGcgMzIwdywgaHR0cHM6Ly9rZXlhc3NldHMudGltZWluY3VrLm5ldC9pbnNwaXJld3AvbGl2ZS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMzQvMjAyMi8xMi9Qb3J0d2luZV9ncmFwZXRyZWFkaW5nX0dldHR5SW1hZ2VzLTE1NTY4MzAwMzAtNjIweDQxMS5qcGcgNjIwdywgaHR0cHM6Ly9rZXlhc3NldHMudGltZWluY3VrLm5ldC9pbnNwaXJld3AvbGl2ZS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMzQvMjAyMi8xMi9Qb3J0d2luZV9ncmFwZXRyZWFkaW5nX0dldHR5SW1hZ2VzLTE1NTY4MzAwMzAtOTIweDYxMC5qcGcgOTIwdywgaHR0cHM6Ly9rZXlhc3NldHMudGltZWluY3VrLm5ldC9pbnNwaXJld3AvbGl2ZS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMzQvMjAyMi8xMi9Qb3J0d2luZV9ncmFwZXRyZWFkaW5nX0dldHR5SW1hZ2VzLTE1NTY4MzAwMzAtMTIyMHg4MDkuanBnIDEyMjB3LCBodHRwczovL2tleWFzc2V0cy50aW1laW5jdWsubmV0L2luc3BpcmV3cC9saXZlL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zNC8yMDIyLzEyL1BvcnR3aW5lX2dyYXBldHJlYWRpbmdfR2V0dHlJbWFnZXMtMTU1NjgzMDAzMC5qcGcgMTMwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiAvPjxwIGlkPSJjYXB0aW9uLWF0dGFjaG1lbnQtNTM3MzcxIiBjbGFzcz0id3AtY2FwdGlvbi10ZXh0Ij5IYXJ2ZXN0IHdvcmtlcnMgdHJlYWQgZ3JhcGVzIGluIGEgdHJhZGl0aW9uYWwgc3RvbmUgbGFnYXIgYXQgYSBQb3J0IHdpbmVyeSB8IENyZWRpdDogRGF2aWQgU2F3eWVyLCBHZXR0eSBJbWFnZXM8L3A+PC9kaXY+Cjxocj4KPGgyPjIwMTA8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbms8L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPkludGVuc2UgcmFpbnMgZm9sbG93ZWQgYnkgaW50ZW5zZSBoZWF0IHByZXZlbnRlZCB0aGUgZGV2ZWxvcG1lbnQgb2YgZnJ1aXQgd2l0aCBlbm91Z2ggY29tcGxleGl0eSB0byB5aWVsZCBub3Rld29ydGh5IHdpbmVzLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz4yLzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+Cjxocj4KPGgyPjIwMDk8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsvS2VlcDwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+QW4gZXhjZWxsZW50IHZpbnRhZ2UsIGFsdGhvdWdoIG5vdCB1bmFuaW1vdXNseSBsYXVkZWQuIERlY2xhcmVkIGJ5IHNvbWUsIGJ1dCBub3QgYWxsLCB0b3AgcHJvZHVjZXJzLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz40LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlZlcnkgZHJ5IGdyb3dpbmcgc2Vhc29uLCB3aGljaCBraWNrZWQgb2ZmIGVhcmx5IGZvbGxvd2luZyBhIHdhcm0gZWFybHkgc3ByaW5nLiBBbiBleHRyZW1lbHkgaG90IHN1bW1lciBjYXRhbHlzZWQgZWFybHkgcGhlbm9saWMgcmlwZW5lc3MgYnV0IHdhdGVyIHN0cmVzcyBpbXBhY3RlZCBuZWdhdGl2ZWx5IG9uIHlpZWxkcy48YnIgLz4KVGhlIHNtYWxsIGNyb3BzIHByZWRpY3RhYmx5IGhhZCBvdXRzdGFuZGluZyBjb25jZW50cmF0aW9uIHdpdGggZGVlcCwgaW50ZW5zZSBibGFjayBmcnVpdCwgc2lsa3kgYnV0IGFzc2VydGl2ZSB0YW5uaW5zIGFuZCBlbm91Z2ggYWNpZCB0byBiYWxhbmNlIGl0IGFsbCBvdXQuIEJvdGggdmludGFnZSBhbmQgc2luZ2xlLXF1aW50YSByZWxlYXNlcyBoYXZlIGdyZWF0IGNlbGxhcmluZyBwb3RlbnRpYWwuPC9wPgo8aHI+CjxoMj4yMDA4PC9oMj4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5BIGdvb2QgdmludGFnZSwgc29tZXdoYXQgZWNsaXBzZWQgYnkgaXRzIGxhbmRtYXJrIHByZWRlY2Vzc29yLiBHcmVhdCB2aW50YWdlIGFuZCBzaW5nbGUtcXVpbnRhIGl0ZXJhdGlvbnMuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjUvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+QSBjb2xkIHNwcmluZyBkZWxheWVkIGJ1ZGJ1cnN0IGFuZCBmbG93ZXJpbmcgYW5kIGNvb2wgdGVtcGVyYXR1cmVzIGNvbnRpbnVlZCB0aHJvdWdob3V0IHRoZSBncm93aW5nIHNlYXNvbiBjYXVzaW5nIHNvbWUgd29ycnkgYW1vbmcgcHJvZHVjZXJzIHRoYXQgZ3JhcGVzIHdvdWxkbuKAmXQgZnVsbHkgcmlwZW4uIEEgdGltZWx5IGhlYXQgc3BlbGwgYWxsb3dlZCB0aGVtIHRvIHN1Y2Nlc3NmdWxseSBhY2hpZXZlIHBoZW5vbGljIG1hdHVyaXR5IHdoaWxlIGNvb2wgbmlnaHRzIGVuc3VyZWQgYW4gb3B0aW1hbCByZXRhaW5tZW50IG9mIGFjaWQuPGJyIC8+ClRoZSB3aW5lcyB0aGVyZWZvcmUgc2hvd2Nhc2UgZnJlc2huZXNzLCBiYWxhbmNlLCB2aXZpZCBhY2lkIGFuZCB2aWJyYW50LCBsaWZ0ZWQgZnJ1aXQuIERyaW5rIGJlYXV0aWZ1bGx5IGFuZCwgYWx0aG91Z2ggc29tZSBleGFtcGxlcyB3aWxsIGJlIGxvbmctYWdlZCwgdGhlIGZpbmUgcXVhbGl0eSBvZiB0aGlzIHZpbnRhZ2Ugc3VnZ2VzdHMgdGhleSB3aWxsIG5vdCBob2xkIGFzIGxvbmcgYXMgdGhlIDIwMDdzLjwvcD4KPGhyPgo8cD48YSBuYW1lPSIyMDA3Ij48L2E+PC9wPgo8aDI+MjAwNzwvaDI+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5Ecmluay9LZWVwPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5BbiBhYnNvbHV0ZWx5IHN1cGVyYiB2aW50YWdlIOKAkyB0aGUgc2Vjb25kIG1vc3RseSB3aWRlbHkgZGVjbGFyZWQgaGFydmVzdCB0byBkYXRlLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz41LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlRoZSBncm93aW5nIHNlYXNvbiBzdGFydGVkIHdpdGggc2lnbmlmaWNhbnQgZGlzZWFzZSBwcmVzc3VyZSBhcyBhIHJlc3VsdCBvZiBzdGVhZHkgcmFpbnMgZnJvbSBOb3ZlbWJlciB0byBGZWJydWFyeS4gVGhpcyB3YXMgc29tZXdoYXQgbWl0aWdhdGVkIGJ5IGRyeSBjb25kaXRpb25zIGluIEF1Z3VzdCBhbmQgU2VwdGVtYmVyLiBNaWxkIHRlbXBlcmF0dXJlcyB0aHJvdWdob3V0IGFsbG93ZWQgZ3JhcGVzIHRvIHJpcGVuIHNsb3dseSBhbmQgc3RlYWRpbHksIHdpdGggdGhlIGRldmVsb3BtZW50IG9mIGFyb21hdGljIGNvbXBsZXhpdHkgYW5kIGJlYXV0aWZ1bCBwaGVub2xpYyBiYWxhbmNlLjxiciAvPgpUaGUgd2luZXMgc3RhbmQgb3V0IGZvciB0aGVpciB0cmFuc3BhcmVuY3ksIGZpbmVzc2UsIHNpbGt5IHRhbm5pbnMgYW5kIHJpY2sgZnJ1aXQgb2Zmc2V0IGJ5IGZyYWdyYW50IGFyb21hcy4gQWx0aG91Z2ggd2l0aCBncmVhdCBjZWxsYXJpbmcgcG90ZW50aWFsLCBtYW55IGV4YW1wbGVzIGFyZSBhbHJlYWR5IHN1cnByaXNpbmdseSBhcHByb2FjaGFibGUuPC9wPgo8aHI+CjxoMj4yMDA2PC9oMj4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rIHNvb248L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPkhlYXQgYW5kIGhhaWxzdG9ybXMgYWZmZWN0ZWQgdGhpcyBpbmNvbnNpc3RlbnQgdmludGFnZSB3aXRoIGZldyBnb29kIGV4YW1wbGVzLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz4yLzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlRpbnRhIEJhcnJvY2Egc3VmZmVyZWQgcGFydGljdWxhcmx5LCBhZmZlY3RpbmcgdGhlIG92ZXJhbGwgYmFsYW5jZSBvZiB0aGUgYmxlbmRzIGFuZCB0aGUgY2hhcmFjdGVyIG9mIG1hbnkgd2luZXMuIFRoZSBmZXcgbm90ZXdvcnRoeSB3aW5lcyBoYWQgZGVlcCBibGFjayBmcnVpdCBhbmQgaW50ZXJlc3RpbmcgYmFsc2FtaWMgbnVhbmNlcy48L3A+Cjxocj4KPGgyPjIwMDU8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsvS2VlcDwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+QW4gdW5ldmVuIHZpbnRhZ2UsIHBsYWd1ZWQgYnkgaGVhdCBhbmQgZHJvdWdodC4gU29tZSBwcm9kdWNlcnMgZGVjbGFyZWQsIHdoaWxlIG90aGVycyBmb2N1c2VkIG9uIGNoYXJhY3RlcmZ1bCBzaW5nbGUtcXVpbnRhIHdpbmVzLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz40LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPk1vcmUgcmVzaWxpZW50IHZpbmV5YXJkcyB3ZXJlIGFibGUgdG8gZGVsaXZlciBzbWFsbCB5aWVsZHMgb2YgdmVyeSBjb25jZW50cmF0ZWQgZnJ1aXQsIHByb2R1Y2luZyBkZWVwLCBpbnRlbnNlLCByb2J1c3RseSBzdHJ1Y3R1cmVkIHdpbmVzIHRoYXQgd2lsbCBjZWxsYXIgYmVhdXRpZnVsbHkuPC9wPgo8aHI+CjxoMj4yMDA0PC9oMj4KPHA+PGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5Ob3QgYSB3aWRlbHkgZGVjbGFyZWQgdmludGFnZSBidXQgd2l0aCBncmVhdCBzaW5nbGUtcXVpbnRhIGl0ZXJhdGlvbnMuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjMvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj40LzUgJiM4MjExOyBEcmluazwvcD4KPHA+VGhlIHRocmVhdCBvZiByYWluIGludG8gaGFydmVzdCBzZWFzb24gZm9yY2VkIHByb2R1Y2VycyB0byBtYWtlIGhhcmQgZGVjaXNpb25zIG9uIHdoZXRoZXIgdG8gaGFydmVzdCBwb3RlbnRpYWxseSB1bmRlcnJpcGUgZnJ1aXQgZWFybHkgb3IgbG9zZSB0aGUgY3JvcC4gVGhlIG1vc3QgZm9ydHVuYXRlIGRlY2lzaW9uLW1ha2VycyB3ZXJlIGFibGUgdG8gd29yayB3aXRoIHZpYnJhbnQgZnJ1aXQsIHN1YnRseSBhcm9tYXRpYywgd2l0aCBsb3ZlbHkgYWNpZCBhbmQgYSBmaW5lIHRhbm5pYyBmcmFtZXdvcmsuPC9wPgo8aHI+CjxwPjxhIG5hbWU9IjIwMDMiPjwvYT48L3A+CjxoMj4yMDAzPC9oMj4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPktlZXA8L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPlRoZSBzZWNvbmQgd2lkZWx5IGRlY2xhcmVkIHZpbnRhZ2Ugb2YgdGhlIG5ldyBjZW50dXJ5LCBub3Qgd2l0aG91dCBpdHMgY2hhbGxlbmdlcy48L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+NS81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5VbnVzdWFsbHkgaGlnaCB0ZW1wZXJhdHVyZXMgcGVha2VkIGluIHRoZSBlbmQgb2YgSnVseSBhbmQgYmVnaW5uaW5nIG9mIEF1Z3VzdCAoNDXihIMgZHVyaW5nIHRoZSBkYXkgYW5kIDMw4oSDIGF0IG5pZ2h0KSBhbmQgY29udGludWVkIGludG8gaGFydmVzdCBzZWFzb24uIFNvbWUgcGxhbnRzIHNodXRkb3duIGluIGxhdGUgQXVndXN0IGJ1dCBhIHNwZWxsIG9mIHJhaW4gaW4gZWFybHkgU2VwdGVtYmVyIHByb3ZpZGVkIHJlbGllZiBhbmQgcGF2ZWQgdGhlIHdheSBmb3IgYW4gZXhjZWxsZW50IGhhcnZlc3QsIHdpdGggbGl0dGxlIGJ1dCB2ZXJ5IGNvbmNlbnRyYXRlZCBncmFwZXMuIFRoZXNlIHByb2R1Y2VkIG11c2N1bGFyLCBjb21wbGV4LCB0YW5uaWMgd2luZXMgd2l0aCBncmVhdCBhZ2VpbmcgcG90ZW50aWFsLjxiciAvPgpTb21lIGV4Y2VwdGlvbnMsIGxhY2tpbmcgYWNpZCBhbmQgd2l0aCBvdmVybHkgcmlwZSBmcnVpdCwgd2VyZSB1bmZvcnR1bmF0ZSBvdXRsaWVycy48L3A+Cjxocj4KPGgyPjIwMDI8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsgc29vbjwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+QW4gdW5kZXJ3aGVsbWluZyBhbmQgZG91YmxlLWZhY2VkIHZpbnRhZ2UsIHdpdGggdmVyeSBkaWZmZXJlbnQgb3V0Y29tZXMgZm9yIHByb2R1Y2VycywgZGVwZW5kaW5nIG9uIGNydWNpYWwgZGVjaXNpb25zIG9uIGhhcnZlc3QgZGF0ZS48L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+Mi81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5UaGUgdmludGFnZSB3YXMgZXZvbHZpbmcgcG9zaXRpdmVseSwgd2l0aCBhIGRyeSB3aW50ZXIsIHNwcmluZyBhbmQgc3VtbWVyLCB0aGUgbGF0dGVyIHdpdGggbW9kZXJhdGUgaGVhdC4gRWFybHkgU2VwdGVtYmVyIHJhaW5zIHByb3ZpZGVkIHJlbGllZiBhbmQgcHJvbWlzZWQgYSBnb29kIHZpbnRhZ2UuIEhvd2V2ZXIsIGhlYXZ5IHJhaW5zIGZvbGxvd2VkLCBlcmFzaW5nIGhvcGVzIG9mIGEgZ29vZCBjcm9wIGZvciBtYW55IHByb2R1Y2Vycy48YnIgLz4KVGhvc2Ugd2hvIGhhcnZlc3RlZCBlYXJsaWVyIOKAkyBtb3N0IGluIERvdXJvIFN1cGVyaW9yIOKAkyBwcm9kdWNlZCBnb29kIHRvIGV4Y2VsbGVudCB3aW5lcy48L3A+Cjxocj4KPGgyPjIwMDE8L2gyPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbms8L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPkFsdGhvdWdoIG5vdCB3aWRlbHkgZGVjbGFyZWQgKHBlcmhhcHMgZHVlIHRvIHRoZSBwcmV2aW91cyBzdGFuZG91dCBjcm9wKSwgMjAwMSB5aWVsZGVkIGZydWl0IG9mIGdvb2QgcXVhbGl0eSBhbmQgc2lnbmlmaWNhbnRseSBtb3JlIHF1YW50aXR5IHRoYW4gMjAwMC48L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+NC81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5UaGUgd2V0IHdpbnRlciBjcmVhdGVkIHNvbWUgZGlzZWFzZSBwcmVzc3VyZSBidXQgd2FzIGZvbGxvd2VkIGJ5IGEgd2FybSwgZHJ5LCB1bmV2ZW50ZnVsIHN1bW1lciwgc3VwcG9ydGluZyB0aGUgc2xvdyBhbmQgaGVhbHRoeSBkZXZlbG9wbWVudCBvZiB0aGUgZ3JhcGVzLiBBIGxvbmcgYW5kIGxhdGUgaGFydmVzdCDigJMgd2VsbCBpbnRvIE9jdG9iZXIg4oCTIHdhcyBkaXN0dXJiZWQgYnkgc29tZSByYWluIHRvd2FyZHMgdGhlIGVuZC48YnIgLz4KVGhlIHllYXIgdGhlcmVmb3JlIHJld2FyZGVkIHRob3NlIHdobyBwaWNrZWQgc2xpZ2h0bHkgZWFybGllciwgYW5kIHdlcmUgYWJsZSB0byBwcm9kdWNlIHRoZSBkZWVwLWNvbG91cmVkLCBzdHJ1Y3R1cmVkIHdpbmVzIHRoaXMgdmludGFnZSBpcyBrbm93biBmb3IuPC9wPgo8aHI+CjxwPjxhIG5hbWU9IjIwMDAiPjwvYT48L3A+CjxoMj4yMDAwPC9oMj4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rL0NlbGxhcjwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+VGhlIHR1cm4gb2YgdGhlIG1pbGxlbm5pdW0gd2FzIG1hcmtlZCBieSBhIHNvLWNhbGxlZCDigJhsZWdlbmRhcnnigJkgdmludGFnZSwgd2lkZWx5IGRlY2xhcmVkIGFuZCBoaWdobHkgc291Z2h0IGFmdGVyIGJ5IGNvbGxlY3RvcnMuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjUvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+QSBkcnkgYW5kIGNvbGQgd2ludGVyIGRlbGF5ZWQgYnVkYnVyc3QuIEl0IHdhcyBmb2xsb3dlZCBieSBhIHdhcm0gRmVicnVhcnkgYW5kIE1hcmNoOyBBcHJpbCBhbmQgTWF5IGJyb3VnaHQgbXVjaC1uZWVkZWQgcmFpbnMgdGhhdCBjcmVhdGVkLCBob3dldmVyLCB0aGUgY29uZGl0aW9ucyBmb3IgdW53ZWxjb21lIGNvdWx1cmUuIFRoZSBzdW1tZXIgd2FzIHdhcm0gYW5kIGRyeSwgYWxsb3dpbmcgZm9yIHRoZSBzbG93IG1hdHVyYXRpb24gb2YgdGhlIGdyYXBlcy4gSGFydmVzdCBzdGFydGVkIGluIGxhdGUgU2VwdGVtYmVyLCB5aWVsZGluZyBzbWFsbCBidXQgZXhjZWxsZW50IHF1YWxpdHkgY3JvcHMuPGJyIC8+Ck92ZXJhbGwsIHRoZSB3aW5lcyBvZiB0aGlzIHZpbnRhZ2UgYXJlIHN1cGVyYiwgY29tYmluaW5nIGVhcmx5LWRyaW5raW5nIGFwcGVhbCBhbmQgaW5jcmVkaWJsZSBhZ2VpbmcgcG90ZW50aWFsLiBUaGV5IHN0YW5kIG91dCBmb3IgdGhlIHZpYnJhbmN5IGFuZCBkZWZpbml0aW9uIG9mIHRoZSBmcnVpdC48L3A+Cjxocj4KPGgzPjxlbT5UaGUgdmludGFnZSBzdW1tYXJpZXMgYW5kIHJhdGluZ3MgYmVsb3cgd2VyZSBsYXN0IHJldmlld2VkIGJ5IFJpY2hhcmQgTWF5c29uIGluIDIwMjIuwqA8L2VtPjwvaDM+Cjxocj4KPGgyPjE5OTk8L2gyPgo8cD48YSBuYW1lPSIxOTk5Ij48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5EcmluazwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+IFByb3NwZWN0cyBvZiBhbiBleGNlbGxlbnQgeWVhciBkYXNoZWQgYnkgcmFpbi4gR29vZCBzaW5nbGUtcXVpbnRhIHdpbmVzIGZyb20gdGhlIERvdXJvIFN1cGVyaW9yLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz4yLzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9wPgo8aHI+CjxoMj4xOTk4PC9oMj4KPHA+PGEgbmFtZT0iMTk5OCI+PC9hPjxiciAvPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbms8L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPlNtYWxsIGhhcnZlc3QuIFNvbWUgZXhjZWxsZW50IHNpbmdsZS1xdWludGEgUG9ydHMgZm9yIGRyaW5raW5nIGluIHRoZSBtZWRpdW0gdGVybS48L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+My81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QSBjb29sLCB3ZXQgc3ByaW5nIGFuZCBlYXJseSBzdW1tZXIgc2xhc2hlZCB5aWVsZHMgYW5kIGluZHVjZWQgbWlsZGV3IGFuZCBvaWRpdW0gaW4gbWFueSB2aW5leWFyZHMuIEFmdGVyIGEgcGVyaW9kIG9mIHVucmVsZW50aW5nIGhlYXQgaW4gaGlnaCBzdW1tZXIsIGEgbWludXRlIGJ1dCBwb3RlbnRpYWxseSBvdXRzdGFuZGluZyB2aW50YWdlIGFwcGVhcmVkIHRvIGJlIG9uIHRoZSBjYXJkcy4gUGlja2luZyBiZWdhbiBpbiB0aGUgRG91cm8gU3VwZXJpb3Igb24gMTQgU2VwdGVtYmVyIGFuZCBieSAyNCBTZXB0ZW1iZXIgdGhlIGhhcnZlc3Qgd2FzIHVuZGVyd2F5LiBVbmZvcnR1bmF0ZWx5LCB0aGUgaGVhdmVucyBvcGVuZWQgYXQgdGhlIHNhbWUgdGltZSwgZGlsdXRpbmcgc3VnYXIgbGV2ZWxzIGFuZCB0dXJuaW5nIGEgcG90ZW50aWFsbHkgZ3JlYXQgdmludGFnZSBpbnRvIGEgY3VyYXRl4oCZcyBlZ2c6IG1lcmVseSBnb29kIGluIHBhcnRzLjwvcD4KPHA+Tm8gbWFqb3IgZGVjbGFyYXRpb24sIGJ1dCBzb21lIGdvb2QsIGNvbmNlbnRyYXRlZCB3aW5lcyB3ZXJlIHByb2R1Y2VkIGJ5IHF1aW50YXMgaW4gdGhlIERvdXJvIFN1cGVyaW9yLCB3aGljaCBwaWNrZWQgYmVmb3JlIHRoZSByYWluLjwvcD4KPGhyPgo8aDI+MTk5NzwvaDI+CjxwPjxhIG5hbWU9IjE5OTciPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5BIHdpZGVseSBkZWNsYXJlZCB2aW50YWdlIHByb2R1Y2luZyB3ZWxsLXN0cnVjdHVyZWQgd2luZXMuIEFwcHJvYWNoYWJsZSBub3cgYW5kIGZvciBkcmlua2luZyBvdmVyIHRoZSBuZXh0IHR3byBkZWNhZGVzLiA8L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+NC81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QW4gdW5ldmVuIHllYXIgaW4gdGhhdCBhbiBhYm5vcm1hbGx5IHdhcm0sIGRyeSBzcHJpbmcgbGVkIHRvIGFuIGVhcmx5IGJ1cnN0IG9mIGdyb3d0aCBhbmQgdGhlbiBnYXZlIHdheSB0byBjb29sLCB3ZXQgd2VhdGhlciBpbiBKdW5lIGFuZCBKdWx5LiBUaGUgaGVhdCByZXR1cm5lZCBpbiBBdWd1c3QgYW5kIGJ5IG1pZC1TZXB0ZW1iZXIgZ3JhcGVzIHdlcmUgc2hvd2luZyBnb29kIHN1Z2FyIGxldmVscyBhbmQgdGhlIGhhcnZlc3QgYmVnYW4gaW4gZWFybmVzdC4gQXBhcnQgZnJvbSBhIGxvY2FsaXNlZCBkb3ducG91ciwgcGlja2luZyBjb250aW51ZWQgd2l0aG91dCBpbmNpZGVudCBhbmQgaXQgd2FzIGNsZWFyIHRoYXQgYSBnb29kLCBwb3NzaWJseSBncmVhdCwgdmludGFnZSB3YXMgaW4gcHJvc3BlY3QuPC9wPgo8cD5BcGFydCBmcm9tIENyb2Z0IGFuZCBEZWxhZm9yY2UsIHdobyBvcHRlZCBmb3Igc2luZ2xlLXF1aW50YSBQb3J0cywgYWxsIHRoZSBtYWpvciBzaGlwcGVycyBkZWNsYXJlZCBpbiB0aGUgc3ByaW5nIG9mIDE5OTkuIFRoZSBtb3N0IHByb21pc2luZyB3aW5lcyAoY29tYmluaW5nIGVsZWdhbmNlIGFuZCBzdHJ1Y3R1cmUpIGFyZSB0aG9zZSBmcm9tIHdlbGwtc2l0dWF0ZWQgcXVpbnRhcyBhdCBsb3dlciBhbHRpdHVkZXMgaW4gdGhlIENpbWEgQ29yZ28gYW5kIHRoZXNlIHdpbmVzIGZvcm0gdGhlIGJhc2lzIG9mIHRoZSBmaW5lc3QgZGVjbGFyZWQgd2luZXMuIEEgZmV3IHdpbmVzIGFyZSByYXRoZXIgbGVhbiBhbmQgb25lLWRpbWVuc2lvbmFsIGJ1dCB0aGUgYmVzdCBoYXZlIHNvbGlkLCBzaW5ld3kgdGFubmlucyBhbmQgd2lsbCBhZ2Ugd2VsbCBmb3IgdGhlIGxvbmcgdGVybS4gVGhlcmUgaXMgYSBzdHJvbmcgc2ltaWxhcml0eSBpbiBzdHlsZSB3aXRoIDE5ODMuIFByaWNlcyB3ZXJlIHVwIGJ5IGFyb3VuZCAzMCUgb24gdGhlIGhpZ2hseSBhY2NsYWltZWQgMTk5NHMuPC9wPgo8aDM+PHN0cm9uZz5CZXN0IHdpbmVzPC9zdHJvbmc+PC9oMz4KPHVsPgo8bGk+RG934oCZczwvbGk+CjxsaT5Gb25zZWNhPC9saT4KPGxpPkdyYWhhbeKAmXM8L2xpPgo8bGk+TmllcG9vcnQ8L2xpPgo8bGk+UXVpbnRhIGRhIENvcnRlIChEZWxhZm9yY2UpPC9saT4KPGxpPlF1aW50YSBkYSBSb2VkYSAoQ3JvZnQpPC9saT4KPGxpPlF1aW50YSBkbyBOb3ZhbDwvbGk+CjxsaT5RdWludGEgZG8gTm92YWwgTmFjaW9uYWw8L2xpPgo8L3VsPgo8aHI+CjxoMj4xOTk2PC9oMj4KPHA+PGEgbmFtZT0iMTk5NiI+PC9hPjxiciAvPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbms8L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPkEgaHVnZSBjcm9wIHByb2R1Y2VkIGZvcndhcmQsIGZydWl0LWRyaXZlbiBzaW5nbGUtcXVpbnRhIHdpbmVzIGRyaW5raW5nIG92ZXIgdGhlIG1lZGl1bSB0ZXJtLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz4yLjUvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L3A+CjxoMz48c3Ryb25nPlZpbnRhZ2Ugc3VtbWFyeTwvc3Ryb25nPjwvaDM+CjxwPlRoZSBwcm9sb25nZWQgZHJvdWdodCB0aGF0IGhhZCBiZWNvbWUgcXVpdGUgZGVzcGVyYXRlIGluIHBhcnRzIG9mIHNvdXRoZXJuIFBvcnR1Z2FsIGJyb2tlIHNwZWN0YWN1bGFybHkgaW4gdGhlIHdpbnRlciBvZiAxOTk1Lzk2LiBUaGUgd2ludGVyIGRlbHVnZSBnYXZlIHdheSB0byBhIG1pbGQgc3ByaW5nIGFuZCwgd2l0aCBzbyBtdWNoIGdyb3VuZCB3YXRlciwgdmluZXMgc3Byb3V0ZWQgaW4gYWxsIGRpcmVjdGlvbnMuIERldmVsb3BtZW50IHdhcyBzbG93IGFuZCBhcyBhIHJlc3VsdCB0aGUgaGFydmVzdCBiZWdhbiBsYXRlIGF0IHRoZSBlbmQgb2YgU2VwdGVtYmVyIGFuZCBlYXJseSBPY3RvYmVyLiBZaWVsZHMgd2VyZSB2YXN0IGJ1dCBzdWdhciBsZXZlbHMgcmVtYWluZWQgb24gdGhlIGxvdyBzaWRlIGFuZCBtYW55IG9mIHRoZSB3aW5lcyB0YXN0ZWQgZGlsdXRlLjwvcD4KPHA+VGhlIGJlc3QgUG9ydHMgY2FtZSBmcm9tIG9sZCwgbG93IHlpZWxkaW5nIHZpbmVzIGFuZCBhIGhhbmRmdWwgb2YgcXVpbnRhcyBkZWNsYXJlZCBwcm9taXNpbmcgd2luZXMgZm9yIGRyaW5raW5nIG92ZXIgdGhlIG1lZGl1bS10ZXJtLiBRdWludGEgZG8gTm92YWwgTmFjaW9uYWwgKHRoZSBmaXJzdCBkZWNsYXJhdGlvbiBvZiBOYWNpb25hbCBieSB0aGUgbmV3IG93bmVycykgc3RhbmRzIG91dCBhcyB0aGUgb25seSB3aW5lIGZvciB0aGUgbG9uZyB0ZXJtLjwvcD4KPGgzPjxzdHJvbmc+QmVzdCB3aW5lczwvc3Ryb25nPjwvaDM+Cjx1bD4KPGxpPlF1aW50YSBkYSBBZ3VhIEFsdGEgKENodXJjaGlsbCk8L2xpPgo8bGk+UXVpbnRhIE5vc3NhIFNlbmhvcmEgZG8gQ2FybW8gKEJ1cm1lc3Rlcik8L2xpPgo8bGk+UXVpbnRhIGRvIE5vdmFsIE5hY2lvbmFsPC9saT4KPGxpPlF1aW50YSBkZSBsYSBSb3NhPC9saT4KPGxpPlF1aW50YSBkbyBWZXN1dmlvPC9saT4KPC91bD4KPGhyPgo8aDI+MTk5NTwvaDI+CjxwPjxhIG5hbWU9IjE5OTUiPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5BIGhvdCBzdW1tZXIgYWxsb3dlZCBhIGZldyBwcm9kdWNlcnMgdG8gZGVjbGFyZSBhIHZpbnRhZ2UuIFNvbWUgZ29vZCBzaW5nbGUtcXVpbnRhIHdpbmVzLiA8L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+Mi81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QWZ0ZXIgYSBnZW5lcmFsbHkgY29vbCBzcHJpbmcgYW5kIGVhcmx5IHN1bW1lciwgQXVndXN0IHByb3ZpZGVkIGZvdXIgd2Vla3Mgb2YgdW5yZWxlbnRpbmcgaGVhdC4gSW4gdGhlIERvdXJvIFN1cGVyaW9yLCB3aGljaCBpcyBhbHdheXMgdGhlIGhvdHRlc3QgYW5kIGRyaWVzdCBvZiB0aGUgRG91cm\/igJlzIHRocmVlIHN1Yi1yZWdpb25zLCBzb21lIGdyb3dlcnMgYmVnYW4gcGlja2luZyBhcyBlYXJseSBhcyBtaWQtQXVndXN0LiBCeSA3IFNlcHRlbWJlciB0aGUgaGFydmVzdCB3YXMgdW5kZXJ3YXkgdGhyb3VnaG91dCBtdWNoIG9mIHRoZSBEb3VybyByZWdpb24gYXMgZ3JhcGVzIGJlZ2FuIHRvIHNocml2ZWwgb24gdGhlIHZpbmUuPC9wPgo8cD5UaGUgZXh0cmVtZSBoZWF0IG1hZGUgZm9yIHNvbWUgcmF0aGVyIGNvYXJzZSwgYnVybnQgd2luZXMgd2l0aCByb2FzdGVkIGNvZmZlZSBub3RlcywgYnV0IHRoZSBzaGVlciBqYW1teSBjb25jZW50cmF0aW9uIG9mIGZsYXZvdXIganVzdGlmaWVkIGEgZnVsbHktZmxlZGdlZCBkZWNsYXJhdGlvbiBmb3Igc29tZS4gQmFycm9zLCBCdXJtZXN0ZXIgS3JvaG4sIE9zYm9ybmUsIE5vdmFsIFJvc2VzIGFuZCBQb2NhcyBkZWNsYXJlZCBvdXRyaWdodCwgd2l0aCB0aGUgcmVtYWluZGVyIG9wdGluZyBmb3Igc2Vjb25kIGxhYmVsIG9yIHNpbmdsZS1xdWludGEgUG9ydHMuIERyaW5rIG92ZXIgdGhlIG1lZGl1bS10ZXJtLjwvcD4KPGgzPjxzdHJvbmc+QmVzdCB3aW5lczwvc3Ryb25nPjwvaDM+Cjx1bD4KPGxpPkZvbnNlY2EgR3VpbWFyYWVuczwvbGk+CjxsaT5RdWludGEgZG8gQ3Jhc3RvPC9saT4KPGxpPlF1aW50YSBkbyBOb3ZhbDwvbGk+CjxsaT5RdWludGEgZGUgbGEgUm9zYTwvbGk+CjxsaT5RdWludGEgZGUgVmFyZ2VsbGFzIFZpbmhhIFZlbGhhIChUYXlsb3ImIzgyMTc7cyk8L2xpPgo8bGk+UXVpbnRhIGRvIFZlc3V2aW88L2xpPgo8L3VsPgo8aHI+CjxoMj4xOTk0PC9oMj4KPHA+PGEgbmFtZT0iMTk5NCI+PC9hPjxiciAvPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbms8L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPlRoZSBzdGFydCBvZiB0aGUgbW9kZXJuIGVyYSBmb3IgdmludGFnZSBQb3J0LCB3aXRoIG91dHN0YW5kaW5nIHdpbmVzIHRoYXQgYXJlIHJpcGUgYW5kIHdlbGwgc3RydWN0dXJlZC4gTWF5IGJlIGFwcHJvYWNoZWQgbm93IGJ1dCB0aGUgYmVzdCB3aWxsIGNvbnRpbnVlIHRvIGltcHJvdmUuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjQuNS81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QSB3ZXQgd2ludGVyIGJyb3VnaHQgYW4gZW5kIHRvIHRocmVlIHllYXJzIG9mIGRyb3VnaHQsIGFuZCB3aGVuIHRoZSBzdW4gYmVnYW4gdG8gc2hpbmUgaW4gTWFyY2ggYW5kIEFwcmlsIHRoZSB2aW5lcyBiZWdhbiB0byBzcHJvdXQgaW4gYWxsIGRpcmVjdGlvbnMuIFRoZXJlIHdhcyBzb21lIGNvbmNlcm4gd2hlbiBoZWF2eSByYWluIGZlbGwgaW4gTWF5IGJ1dCBmb3J0dW5hdGVseSBpdCB3YXMgbm90IHVuZHVseSB3YXJtLCBhbmQgdGhlIHVuc2V0dGxlZCBjb25kaXRpb25zIG1lcmVseSBzZXJ2ZWQgdG8gY2hlY2sgdGhlIG92ZXJhbGwgc2l6ZSBvZiB0aGUgY3JvcC48L3A+CjxwPkZyb20gdGhlbiBvbiBpdCB3YXMgcGxhaW4gc2FpbGluZyBhbGwgdGhlIHdheSB0aHJvdWdoIHRvIHRoZSBoYXJ2ZXN0LiBUaGUgdGhyZWF0IG9mIHJhaW4gaW4gbWlkLVNlcHRlbWJlciByZWtpbmRsZWQgbWVtb3JpZXMgb2YgMTk5MyAoYSBxdWFnbWlyZSkgYW5kIGEgZmV3IGdyb3dlcnMgcGFuaWNrZWQgYW5kIGhhcnZlc3RlZCB0b28gZWFybHkuIFRoZSBtYWpvcml0eSBrZXB0IHRoZWlyIG5lcnZlIGFuZCBieSAyMCBTZXB0ZW1iZXIgdGhlIGdyYXBlcyB3ZXJlIGZ1bGx5IHJpcGUgYW5kIHBpY2tpbmcgd2FzIHdlbGwgdW5kZXJ3YXkuIFdpbmVtYWtlcnMgd2VyZSBoZWxwZWQgYnkgY29vbCwgY2xlYXIgbmlnaHRzIHdoaWNoIHNlcnZlZCB0byBzbG93IGRvd24gZmVybWVudGF0aW9ucyBhbmQgdGhlIGxhZ2FyZXMgdG9vayBwbGVudHkgb2Ygd29yay48L3A+CjxwPkl0IHdhcyBjbGVhciBhcyBzb29uIGFzIHRoZSB3aW5lcyB3ZXJlIHJ1biBmcm9tIHRoZSBsYWdhcmVzIHRoYXQgYSBmaW5lIHZpbnRhZ2Ugd2FzIGluIHRoZSBiYWcsIGFuZCB0aGUgc2hpcHBlcnMgY291bGQgaGFyZGx5IGNvbmNlYWwgdGhlaXIgZ2xlZSBhdCB0aGUgcHJvc3BlY3Qgb2YgYSBtYWpvciB2aW50YWdlIGRlY2xhcmF0aW9uLiBCeSB0aGUgdGltZSB0aGUgd2luZXMgd2VyZSBvZmZlcmVkIGluIHRoZSBzcHJpbmcvc3VtbWVyIG9mIDE5OTYsIHRoZSBtYXJrZXQgaGFkIHJlY292ZXJlZCBmdWxseSBmcm9tIHRoZSByZWNlc3Npb24gb2YgdGhlIGVhcmx5IDE5OTBzIHdpdGggdGhlIFVTIGhhdmluZyBiZWNvbWUgcGFydGljdWxhcmx5IHJlY2VwdGl2ZSB0byB2aW50YWdlIFBvcnQuIE9wZW5pbmcgcHJpY2VzIHJvc2UgY29uc2lkZXJhYmx5IGFuZCBpbiBzb21lIGNhc2VzIGhhdmUgY29udGludWVkIHRvIHNvYXIsIHBlcnZlcnNlbHkgb3ZlcnRha2luZyBtYXR1cmUgdmludGFnZXMgbGlrZSAxOTcwLiBUaGUgd2luZXMgd2VyZSBhcHBlYWxpbmcgZnJvbSB0aGUgc3RhcnQsIHdpdGggcmlwZSBmbGVzaHkgZnJ1aXQgY29uY2VhbGluZyB0aGUgdW5kZXJseWluZyB0YW5uaWMgZ3JpcCB0aGF0IHdpbGwgZW5hYmxlIHRoZXNlIHdpbmVzIHRvIHN0YW5kIHRoZSB0ZXN0IG9mIHRpbWUuPC9wPgo8aDM+PHN0cm9uZz5CZXN0IHdpbmVzPC9zdHJvbmc+PC9oMz4KPHVsPgo8bGk+QnVybWVzdGVyPC9saT4KPGxpPkNyb2Z0PC9saT4KPGxpPkRvd+KAmXM8L2xpPgo8bGk+Rm9uc2VjYTwvbGk+CjxsaT5Hb3VsZCBDYW1wYmVsbDwvbGk+CjxsaT5HcmFoYW3igJlzPC9saT4KPGxpPlF1YXJsZXMgSGFycmlzPC9saT4KPGxpPlF1aW50YSBkbyBWZXN1dmlvPC9saT4KPGxpPlF1aW50YSBkYSBFaXJhIFZlbGhhIChNYXJ0aW5leik8L2xpPgo8bGk+VGF5bG9y4oCZczwvbGk+CjxsaT5XYXJyZeKAmXM8L2xpPgo8L3VsPgo8aDM+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGVjYW50ZXIuY29tLm1hc3Rlci5wdWJsaWMua2V5c3RvbmUtcHJvZC1la3MtZXV3MS5mdXR1cmVwbGMuZW5naW5lZXJpbmcubWFzdGVyLnB1YmxpYy5rZXlzdG9uZS1wcm9kLWVrcy1ldXcxLmZ1dHVyZXBsYy5lbmdpbmVlcmluZy9wcmVtaXVtL3JldmlzaXRpbmctdmludGFnZS1wb3J0LTE5OTQtNDAwOTIxLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+PHN0cm9uZz5SZXZpc2l0aW5nIHZpbnRhZ2UgUG9ydCAxOTk0PC9zdHJvbmc+PC9hPjwvaDM+Cjxocj4KPGgyPjE5OTI8L2gyPgo8cD48YSBuYW1lPSIxOTkyIj48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5EcmluazwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+QSBzcGxpdCBkZWNsYXJhdGlvbiAmIzgyMTE7IGEgeWVhciBmYXZvdXJlZCBieSBUYXlsb3ImIzgyMTc7cyBhbmQgRm9uc2VjYSBvdmVyIGFuZCBhYm92ZSAxOTkxLiBSaWNoLCBjb25jZW50cmF0ZWQgd2luZXMgZm9yIGRyaW5raW5nIG5vdyBhbmQgb3ZlciB0aGUgbmV4dCAyMCB5ZWFyczwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz40LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9wPgo8aDM+PHN0cm9uZz5WaW50YWdlIHN1bW1hcnk8L3N0cm9uZz48L2gzPgo8cD5UaGUgd2ludGVyIHdhcyB1bnNlYXNvbmFibHkgZHJ5IHRocm91Z2hvdXQgUG9ydHVnYWwgYW5kIHRoZSBkcm91Z2h0IGNvbnRpbnVlZCB1bnRpbCBKdW5lLCB3aGVuIGEgZmV3IGRheXMgb2YgcmFpbiBwcm92ZWQgdG8gYmUgdmVyeSBiZW5lZmljaWFsLiBGb3J0dW5hdGVseSwgdGhlIGZsb3dlcmluZyB3YXMgZWFybHkgYW5kIHRoZXJlZm9yZSBub3QgYWZmZWN0ZWQuIFRoZSByZW1haW5kZXIgb2YgdGhlIHN1bW1lciB3YXMgZ2VuZXJhbGx5IGRyeSBidXQgbm90IHVuZHVseSBob3QsIGFuZCBhIGZldyBzaG9ydCBzaGFycCBzaG93ZXJzIGluIEF1Z3VzdCBoZWxwZWQgdG8gc3dlbGwgdGhlIGdyYXBlcy4gTW9zdCBncm93ZXJzIGJlZ2FuIHBpY2tpbmcgb24gMjEgU2VwdGVtYmVyIGJ1dCB0aG9zZSB3aG8gaGVsZCBvZmYgYW5vdGhlciB3ZWVrIHByb2JhYmx5IG1hZGUgYmV0dGVyIHdpbmVzLjwvcD4KPHA+QSBzcGxpdCBkZWNsYXJhdGlvbiAod2l0aCAxOTkxKTsgVGF5bG9y4oCZcy9Gb25zZWNhIGZhbW91c2x5IGRlY2xhcmVkIDE5OTIgd2hlcmVhcyB0aGUgU3ltaW5ndG9uLW93bmVkIGhvdXNlcyBhbGwgb3B0ZWQgZm9yIDE5OTEuIE5pZXBvb3J0IGRlY2xhcmVkIGJvdGguIEl0IG5vdyBzZWVtcyB0aGF0IDE5OTIgcHJvZHVjZWQgdGhlIGJldHRlciB3aW5lcyBmb3IgZHJpbmtpbmcgb3ZlciB0aGUgbWVkaXVtLSB0byBsb25nLXRlcm06IGJpZywgcmljaCBhbmQgY29tcGxldGUuPC9wPgo8aDM+PHN0cm9uZz5CZXN0IHdpbmVzPC9zdHJvbmc+PC9oMz4KPHVsPgo8bGk+RGVsYWZvcmNlPC9saT4KPGxpPkZvbnNlY2E8L2xpPgo8bGk+TWFsdmVkb3MgKEdyYWhhbeKAmXMpPC9saT4KPGxpPk5pZXBvb3J0PC9saT4KPGxpPlF1aW50YSBkbyBJbmZhbnRhZG88L2xpPgo8bGk+UXVpbnRhIGRvIFBhc3NhZG91cm8gKE5pZXBvb3J0KTwvbGk+CjxsaT5RdWludGEgZG8gVmVzdXZpbzwvbGk+CjxsaT5RdWludGEgZGEgQWd1YSBBbHRhIChDaHVyY2hpbGwpPC9saT4KPGxpPlRheWxvcuKAmXM8L2xpPgo8L3VsPgo8aHI+CjxoMj4xOTkxPC9oMj4KPHA+PGEgbmFtZT0iMTk5MSI+PC9hPjxiciAvPgo8ZGl2IGNsYXNzPSJicmVha291dCBwYWxldHRlLWEgcGFuZWwgcGFuZWwtZGVmYXVsdCI+PGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGgzIGNsYXNzPSdwYW5lbC10aXRsZSc+RHJpbmsgc29vbjwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+U29mdCBhbmQgcmVsYXRpdmVseSBlYXJseSBtYXR1cmluZywgZGVjbGFyZWQgYnkgRG93JiM4MjE3O3MsIEdyYWhhbSYjODIxNztzIGFuZCBXYXJyZSYjODIxNztzIGFtb25nIG90aGVycy4gPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjMuNS81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+R3Jvd2luZyBjb25kaXRpb25zIHdlcmUgZ29vZDogYSB3ZXQgd2ludGVyIHdhcyBmb2xsb3dlZCBieSBhIGRyeSwgc2V0dGxlZCBzcHJpbmcgYW5kIGVhcmx5IHN1bW1lciB3aGVuIGZsb3dlcmluZyB0b29rIHBsYWNlIHVuZGVyIGlkZWFsIGNvbmRpdGlvbnMuIEhpZ2ggc3VtbWVyIHdhcyBob3QgYW5kIHZlcnkgZHJ5LCByZWxpZXZlZCBvbmx5IGJ5IHNvbWUgdGltZWx5IHJhaW4gb24gMTEgYW5kIDEyIFNlcHRlbWJlciBhbmQgYWdhaW4ganVzdCBiZWZvcmUgdGhlIGhhcnZlc3QuIFdoZW4gcGlja2luZyBiZWdhbiwgYW1iaWVudCB0ZW1wZXJhdHVyZXMgd2VyZSBzdGlsbCBoaWdoLCBwcmVzZW50aW5nIHJlYWwgcHJvYmxlbXMgZm9yIHRob3NlIHByb2R1Y2VycyB3aXRob3V0IG1lYW5zIG9mIGNvbnRyb2xsaW5nIGZlcm1lbnRhdGlvbnMuPC9wPgo8cD5UaGUgZ3JhcGVzIHRlbmRlZCB0byBiZSBzbWFsbCB3aXRoIGxpdHRsZSBqdWljZSByZXN1bHRpbmcgaW4gZGVlcCwgZGVuc2UgcG93ZXJmdWwgd2luZXMgZm9yIHRoZSBtZWRpdW0tdG8tbG9uZy10ZXJtLiBJdCB3YXMgZGVjbGFyZWQgYnkgdGhlIFN5bWluZ3Rvbi1vd25lZCBob3VzZXMgRG934oCZcywgR3JhaGFt4oCZcywgV2FycmXigJlzLCBTbWl0aCBXb29kaG91c2UsIEdvdWxkIENhbXBiZWxsIGFuZCBRdWFybGVzIEhhcnJpcyBpbiBwcmVmZXJlbmNlIHRvIDE5OTIuIFRheWxvcuKAmXMgYW5kIEZvbnNlY2EgZGVjbGFyZWQgc2luZ2xlLXF1aW50YSB3aW5lcy4gMTk5MSB3YXMgYSB3YXRlcnNoZWQgdmludGFnZSBpbiB0aGF0LCBmb3IgdGhlIGZpcnN0IHRpbWUsIG1vcmUgdmludGFnZSBQb3J0IHdhcyBzaGlwcGVkIHRvIHRoZSBVUyB0aGFuIHRoZSBVSy48L3A+CjxoMz48c3Ryb25nPkJlc3Qgd2luZXM8L3N0cm9uZz48L2gzPgo8dWw+CjxsaT5Dcm9mdDwvbGk+CjxsaT5GZXJyZWlyYTwvbGk+CjxsaT5HcmFoYW3igJlzPC9saT4KPGxpPk5pZXBvb3J0PC9saT4KPGxpPlJvesOoczwvbGk+CjxsaT5UYXlsb3LigJlzPC9saT4KPC91bD4KPGgyPjE5ODc8L2gyPgo8cD48YSBuYW1lPSIxOTg3Ij48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5EcmluayBzb29uPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5BIGhhbmRmdWwgb2Ygc2hpcHBlcnMgZGVjbGFyZWQgZ29vZCB3aW5lcyBmb3IgdGhlIG1lZGl1bSB0ZXJtLiA8L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+My81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QWZ0ZXIgYSBzdWNjZXNzZnVsIGZsb3dlcmluZywgdGhlIHByb3NwZWN0cyB3ZXJlIGZvciBhIGxhcmdlIGNyb3AsIGJ1dCBleGNlcHRpb25hbGx5IGhvdCwgZHJ5IHdlYXRoZXIgZnJvbSBtaWQtSnVuZSBpbnRlcnZlbmVkLiBCeSBlYXJseSBTZXB0ZW1iZXIsIHRoZSBncmFwZXMgd2VyZSBsb29raW5nIGRpc3RpbmN0bHkgc21hbGwgYW5kIHNvbWV3aGF0IHJhaXNpbmVkLiBUaGUgd2VhdGhlciBicm9rZSBkdXJpbmcgdGhlIHZpbnRhZ2UgYnV0IHRob3NlIHdobyBwaWNrZWQgZWFybHkgbWFkZSBpbnRlbnNlLCBjb25jZW50cmF0ZWQgd2luZXMsIG1hcnJlZCBpbiBzb21lIGNhc2VzIG9ubHkgYnkgYSBzbGlnaHRseSByb2FzdGVkIGNoYXJhY3Rlci48L3A+CjxwPkEgaGFuZGZ1bCBvZiBzaGlwcGVycyBkZWNsYXJlZCAoRmVycmVpcmEsIE1hcnRpbmV6LCBOaWVwb29ydCkgYnV0IHRoZSBtYWpvcml0eSBoZWxkIG9mZiBhbmQgYm90dGxlZCBzaW5nbGUtcXVpbnRhIHdpbmVzLiBNb3JlIG1heSBoYXZlIHRha2VuIHRoZSBwbHVuZ2UgYnV0IGZvciB0aGUgZmFjdCB0aGF0IHRoZSBtYXJrZXQgZm9yIHZpbnRhZ2UgUG9ydCB3YXMgbG9va2luZyBkaXN0aW5jdGx5IHNoYWt5IGJ5IHRoZSB0aW1lIG9mIHRoZSB3b3VsZC1iZSBkZWNsYXJhdGlvbiBpbiB0aGUgc3ByaW5nL3N1bW1lciBvZiAxOTg5LjwvcD4KPGgzPjxzdHJvbmc+QmVzdCBQcm9kdWNlcnM8L3N0cm9uZz48L2gzPgo8dWw+CjxsaT5RdWludGEgZGEgRWlyYSBWZWxoYSAoTWFydGluZXopPC9saT4KPGxpPlF1aW50YSBkYSBUZXJyYSBGZWl0YSAoVGF5bG9y4oCZcyk8L2xpPgo8bGk+UXVpbnRhIGRvIEJvbWZpbSAoRG934oCZcyk8L2xpPgo8bGk+UXVpbnRhIGRvIFBhbmFzY2FsIChGb25zZWNhKTwvbGk+CjwvdWw+Cjxocj4KPGgyPjE5ODU8L2gyPgo8cD48YSBuYW1lPSIxOTg1Ij48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5EcmluazwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+VW5pdmVyc2FsbHkgZGVjbGFyZWQuIEEgd2FybSBzdW1tZXIgcHJvZHVjZWQgc29tZSBvdXRzdGFuZGluZ2x5IGdvb2Qgd2luZXMgZm9yIHRoZSBsb25nIHRlcm0sIGJ1dCBzb21lIGVtZXJnZWQgd2l0aCBzZXJpb3VzIGZhdWx0cy4gQnV5ZXIgYmV3YXJlISBUaGUgYmVzdCBhcmUgbG92ZWx5IG5vdyBhbmQgY2FuIGJlIGRydW5rIG92ZXIgdGhlIG5leHQgMTUgeWVhcnMuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjQvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L3A+CjxoMz48c3Ryb25nPlZpbnRhZ2Ugc3VtbWFyeTwvc3Ryb25nPjwvaDM+CjxwPkEgdGV4dGJvb2sgZ3Jvd2luZyBzZWFzb246IGEgd2V0IHdpbnRlciB3YXMgZm9sbG93ZWQgYnkgYSBjb29sIHNwcmluZyBhbmQgZnJvbSBKdW5lIG9ud2FyZHMgdGhlIHdlYXRoZXIgd2FzIG1hZ25pZmljZW50LiBUaGUgZ3JhcGVzIHdlcmUgZ2F0aGVyZWQgdW5kZXIgcGVyZmVjdCBjb25kaXRpb25zIHdpdGggdW5icm9rZW4gc3VtbWVyLWxpa2Ugd2VhdGhlciBmcm9tIGVhcmx5IFNlcHRlbWJlciB1bnRpbCB0aGUgZW5kIG9mIHRoZSBoYXJ2ZXN0LiBUaGUgb25seSBzZXJpb3VzIHByb2JsZW0gZm9yIHRoZSB3aW5lbWFrZXJzIHdhcyB0aGUgbWlkZGF5IGhlYXQgKHVwIHRvIDMyQykgYW5kIHRoaXMgbWF5IGFjY291bnQgZm9yIHRoZSB2YXJpYWJpbGl0eSBpbiBzb21lIG9mIHRoZSAxOTg1cy48L3A+CjxwPkEgdW5hbmltb3VzIGRlY2xhcmF0aW9uLCBidXQgc29tZSBvZiB0aGUgd2luZXMgaGF2ZSBub3QgbGl2ZWQgdXAgdG8gdGhlaXIgZWFybHkgcHJvbWlzZSBoYXZpbmcgc3Vic2VxdWVudGx5IHR1cm5lZCB2b2xhdGlsZSBpbiBib3R0bGUuIEhvd2V2ZXIsIHRoZSBwb3dlciBhbmQgY29uY2VudHJhdGlvbiB0aGF0IGlzIHRoZSBoYWxsbWFyayBvZiB0aGUgMTk4NSB2aW50YWdlIGNvbnRpbnVlcyB0byBsaXZlIG9uIGluIG1hbnkgb2YgdGhlIHdpbmVzLiBUaGVzZSB3aWxsIHJlbWFpbiBpbXByZXNzaXZlIHRvIGRyaW5rIG92ZXIgdGhlIG1lZGl1bS10by1sb25nLXRlcm0uPC9wPgo8aDM+PHN0cm9uZz5CZXN0IHdpbmVzPC9zdHJvbmc+PC9oMz4KPHVsPgo8bGk+RG934oCZczwvbGk+CjxsaT5Gb25zZWNhPC9saT4KPGxpPkdyYWhhbeKAmXM8L2xpPgo8bGk+V2FycmXigJlzPC9saT4KPC91bD4KPGhyPgo8aDI+MTk4MzwvaDI+CjxwPjxhIG5hbWU9IjE5ODMiPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5XaWRlbHkgZGVjbGFyZWQsIGFsdGhvdWdoIGEgZmV3IHNoaXBwZXJzIHByZWZlcnJlZCAxOTgyLiBGaXJtLCB0aWdodC1rbml0IHdpbmVzIHRoYXQgY2FuIGJlIGRydW5rIG5vdywgYW5kIHRoZSBiZXN0IHdpbGwga2VlcCBmb3IgYW5vdGhlciAxMC0yMCB5ZWFyczwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz40LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9wPgo8aDM+VmludGFnZSBzdW1tYXJ5PC9oMz4KPHA+VGhlIHllYXIgYmVnYW4gYmFkbHkgd2l0aCBhIGxvbmcsIGNvbGQgd2ludGVyIGV4dGVuZGluZyBpbnRvIHNwcmluZy4gU25vdyBmZWxsIG9uIHRoZSBTZXJyYSBkbyBNYXLDo28gdG8gdGhlIHdlc3Qgb2YgdGhlIERvdXJvIGFzIGxhdGUgYXMgMjAgTWF5ISBUaGUgdmluZXMgd2VyZSB0aHJlZSB3ZWVrcyBiZWhpbmQuIEZyb20gSnVuZSB0byBtaWQtQXVndXN0IHRoZSB3ZWF0aGVyIHdhcyBob3QgYnV0IHVuc2V0dGxlZCBhbmQsIGRlc3BpdGUgYSBzdWNjZXNzZnVsIGZsb3dlcmluZywgdGhlIHZpbmVzIHJlbWFpbmVkIGJhY2t3YXJkLiBQaWNraW5nIGNvbnNlcXVlbnRseSBiZWdhbiBsYXRlIChlbmQgb2YgU2VwdGVtYmVyKSBidXQgZm9ydHVuYXRlbHkgdGhlIHdlYXRoZXIgcmVtYWluZWQgZmluZSBpbnRvIE9jdG9iZXIgYW5kIHNvbWUgb3V0c3RhbmRpbmcgd2luZXMgd2VyZSBtYWRlIGRlc3BpdGUgdGhlIHVuZXZlbiBzcHJpbmcgYW5kIHN1bW1lci48L3A+CjxwPlRoZSBtYWpvcml0eSBvZiBzaGlwcGVycyBjaG9zZSAocmlnaHRseSBpbiByZXRyb3NwZWN0KSB0byBkZWNsYXJlIDE5ODMgaW5zdGVhZCBvZiAxOTgyLCBtYWtpbmcgdGhpcyBzb21ldGhpbmcgb2YgYSDigJhzcGxpdCB2aW50YWdl4oCZLiBJbml0aWFsbHkgdGhlIDE5ODNzIHdlcmUgcXVpdGUgZGlmZmljdWx0IHRvIHRhc3RlLCB0aGUgZnJ1aXQgYmVpbmcgd3JhcHBlZCB1cCBpbiBwb3dlcmZ1bCwgbXVzY3VsYXIgdGFubmlucy4gV2l0aCBhZ2UgaG93ZXZlciwgdGhlIHdpbmVzIGdhaW5lZCBmbGVzaCBhbmQgYXBwZWFsIGJ1dCB0aGUgY2FzdCBpcm9uIGJhY2tib25lIHJlbWFpbnMuIFRoZSBiZXN0IHdpbGwgbGFzdCBmb3JldmVyLjwvcD4KPGgzPkJlc3Qgd2luZXM8L2gzPgo8dWw+CjxsaT5Eb3figJlzPC9saT4KPGxpPkdvdWxkIENhbXBiZWxsPC9saT4KPGxpPkdyYWhhbeKAmXM8L2xpPgo8bGk+TmllcG9vcnQ8L2xpPgo8bGk+UXVhcmxlcyBIYXJyaXM8L2xpPgo8bGk+U21pdGggV29vZGhvdXNlPC9saT4KPGxpPlRheWxvcuKAmXM8L2xpPgo8bGk+V2FycmXigJlzPC9saT4KPC91bD4KPGhyPgo8aDI+MTk4MjwvaDI+CjxwPjxhIG5hbWU9IjE5ODIiPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rIHNvb248L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPkZvcndhcmQgYW5kIHJlbGF0aXZlbHkgZmFzdC1tYXR1cmluZywgd2l0aCBzb2Z0LCBzd2VldCBjaGFyYWN0ZXI8L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+My81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QWZ0ZXIgYSBkcnkgd2ludGVyIGFuZCB3YXJtIHNwcmluZywgSnVuZSBhbmQgSnVseSB3ZXJlIGFibm9ybWFsbHkgY29vbCB3aXRoIGhpZ2ggY2xvdWQgYW5kIGhhenkgY29uZGl0aW9ucyB3aXRoIHNvbWUgc2hvd2Vycy4gQ29uc2VxdWVudGx5LCB0aGUgdmluZXMgd2VyZSB3ZWxsLWFibGUgdG8gY29wZSB3aXRoIHRoZSBleHRyZW1lIGhlYXQgaW4gQXVndXN0IGFuZCBlYXJseSBTZXB0ZW1iZXIsIHdpdGggYmVuZWZpY2lhbCBoZWF2eSByYWluIG92ZXIgdGhlIGxhc3Qgd2Vla2VuZCBpbiBBdWd1c3QuIFRoZSBncmFwZXMgd2VyZSB1bmlmb3JtbHkgaGVhbHRoeSB3aXRoIGhpZ2ggc3VnYXIgcmVhZGluZ3MgdGhyb3VnaG91dCB0aGUgRG91cm8uPC9wPgo8cD4xOTgyLzE5ODMgaXMgYSBjbGFzc2ljIGV4YW1wbGUgb2YgYSBzby1jYWxsZWQg4oCYc3BsaXQgdmludGFnZeKAmSAoc2VlIGFsc28gMTk5MS8xOTkyKSwgd2hlcmUgdGhlcmUgd2FzIGEgbGFjayBvZiBjb25zZW5zdXMgYW1vbmcgdGhlIFBvcnQgc2hpcHBlcnMgYXMgdG8gd2hpY2ggb2YgdGhlIHR3byBpcyB0aGUgYmV0dGVyIHllYXIuIEluIHRoZSBlbmQsIDE5ODMgd29uIGhhbmRzIGRvd24uIEFsdGhvdWdoIHRoZSByaXBlLCBoZWFsdGh5IGZydWl0IGlzIHJlZmxlY3RlZCBpbiB0aGUgc29mdCwgc3dlZXQgcmFpc2lueSBjaGFyYWN0ZXIgb2YgdGhlIDE5ODJzLCB0aGV5IGFyZSByZWxhdGl2ZWx5IGZvcndhcmQgYW5kIGVhcmx5IG1hdHVyaW5nLiBUaG9zZSB3aG8gZGVjaWRlZCBub3QgdG8gb3B0IGZvciBhIGZ1bGx5IGZsZWRnZWQgZGVjbGFyYXRpb24gYm90dGxlZCBzb21lIHN1Y2Nlc3NmdWwgc2luZ2xlLXF1aW50YSB3aW5lcy48L3A+CjxoMz48c3Ryb25nPkJlc3Qgd2luZXM8L3N0cm9uZz48L2gzPgo8dWw+CjxsaT5DaHVyY2hpbGw8L2xpPgo8bGk+TmllcG9vcnQ8L2xpPgo8bGk+UXVpbnRhIGRvIE5vdmFsPC9saT4KPGxpPlNhbmRlbWFuPC9saT4KPC91bD4KPGhyPgo8aDI+MTk4MDwvaDI+CjxwPjxhIG5hbWU9IjE5ODAiPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5BbiB1bmRlcnJhdGVkIHZpbnRhZ2UgdGhhdCBwcm9kdWNlZCBhcHByb2FjaGFibGUsIGVhc3lnb2luZyB3aW5lcyBmb3IgdGhlIG1lZGl1bSB0ZXJtLiBEb3cmIzgyMTc7cywgR3JhaGFtJiM4MjE3O3MgYW5kIFdhcnJlJiM4MjE3O3MgYXJlIHZlcnkgZ29vZC48L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+My81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QW4gdW51c3VhbGx5IGVhcmx5IHNwcmluZyB3YXMgZm9sbG93ZWQgYnkgYW4gZXh0cmVtZWx5IGRyeSBncm93aW5nIHNlYXNvbiBhbmQgc3VnYXIgcmVhZGluZ3Mgd2VyZSBvbiB0aGUgbG93IHNpZGUgd2hlbiBwaWNraW5nIGJlZ2FuIGEgd2VlayBvciBzbyBsYXRlciB0aGFuIG5vcm1hbCwgYXQgdGhlIGVuZCBvZiBTZXB0ZW1iZXIuIEFtYmllbnQgdGVtcGVyYXR1cmVzIHdlcmUgaGlnaCBkdXJpbmcgdGhlIGhhcnZlc3QgYW5kIHRoZSBsYWdhcmVzIGZlcm1lbnRlZCBmdXJpb3VzbHkgZmFzdCBhbmQgdGhlcmVmb3JlIHRvb2sgbGl0dGxlIHdvcmsgYmVmb3JlIGJlaW5nIHJ1biBvZmYuPC9wPgo8cD5QZXJoYXBzIGRldGVycmVkIGJ5IGEgc3RlZXAgaGlrZSBpbiBvcGVuaW5nIHByaWNlcywgdGhlIDE5ODBzIHdlcmUgbGFyZ2VseSBvdmVybG9va2VkIGJ5IHRoZSB0cmFkZS4gVGhlIHdpbmVzIGhvd2V2ZXIgYXJlIHZlcnkgYXR0cmFjdGl2ZTsgb3BlbiwgZnJlc2ggYW5kIGZydWl0LWRyaXZlbiwgd2hpY2ggaGFzIHN0b29kIHRoZW0gaW4gZ29vZCBzdGVhZCBmb3IgZHJpbmtpbmcgb3ZlciB0aGUgbWVkaXVtLXRvLWxvbmctdGVybS4gQXMgYSByZXN1bHQsIDE5ODAgaXMgc29tZXRoaW5nIG9mIGEgQ2luZGVyZWxsYSB2aW50YWdlLCBkZWxpY2lvdXMgZm9yIGRyaW5raW5nIG5vdyBhbmQgb3ZlciB0aGUgbmV4dCB0ZW4gb3IgbW9yZSB5ZWFycy48L3A+CjxoMz48c3Ryb25nPkJlc3Qgd2luZXM8L3N0cm9uZz48L2gzPgo8dWw+CjxsaT5Eb3figJlzPC9saT4KPGxpPkdyYWhhbeKAmXM8L2xpPgo8bGk+TmllcG9vcnQ8L2xpPgo8bGk+T2ZmbGV5PC9saT4KPGxpPlNtaXRoIFdvb2Rob3VzZTwvbGk+CjxsaT5UYXlsb3LigJlzPC9saT4KPGxpPldhcnJl4oCZczwvbGk+CjwvdWw+Cjxocj4KPGgyPjE5Nzc8L2gyPgo8cD48YSBuYW1lPSIxOTc3Ij48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5EcmluazwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+SGlnaGx5IHJhdGVkIGF0IHRoZSBvdXRzZXQgJiM4MjExOyBhbmQgd2lkZWx5IGRlY2xhcmVkICYjODIxMTsgdGhlc2Ugd2luZXMgaGF2ZSBkZXZlbG9wZWQgZmFzdGVyIHRoYW4gZXhwZWN0ZWQuRHJpbmsgbm93ICYjODIxMTsgMjAzMC48L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+NC81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QSB3ZXQgd2ludGVyIHdhcyBmb2xsb3dlZCBieSBhIHNvbWV3aGF0IGRpc2FwcG9pbnRpbmcgc3VtbWVyIHdpdGggb25seSBvbmUgcGVyaW9kIG9mIHJlYWwgaGVhdC4gQXVndXN0IHdhcyBjb29sIGFuZCBvZnRlbiBvdmVyY2FzdC4gU3VnYXIgbGV2ZWxzIHdlcmUgc3RpbGwgYWxhcm1pbmdseSBsb3cgYXQgdGhlIGJlZ2lubmluZyBvZiBTZXB0ZW1iZXIgYnV0IHRoaXMgd2FzIGNvbXBlbnNhdGVkIGZvciBieSB2ZXJ5IGhvdCB3ZWF0aGVyIGxhdGVyIGluIHRoZSBtb250aCwgd2hpY2ggY29udGludWVkIGludG8gZWFybHkgT2N0b2Jlci4gU3VnYXIgbGV2ZWxzIHdlcmUgc3RpbGwgb24gdGhlIGxvdyBzaWRlIHdoZW4gcGlja2luZyBiZWdhbiBidXQgaXQgd2FzIGNsZWFyIGZyb20gdGhlIGNvbG91ciBhbmQgZmxhdm91ciBvZiB0aGUgbXVzdHMgdGhhdCBzb21lIGZpbmUgd2luZXMgd2VyZSBsaWtlbHkgdG8gZW1lcmdlLjwvcD4KPHA+VGhlIDE5NzcgUG9ydCB2aW50YWdlIHdhcyBoYWlsZWQgYXMgYSBjbGFzc2ljIHdoZW4gaXQgd2FzIGRlY2xhcmVkIGluIDE5NzkgYW5kIHdhcyB3ZWxsIHJlY2VpdmVkIGJ5IHRoZSB0cmFkZS4gRXZlcnkgc2hpcHBlciBleGNlcHQgQ29ja2J1cm4sIE1hcnRpbmV6IGFuZCBOb3ZhbCBjaG9zZSB0byBkZWNsYXJlLiBBbHRob3VnaCAxOTc3IHByb2R1Y2VkIHNvbWUgb3V0c3RhbmRpbmcgd2luZXMsIG92ZXJhbGwgdGhlIHZpbnRhZ2UgaGFzIG5vdCBxdWl0ZSBsaXZlZCB1cCB0byBlYXJseSBleHBlY3RhdGlvbnMgYW5kLCAyMCB5ZWFycyBvbiwgdGhlIHdpbmVzIHdlcmUgZnVsbHkgbWF0dXJlIHdpdGggb25lIG9yIHR3byBiZWdpbm5pbmcgdG8gc2hvdyB0aGVpciBhZ2UuIFRoaXMgaXMgYSB2ZXJ5IGdvb2QgdmludGFnZSBidXQgbm90IHVwIHRvIHRoZSBzdGFuZGFyZHMgb2YgMTk2MyBvciAxOTQ1LjwvcD4KPGgzPjxzdHJvbmc+QmVzdCB3aW5lczwvc3Ryb25nPjwvaDM+Cjx1bD4KPGxpPkRvd+KAmXM8L2xpPgo8bGk+Rm9uc2VjYTwvbGk+CjxsaT5HcmFoYW3igJlzPC9saT4KPGxpPlNtaXRoIFdvb2Rob3VzZTwvbGk+CjxsaT5UYXlsb3LigJlzPC9saT4KPGxpPldhcnJl4oCZczwvbGk+CjwvdWw+Cjxocj4KPGgyPjE5NzA8L2gyPgo8cD48YSBuYW1lPSIxOTcwIj48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5EcmluazwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+Q2xhc3NpYywgdGlnaHQta25pdCB3aW5lcywgc29tZSBvdXRzdGFuZGluZywgdGhhdCB3aWxsIHdpbGwgbGFzdCBhIGxpZmV0aW1lLiBEcmluayBub3cgdG8gMjAzMCsuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSdicmVha291dC1idXR0b25zJz48ZGl2IGNsYXNzPSdyb3cnPjxkaXYgY2xhc3M9J2NvbC14cy0xMiBjb2wtc20tNiAgYnJlYWtvdXQtYnV0dG9uLTEgJz48YSBjbGFzcz0nYnRuIGJ0bi1sZyBidG4tYmxvY2sgYnRuLWRlZmF1bHQgZGlzYWJsZWQnIGhyZWY9JyMnPjUvNTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L3A+CjxoMz48c3Ryb25nPlZpbnRhZ2Ugc3VtbWFyeTwvc3Ryb25nPjwvaDM+CjxwPkNvb2wgd2VhdGhlciBkdXJpbmcgdGhlIGZsb3dlcmluZyByZWR1Y2VkIHlpZWxkcyBhbmQsIGZvbGxvd2luZyBhIGRyeSBzdW1tZXIsIHByb3NwZWN0cyBhdCB0aGUgc3RhcnQgb2YgcGlja2luZyBsb29rZWQgZ29vZC4gVGhlIGhhcnZlc3QgYmVnYW4gYXJvdW5kIDIwIFNlcHRlbWJlciBpbiBleHRyZW1lIGhlYXQuIER1ZSB0byB0aGUgZHJ5IHN1bW1lciwgc3VnYXIgcmVhZGluZ3Mgd2VyZSBvbiB0aGUgbG93IHNpZGUgYnV0IHRoZSBoZWF0IHNlcnZlZCB0byByYWlzaW4gYSBwb3J0aW9uIG9mIHRoZSBjcm9wLCB0aGVyZWJ5IGNvbmNlbnRyYXRpbmcgdGhlIG11c3RzLiBDb29sZXIgbmlnaHQtdGltZSB0ZW1wZXJhdHVyZXMgYXMgdGhlIHZpbnRhZ2UgcHJvZ3Jlc3NlZCBoZWxwZWQgdG8gc2xvdyBkb3duIGZlcm1lbnRhdGlvbnMgYW5kIHByb2R1Y2VkIHdpbmVzIHdpdGggZXhjZXB0aW9uYWwgY29sb3VyIGFuZCBib2R5LjwvcD4KPHA+RWFybHkgdGFzdGluZ3MgdGVuZGVkIHRvIHBsYXkgZG93biB0aGUgb3ZlcmFsbCBxdWFsaXR5IG9mIHRoZSAxOTcwcyBhbmQgaXQgaXMgb25seSBzZXZlcmFsIGRlY2FkZXMgb24gdGhhdCB0aGVzZSB0aWdodC1rbml0LCBiZWF1dGlmdWxseSBiYWxhbmNlZCB3aW5lcyBoYXZlIGNvbWUgdG8gYmUganVkZ2VkIGluIHRoZWlyIHRydWUgbGlnaHQuIEFsdGhvdWdoIG5vdCBhcyBmaW5lIG92ZXJhbGwgYXMgdGhlIHVuZGVuaWFibHkgaW1wcmVzc2l2ZSAxOTYzcywgdGhlcmUgYXJlIHdpbmVzIGZyb20gMTk3MCB0aGF0IGRlc2VydmUgdG8gYmUgcmFua2VkIGFtb25nIHRoZSBncmVhdCB2aW50YWdlIFBvcnRzIG9mIHRoZSAyMHRoIGNlbnR1cnkuIFRoaXMgYmVpbmcgdGhlIGxhc3QgdmludGFnZSB0byBiZSBib3R0bGVkIGJvdGggaW4gUG9ydHVnYWwgYW5kIGluIHRoZSBVSywgdGhlcmUgaXMgaW5ldml0YWJseSBhIGNlcnRhaW4gYW1vdW50IG9mIHZhcmlhdGlvbiBmcm9tIGJvdHRsZSB0byBib3R0bGUuIEFsbCBzdWJzZXF1ZW50IHZpbnRhZ2VzIHdlcmUgYm90dGxlZCBpbiBWaWxhIE5vdmEgZGUgR2FpYS48L3A+CjxoMz48c3Ryb25nPkJlc3Qgd2luZXM8L3N0cm9uZz48L2gzPgo8dWw+CjxsaT5Dw6FsZW08L2xpPgo8bGk+RGVsYWZvcmNlPC9saT4KPGxpPkRvd+KAmXM8L2xpPgo8bGk+Rm9uc2VjYTwvbGk+CjxsaT5HcmFoYW3igJlzPC9saT4KPGxpPktvcGtlPC9saT4KPGxpPk5pZXBvb3J0PC9saT4KPGxpPlF1aW50YSBkbyBOb3ZhbCBOYWNpb25hbDwvbGk+CjxsaT5UYXlsb3LigJlzPC9saT4KPC91bD4KPGhyPgo8aDI+MTk2NzwvaDI+CjxwPjxhIG5hbWU9IjE5NjciPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rIHNvb248L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPlR3byBsZWFkaW5nIHNoaXBwZXJzIGRlY2xhcmVkIDE5NjcsIGJ1dCB0aGVyZSB3YXMgbGl0dGxlIHRoYXQgd2FzIG1lbW9yYWJsZTwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz4yLzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9wPgo8aDM+PHN0cm9uZz5WaW50YWdlIHN1bW1hcnk8L3N0cm9uZz48L2gzPgo8cD5BZnRlciBhIGNvb2wgc3VtbWVyICh3aXRob3V0IGFueSByZWFsIGhlYXQgaW4gSnVseSBvciBBdWd1c3QpLCB0aGUgZ3JhcGVzIHdlcmUgc3RpbGwgZ3JlZW4gYW5kIGJhY2t3YXJkIHdoZW4gcGlja2luZyBiZWdhbiBhcm91bmQgMjAgU2VwdGVtYmVyLiBCb3RoIHlpZWxkcyBhbmQgc3VnYXIgbGV2ZWxzIHdlcmUgbG93LiBNYW55IHBpY2tlZCB0b28gZWFybHkgKGZlYXJpbmcgYSByZXBlYXQgb2YgdGhlIHJhaW5zIHdoaWNoIGhhZCBtYXJyZWQgdGhlIGxhdHRlciBwYXJ0IG9mIHRoZSBwcmV2aW91cyB0aHJlZSB2aW50YWdlcyksIGhvd2V2ZXIgd2FybSB3ZWF0aGVyIGNvbnRpbnVlZCBpbnRvIE9jdG9iZXIgYW5kLCB1bnVzdWFsbHksIHRoZSBiZXN0IGdyYXBlcyB3aXRoIGhpZ2hlciBzdWdhciByZWFkaW5ncyB3ZXJlIHBpY2tlZCBsYXN0LjwvcD4KPHA+VHdvIGxlYWRpbmcgc2hpcHBlcnMgKENvY2tidXJuIGFuZCBNYXJ0aW5leikgZGVjbGFyZWQgMTk2NyBpbiBwcmVmZXJlbmNlIHRvIDE5NjYsIHdoZXJlYXMgYSBoYW5kZnVsIOKAkyBpbmNsdWRpbmcgTm92YWwgYW5kIFNhbmRlbWFuIOKAkyBkZWNsYXJlZCBib3RoLiBBdCBiZXN0IDE5NjcgcHJvZHVjZWQgZ2VudGxlLCBtaWRkbGUtZGlzdGFuY2Ugd2luZXMsIGJ1dCBldmVuIHRoZSBmaW5lc3QgYXJlIHN0YXJ0aW5nIHRvIGZhZGUuPC9wPgo8aDM+PHN0cm9uZz5CZXN0IHdpbmVzPC9zdHJvbmc+PC9oMz4KPHVsPgo8bGk+Q29ja2J1cm48L2xpPgo8bGk+UXVpbnRhIGRvIE5vdmFsIE5hY2lvbmFsPC9saT4KPC91bD4KPGhyPgo8aDI+MTk2NjwvaDI+CjxwPjxhIG5hbWU9IjE5NjYiPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rPC9oMz48ZGl2IGNsYXNzPSdicmVha291dC1jb250ZW50Jz48cD5Tb21lIG91dHN0YW5kaW5nIHdpbmVzLCBjb21iaW5pbmcgcG93ZXIgYW5kIGVsZWdhbmNlLCB0aGUgYmVzdCBvbiBwYXIgd2l0aCAxOTYzLiBObyBodXJyeSB0byBkcmluaywgc29tZSB3aW5lcyB3aWxsIGxhc3QgYSBsaWZldGltZS48L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+NS81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPHA+QW4gZXhjZXB0aW9uYWxseSB3ZXQgd2ludGVyIHByZXBhcmVkIHRoZSB2aW5lcyBmb3IgYSBob3QsIGRyeSBzdW1tZXIuIEluIEF1Z3VzdCwgdGVtcGVyYXR1cmVzIG9mIDQ1QyB3ZXJlIHJlY29yZGVkIHR3aWNlIGF0IFBpbmhhbyBpbiB0aGUgaGVhcnQgb2YgdGhlIENpbWEgQ29yZ28gYnV0IHdpdGggc28gbXVjaCBncm91bmQgd2F0ZXIsIHRoZSBncmFwZXMgZGlkIG5vdCBkcnkgdXAgb3IgcmFpc2luLWlzZS4gUmFpbiBmaW5hbGx5IGFycml2ZWQgZHVyaW5nIHRoZSBoYXJ2ZXN0LCBidXQgd2l0aCB5aWVsZHMgd2VsbC1kb3duIG9uIGF2ZXJhZ2UgdGhlIGNyb3AgY2FtZSB0byBubyBoYXJtLiBUaGUgZmVybWVudGF0aW9ucyB3ZXJlIGhlbHBlZCBieSBjb29sIHdlYXRoZXIgYW5kIG11c3RzIHJlZ2lzdGVyZWQgaGlnaGVyLXRoYW4tYXZlcmFnZSByZWFkaW5ncyB3aXRoIGV4Y2VsbGVudCBjb2xvdXIuIEl0IHdhcyBjbGVhciBhdCB0aGUgZW5kIG9mIHRoZSBoYXJ2ZXN0IHRoYXQgYSBmaW5lIHZpbnRhZ2Ugd2FzIGluIHByb3NwZWN0LjwvcD4KPHA+SGlzdG9yeSBoYXMgYmVlbiByYXRoZXIgdW5mYWlyIHRvIHRoZSAxOTY2cyB3aGljaCwgdW50aWwgcmVsYXRpdmVseSByZWNlbnRseSwgd2VyZSBjb21wbGV0ZWx5IG92ZXJzaGFkb3dlZCBieSB0aGUgMTk2M3MuIEFsdGhvdWdoIHF1YWxpdHkgaXMgbm90IGFzIHVuaWZvcm1seSBoaWdoIGFzIDE5NjMsIDE5NjYgaGl0cyBtYW55IG9mIHRoZSBzYW1lIGhpZ2ggc3BvdHMgd2l0aCB3aW5lcyBjb21iaW5pbmcgY29uY2VudHJhdGlvbiwgc3RydWN0dXJlIGFuZCBpbnRlbnNpdHkuIEFsdGhvdWdoIGJvdHRsaW5ncyB2YXJ5IChhIGNvbnNlcXVlbmNlIG9mIGJvdHRsaW5nIGluIGJvdGggVmlsYSBOb3ZhIGRlIEdhaWEgYW5kIGluIHRoZSBVSykgRG93IGFuZCBGb25zZWNhIGFyZSBzdHVwZW5kb3VzLjwvcD4KPGgzPjxzdHJvbmc+QmVzdCB3aW5lczwvc3Ryb25nPjwvaDM+Cjx1bD4KPGxpPkPDoWxlbTwvbGk+CjxsaT5Eb3cmIzgyMTc7czwvbGk+CjxsaT5Gb25zZWNhPC9saT4KPGxpPkdyYWhhbSYjODIxNztzPC9saT4KPGxpPlF1aW50YSBkbyBOb3ZhbCBOYWNpb25hbDwvbGk+CjxsaT5UYXlsb3ImIzgyMTc7czwvbGk+CjwvdWw+Cjxocj4KPGgyPjE5NjM8L2gyPgo8cD48YSBuYW1lPSIxOTYzIj48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImJyZWFrb3V0IHBhbGV0dGUtYSBwYW5lbCBwYW5lbC1kZWZhdWx0Ij48ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48aDMgY2xhc3M9J3BhbmVsLXRpdGxlJz5EcmluazwvaDM+PGRpdiBjbGFzcz0nYnJlYWtvdXQtY29udGVudCc+PHA+QSBwb3N0LXdhciBjbGFzc2ljLiBTdXBlcmIgd2luZXMsIHdvbmRlcmZ1bCB0byBkcmluayBub3cgYW5kIG1hbnkgd2l0aCBhIGxvbmcgbGlmZSBhaGVhZC4gVGhlIGJlc3Qgd2lsbCBsYXN0IGEgbGlmZXRpbWUuIDwvcD4KPC9kaXY+PGRpdiBjbGFzcz0nYnJlYWtvdXQtYnV0dG9ucyc+PGRpdiBjbGFzcz0ncm93Jz48ZGl2IGNsYXNzPSdjb2wteHMtMTIgY29sLXNtLTYgIGJyZWFrb3V0LWJ1dHRvbi0xICc+PGEgY2xhc3M9J2J0biBidG4tbGcgYnRuLWJsb2NrIGJ0bi1kZWZhdWx0IGRpc2FibGVkJyBocmVmPScjJz41LzU8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9wPgo8aDM+PHN0cm9uZz5WaW50YWdlIHN1bW1hcnk8L3N0cm9uZz48L2gzPgo8cD5BIHRleHRib29rIGdyb3dpbmcgc2Vhc29uOiB3YXJtIHdlYXRoZXIgdGhyb3VnaG91dCB0aGUgc3VtbWVyIHdpdGggbm8gcmFpbiBmcm9tIEp1bmUgb253YXJkcy4gQSBsaXR0bGUgcmFpbiBmZWxsIGluIG1pZC1TZXB0ZW1iZXIsIGhlbHBpbmcgdG8gc3dlbGwgdGhlIGdyYXBlcyBqdXN0IGJlZm9yZSB0aGUgaGFydmVzdC4gWWllbGRzIHdlcmUgaGlnaC4gRmluZSB3ZWF0aGVyIGNvbnRpbnVlZCB0aHJvdWdoIHRoZSB2aW50YWdlLCB3aGljaCB0b29rIHBsYWNlIGluIHBlcmZlY3QgY29uZGl0aW9ucyB3aXRoIGNvb2wgbmlnaHQtdGltZSB0ZW1wZXJhdHVyZXMgc2VydmluZyB0byBjb250cm9sIGZlcm1lbnRhdGlvbnMuPC9wPgo8cD5UaGUgY29tYmluYXRpb24gb2YgYSBuZWFyLXBlcmZlY3QgZ3Jvd2luZyBzZWFzb24gYW5kIHRlbXBlcmF0ZSB3ZWF0aGVyIGR1cmluZyB0aGUgaGFydmVzdCAoYXQgYSB0aW1lIHdoZW4gdGVtcGVyYXR1cmUgY29udHJvbCB3YXMgdW5oZWFyZCBvZikgbWFkZSBmb3IgYSBiZW5jaG1hcmsgdmludGFnZS4gV2l0aCB2ZXJ5IGZldyBleGNlcHRpb25zLCBuZWFybHkgYWxsIHRoZSBzaGlwcGVycyBwcm9kdWNlZCBzdXByZW1lbHkgYmFsYW5jZWQsIHdlbGwtc3RydWN0dXJlZCB3aW5lcyBmb3IgYSBmdWxsLW9uIGRlY2xhcmF0aW9uLiBObyB2aW50YWdlIHNpbmNlIGNhbiBjbGFpbSBxdWl0ZSBzbyBtYW55IGNsYXNzaWMgd2luZXMgKHdpdGggdGhlIG9ubHkgY2F2ZWF0IGJlaW5nIHRoZSB2YXJpYXRpb24gYmV0d2VlbiBkaWZmZXJlbnQgYm90dGxpbmdzKS4gQW55b25lIGJvcm4gaW4gMTk2MyBoYXMgYSB3aW5lIGZvciBsaWZlLjwvcD4KPGgzPjxzdHJvbmc+QmVzdCB3aW5lczwvc3Ryb25nPjwvaDM+Cjx1bD4KPGxpPkNvY2tidXJuPC9saT4KPGxpPkNyb2Z0PC9saT4KPGxpPkRlbGFmb3JjZTwvbGk+CjxsaT5Eb3cmIzgyMTc7czwvbGk+CjxsaT5Gb25zZWNhPC9saT4KPGxpPkdyYWhhbSYjODIxNztzPC9saT4KPGxpPlF1aW50YSBkbyBOb3ZhbCBOYWNpb25hbDwvbGk+CjxsaT5UYXlsb3ImIzgyMTc7czwvbGk+CjxsaT5XYXJyZSYjODIxNztzPC9saT4KPC91bD4KPGhyPgo8aDI+MTk2MDwvaDI+CjxwPjxhIG5hbWU9IjE5NjAiPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iYnJlYWtvdXQgcGFsZXR0ZS1hIHBhbmVsIHBhbmVsLWRlZmF1bHQiPjxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPjxoMyBjbGFzcz0ncGFuZWwtdGl0bGUnPkRyaW5rIHNvb248L2gzPjxkaXYgY2xhc3M9J2JyZWFrb3V0LWNvbnRlbnQnPjxwPkVycmF0aWMgY29uZGl0aW9ucyByZWR1Y2VkIHlpZWxkcyBhbmQgZHJhbWF0aWNhbGx5IGNvbXByb21pc2VkIHF1YWxpdHk8L3A+CjwvZGl2PjxkaXYgY2xhc3M9J2JyZWFrb3V0LWJ1dHRvbnMnPjxkaXYgY2xhc3M9J3Jvdyc+PGRpdiBjbGFzcz0nY29sLXhzLTEyIGNvbC1zbS02ICBicmVha291dC1idXR0b24tMSAnPjxhIGNsYXNzPSdidG4gYnRuLWxnIGJ0bi1ibG9jayBidG4tZGVmYXVsdCBkaXNhYmxlZCcgaHJlZj0nIyc+Mi81PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvcD4KPGgzPjxzdHJvbmc+VmludGFnZSBzdW1tYXJ5PC9zdHJvbmc+PC9oMz4KPGRpdiBjbGFzcz0iaW5qZWN0aW9uIj48L2Rpdj4KPHA+QSBob3QsIGRyeSBzdW1tZXIgd2FzIHJlbGlldmVkIGF0IHRoZSBsYXN0IG1pbnV0ZSBieSByZWZyZXNoaW5nIHJhaW4ganVzdCBiZWZvcmUgcGlja2luZyBiZWdhbiBvbiAxOSBTZXB0ZW1iZXIuIFRoZSByYWluIGJyb3VnaHQgdGhlIGludGVuc2UgaGVhdCB0byBhbiBlbmQgc28gdGhhdCB0aGUgbGFnYXJlcyB0b29rIG1vcmUgd29yayBhbmQgcHJvZHVjZWQgbXVzdHMgd2l0aCBnb29kIHN0cnVjdHVyZSBhbmQgZGVwdGggb2YgY29sb3VyLjwvcD4KPHA+VGhpcyBiZWd1aWxpbmcgdmludGFnZSBzZWVtZWQgdG8gcGVhayBpbiB0aGUgZWFybHkgMTk4MHMgYnV0IHRoZSBiZXR0ZXIgd2luZXMgbm93IGFwcGVhciB0byBiZSBzaXR0aW5nIG9uIGEgbG9uZyBwbGF0ZWF1IGFuZCBhcmUgc3RpbGwgZHJpbmtpbmcgd2VsbC4gVGhlIHdpbmVzIGFyZSBtb3N0bHkgbWlkZGxlLXdlaWdodCBhbmQgbGFja2luZyBhIGxpdHRsZSBpbiBiYWNrYm9uZSBidXQgYXJlIHNvZnQsIHN3ZWV0IGFuZCBhdHRyYWN0aXZlIGZvciBkcmlua2luZyBub3cuPC9wPgo8aDM+PHN0cm9uZz5CZXN0IHdpbmVzPC9zdHJvbmc+PC9oMz4KPHVsPgo8bGk+Q29ja2J1cm48L2xpPgo8bGk+RG93JiM4MjE3O3M8L2xpPgo8bGk+R3JhaGFtJiM4MjE3O3M8L2xpPgo8bGk+UXVpbnRhIGRvIE5vdmFsIE5hY2lvbmFsPC9saT4KPC91bD4KPHA+Cg=="}