PGh0bWw+PGhlYWQ+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2RlZmF1bHRfc3R5bGUuY3NzIj4NCjx0aXRsZT5FY2xpcHNlIEZvdW5kYXRpb248L3RpdGxlPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEgew0KCWZvbnQtc2l6ZTogMTBwdDsNCglmb250LXN0eWxlOiBpdGFsaWM7DQp9DQouc3R5bGUyIHsNCglmb250LXNpemU6IDE2cHQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSB0ZXh0PSIjMDAwMDAwIiBiZ2NvbG9yPSIjZmZmZmZmIiBsaW5rPSIjMDAwMGVlIiB2bGluaz0iIzU1MWE4YiIgYWxpbms9IiNmZjAwMDAiPg0KPHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTUgY2VsbHBhZGRpbmc9MiB3aWR0aD0iMTAwJSIgPg0KICA8dHI+IA0KICAgIDx0ZCBhbGlnbj1sZWZ0IHdpZHRoPSI3MiUiPiA8Zm9udCBjbGFzcz1pbmRleHRvcD5kYXRhIHRvb2xzIHBsYXRmb3JtIHByb2plY3Q8L2ZvbnQ+PGJyPg0KICAgIDxmb250IGNsYXNzPWluZGV4c3ViPiZuYnNwOyA8L2ZvbnQ+PC90ZD4NCiAgICA8dGQgd2lkdGg9IjI4JSI+PGltZyBzcmM9Ii4uLy4uL2ltYWdlcy9JZGVhLmpwZyIgaGVpZ2h0PTg2IHdpZHRoPTEyMD48L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz01IGNlbGxwYWRkaW5nPTIgd2lkdGg9IjEwMCUiID4NCiAgPHRyPiANCiAgICA8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMDA4MEMwIj48Yj48Zm9udCBjb2xvcj0iI0ZGRkZGRiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhIj5QcmVzcyByZWxlYXNlPC9mb250PjwvYj48L3RkPg0KICA8L3RyPg0KICA8dHI+IA0KICAgIDx0ZD4gDQogICAgICA8cCBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3A+DQogICAgICA8cCBhbGlnbj0iY2VudGVyIj48c3BhbiBjbGFzcz0ic3R5bGUyIj5FY2xpcHNlIEZvdW5kYXRpb24gYW5kIFN5YmFzZSBBbm5vdW5jZSANCiAgICAgICAgQXBwcm92YWwgb2Y8YnI+DQogICAgICAgIEVjbGlwc2UgRGF0YSBUb29scyBQbGF0Zm9ybSBQcm9qZWN0IDwvc3Bhbj48L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT4gDQogICAgICAgICAgPGRpdiBhbGlnbj0ibGVmdCI+IDxzcGFuIHN0eWxlPSdmb250LXNpemU6MTYuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsOyJUaW1lcyBOZXcgUm9tYW4iJz48c3BhbiBjbGFzcz0ic3R5bGUxIj5TeWJhc2UgDQogICAgICAgICAgICB0byBMZWFkIE9wZW4tU291cmNlLCBDb21tdW5pdHktRHJpdmVuIERldmVsb3BtZW50IFByb2plY3Q8L3NwYW4+PC9zcGFuPjwvZGl2Pg0KICAgICAgICA8L2xpPg0KICAgICAgPC91bD4NCiAgICAgIDxQPjxiPlNZTk9QU0lTOiA8L2I+VG9wLWxldmVsIEVjbGlwc2UgUHJvamVjdCBhZGRyZXNzZXMgdGhlIGNvbW1vbiBuZWVkIA0KICAgICAgICBmb3IgZGF0YSB0b29saW5nIGluZnJhc3RydWN0dXJlIGFuZCB0aGUgZGVzaXJlIHRvIGV4dGVuZCB0aGUgb2ZmZXJpbmdzIA0KICAgICAgICBpbiBuZXcgYW5kIGlubm92YXRpdmUgd2F5czxicj4NCiAgICAgIDwvcD4NCiAgICAgIDxwPjxiPk9UVEFXQSBhbmQgRFVCTElOLCBDYWxpZi4gLSBBdWd1c3QgMjksIDIwMDU8L2I+IC0gVGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgDQogICAgICAgIGFuIG9wZW4gc291cmNlIGNvbW11bml0eSBjb21taXR0ZWQgdG8gdGhlIGRldmVsb3BtZW50IG9mIGEgdW5pdmVyc2FsIGRldmVsb3BtZW50IA0KICAgICAgICBwbGF0Zm9ybSwgYW5kIFN5YmFzZSwgSW5jLiAoTllTRTogU1kpLCBhIGxlYWRpbmcgcHJvdmlkZXIgb2YgZW50ZXJwcmlzZSANCiAgICAgICAgaW5mcmFzdHJ1Y3R1cmUgYW5kIG1vYmlsZSBzb2Z0d2FyZSwgdG9kYXkgYW5ub3VuY2VkIGFwcHJvdmFsIG9mIHRoZSBuZXcgDQogICAgICAgIERhdGEgVG9vbHMgUGxhdGZvcm0gKERUUCkgcHJvamVjdCBwcm9wb3NhbC4gU3VibWl0dGVkIGJ5IFN5YmFzZSBpbiBGZWJydWFyeSwgDQogICAgICAgIHRoZSBEVFAgcHJvamVjdCB3aWxsIHByb3ZpZGUgYSBjb21wcmVoZW5zaXZlIHNldCBvZiBkYXRhIG1hbmFnZW1lbnQgZnJhbWV3b3JrcyANCiAgICAgICAgYW5kIGEgcmVwcmVzZW50YXRpdmUgc3VpdGUgb2YgZGF0YSBtYW5hZ2VtZW50IHRvb2xzLCB3aGljaCBhcmUgZXNzZW50aWFsIA0KICAgICAgICBmb3IgZGF0YSBjZW50cmljIGFwcGxpY2F0aW9uIGRldmVsb3BtZW50LjwvcD4NCiAgICAgIDxwPiAmcXVvdDtUaGUgRFRQIFByb2plY3Qgd2lsbCBiZSBhbiBlbmFibGluZyB0ZWNobm9sb2d5IC0gdGhlIHBsYXRmb3JtIA0KICAgICAgICB1cG9uIHdoaWNoIG1vcmUgZXh0ZW5zaXZlIGRhdGEgbWFuYWdlbWVudCBwcm9kdWN0cyB3aWxsIGJlIGJ1aWx0LCZxdW90OyANCiAgICAgICAgc2FpZCBNaWtlIE1pbGlua292aWNoLCBleGVjdXRpdmUgZGlyZWN0b3Igb2YgdGhlIEVjbGlwc2UgRm91bmRhdGlvbi4gJnF1b3Q7U3liYXNlIA0KICAgICAgICBpcyBhIHJlY29nbml6ZWQgbGVhZGVyIGluIGRhdGEgbWFuYWdlbWVudCBhbmQgZGF0YSB0b29saW5nLCBhbmQgdGhlIEVjbGlwc2UgDQogICAgICAgIGNvbW11bml0eSB3aWxsIGJlbmVmaXQgZ3JlYXRseSBmcm9tIGl0cyBsZWFkZXJzaGlwIG9uIHRoZSBuZXcgRGF0YSBUb29scyANCiAgICAgICAgUGxhdGZvcm0gUHJvamVjdC4mcXVvdDs8L3A+DQogICAgICA8cD5UaGUgRFRQIFByb2plY3QgcmVjb2duaXplcyBib3RoIHRoZSBjb21tb24gbmVlZCBmb3IgZGF0YSB0b29saW5nIGluZnJhc3RydWN0dXJlIA0KICAgICAgICBhbmQgdGhlIGRlc2lyZSB0byBleHRlbmQgdGhlIG9mZmVyaW5ncyBpbiBuZXcgYW5kIGlubm92YXRpdmUgd2F5cy4gSW5pdGlhbGx5IA0KICAgICAgICB0aGUgRFRQIFByb2plY3Qgd2lsbCBjb250YWluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcHJvamVjdHMsIGFuZCBlbXBoYXNpemUgDQogICAgICAgIHJlbGF0aW9uYWwgZGF0YSBzb3VyY2VzIGFuZCBzdHJ1Y3R1cmVzOjwvcD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPk1vZGVsIEJhc2UgLSBQcm92aWRlcyB0aGUgZm91bmRhdGlvbiBmb3IgRFRQLCB1c2luZyBpbmR1c3RyeSBiZXN0IA0KICAgICAgICAgIHByYWN0aWNlcyBzdWNoIGFzIG1vZGVsLWRyaXZlbiBkZXZlbG9wbWVudCB3aXRoIFVNTCwgYW5kIHRha2luZyBhZHZhbnRhZ2UgDQogICAgICAgICAgb2YgdGhlIEVjbGlwc2UgTW9kZWxpbmcgRnJhbWV3b3JrLiBJbml0aWFsbHkgaW5jbHVkZWQgYXJlIG1vZGVscyBmb3IgDQogICAgICAgICAgZHJpdmVyIGRlZmluaXRpb24sIGRhdGFiYXNlIGRlZmluaXRpb24sIFNRTCBhbmQgU1FMIFF1ZXJ5IDwvbGk+DQogICAgICAgIDxsaT5Db25uZWN0aXZpdHkgLSBJbmNsdWRlcyBjb21wb25lbnRzIGZvciBkZWZpbmluZywgY29ubmVjdGluZyB0bywgYW5kIA0KICAgICAgICAgIHdvcmtpbmcgd2l0aCBkYXRhIHNvdXJjZXMsIHdoaWNoIGluY2x1ZGU6IERyaXZlciBNYW5hZ2VtZW50IEZyYW1ld29yaywgDQogICAgICAgICAgQ29ubmVjdGlvbiBNYW5hZ2VtZW50IEZyYW1ld29yaywgSkRCQyBjb25uZWN0aW9uIHN1cHBvcnQsIERhdGEgU291cmNlIA0KICAgICAgICAgIEV4cGxvcmVyLCBhbmQgT3BlbiBEYXRhIEFjY2Vzcy48L2xpPg0KICAgICAgICA8bGk+U1FMIERldmVsb3BtZW50IFRvb2xzIC1Qcm92aWRlcyBmcmFtZXdvcmtzIGFuZCB0b29scyBmb3IgZGVlcCBhbmQgDQogICAgICAgICAgYnJvYWQgU1FMIHN1cHBvcnQsIGluY2x1ZGluZzogUm91dGluZXMgRWRpdG9yIEZyYW1ld29yaywgUm91dGluZXMgRGVidWdnZXIgDQogICAgICAgICAgRnJhbWV3b3JrLCBTUUwgUXVlcnkgUGFyc2VyLCBTUUwgRXhlY3V0aW9uIFBsYW4gRnJhbWV3b3JrLCBTUUwgRWRpdG9yLCANCiAgICAgICAgICBWaXN1YWwgU1FMIEJ1aWxkZXIsIFJlc3VsdHMgVmlldywgYW5kIFNjcmlwdCBIaXN0b3J5LjwvbGk+DQogICAgICA8L3VsPg0KICAgICAgPHA+ICZxdW90O1N5YmFzZSBoYXMgYmVlbiBpbnZvbHZlZCB3aXRoIEVjbGlwc2Ugc2luY2UgZWFybHkgMjAwMiBhbmQgaXMgDQogICAgICAgIGZ1bGx5IGNvbW1pdHRlZCB0byBpdCBhcyBhIGZyYW1ld29yaywmcXVvdDsgc2FpZCBEYXZpZCBUb25nLCB2aWNlIHByZXNpZGVudCANCiAgICAgICAgb2YgZW5naW5lZXJpbmcsIFN5YmFzZS4gJnF1b3Q7V2UgYXJlIGV4Y2l0ZWQgYWJvdXQgdGhlIERhdGEgVG9vbHMgUGxhdGZvcm0gDQogICAgICAgIFByb2plY3QgYW5kIGhvdyBpdCB3aWxsIGFsbG93IGRldmVsb3BlcnMgdG8gc3RheSBhaGVhZCBvZiB0aGUgY3VydmUgYnkgDQogICAgICAgIGVuYWJsaW5nIHJlYWwtd29ybGQgZGV2ZWxvcG1lbnQgYWNyb3NzIGEgaG9zdCBvZiBtaXhlZCBzb2Z0d2FyZSBhbmQgaGFyZHdhcmUgDQogICAgICAgIGVudmlyb25tZW50cy4mcXVvdDsgPC9wPg0KICAgICAgPHA+QWRkaXRpb25hbCBtZW1iZXJzIG9mIHRoZSBQcm9qZWN0IE1hbmFnZW1lbnQgQ29tbWl0dGVlIG9uIHRoZSBEVFAgcHJvamVjdCANCiAgICAgICAgaW5jbHVkZSBJQk0gYW5kIEFjdHVhdGUuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBFY2xpcHNlIERUUCBwcm9qZWN0LCANCiAgICAgICAgcGxlYXNlIHZpc2l0OiA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2RhdGF0b29scy8iIHRhcmdldD0iX3RvcCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9kYXRhdG9vbHM8L2E+Ljxicj4NCiAgICAgICAgPGJyPg0KICAgICAgICAmcXVvdDtJQk0gaGFzIGJlZW4gYWN0aXZlbHkgY29udHJpYnV0aW5nIGRhdGFiYXNlIHRvb2xzIGZvciB0aGUgRWNsaXBzZSANCiAgICAgICAgV2ViIFRvb2xzIFBsYXRmb3JtIChXVFApIFByb2plY3Qgb3ZlciB0aGUgcGFzdCB5ZWFyLCBhbmQgd2lsbCBiZSBwcm92aWRpbmcgDQogICAgICAgIHNpZ25pZmljYW50IGNhcGFiaWxpdGllcyB3aXRoaW4gdGhlIERUUCBQcm9qZWN0LCZxdW90OyBzYWlkIEJlcm5pZSBTcGFuZywgDQogICAgICAgIERpcmVjdG9yIElCTSBEYXRhYmFzZSBTZXJ2ZXJzLiAmcXVvdDtXZSBzZWUgdGhpcyBhcyBhbiBvcHBvcnR1bml0eSB0byANCiAgICAgICAgZXN0YWJsaXNoIGEgY29tbW9uIHNldCBvZiB0b29scyB0byBhY2NlbGVyYXRlIHRoZSBhZG9wdGlvbiBvZiBFY2xpcHNlIA0KICAgICAgICBmb3IgYnVpbGRpbmcgZHluYW1pYyBhcHBsaWNhdGlvbnMgYW5kIHJlZHVjZSBkZXZlbG9wbWVudCBjb3N0cyBmb3Igb3VyIA0KICAgICAgICBjdXN0b21lcnMuJnF1b3Q7IDwvcD4NCiAgICAgIDxwPiZxdW90O0FjdHVhdGUgaXMgcGxlYXNlZCB0byBiZSBwYXJ0aWNpcGF0aW5nIGluIHRoZSBEYXRhIFRvb2xzIFBsYXRmb3JtIA0KICAgICAgICBwcm9qZWN0LCBib3RoIGluIHRlcm1zIG9mIGFzc2lzdGluZyBpbiB0aGUgbWFuYWdlbWVudCBvZiBpdCBhbmQgYnkgZG9uYXRpbmcgDQogICAgICAgIGNvZGUgdG8gcHJvdmlkZSB0aGUgYmFzaXMgb2YgdGhlIE9wZW4gRGF0YSBBY2Nlc3MgKE9EQSkgY2FwYWJpbGl0eSBpbiANCiAgICAgICAgdGhlIENvbm5lY3Rpdml0eSBwcm9qZWN0LCZxdW90OyBzYWlkIE1hcmsgQ29nZ2lucywgc2VuaW9yIHZpY2UgcHJlc2lkZW50IA0KICAgICAgICBvZiBlbmdpbmVlcmluZyBhdCBBY3R1YXRlIENvcnBvcmF0aW9uLiAmcXVvdDtXZSBsb29rIGZvcndhcmQgdG8gbGV2ZXJhZ2luZyANCiAgICAgICAgYSBudW1iZXIgb2YgRFRQIGNhcGFiaWxpdGllcyBpbiB0aGUgQnVzaW5lc3MgSW50ZWxsaWdlbmNlIGFuZCBSZXBvcnRpbmcgDQogICAgICAgIFRvb2xzIChCSVJUKSBwcm9qZWN0LCBwYXJ0aWN1bGFybHkgU1FMIG1vZGVsaW5nIGFuZCBlZGl0aW5nLiZxdW90OyA8YnI+DQogICAgICA8L3A+DQogICAgPC90ZD4NCiAgPC90cj4NCjwvdGFibGU+DQoNCjx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0zIGFsaWduPWNlbnRlcj4NCgkJPHRyIGJnY29sb3I9IiM5OTk5OTkiPg0KICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMwMDgwQzAiPjxiPjxmb250IGNvbG9yPSIjRkZGRkZGIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EiPkFib3V0IHRoZSBFY2xpcHNlIEZvdW5kYXRpb248L2ZvbnQ+PC9iPjwvdGQ+DQoJCTwvVFI+DQoJCTxUUj4NCgkJPHRkIGFsaWduPWxlZnQ+DQoJCTxUQUJMRSAgd2lkdGg9IjEwMCUiIENFTExTUEFDSU5HPTAgQ0VMTFBBRERJTkc9Mz4NCgkJPHRyPg0KCQkgIDx0ZD4gDQogICAgICAgICAgICA8UD4gRWNsaXBzZSBpcyBhbiBvcGVuIHNvdXJjZSBjb21tdW5pdHkgd2hvc2UgcHJvamVjdHMgYXJlIGZvY3VzZWQgDQogICAgICAgICAgICAgIG9uIHByb3ZpZGluZyBhbiBleHRlbnNpYmxlIGRldmVsb3BtZW50IHBsYXRmb3JtIGFuZCBhcHBsaWNhdGlvbiANCiAgICAgICAgICAgICAgZnJhbWV3b3JrcyBmb3IgYnVpbGRpbmcgc29mdHdhcmUuIEVjbGlwc2UgcHJvdmlkZXMgZXh0ZW5zaWJsZSB0b29scyANCiAgICAgICAgICAgICAgYW5kIGZyYW1ld29ya3MgdGhhdCBzcGFuIHRoZSBzb2Z0d2FyZSBkZXZlbG9wbWVudCBsaWZlY3ljbGUsIGluY2x1ZGluZyANCiAgICAgICAgICAgICAgc3VwcG9ydCBmb3IgbW9kZWxpbmcsIGxhbmd1YWdlIGRldmVsb3BtZW50IGVudmlyb25tZW50cyBmb3IgSmF2YSwgDQogICAgICAgICAgICAgIEMvQysrIGFuZCBvdGhlcnMsIHRlc3RpbmcgYW5kIHBlcmZvcm1hbmNlLCBidXNpbmVzcyBpbnRlbGxpZ2VuY2UsIA0KICAgICAgICAgICAgICByaWNoIGNsaWVudCBhcHBsaWNhdGlvbnMgYW5kIGVtYmVkZGVkIGRldmVsb3BtZW50LiBBIGxhcmdlLCB2aWJyYW50IA0KICAgICAgICAgICAgICBlY29zeXN0ZW0gb2YgbWFqb3IgdGVjaG5vbG9neSB2ZW5kb3JzLCBpbm5vdmF0aXZlIHN0YXJ0LXVwcywgdW5pdmVyc2l0aWVzIA0KICAgICAgICAgICAgICBhbmQgcmVzZWFyY2ggaW5zdGl0dXRpb25zIGFuZCBpbmRpdmlkdWFscyBleHRlbmQsIGNvbXBsZW1lbnQgYW5kIA0KICAgICAgICAgICAgICBzdXBwb3J0IHRoZSBFY2xpcHNlIFBsYXRmb3JtLjwvcD4NCiAgICAgICAgICAgIDxQPiBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIGlzIGEgbm90LWZvci1wcm9maXQsIG1lbWJlciBzdXBwb3J0ZWQgY29ycG9yYXRpb24gDQogICAgICAgICAgICAgIHRoYXQgaG9zdHMgdGhlIEVjbGlwc2UgcHJvamVjdHMuIEZ1bGwgZGV0YWlscyBvZiBFY2xpcHNlIGFuZCB0aGUgDQogICAgICAgICAgICAgIEVjbGlwc2UgRm91bmRhdGlvbiBhcmUgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvIiB0YXJnZXQ9Il90b3AiPnd3dy5lY2xpcHNlLm9yZzwvYT4gDQogICAgICAgICAgICA8L3A+DQogICAgICAgICAgPC90ZD4NCgkJPC90cj4NCiAgICAgICAgPC90YWJsZT48L3RhYmxlPqANCg0KPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTMgYWxpZ249Y2VudGVyPg0KCQk8dHIgYmdjb2xvcj0iIzk5OTk5OSI+DQogICAgPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzAwODBDMCI+PGI+PGZvbnQgY29sb3I9IiNGRkZGRkYiIGZhY2U9IkFyaWFsLEhlbHZldGljYSI+QWJvdXQgDQogICAgICBTeWJhc2UsIEluYy48L2ZvbnQ+PC9iPjwvdGQ+DQoJCTwvVFI+DQoJCTxUUj4NCgkJPHRkIGFsaWduPWxlZnQ+DQoJCTxUQUJMRSAgd2lkdGg9IjEwMCUiIENFTExTUEFDSU5HPTAgQ0VMTFBBRERJTkc9Mz4NCgkJPHRyPg0KCQkgIDx0ZD4gDQogICAgICAgICAgICA8UD4gU3liYXNlIGlzIHRoZSBsYXJnZXN0IGdsb2JhbCBlbnRlcnByaXNlIHNvZnR3YXJlIGNvbXBhbnkgZXhjbHVzaXZlbHkgDQogICAgICAgICAgICAgIGZvY3VzZWQgb24gbWFuYWdpbmcgYW5kIG1vYmlsaXppbmcgaW5mb3JtYXRpb24gZnJvbSB0aGUgZGF0YSBjZW50ZXIgDQogICAgICAgICAgICAgIHRvIHRoZSBwb2ludCBvZiBhY3Rpb24uIFN5YmFzZSBwcm92aWRlcyBvcGVuLCBjcm9zcy1wbGF0Zm9ybSBzb2x1dGlvbnMgDQogICAgICAgICAgICAgIHRoYXQgc2VjdXJlbHkgZGVsaXZlciBpbmZvcm1hdGlvbiBhbnl0aW1lLCBhbnl3aGVyZSwgZW5hYmxpbmcgY3VzdG9tZXJzIA0KICAgICAgICAgICAgICB0byBjcmVhdGUgYW4gaW5mb3JtYXRpb24gZWRnZS4gVGhlIHdvcmxkJ3MgbW9zdCBjcml0aWNhbCBkYXRhIGluIA0KICAgICAgICAgICAgICBjb21tZXJjZSwgY29tbXVuaWNhdGlvbnMsIGZpbmFuY2UsIGdvdmVybm1lbnQgYW5kIGhlYWx0aGNhcmUgcnVucyANCiAgICAgICAgICAgICAgb24gU3liYXNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQgdGhlIFN5YmFzZSBXZWIgc2l0ZTogPGEgaHJlZj0iaHR0cDovL3d3dy5zeWJhc2UuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5zeWJhc2UuY29tPC9hPi48L3A+DQogICAgICAgICAgICA8L3RkPg0KCQk8L3RyPg0KICAgICAgICA8L3RhYmxlPjwvdGFibGU+oA0KCTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0zIGFsaWduPWNlbnRlcj4NCgkJPHRyIGJnY29sb3I9IiM5OTk5OTkiPg0KICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMwMDgwQzAiPjxiPjxmb250IGNvbG9yPSIjRkZGRkZGIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EiPk1lZGlhIA0KICAgICAgY29udGFjdHM8L2ZvbnQ+PC9iPjwvdGQ+DQoJCTwvVFI+DQo8L3RhYmxlPg0KCQkNCjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iNSI+DQogIDx0cj4NCiAgICA8dGQgd2lkdGg9IjM2JSIgPg0KICAgICAgPGRpdiBhbGlnbj0iY2VudGVyIj5KdWxpZSBDb25ub2xseTxicj4NCiAgICAgICAgU3liYXNlLCBJbmMuIDxicj4NCiAgICAgICAgOTI1LTIzNi04Njk2PGJyPg0KICAgICAgICA8YSBocmVmPSJtYWlsdG86anVsaWUuY29ubm9sbHlAc3liYXNlLmNvbSI+anVsaWUuY29ubm9sbHlAc3liYXNlLmNvbTwvYT48YnI+DQogICAgICA8L2Rpdj4NCiAgICA8L3RkPg0KICAgIDx0ZCB3aWR0aD0iMzYlIiA+IA0KICAgICAgPGRpdiBhbGlnbj0iY2VudGVyIj4gDQogICAgICAgIDxwPkNoYW50YWwgWWFuZyBmb3IgRWNsaXBzZTxicj4NCiAgICAgICAgICBTY2h3YXJ0eiBDb21tdW5pY2F0aW9uczxicj4NCiAgICAgICAgICA3ODEtNjg0LTA3NzA8YnI+DQogICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmVjbGlwc2VAc2Nod2FydHotcHIuY29tIj5lY2xpcHNlQHNjaHdhcnR6LXByLmNvbTwvYT48YnI+DQogICAgICAgIDwvcD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KCQk8VEFCTEUgIHdpZHRoPSIxMDAlIiBDRUxMU1BBQ0lORz0wIENFTExQQURESU5HPTM+DQoJCTx0cj4NCgkJICANCiAgICA8dGQ+IA0KICAgICAgPFA+QnJhbmQgb3IgcHJvZHVjdCBuYW1lcyBhcmUgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9yIHRyYWRlbWFya3Mgb2YgdGhlaXIgDQogICAgICAgIHJlc3BlY3RpdmUgaG9sZGVycy4gRWNsaXBzZSBpcyBhIHRyYWRlbWFyayBvZiBFY2xpcHNlIEZvdW5kYXRpb24gSW5jLiANCiAgICAgICAgSmF2YSBhbmQgYWxsIEphdmEtYmFzZWQgdHJhZGVtYXJrcyBhcmUgdHJhZGVtYXJrcyBvciByZWdpc3RlcmVkIHRyYWRlbWFya3MgDQogICAgICAgIG9mIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gaW4gdGhlIFVuaXRlZCBTdGF0ZXMgYW5kIG90aGVyIGNvdW50cmllcy4gPGJyPg0KICAgICAgPC9QPg0KICAgICAgPGhyPg0KICAgICAgPFA+PGZvbnQgc2l6ZT0iMSI+RWNsaXBzZSBpcyBhIHRyYWRlbWFyayBvZiBFY2xpcHNlIEZvdW5kYXRpb24gSW5jLiBTeWJhc2UgDQogICAgICAgIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgU3liYXNlLCBJbmMuIG9yIGl0cyBzdWJzaWRpYXJpZXMuIEFsbCBvdGhlciANCiAgICAgICAgY29tcGFueSBhbmQgcHJvZHVjdCBuYW1lcyBtZW50aW9uZWQgbWF5IGJlIHRyYWRlbWFya3Mgb2YgdGhlIHJlc3BlY3RpdmUgDQogICAgICAgIGNvbXBhbmllcyB3aXRoIHdoaWNoIHRoZXkgYXJlIGFzc29jaWF0ZWQuIEFsbCBvdGhlciBjb21wYW55IGFuZCBwcm9kdWN0IA0KICAgICAgICBuYW1lcyBtZW50aW9uZWQgbWF5IGJlIHRyYWRlbWFya3Mgb2YgdGhlIHJlc3BlY3RpdmUgY29tcGFuaWVzIHdpdGggd2hpY2ggDQogICAgICAgIHRoZXkgYXJlIGFzc29jaWF0ZWQuPC9mb250PjwvUD4NCiAgICAgIDxwPjxmb250IHNpemU9IjEiPlNwZWNpYWwgTm90ZTogU3RhdGVtZW50cyBjb25jZXJuaW5nIFN5YmFzZSdzIGZ1dHVyZSBncm93dGgsIA0KICAgICAgICBwcm9zcGVjdHMgYW5kIG5ldyBwcm9kdWN0IHJlbGVhc2VzIGFyZSwgYnkgbmF0dXJlLCBmb3J3YXJkLWxvb2tpbmcgc3RhdGVtZW50cyANCiAgICAgICAgdGhhdCBpbnZvbHZlIGEgbnVtYmVyIG9mIHVuY2VydGFpbnRpZXMgYW5kIHJpc2tzLCBhbmQgY2Fubm90IGJlIGd1YXJhbnRlZWQuIA0KICAgICAgICBUaGUgd29yZHMgJnF1b3Q7YW50aWNpcGF0ZSwmcXVvdDsgJnF1b3Q7YmVsaWV2ZSwmcXVvdDsgJnF1b3Q7ZXN0aW1hdGUsJnF1b3Q7IA0KICAgICAgICAmcXVvdDtleHBlY3QsJnF1b3Q7ICZxdW90O2ludGVuZCwmcXVvdDsgJnF1b3Q7d2lsbCZxdW90OyBhbmQgc2ltaWxhciBleHByZXNzaW9ucyANCiAgICAgICAgcmVsYXRpbmcgdG8gU3liYXNlIGFuZCBpdHMgbWFuYWdlbWVudCBtYXkgaWRlbnRpZnkgZm9yd2FyZC1sb29raW5nIHN0YXRlbWVudHMuIA0KICAgICAgICBTdWNoIHN0YXRlbWVudHMgYXJlIGludGVuZGVkIHRvIHJlZmxlY3QgU3liYXNlJ3MgY3VycmVudCB2aWV3cyB3aXRoIHJlc3BlY3QgDQogICAgICAgIHRvIGZ1dHVyZSBldmVudHMgYW5kIG1heSB1bHRpbWF0ZWx5IHByb3ZlIHRvIGJlIGluY29ycmVjdCBvciBmYWxzZS4gRmFjdG9ycyANCiAgICAgICAgdGhhdCBjb3VsZCBjYXVzZSBhY3R1YWwgZXZlbnRzIG9yIHJlc3VsdHMgdG8gZGlmZmVyIG1hdGVyaWFsbHkgaW5jbHVkZSANCiAgICAgICAgc2hpZnRzIGluIGN1c3RvbWVyIGRlbWFuZCwgcmFwaWQgdGVjaG5vbG9neSBjaGFuZ2VzLCBjb21wZXRpdGl2ZSBmYWN0b3JzIA0KICAgICAgICBhbmQgdW5hbnRpY2lwYXRlZCBkZWxheXMgaW4gc2NoZWR1bGVkIHByb2R1Y3QgYXZhaWxhYmlsaXR5LiBUaGVzZSBhbmQgDQogICAgICAgIG90aGVyIHJpc2tzIGFyZSBkZXRhaWxlZCBmcm9tIHRpbWUgdG8gdGltZSBpbiBTeWJhc2UncyBTZWN1cml0aWVzIGFuZCANCiAgICAgICAgRXhjaGFuZ2UgQ29tbWlzc2lvbiBmaWxpbmdzLCBpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgaXRzIGFubnVhbCANCiAgICAgICAgcmVwb3J0IG9uIEZvcm0gMTAtSyBhbmQgaXRzIHF1YXJ0ZXJseSByZXBvcnRzIG9uIEZvcm0gMTAtUSAoY29waWVzIG9mIA0KICAgICAgICB3aGljaCBjYW4gYmUgdmlld2VkIG9uIFN5YmFzZSdzIFdlYiBzaXRlKS48L2ZvbnQ+PGJyPg0KICAgICAgPC9wPg0KICAgICAgPFA+IDxicj4NCiAgICAgIDwvUD4NCg0KICAgICAgPC90ZD4NCgkJPC90cj4NCiAgICAgICAgPC90YWJsZT6gICAgICAgICANCqANCjwvYm9keT48L2h0bWw+DQo=