PCFkb2N0eXBlIGh0bWwgcHVibGljICItLy93M2MvL2R0ZCBodG1sIDQuMCB0cmFuc2l0aW9uYWwvL2VuIj4KPGh0bWw+CjxoZWFkPgogICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KICAgPG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJNb3ppbGxhLzQuNyBbZW5dIChXaW5OVDsgSSkgW05ldHNjYXBlXSI+CiAgIDxtZXRhIG5hbWU9IkF1dGhvciIgY29udGVudD0iSUJNIj4KICAgPHRpdGxlPkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXMgLSBTV1Q8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5PgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xLjEgLSBGcmlkYXkgU2VwdGVtYmVyIDE3LCAyMDAzCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgozNzYwODogW0JpZGldIFN0eWxlZFRleHQgLSBzdXBwb3J0IGR5bmFtaWMgY2hhbmdpbmcgb2Ygb3JpZW50YXRpb24gCjxicj40MzEyNTogQmlkaTogRENSIHNldE9yaWVudGF0aW9uIEFQSSBmb3IgVGV4dCBhbmQgQ29tYm8gd2lkZ2V0IAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEuMiAtIFdlZG5lc2RheSBTZXB0ZW1iZXIgMTAsIDIwMDMKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjM1ODI2OiBHUHMgb24gZXhpdAo8YnI+Mjk3NjU6IEJJREk6IFRvb2xUaXB0ZXh0IGRvIG5vdCBoYXZlIFJpZ2h0IHRvIGxlZnQgUmVhZGluZyBvcmRlciAKPGJyPjI5NzgxOiBCSURJOiBMYWNrIG9mIGxlYWRpbmcgYW5kIHRyYWlsaWcgc3R5bGVzIGZvciBhbGlnbm1lbnQgb2Ygd2lkZ2V0J3MgY29udGVudHMuIAo8YnI+Mjk3ODM6IEJJREk6IGRyb3AtZG93biBsaXN0IG9mIHJ0bC1vcmllbnRlZCBDQ29tYm8gaXMgZGlzcGxheWVkIGluIHRoZSB3cm9uZyBwbGFjZS4gCjxicj4yOTc4NDogQklESToga2V5Ym9hcmQncyBsZWZ0IGFuZCByaWdodCBhcnJvd3MgY2hhbmdlIHZhbHVlIG9mIHJ0bC1vcmllbnRlZCBTbGlkZXIgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4gCjxicj4yOTc4NjogQklESToga2V5Ym9yYWQncyBsZWZ0IGFuZCByaWdodCBhcnJvd3MgbW92ZSBmb2N1cyBiZXR3ZWVuIHRhYnMgb2YgcnRsLW9yaWVudGVkIENUYWJGb2xkZXIgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4gCjxicj4yOTc4NzogQklESTogcHJvYmxlbSB3aXRoIGtleWJvYXJkJ3MgbGVmdCBhbmQgcmlnaHQgYXJyb3dzLCB3aGVuIHRoZW0gdXNlZCB0byBleHBhbmQgb3IgdG8gY29sbGFwc2UgcnRsLW9yaWVudGVkIFRhYmxlVHJlZS4gCjxicj4yOTc4ODogQklESTogcnRsLW9yaWVudGVkIFRyYWNrZXIgaGFzIHdyb25nIGJlaGF2aW9yLiAKPGJyPjMwNDM0OiBCSURJOiBTdHlsZWRUZXh0IHRvIHN1cHBvcnQgUklHSFRfVE9fTEVGVCBvcmllbnRhdGlvbiAKPGJyPjM2MjcwOiBCSURJOiBTb21lIGN1c3RvbSB3aWRnZXRzIGNhbid0IGJlIGNyZWF0ZWQgd2l0aCBleHBsaWNpdGx5IGFzc2lnbmVkIG9yaWVudGF0aW9uLiAKPGJyPjM2Mjc2OiBCSURJOiBXaGVuIFVwRG93biBjb250cm9sIG9mIHJ0bC1vcmllbnRlZCBUYWJGb2xkZXIgaXMgdXNlZCBmb3Igc2Nyb2xsaW5nIHRhYnMsIHRoZXkgYXJlIHNjcm9sbGVkIGluIHRoZSB3cm9uZyBkaXJlY3Rpb24uIAo8YnI+MzY2Nzk6IEJJREk6IFBvcHVwTGlzdCBjYW4ndCBiZSBjcmVhdGVkIHdpdGggZXhwbGljaXRseSBhc3NpZ25lZCBvcmllbnRhdGlvbi4gCjxicj4zNjY4NDogQklESTogTFRSLW9yaWVudGVkIE1lc3NhZ2VCb3ggY2FuJ3QgYmUgY3JlYXRlZCwgaWYgaXQncyBwYXJlbnQgaGFzIFJUTCBvcmllbnRhdGlvbi4gCjxicj4zNzI5MzogQklESTpHQy5kcmF3SW1hZ2UoMCwgLi4uIGRyYXdzIGF0IDEsIC4uLiB3aGVuIHVzaW5nIFJJR0hUX1RPX0xFRlQgCjxicj4zNzI5OTogQklESTpDYXJldCBjaGVlc2Ugd2hlbiByZXNpemluZyBSSUdIVF9UT19MRUZUIFN0eWxlZFRleHQgCjxicj4zNzQ3OTogQklESTogRHJvcC1kb3duIGxpc3Qgb2YgQ0NvbWJvIGRvZXNuJ3QgaW5oZXJpdCBpdCdzIG9yaWVudGF0aW9uIGZyb20gQ0NvbWJvLiAKPGJyPjM3NDkwOiBCSURJOiB0ZXh0IGluIHRoZSBydGwtb3JpZW50ZWQgVGV4dCBjb250cm9sIGNhbid0IGJlIGFsaWduZWQgdG8gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhpcyBjb250cm9sLiAKPGJyPjM3NDk4OiBCSURJOiBydGwtb3JpZW50ZWQgVGFibGVDdXJzb3Igc2V0IG5leHQgY29sdW1uIGluc3RlYWQgb2YgcHJldmlvcyBhbmQgdmljZSB2ZXJzYSwgd2hlbiBpdCB1c2VzIHJpZ2h0IGFuZCBsZWZ0IGFycm93IGtleXMuIAo8YnI+MzkwMzI6IFN0eWxlZFRleHQgLSBleGNlcHRpb24gaW4gYXV0b3Njcm9sbCBpbiBiaWRpIAo8YnI+Mzk5ODc6IEJJREk6IE1JUlJPUkVEIGJpdCBjYW4ndCBiZSBzd2l0Y2hlZCBvbiBpbiB0aGUgc3R5bGUncyBiaXRtYXAgb2YgYW55IFNXVCB3aWRnZXQuIAo8YnI+NDAwMTk6IEJJREk6IFN0eWxlZFRleHQgaGFzIHByb2JsZW0gd2l0aCBkcmF3aW5nIG9mIHNlbGVjdGlvbiBpbiBib3RoIGx0ciBhbmQgcnRsIG9yaWVudGF0aW9uIG9mIHRoaXMgd2lkZ2V0IGluIHRoZSBiaWRpIGxvY2FsZS4KPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xLjEgLSBGcmlkYXkgSnVuZSAyNywgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMzg5NzU6IFByb3BlcnR5U2hlZXRWaWV3ZXIgZ2V0cyBJbGxlZ2FsQXJndWVtZW50RXhjZXB0aW9uIGlmIFJvb3RFbGVtZW50IHNldCBiZWZvcmUgdmlzaWJsZQo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEuMSAtIEZyaWRheSBKdW5lIDIwLCAyMDAzCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgozODkxNDogQ2xpY2tpbmcgaW4gdGhlIHdyb25nIHNlcXVlbmNlIGNyYXNoZXMgSmF2YSBWTQo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEuMSAtIEZyaWRheSBKdW5lIDYsIDIwMDMKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjM1NDkzOiBPbGVDbGllbnRTaXRlIGhhbmcgCjxicj4zODM4NTogSmFwYW5lc2UgSW5wdXQgKElNRSkgbm90IGRvZXNuJ3QgY29tZSB1cCAKPGJyPjM4MjEzOiBbV2l6YXJkc10gRGlhbG9ncyByZXF1aXJlIGEgcmVzaXplIHRvIGRyYXcgCjxicj4zODM4ODogZWNsaXBzZSBjcmFzaCBvbiByZWRoYXQgOS8gamFfSlAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMS4xIC0gV2VkbmVzZGF5IE1heSAyMSwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMzU2NTc6IEVjbGlwc2UgY3Jhc2hlcyBhbmQgdGhyb3dzIGV4Y2VwdGlvbiB3aGVuIHN0YXJ0aW5nIHVwIGluIENoaW5lc2UgbG9jYWxlcyAKPGJyPjMwODU0OiBbRW5jb2RpbmddIERCQ1M6IEVuY29kaW5nIGNoYW5nZSBhdCB0aGUgUHJlZmVyZW5jZXMgY2F1c2UgY29yZSBkdW1wIGluIG1vdGlmIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEuMSAtIFdlZG5lc2RheSBNYXkgMTQsIDIwMDMKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjM1MzM1OiBSRUFETUU6IFtGb250c10gREJDUzogY3VzdG9taXplZCBmb250IHdvbid0IGJlIHNhdmVkCjxicj4zNjQ1MDogW0tleSBCaW5kaW5nc10gT25seSBLZXlVcCBldmVudCBmb3IgQWx0K1tTaGlmdF0rPGNoYXI+IG9uIFdpbmRvd3MgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMS4xIC0gV2VkbmVzZGF5IE1heSA3LCAyMDAzCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgozNTMxOTogVFZUMjE6IENhbm5vdCBpbnB1dCBjaGFyYWN0ZXJzIGluIEdlcm1hbiBmb3IgbW90aWYKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xLjEgLSBXZWRuZXNkYXkgQXByaWwgMzAsIDIwMDMKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjM1MjQ0OiBbQWN0aW9uIFNldHNdIEhpZXJhcmNoeSBmYXN0IHZpZXcgY2F1c2VzIHVuaGFuZGxlZCBleGNlcHRpb25zCjxicj4zNTc3NDogVW5leHBlY3RlZCBFeGl0OiBFcnJvcjogT2JqZWN0ICIiIGRvZXMgbm90IGhhdmUgd2luZG93ZWQgYW5jZXN0b3IKPGJyPjM2NTQxOiBQcmludGluZyBvZiBqYXZhIHByb2dyYW0gY2F1c2VzIGZhaWx1cmUKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAzM2QgLSBNb25kYXkgTWFyY2ggMjQsIDIwMDMKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+Cjg0NDI6IE51bGxQb2ludGVyRXhjZXB0aW9uIGFuZCBoYW5nIG9uIHN0YXJ0dXAgaW4gR1RLIEVjbGlwc2UgIAo8YnI+MTczNTk6IE5MUzogTm8gR3JvdXAyIGlucHV0ICAKPGJyPjI2MDc4OiBUYWJGb2xkZXIuZ2V0Q2xpZW50QXJlYSgpIG5vdCBjb3JyZWN0Cjxicj4zNDk0MDogRWNsaXBzZSBsYXVuY2hlciBjcmFzaGVzIG9uIFN1biBKMlNESyAxLjQuMi1iZXRhIGJ1aWxkMTggIAo8YnI+MzU0MzQ6IFtNb3RpZl0gR0MuZ2V0Rm9udE1ldHJpY3MoKSBjYXVzZXMgVk0gdG8gY3Jhc2ggd2hlbiBmb250IGlzIHJlYWxseSBzbWFsbAo8YnI+MzU1OTY6IEV2ZW50IFByb2Nlc3NpbmcgaXNzdWVzIHVuZGVyIFBob3Rvbgo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDMzIC0gVHVlc2RheSBNYXJjaCAxOCwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMzA3Njg6ICBQZXJmb3JtYW5jZSAtIFR5cGluZyBpbiBKYXZhIEVkaXRvciBpcyB1bmFjY2VwdGFibHkgc2xvdy4gIAo8YnI+MzIyMDQ6IFNpZ25hbCAxMSBhdCBhdCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwuZ3RrLk9TLmd0a19wcm9ncmVzc19iYXJfcHVsc2UoTmF0aXZlIE1ldGhvZCkgIAo8YnI+MzI2MDI6IEFmdGVyIHByZXNzaW5nIENtZC1GOCwgY2xpY2tpbmcgd2lsbCBraWxsIEVjbGlwc2UgIAo8YnI+MzMwMTc6IFZNIGNyYXNoIHdoZW4gcHJlc3NpbmcgZW50ZXIgaW4gdGFibGUgY2VsbCBlZGl0b3IgIAo8YnI+MzMzNDM6IE5ldyBmaWxlIHdpemFyZCBmcmVlemVzIEVjbGlwc2UgVUkgIAo8YnI+MzQxNjY6IERpc2FibGluZywgdGhlbiBlbmFibGluZyBDVlMgZGVjb3JhdG9ycyBwcm9kdWNlZCBOUEUgIAo8YnI+MzQxODM6IFRoZSBsYXlvdXQgb2YgdGhlIHBhY2thZ2UgZXhwbG9yZXIgY2Fubm90IGJlIGNoYW5nZWQgIAo8YnI+MzQyNDg6IERCQ1M6IHNob3duIHVwIEdub21lVkZTLVdBUk5JTkcgbWVzc2FnZXMgIAo8YnI+MzQ0MTg6IENyYXNoIHdoZW4gcnVubmluZyBETkRFeGFtcGxlICAKPGJyPjM0NDYzOiBjb25maXJtIGV4aXQgY2hlY2tib3ggY2Fubm90IGJlIHNlbGVjdGVkICAKPGJyPjM1MDIyOiBNb3RpZiBkb2VzIG5vdCBzZW5kIGRyYWdGaW5pc2hlZCBldmVudCBvbiBhYm9ydGVkIGRyYWdzICAKPGJyPjI2Mzg4OiBQYWNrYWdlIEV4cGxvcmVyIGRvZXMgbm90IHBvc2l0aW9uIG9uIGZpbGVzICAKPGJyPjMwMDczOiBHcmFwaGljYWwgRWRpdG9yIGlzIG5vdCByZWZyZXNoZWQgcHJvcGVybHkgd2hlbiBzY3JvbGxiYXJzIGRpc2FwcGVhciAgCjxicj4zMTAyNjogSGFuZyBvbiBMaW51eCAgCjxicj4zMjg1MTogQ2FuJ3QgcmVtb3ZlIGV4dGVybmFsIHRvb2wgYnVpbGRlciBhZnRlciBkZWxldGluZyBsYXVuY2ggY29uZmlnICAKPGJyPjMzMDk5OiBDb250ZXh0IG1lbnUgJ0Rpc3BsYXknIGRvZXNuJ3Qgd29yayAgCjxicj4zMzcxMzogSlJFIHBvcHVwIG1lbnUgaW4gUnVuIGNvbmZpZ3VyYXRpb24gZGlhbG9nIG5vdCByZWxpYWJsZSAgCjxicj4zNDA5MzogTWVudSBtaXNzaW5nIGl0ZW1zICAKPGJyPjM0NDI4OiBbTW90aWZdIFRyZWUgYW5kIFRhYmxlIHZpZXdzIG5vdCBnZXR0aW5nIHByb3BlciBzZWxlY3Rpb24gIAo8YnI+MzQ2MzM6IFRhYmxlIHdpdGggQ0hFQ0sgZmxhc2hlcyBjaGVlc2UgIAo8YnI+MzQ4MTU6IENoZWVzZSBpbiBDVGFiRm9sZGVyIHdpZGdldCAgCjxicj4zNDg3OTogQ2FsbGluZyBTY3JvbGxCYXIuc2V0VmlzaWJsZSgpIHdoZW4gYSB0ZXh0IHdpZGdldCBoYXMgZm9jdXMgY2F1c2VzIGEgZm9jdXMgbG9zdCBldmVudCBvbiB0aGUgdGV4dCB3aWRnZXQKPGJyPjI1NjcxOiBKYXZhZG9jIGZvciBjbGFzcyBzd3Qvd2lkZ2V0cy9EaWFsb2cgbWlzc2luZyAmbHQ7cHJlJmd0Owo8YnI+Mjg2NDQ6IEJvbGQgZm9udCBpbiBsYWJlbCByZXN1bHRzIGluIG1pc3NpbmcgY2hhcmFjdGVyICAKPGJyPjI5NDg2OiBLZXlzIG5lZWQgc3Ryb25nZXIgZmlsdGVyaW5nLiAgCjxicj4zMjQyNDogW1BST0dSQU1TfSBHbm9tZSAtIFByb2dyYW0uZ2V0UHJvZ3JhbXMgbmVlZHMgdG8gYmUgdXBkYXRlZCAgCjxicj4zMjk0NzogQ2hhbmdlIG1ldGhvZCBzaWduYXR1cmUgZGlhbG9nIHRvbyBiaWcgIAo8YnI+MzM0ODA6IFRleHQgY3V0IG9mZiBpbiBNYWMgaW4gbGFiZWxzLiAgCjxicj4zMzcwMDogUnVubmluZyBvdXQgb2YgaGFuZGxlcyBvbiBXaW5kb3dzIFhQICAKPGJyPjMzODIyOiBTdHJhbmdlIHNjcm9sbGluZyBvZiBuYXRpdmUgdGFibGUgIAo8YnI+MzQwMzY6IE5hdGl2ZSBjcmFzaCBvbiBkaXNtaXNzaW5nIGhlbHAgd2luZG93ICAKPGJyPjM0NTEyOiBDb21wdXRlU2l6ZSBvZiB0YWJsZSBhbmQgdHJlZSB0b28gc21hbGwgIAo8YnI+MzQ1Njk6IEJJREk6IFN0eWxlZCB0ZXh0IGNoYW5nZSB0aGUgY2hhcmFjdGVycyB3aXRoIExhcmdlIGZvbnRzICAKPGJyPjM0NjQ5OiBUYWJGb2xkZXIgdGl0bGUgZG9lcyBub3QgaGFuZGxlIG1uZW1vbmljcyBwcm9wZXJseSAgCjxicj4zNDcyNDogQ29udHJvbEV4YW1wbGUgIAo8YnI+MzQ4MzU6IFdpZGdldCAiZGVmYXVsdCIgc3R5bGVzIHNob3VsZCBiZSByZWZsZWN0ZWQgaW4gc3R5bGUgYml0cyAgCjxicj4zNDkzNTogTWlzc2luZyBib3JkZXIgb24gdG9vbGJhciAgCjxicj4zNDk4MzogTmF0aXZlIGRyYWcgYW5kIGRyb3AgZG9lc24ndCB3b3JrIHVuZGVyIGxpbnV4ICAKPGJyPjM1MDM4OiBSZWZhY3RvcmluZyBkaWFsb2cgKEV4dHJhY3QgTG9jYWwgVmFyaWFibGUpIHRvIGJpZyAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMzJjIC0gVHVlc2RheSBNYXJjaCAxMSwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDQzNDogIEdQRiB3aGVuIHJ1bm5pbmcgU1dUIFRyZWUgY29kZSAoMUZOSTI1VikgIAo8YnI+MjMzODU6ICBUYWJsZSB2ZXJ0aWNhbCBjb2x1bW4gc2VwYXJhdG9ycyByZWRyYXcgaW5jb3JyZWN0bHkgb24gTWFjT1NYICAKPGJyPjMxNjg1OiAgRW50aXJlIEVjbGlwc2UgUGxhdGZvcm0gbG9zZXMgZm9jdXMgYW5kIGdvZXMgaW50byB0aGUgYmFja2dyb3VuZC4uLiAgCjxicj4zMzgzNDogIFtWaWV3ZXJzXSBOUEUgaW4gVHJlZVZpZXdlciAgCjxicj4zNDE4MTogIEN0cmwtQ2xpY2sgZG9lc24ndCBzZWxlY3QgdW5kZXJseWluZyBpdGVtIGJlZm9yZSBicmluZ2luZyB1cCBjb250ZXh0IG1lbnUgIAo8YnI+MzQxODg6ICBQcm9ncmVzcyBiYXIgaW4gZGlhbG9ncyBkb2Vzbid0IHNob3cgdGFzayBpbmZvcm1hdGlvbiAgCjxicj4zNDYxNDogIE1vdXNlIHBvaW50ZXIgZG9lcyBub3QgY2hhbmdlIGluIHRhYmxlIGhlYWRlciAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMzIgLSBUaHVyc2RheSBNYXJjaCAwNiwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDU5MjogbXVsdGkgc2VsZWN0IGJlaGF2aW9yIGZvciBmaWxlIGRpYWxvZyAoMUc3SFoyUSkgIAo8YnI+NDY1OTogRG91YmxlLWNsaWNraW5nIG9uIGZpeGVkIHNpemUgY29sdW1uIGhlYWRlciByZXNpemVzIGl0ICgxR0UzV042KSAKPGJyPjQ4NDM6IEVDIERDUjogQWRkIGtleWJvYXJkIHN1cHBvcnQgZm9yIG11bHRpLXNlbGVjdCB0byBUcmVlICgxR0tNSFM1KSAgCjxicj40ODQ3OiBQcm9wZXJ0eSBkaWFsb2cgcHV0IGJlaGluZCB3b3JrYmVuY2ggd2luZG93ICgxR0tSTjlaKSAgCjxicj43MTU5OiBNaXNzaW5nIEphdmFkb2MgZm9yIEV2ZW50IGZpZWxkcyAgCjxicj43NzEyOiBObyBzY3JvbGwgYmFycyBpbiBNaWNyb3NvZnQgV29yZCBkb2N1bWVudHMgb3BlbmVkIGZyb20gdGhlIHdvcmtiZW5jaCAgCjxicj4xMjU5NzogQ2Fubm90IGNoYW5nZSBPTEUgRXZlbnQncyBWQVJJQU5UIGFyZ3VtZW50IHdoaWNoIGhhcyBbb3V0XSBkaXJlY3Rpb25hbCBhdHRyaWJ1dGUgaW4gSURMICAKPGJyPjE0MzI5OiBNb2RhbCBkaWFsb2cgZG9lc24ndCBkaXNhYmxlIGNvbHVtbiByZXNpemluZyAgCjxicj4xNjg4NjogQWRkcmVzcyBCb29rIGJ1ZyBpbiB0aGUgb3BlbiBhIEZpbGUgZGlhbG9nICAKPGJyPjE2OTAxOiBOUEUgcmVtb3ZpbmcgZXhwcmVzc2lvbiBmcm9tIGV4cHJlc3Npb24gdmlldyAgCjxicj4xODA1OTogUkg3LjMgY2xpcGJvYXJkIHByb2JsZW0gIAo8YnI+MTg4MTA6IEV4dHJhIHVucHJpbnRhYmxlIGNoYXJhY3RlciBpbiBjb3B5IGJ1ZmZlciAgCjxicj4xOTg5NjogS2V5IHVwIGV2ZW50IHNheXMgQ3RybCBpcyByZWxlYXNlZCB3aGVuIGl0J3Mgbm90ICAKPGJyPjE5OTIyOiBNZW51IGJhciBpdGVtcyBnZXQgYWRkZWQgb25lIGF0IGEgdGltZSB3aGVuIGVkaXRvcnMgYXJlIHN3aXRjaGVkICAKPGJyPjIyNDE2OiBOVDQ6IE5lZWQgY29udGV4dCBtZW51IG9uIHdpbmRvdyBzY3JvbGwgYmFyIHRvIGtlZXAgaXRzIGNvbnNpc3RlbmN5IG9uIFdpbjJrICAKPGJyPjIzNDE5OiBbT0xFXSBEbyBub3QgZ2V0IHNjcm9sbGJhcnMgaW4gRXhjZWwgIAo8YnI+MjM4NDE6IEVjbGlwc2UgVUkgZG9lcyBub3QgZm9sbG93IE1hYyBMJkYgZ3VpZGVsaW5lcyAgCjxicj4yMzk1OTogVXNlIG5hdGl2ZSBUYWJsZSBhbmQgVHJlZSAgCjxicj4yNDM5MzogRENSIC0gTmVlZCB0byBzdXBwb3J0IE1hYyBjb21tYW5kIGtleSBpbiBTV1QgIAo8YnI+MjQ0MzE6IEVjbGlwc2UgTTEgVW5kZXIgT1NYIGNyYXNoZXMgd2hlbiB1c2luZyBWaXJ0dWFsRGVza3RvcHMgIAo8YnI+MjUzODM6IFZhcmlhbnQgbmVlZHMgYSBkaXNwb3NlIG1ldGhvZCAgCjxicj4yNTYwNDogUXVpY2sgcmVsZWFzZSB1cG9uIHN0YXJ0IG9mIGRyYWcgaGFuZ3MgZWNsaXBzZSB3aXRoIHBvaW50ZXIgZ3JhYiAgCjxicj4yNjA1MTogW1dvcmtiZW5jaF0gTWFpbiBFY2xpcHNlIHdpbmRvdyBhY3RpdmF0ZXMgaXRzZWxmIHZlcnkgb2Z0ZW4gIAo8YnI+Mjg1MTQ6IENoYXJhY3RlciBwb3NpdGlvbnMgZGlmZmVyIGJldHdlZW4gc2VsZWN0ZWQgYW5kIHVuc2VsZWN0ZWQgdGV4dCAKPGJyPjI4OTgyOiBUb29sYmFyIGNvbG9yIHByb2JsZW0gd2hlbiB1c2luZyB0aGUgbWFuaWZlc3QgaW4gWFAgIAo8YnI+MjkwMjc6IEFkZCAiZGVsZXRlIHByZXZpb3VzIHdvcmQiIGFuZCAiZGVsZXRlIG5leHQgd29yZCIgYWN0aW9ucyB0byBlY2xpcHNlIGVkaXRvciAgCjxicj4yOTMzMDogSmF2YURvYyBkb2VzIG5vdCBtYXRjaCBXaW5kb3dzIC0gRklYIExFRlRUT1JJR0hUZG9jICAKPGJyPjI5Mzg3OiBubyBsaW5lcyBpbiBUYWJsZSBvbiBHVEsgIAo8YnI+Mjk0NzE6IEdQIC0gWHREZXN0cm95QXBwbGljYXRpb25Db250ZXh0IC0gQ2xvc2luZyBNNCB3aWxsIHNvbWV0aW1lcyBjcmFzaCB0aGUgVk0gIAo8YnI+Mjk3MTc6IFtQRVJGT1JNQU5DRV1TV1QgTW90aWYgZXh0ZXJlbWVseSBzbG93IHdpdGggTEFORyBlbl9VUy5VVEYtOCAgCjxicj4yOTgxNDogR1AgLSBObyBjb3JlIGF2YWlsYWJsZSAtIEdQRiBvbiB3aW4yayAgCjxicj4yOTkxMTogVGFibGVFZGl0b3JzIG5vdCBkaXNwbGF5ZWQgd2hpbGUgc2Nyb2xsaW5nLiAgCjxicj4zMDQyNzogSEFORy9HUCAtIFh0RGlzcGF0Y2hFdmVudCAtIEVjbGlwc2Uga2VlcHMgbG9ja2luZyB1cCAgCjxicj4zMDYxODogY3RybC1vIG5vdCB3b3JraW5nICAKPGJyPjMxNTI1OiBlY2xpcHNlIHVzZXMgMTAwJSBDUFUgd2l0aCBndGsgMi4yLjEgIAo8YnI+MzE2ODQ6IFVuYWJsZSB0byBkcmFnIHZpZXdzLiAgCjxicj4zMTcxNzogVW5yZXByb2R1Y2libGUgR1AvSGFuZyAgCjxicj4zMTgzNDogTGFiZWwgYW5kIENvbWJvIGRvbid0IGFsaWduIHdlbGwgIAo8YnI+MzIxMjI6IENhbm5vdCBpbnNlcnQgbGluZXMgaW50byBuZXcgZmlsZSBjb2RlIHRlbXBsYXRlIChyZWdyZXNzaW9uIGZhaWx1cmUpIAo8YnI+MzIyODY6IENvbnRyb2xFeGFtcGxlIEJ1dHRvbiBUYWIgLSBjaGFuZ2luZyBzdHlsZXMgcmVzZXRzIGJ1dHRvbiBvcmllbnRhdGlvbiAgCjxicj4zMjM1OTogTm8gUGFyZW50ICsgU1dULkFQUExJQ0FUSU9OX01PREFMIHNoZWxsIG5vdCBtb2RhbCAgCjxicj4zMjQwODogSTIwMDMwMjIwIG9uIE1hY09TIFggaGFzIGdlbmVyaWMgYXBwbGljYXRpb24gaWNvbiAgCjxicj4zMjQ4MjogTm8gRjEgaGVscCBvbiBNYWNPUyBYICAKPGJyPjMyNzM0OiBOUEUgd2hpbGUgdmlld2luZyB2YXJpYWJsZXMgZnJvbSBkZWJ1Z2dlciAgCjxicj4zMjg1NjogW0NlbGwgRWRpdG9yc10gQ2FuIG5vdCBzZWUgd2hhdCB2YWx1ZSBJIGFtIHR5cGluZyBpbiB0aGUgUHJvcGVydGllcyAKPGJyPjMyOTU0OiBbS0RFXSBQcm9ncmFtcyAtIGZpeCBsaWJyYXJ5IGJ1aWxkICAKPGJyPjMzMDQ2OiBEQkNTOiBDYW4gdHlwZSBpbnRvIHJlYWQtb25seSBUZXh0ICAKPGJyPjMzMDU3OiBSQzEgTm8gY2FyZXQgaW4gZWRpdG9yICAKPGJyPjMzMzQ4OiBDb250cm9sRXhhbXBsZTogd2lkZXIgdGhhbiBzY3JlZW4sIHRvbyBtYW55IHRhYnMgIAo8YnI+MzM1ODA6IFNjcm9sbGFibGUuV01fTU9VU0VXSEVFTCB1c2VzIHdyb25nIHZhcmlhYmxlIGZvciBob3Jpem9udGFsIHNjcm9sbCAgCjxicj4zMzU5MDogUkMxOiAiQXBwbGljYXRpb24gTW9kYWwiIHNoZWxsIHN0eWxlIGJlaGF2ZXMgaW5jb3JyZWN0bHkgIAo8YnI+MzM1OTI6IEZpeCBzcGVjaWZpY2F0aW9uIGZvciBldmVudC5jaGFyYWN0ZXIgIAo8YnI+MzM1OTM6IFJDMTogVG9vbGJhciBmb3JlZ3JvdW5kIGNvbG9yIGNoYW5nZXMgaWdub3JlZCAgCjxicj4zMzc0NzogTk9fVFJJTSB3aW5kb3cgZ2l2ZXMgbm8gcmVzaXplIGZlZWRiYWNrICAKPGJyPjMzNzc2OiBSZXNpc3RlcmluZyBUcmF2ZXJzZUxpc3RlbnRlciB3aXRoIFNoZWxsIGNoYW5nZXMgdGFiYmluZyBiZWhhdmlvci4gIAo8YnI+MzM4MTM6IExpc3QgZG9lc24ndCBzZW5kIG91dCBzZWxlY3Rpb24gZXZlbnRzIGZvciBhcnJvdyBrZXlzICAKPGJyPjMzODU1OiBUZXh0IEN1cnNvciBJbnZpc2libGUgaW4gUkMxICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAzMSAtIFRodXJzZGF5IEZlYnJ1YXJ5IDI3LCAyMDAzCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoxNjgwODogSWNvbiBpbiBXaW5kb3dzIHRhc2tiYXIgaW5jb3JyZWN0ICAKPGJyPjI0NDk0OiBJbmNvcnJlY3QgaTE4biBjaGFyIGVuY29kaW5nIGluIHRleHQgYXJlYXMgIAo8YnI+MjY1NDE6IEV4aXQgdGhlIFdvcmtiZW5jaDogY3Jhc2ggYWZ0ZXIgc2F2aW5nIHRoZSB3b3Jrc3BhY2UgIAo8YnI+Mjg2NDM6IFNldHRpbmcgbGFiZWwncyBiYWNrZ3JvdW5kIGNvbG9yIGhhcyBubyBlZmZlY3QgIAo8YnI+Mjg4NDU6IFJlZnJlc2ggdGFiIGxheW91dCBpbmNvcnJlY3QgZm9yIGxvd2VyIGNvbXBvc2l0ZSAgCjxicj4yOTE5ODogRGlmZmljdWx0IHRvIGNoYW5nZSBjaGFyYWN0ZXIgY2FzZSBvZiBjYWNoZWQgaW5wdXQgdmFsdWVzICAKPGJyPjI5ODM3OiBbQ29udHJpYnV0aW9uc10gQ29tYm8gY29udHJvbCBkb2VzIG5vdCBzaG93IG9uIEdUSyB0b29sYmFyLCB3b3JrcyBmaW5lIG9uIFdpbiBhbmQgTW90aWYgIAo8YnI+MzAzNzc6IE5vIGNhcmV0IGluIEphdmEgRWRpdG9yICAKPGJyPjMwOTA1OiBBZGQgTWVudS5zZXRSZWRyYXcoYm9vbGVhbikgQVBJICAKPGJyPjMwOTI0OiBTdHlsZWRUZXh0IC0gU3R5bGVSYW5nZSBoYXNoQ29kZSB0aHJvd3MgTnVsbFBvaW50ZXJFeGNlcHRpb24gIAo8YnI+MzEwMzk6IEVjbGlwc2UgZG9lcyBub3QgcmVzcG9uZGUgd2hlbiBkaWFsb2cgaXMgb3BlbmVkLiAgCjxicj4zMTE4NzogU2VsZWN0aW9uIGJ5IG1vdXNlIGRyYWcgaXMgb3V0IG9mIGtpbHRlciAgCjxicj4zMTM4MjogTmV3IEZvbGRlciBhbmQgTmV3IEZpbGUgZGlhbG9ncyBVSSBwcm9ibGVtICAKPGJyPjMxODMzOiB3cm9uZyBiYWNrZ3JvdW5kIGZvciBzZXBhcmF0b3IgbGFiZWwgb24gTWFjT1MgWCAgCjxicj4zMTg1NzogTm8gaWNvbnMgaW4gTGFiZWxzICAKPGJyPjMxODY2OiBTY3JvbGxpbmcgaW4gUmVhZG1lIGVkaXRvciBpcyBkZWxheWVkICAKPGJyPjMxOTQ2OiBNb3ZpbmcgQ29vbEJhckl0ZW1zIGxlYXZlcyB0ZW1wb3JhcnkgY2hlZXNlICAKPGJyPjMxOTUwOiBTdHlsZWRUZXh0IC0gU2hpZnQrVVAgYnJva2VuIGluIFN0eWxlZFRleHQgY29udHJvbCAgCjxicj4zMTk3MzogR0IxODAzMDogQWZ0ZXIgY3JlYXRlZCBhIEdCMTgwMzAgbmFtZWQgY2xhc3MsIEVjbGlwc2UgZm9yIE1vdGlmIGNyYXNoZWQgd2hlbiBleGl0aW5nLiAgCjxicj4zMjM2MDogRW1iZWRkZWQgZGlzcGxheSBub3Qgd2FraW5nIG9uIG5ldyBQaG90b24gZXZlbnRzIChCQkFXVCkgIAo8YnI+MzMwMjI6IE5QRSBpbiBGb250RGlhbG9nICAKPGJyPjMzMDMwOiBBcmd1bWVudHMgdGFiICdzaG93cyB0aHJvdWdoJyBNYWluIHRhYiBvbiBPUyBYICAKPGJyPjMzMDYzOiBbSlVOSVRdIENhcmV0LnNldEZvbnQgIAo8YnI+MzMxMTk6IG51bGxwb2ludGVyIGRpc3Bvc2UgdGFibGUgY29sdW1uICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAzMCAtIFR1ZXNkYXkgRmVicnVhcnkgMTgsIDIwMDMKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjE3MDU3OiBPdXRsaW5lcjogZm9jdXMgY2F1c2VzIHNlbGVjdCBjYXVzZXMgaG9yaXpvbnRhbCBzY3JvbGwgIAo8YnI+MjE0Njk6IEFjY2Vzc2liaWxpdHkgLSBUYWJiaW5nIGNhdXNlcyBhIGJ1dHRvbiB0byBiZWNvbWUgdGhlIGRlZmF1bHQKPGJyPjIyNzY3OiB0b29sYmFyIGxvb2tzIHZlcnkgdWdseSB3aXRoIFdpbiBYUCdzIGxuZiAodXNpbmcgbWFuaWZlc3QgZmlsZSkKPGJyPjIzMzcwOiBDTGFiZWwgbmVlZHMgdG8gYWxsb3cgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBmb3IgTWFjIE9TIFggIAo8YnI+Mjg4MzE6IERpc3BsYXlzIGxpZ2F0dXJlIGZvciBmaSAmIGZsICAKPGJyPjI5MTAwOiBNb3VzZSB3aGVlbCBzY3JvbGxpbmcgbm90IHdvcmtpbmcgaW4gZWRpdG9ycyAgCjxicj4yOTg3OTogSEFORyAtIGd0a19tYWluX2l0ZXJhdGlvbiAtIEVjbGlwc2UgRnJlZXplcyBtb3ZpbmcgYmV0d2VlbiBwZXJzcGVjdGl2ZXMKPGJyPjMwMDU1OiBEQkNTOiBmb250IHJlbmRlcmluZyBxdWFsaXR5IGlzc3VlIG9uIG1vdGlmICAKPGJyPjMwNTcwOiBEQkNTIC0gR0IxODAzMDogSW5wdXQgR0IxODAzMCBjaGFyYWN0ZXJzIGFzIHJ1biBhcmd1bWVudHMgY2F1c2UgZWNsaXBzZSBmb3IgbW90aWYgY3Jhc2gKPGJyPjMxNTY4OiBUYWJsZUxheW91dENvbXBvc2l0ZSBhbmQgVGFibGUuc2hvd0l0ZW0gZG9uJ3QgbWl4ICAKPGJyPjMxNjg2OiBXcm9uZyBtYXJnaW4gY29ycmVjdGlvbiBpbiB3aWRnZXRzLlRleHQuY29tcHV0ZVNpemUoaW50LCBpbnQsIGJvb2xlYW4pCjxicj4zMTgyMzogQ2xpY2tpbmcgb24gcGFydGlhbGx5IG9ic2N1cmVkIHRhYiBzaG91bGQgc2Nyb2xsIGl0IGludG8gdmlldwo8YnI+MzE4NTU6IFtFZGl0b3IgTWdtdF0gQ2xvc2UgYnV0dG9ucyBpbiBlZGl0b3IgZ2V0IGN1dCBvZmYgIAo8YnI+MzE4ODA6IExheW91dCBidWcgaW4gY29tbWl0IG1lbnUgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDI5IC0gVGh1cnNkYXkgRmVicnVhcnkgMTMsIDIwMDMKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjYyMzA6IEltYWdlTG9hZGVyOiAzMi1iaXQgY29sb3VyIGRlcHRoIHVuc3VwcG9ydGVkICAKPGJyPjIzNDcyOiBYbGliOiB1bmV4cGVjdGVkIGFzeW5jIHJlcGx5IChzZXF1ZW5jZSAweDkyMmQyKSEgIAo8YnI+MjM4NDI6ICJiYW5kZWQiIGRlZmF1bHQgYmFja2dyb3VuZCBsb29rIHNob3dzIHRocm91Z2ggd2hlcmUgaXQgc2hvdWxkbid0Cjxicj4yNTQ0NjogVHJlZSBTaGlmdC1DbGljayBub3Qgd29ya2luZyB3aGVuIGl0ZW0gY29sbGFwc2UgY2hhbmdlcyBzZWxlY3Rpb24KPGJyPjI2MzgxOiBPcGVuVHlwZTogS2V5IE5hdmlnYXRpb24gIAo8YnI+Mjk0NTY6IEdQIC0gWG1EU0lHZXRDaGlsZFBvc2l0aW9uIC0gUHJvYmxlbSBpbiBTaHV0ZG93biAgCjxicj4yOTYwNzogW0NlbGwgRWRpdG9yc10gdXNhYmlsaXR5OiBDb21ib0JveENlbGxFZGl0b3IgdW51c2FibGUgb24gR1RLICAKPGJyPjMxMDA5OiBBQ0MgLSBJMjAwMzAyMDUgYWNjZWxlcmF0b3JzIGlzc3VlcyAgCjxicj4zMTAxNzogSEFORyAtIEhhbmcgb24gaW1wb3J0IGV4dGVybmFsIHBsdWdpbnMgIAo8YnI+MzEyNjc6IExhYmVsIGFuZCB0ZXh0IGJveCBnZXQgdGhlIHdyb25nIG9yZGVyICAKPGJyPjMxNDQ4OiBCSURJIC0gQmlkaSBlbmFibGVtZW50IGZvciBTdHlsZWRUZXh0IC0gQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIHdoZW4gaGlnaGxpZ2h0aW5nIGEgYmxhbmsgbGluZQo8YnI+MzE1MTM6IENUYWJGb2xkZXIncyBjbG9zZSBib3ggaGlnaGxpZ2h0IGdldHMgY2xpcHBlZCBhdCBib3R0b20gIAo8YnI+MzE1NjY6IEZvbnREYXRhICJlcXVhbHMoKSIgYW5kICJoYXNoY29kZSgpIiBtZXRob2RzIGRvIG5vdCBjb25zaWRlciBoZWlnaHQgb2YgdGhlIHRoZSBmb250ZGF0YQo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDI4IC0gVGh1cnNkYXkgRmVicnVhcnkgNiwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjMyNjI6IFdlYkJyb3dzZXIgY3Jhc2hlcyB3aGVuIHZpZXdpbmcgU2hvY2t3YXZlICAKPGJyPjI1NzM2OiBNZW1vcnkgbGVhayB3aGlsZSB1c2luZyBPTEUgYXV0b21hdGlvbiAgCjxicj4yOTI2NTogQ29udHJvbC5zZXRFbmFibGVkKCkgbm90IGltcGxlbWVudGVkIHByb3Blcmx5IG9uIEdUSyAgCjxicj4yOTU5MzogQ29udGV4dHVhbCBtZW51IHRvbyBzaG9ydCBuZWFyIGJvdHRvbSBvZiBtZW51ICAKPGJyPjI5OTMxOiBNb3VzZSBjbGlja3MgYXJlIHVucmVsaWFibGUgIAo8YnI+MzA0MDM6IENUYWJJdGVtIGNsb3NlIGJveCBzaGlmdHMgYnkgMiBwaXhlbHMgd2hlbiB0YWIgc2VsZWN0ZWQgIAo8YnI+MzA0NDM6IE1lbnViYXIgb2YgU1dUIHN0YW5kYWxvbmUgYXBwbGljYXRpb25zIGlzIGVtcHR5ICAKPGJyPjMwOTQ1OiBDaGFuZ2UgaW4gbW91c2UgY2xpY2tpbmcgYmVoYXZpb3VyIG1ha2VzIEZhc3RWaWV3cyB1bnVzYWJsZSAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMjcgLSBXZWRuZXNkYXkgRmVicnVhcnkgNSwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjA3NTU6IFRWVDI6ICB0cnVuY2F0ZWQgdGV4dCBpbiBkcm9wZG93biBmb3IgRGVwZW5kZW5jaWVzIHRhYiBpbiBtYW5pZmVzdCBlZGl0b3IKPGJyPjIyNzU5OiBJbnB1dCBtZXRob2QgZG9lcyBub3Qgd29yayBvbiBHVEsvR1RLMiAgCjxicj4yNzE4MDogVW5hYmxlIHRvIGNvcHkgYW5kIHBhc3RlIGluIGVkaXRpbmcgamF2YSBmaWxlICAKPGJyPjI3MTgzOiBNb3VzZSBkcmFnIHNlbGVjdCBwcm9kdWNlcyBjcmFzaCAgCjxicj4yODQxOTogQ3Jhc2ggd2hlbiBjbG9zaW5nIHNoZWxscyAgCjxicj4yOTc3NzogREJDUzogQ2FuJ3QgZHJhZyBhIGZpbGUgaW50byBSdW4tdGltZSB3b3JrYmVuY2ggIAo8YnI+MzAyMTI6IFJlYWQgb25seSB0ZXh0IHdpZGdldCA6IGNhbid0IGNvcHkgc2VsZWN0aW9uICAKPGJyPjMwNDAxOiBTV1Qgc3RhbmRhbG9uZSBleGFtcGxlcyBjYW4ndCBjb21lIHRvIGZvcmVncm91bmQgIAo8YnI+MzA0NTI6IE1vdXNlIGdldHMgd2FycGVkIHRvIHVwcGVyIGxlZnQgY29ybmVyIG9mIHdvcmtiZW5jaCB3aW5kb3cgb24gYWN0aW9ucwo8YnI+MzA1MDA6ICJyb2FtaW5nIiBmb2N1cyAgCjxicj4zMDUzNzogc2V0U2VsZWN0aW9uKGFsbEl0ZW1zKSBub3Qgd29ya2luZyBvbiBHVEsgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDI2IC0gVHVlc2RheSBKYW51YXJ5IDI4LCAyMDAzCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoxNDgxNDogQnV0dG9uIG1uZW1vbmljcyBhcmUgbm90IHNob3duIHByb3Blcmx5IG9uIFdpbmRvd3MgWFAgIAo8YnI+MjQzMzM6IERDUiAtIFRyZWUuZ2V0VG9wSXRlbS9zZXRUb3BJdGVtICAKPGJyPjI0NDg5OiBUYWIgY2Fubm90IGdldCBmb2N1cyB3aGVuIGNoaWxkLWNvbXBvc2l0ZSBoYXMgc2Nyb2xsYmFyICAKPGJyPjI0ODE1OiBDYW5ub3QgbGF1bmNoIGVjbGlwc2U6IGphdmFjb3JlIGR1bXAgIAo8YnI+MjkxNDI6IEh5cGVybGlua2luZyBmcm9tIHN0YWNrZHVtcCBsb2NrcyB1cCBFY2xpcHNlICAKPGJyPjI5MTkxOiBUcmVlIC0gbm8gZ3JheSBjaGVjayBib3hlcyBvbiBNQUMgKGNhcmJvbjIpICAKPGJyPjI5NDI2OiBEQkNTOkNvcHkvUGFzdGUgREJDUyBmYWlsZWQgYmV0d2VlbiBlY2xpcHNlIGFuZCBnZWRpdCAgCjxicj4yOTQyODogREJDUzogUGFzdGVkIHN0cmluZyBjYW4ndCBiZSBzaG93biBjb3JyZWN0bHkgaW4gU2VhcmNoIGRpYWxvZwo8YnI+Mjk5MTA6IENoZWNrYm94IG5vdCBkaXNwbGF5ZWQgdW50aWwgdGFibGUgc2Nyb2xsZWQgIAo8YnI+Mjk5NjY6IE5vIG1vcmUgaGFuZGxlcyBvbiBzdGFydHVwICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAyNSAtIFR1ZXNkYXkgSmFudWFyeSAyMSwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjUwMzA6IChCQkFXVCkgSW1hZ2UgQW5hbHl6ZXIgZmFpbHMgdG8gbG9hZCBhIC5wbmcgZmlsZSAgCjxicj4yNTM1OTogUnVudGltZUV4Y2VwdGlvbnMgdGhyb3duIGZyb20gT2xlTGlzdGVuZXIuaGFuZGxlRXZlbnQgY3Jhc2ggVk0KPGJyPjI3MDk5OiBTdHlsZWRUZXh0IC0gQ2hhbmdlIENUUkwga2V5IGJpbmRpbmdzIHRvIE1PRDEgIAo8YnI+MjczNjk6IE5vIG1vcmUgaGFuZGxlcyBlcnJvciAgCjxicj4yNzgyMjogUGFja2FnZSBFeHBsb3JlciBhbGx3YXlzIGNlbnRlcnMgb3BlbmVkIGZpbGUgIAo8YnI+MjgwNjI6IFRleHQgZmllbGQgaW4gZGlhbG9nIGRvZXNuJ3QgZ2V0IGZvY3VzICAKPGJyPjI4NzQzOiBUcnlpbmcgdG8gc2VlIHRlc3QgaGllYXJjaHkgZnJlZXplcyBlY2xpcHNlIFtKVW5pdF0gIAo8YnI+Mjg3NDU6IEVzYyBkb2VzIG5vdCBjYW5jZWwgdHJhY2tlciAgCjxicj4yODk2NzogW0VkaXRvciBNZ210XSBubyBjbG9zZSBidXR0b24gb24gbGFzdCBlZGl0b3Igd2hlbiBlZGl0b3JzIGRyb3AtZG93biBpcyBhY3RpdmUKPGJyPjI5NDI3OiBEQkNTOiBDYW4ndCBpbnB1dCBEQkNTIGNoYXJhY3RlcnMgaW4gU2VhcmNoIGRpYWxvZyAgCjxicj4yOTQ5NjogQ3V0ICYgcGFzdGUgZG9lcyBub3Qgd29yayBpbiBkaWFsb2cgdGV4dCBmaWVsZHMgIAo8YnI+Mjk1MDM6IERCQ1M6Q2FuJ3Qgc29ydCBieSBjbGlja2luZyAiRGVzY3JpcHRpb24iIG9uICJUYXNrIFZpZXciICAKPGJyPjI5NTk5OiBEQkNTOiB1cHBlciBiYXIgY2hhcmFjdGVyIHdpbGwgYmUgcGFkZGVkICAKPGJyPjI5NjA4OiBEQkNTOiBTZWxlY3RlZCBEQkNTIENsYXNzcGF0aCBjYW4ndCBiZSBzaG93biAgCjxicj4yOTYxMTogREJDUzpDYW4gbm90IGlucHV0IEhhbmd1bChLb3JlYSBmb250KSAgCjxicj4yOTYxMjogREJDUzpCcm93c2UgZnVuY3Rpb24gb2YgIkV4cG9ydCIgZG9lc24ndCB3b3JrICAKPGJyPjI5NjE0OiBEQkNTOiBVbmFibGUgdG8gZ2V0ICJJbXBvcnQiIGNvbnRlbnRzIGxvY2F0aW9uIHdpdGggIkJyb3dzZSIgYnV0dG9uCjxicj4yOTY2NDogU1dUIFN0eWxlZCBUZXh0IFdyYXBwaW5nIERvZXNuJ3QgVXNlIEZvbnQgU2l6ZSBDb3JyZWN0bHkgIAo8YnI+Mjk2ODU6IERCQ1M6IENhbmRpZGF0ZSBTZWxlY3Rpb24gV2luZG93IHdpbGwgYmUgZGlzYXBwZWFyZWQgYXQgREJDUyBjb21wb3NpdGlvbgo8YnI+Mjk3MzA6IFJvd0xheW91dC5jb21wdXRlU2l6ZSBwcm92aWRlcyB3cm9uZyBwYXJhbWV0ZXIgdG8gbGF5b3V0VmVydGljYWwKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAyNCAtIFR1ZXNkYXkgSmFudWFyeSAxNCwgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjEwNjM6IENhbid0IGRyb3Agdmlld3Mgb3ZlciBzb21lIHdpZGdldHMgIAo8YnI+MjE1NjE6IEtleWJvYXJkIG5hdmlnYXRpb24gaW4gdHJlZSB3aWRnZXRzIG9uIExpbnV4ICAKPGJyPjI1NjE5OiBPbGVDb250cm9sU2l0ZSBldmVudCBsaXN0ZW5lciBwcm9ibGVtICAKPGJyPjI1ODQzOiBJbmZvIHBvcHMgZG8gbm90IHdvcmsgZm9yIFJlZCBIYXQgOC4wLgo8YnI+Mjc2Nzc6IFtLZXkgQmluZGluZ3NdIGN0cmwtZjcgbm90IHdvcmtpbmcgIAo8YnI+Mjg4Nzk6IFtOYXZpZ2F0b3JdIHJpZ2h0LWNsaWNraW5nIGEgZmlsZSBkb2Vzbid0IGFsbG93IG1lIHRvIG9wZW4gaXQKPGJyPjI5MjA4OiBHdGsgZGlyZWN0b3J5IGRpYWxvZyBiZWhhdmVzIGxpa2UgYSBmaWxlIGRpYWxvZyAgCjxicj4yOTI1MjogQWNjZWxlcmF0b3JzIGFyZSBub3QgZGlzYWJsZWQgd2hlbiB0aGUgdG9vbGJhcnMgYW5kIG1lbnVzIGFyZSBvbiBHVEsKPGJyPjI5MzAyOiBTbGlkZXIgYW5kIFNjcm9sbGJhciBoYW5kbGUgbWFueSBib3VuZGFyeSBjYXNlcyB3cm9uZyBpbiBzZXQqIG1ldGhvZHMKPGJyPjI5MzM0OiBNYWtlIGphdmFkb2MgYXZhaWxhYmxlIGZvciBkb3dubG9hZCAgCjxicj4yOTQwODogSW52b2tpbmcgTGlzdC5zZWxlY3QoKikgYmVmb3JlIG9wZW4oKSBkb2VzIG5vdCBzZWxlY3QgY29ycmVjdCBpdGVtCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMjMgLSBUdWVzZGF5IEphbnVhcnkgNywgMjAwMwoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjQyODM6IERlZmF1bHQgYnV0dG9uIGluIHRoZSBkaWFsb2cgZ2V0IHRoZSBlbnRlciB3aGVuIHR5cGluZyBpbiBqYXBhbmVzZQo8YnI+MjU0ODY6IEVjbGlwc2UgZmFpbHMgd2l0aCAnbm8gZnJlZSBjYWxsYmFjayBzbG90JyAgCjxicj4yNjA1NzogU3R5bGVkVGV4dCAtIGNsZWFudXAgcGFzc2luZyBhcm91bmQgb2YgZm9udGRhdGEgIAo8YnI+MjYwNzk6IFVzZSBQZkxvYWRNZXRyaWNzKCkgdG8gc3BlZWQgdXAgdGV4dCBleHRlbnRpbmcKPGJyPjI3ODY5OiBTdHlsZWRUZXh0IG92ZXJ1c2Ugb2YgRm9udC5nZXRGb250RGF0YSAgCjxicj4yODI4NjogQkJBV1Q6IEluY29ycmVjdCBwYWxldHRlL2NvbG9yIHJldHVybmVkIG9uIDMyLWJpdCB0cnVlIGNvbG9yIGRpc3BsYXkKPGJyPjI4MzgyOiBFeHRyYSBzZXBhcmF0b3IgbGluZSBkcmF3biBpbiBlbXVsYXRlZCBDb29sQmFyICAKPGJyPjI4NDk4OiBIZWxwIG1lbnUgaXMgY29uZnVzZWQgIAo8YnI+Mjg2MDc6IFByb2dyZXNzIGJhciBkb2Vzbid0IGZpbmlzaCBpbiBQREUgaW1wb3J0IHdpemFyZCAgCjxicj4yODY1ODogTm8gY29udGV4dCBtZW51IGluIHBlcnNwZWN0aXZlIGJhciAgCjxicj4yODY4MzogQ3RybC1DbGljayBpbiBUcmVlVmlldyBsb3NlcyBzZWxlY3Rpb24gIAo8YnI+Mjg3MDE6IE1ldGhvZCAiYXNzZXJ0IiBkZWNsYXJlZCBpbiBvcmcuZWNsaXBzZS5zd3QudGVzdHMuanVuaXQuU3R5bGVkVGV4dENvbnRlbnRTcGVjCjxicj4yODcxOTogU2Nyb2xsaW5nIGluIFdlbGNvbWUgZWRpdG9yIGlzIG5vdCAnbGl2ZScgIAo8YnI+Mjg4MTI6IE1vdXNlIGN1cnNvciBjaGFuZ2VzIHRvIGFycm93IGFmdGVyIGhvdmVyaW5nIGEgaHlwZXJsaW5rZWQgaW5kZW50aWZpZXIKPGJyPjI4ODMzOiBFY2xpcHNlIG5vIGxvbmdlciByZXNwb25kcyB0byAnUXVpdCcgQXBwbGVFdmVudCAgCjxicj4yODgzNTogQ3Vyc29yIGRvZXNuJ3QgY2hhbmdlIHRvIGFycm93IHNoYXBlIHdoZW4gb3ZlciB0ZXh0IHNjcm9sbGJhcnMKPGJyPjI4OTkxOiBUYWJGb2xkZXIuY29tcHV0ZVNpemUgaXMgZ3Jvd3MgZWFjaCB0aW1lIGlzIGl0IGNhbGxlZCAgCjxicj4yOTAxNzogU2Nyb2xsZWRDb21wb3NpdGUgYWx3YXlzIG1ha2VzIGl0J3MgY29udGVudCAgYmlnZ2VyIG9uIHJlc2l6ZQo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDIyIC0gVHVlc2RheSBEZWNlbWJlciAxNywgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjE0MDk6IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGVkaXRpbmcgSmF2YSBzb3VyY2UgIAo8YnI+MjE5OTM6IENhbid0IGNoYW5nZSBmb250IHNpemVzICAKPGJyPjIyMzA1OiBMYXVuY2ggY29uZmlndXJhdGlvbiBwYW5lIGdldHMgdmlzdWFsbHkgbWVzc2VkIHVwIGFuZCByZWYuLi4gIAo8YnI+MjM4MzA6IE91dC1vZi1ib3ggZXhwZXJpZW5jZSB3aXRoIHRoZSBNYWMuICAKPGJyPjIzODQzOiBDaGV2cm9ucyBzaG93IHVwIGluIGRlZmF1bHQgbGF5b3V0IG9mIEphdmEgcGVyc3BlY3RpdmUgIAo8YnI+MjM4NDQ6IExhYmVsIGRvZXNuJ3Qgd3JhcCB0ZXh0IGluaXRpYWxsbHkgIAo8YnI+MjM4NTA6IE1pc3Npbmcgc2Nyb2xsYmFyIGluIExpc3QgIAo8YnI+MjQ0Mzc6IEtleUxpc3RlbmVycyBkb24ndCBnZXQgY2FsbGVkICAKPGJyPjI2MzIyOiBOUEUgaW4gRm9udCBEaWFsb2cgIAo8YnI+MjYzMzE6IFdyYXBwZWQgTGFiZWxzIC0gc2Vjb25kIGxpbmUgY3V0IG9mZiAgCjxicj4yNjU4NzogTmF2aWdhdGUgLT4gR28gVG8gVHlwZSBnb2VzIHRvIHdyb25nIHNoZWxsIG9uIE1hYyAgCjxicj4yNzk5NzogQ29sb3IgZGlhbG9nIGNyYXNoZXMgRWNsaXBzZSAgCjxicj4yODI4ODogW0VkaXRvciBNZ210XSBFZGl0b3IgcGFuZSBvdXQgb2Ygc3luYyB3aXRoIHZpZXdzIGFuZCB0YWJzICAKPGJyPjI4MzYxOiBUb29sSXRlbSBsZWFrcyBJbWFnZXMgKD8pICAKPGJyPjI4NTI0OiBJbmNvbnNpc3RlbnQgYmVoYXZpb3VyIG9mIHRhYiBpbiBwYXNzd29yZCBmaWVsZHMgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDIxIC0gRnJpZGF5IERlY2VtYmVyIDEzLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoyNzUyNjogQ29sb3Igc2VsZWN0aW9uIGRpYWxvZyB0YWtlcyBhIGxvbmcgdGltZSB0byBkaXNwbGF5IGluIDgtYml0IG1vZGUKPGJyPjI3ODYyOiBUcmVlLnNldFNlbGVjdGlvbigpIHRha2VzID4gMSBzZWNvbmQgIAo8YnI+MjgwMzU6IERpZmZlcmVudCBjYWxsYmFjayBiZWhhdmlvciBvbiBXaW5kb3dzIGFuZCBNYWMgd2l0aCBDb21ibyB3aWRnZXQKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAyMCAtIFR1ZXNkYXkgRGVjZW1iZXIgMTAsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjI0MTEyOiBLZXlib2FyZCBzaG9ydGN1dHMgZGVmaW5lZCBhcyBDdHJsLVNoaWZ0LXggZG9uJ3Qgd29yayAgCjxicj4yNDQzNjogRW50ZXJpbmcgQXN0ZXJpc2sgY3Jhc2hlcyBFY2xpcHNlICAKPGJyPjI2NTA2OiBJbXBvcnRpbmcgRXh0ZXJuYWwgUGx1Zy1pbnMgaXMgc2xvdyAgCjxicj4yNzAzMTogZW5fVVMuVVRGLTggbG9jYWxlIG5vdCBzdXBwb3J0ZWQgb24gTW90aWYgIAo8YnI+Mjc0MTA6IFtTV1QgRXhhbXBsZXNdIEFycm93IGJ1dHRvbnMgd29uJ3QgcmVzaXplIGZvciAxMHgxMCw1MHg1MCwxMDB4MTAwCjxicj4yNzQyMjogW1NXVCBFeGFtcGxlc10gUHJvZ3Jlc3MgYmFyIHJldmVydHMgdG8gJ2JsYWNrJyBjb2xvciBhZnRlciBTZWxlY3Rpb24gc2xpZGVyIHJlcG9zaXRpb25pbmcKPGJyPjI3NTAxOiBTZWxlY3Rpb24gbm90IGNvcnJlY3RseSB1cGRhdGVkIG9uIHJpZ2h0IGNsaWNrIG9uIGEgdHJlZSAgCjxicj4yNzUyNDogW1NXVCBFeGFtcGxlc10gVGFibGUgaXRlbSBmb3JlZ3JvdW5kIGNvbG9yIGNoYW5nZXMgZmFpbCBhZnRlciBmaXJzdCBhdHRlbXB0Cjxicj4yNzY0NDogRGlzbWlzc2luZyBvcGVuIHR5cGUgZGlhbG9nIHdpdGggRXNjYXBlIGNyYXNoZXMgRWNsaXBzZSAgCjxicj4yNzcwNDogUmVtb3ZlIGNzaCBidWlsZCBkZXBlbmRlbmN5ICAKPGJyPjI3NzEwOiBFbnRyeSBwb2ludCBub3QgZm91bmQgU2V0TGF5b3V0IGluIEdESTMyICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAxOSAtIFR1ZXNkYXkgRGVjZW1iZXIgMywgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMTkwODA6IENoYWZmIGluIHRhYmxlIHRyZWUgb2YgcHJvcGVydHkgc2hlZXQgIAo8YnI+MjAzMTg6IFtTdHlsZWRUZXh0XSBwcmludCBzZWxlY3Rpb24gcHJpbnRzIHdob2xlIHBhZ2UgKGF0IGxlYXN0IGluIDw9ZjIpCjxicj4yNjU2MzogQ3Jhc2ggaW4gQ2FyYm9uIG5hdGl2ZSBDb3B5TWFzayAgCjxicj4yNjczMTogQXR0ZW1wdGluZyB0byBjcmVhdGUgYSB2aWV3IHBsdWctaW4gcHJvamVjdCBjcmFzaGVzICAKPGJyPjI3MTgxOiBTbGVhayAtIGluc3RydW1lbnRhdGlvbiBub3QgZG9uZSBvbiBHVEsgYW5kIE1vdGlmICAKPGJyPjI3MzA1OiBFQzogQ0xhYmVsIGtlZXBzIGJhY2tncm91bmQgY29sb3VyIGFmdGVyIGdyYWRpZW50IGlzIHVzZWQgIAo8YnI+Mjc0MTE6IFtTV1QgRXhhbXBsZXNdIFNXVC5GTEFUIGhhcyBubyBlZmZlY3QgZm9yIGJ1dHRvbnMgIAo8YnI+Mjc0NDI6IE1vdXNlIGNsaWNrIG91dHNpZGUgaG9yaXpvbnRhbCBzY3JvbGwgYmFyIGRvZXMgbm90aGluZyAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMTggLSBUdWVzZGF5IE5vdmVtYmVyIDI2LCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoxNTAzMTogRm9udCBwYXJzaW5nIGZhaWxlZCAgCjxicj4xNzIzNzogUHJvZ3Jlc3MgbW9uaXRvciBmbGlja2VycyAgCjxicj4xODE3MjogU2lnMTEgZnJvbSBHVEsgIAo8YnI+MTk1MzA6IFNhdmluZyBsb2NrcyByZXNpemluZyBpbiBzZWNvbmQgcGVyc3BlY3RpdmUgIAo8YnI+MTk3MzU6IE5vIHNwYWNlIGJldHdlZW4gbG9uZ2VzdCBpdGVtIGluIG1lbnUgYW5kIGFjY2VsIGtleXMgIAo8YnI+MjA5NTM6IFN0eWxlZFRleHQgLSB0aWxkZSBwcm9ibGVtIHdpdGggZnJlbmNoIGtleWJvYXJkICgyMDAwLE5ULFhQKSBvbiBSMi4wCjxicj4yMTYyNjogVGFibGVJdGVtLmdldEltYWdlQm91bmRzIGZhaWxzIG9uIE1vdGlmIChFbXVsYXRlZCBXaWRnZXQpICAKPGJyPjI0ODcyOiBTcGxhc2ggc2NyZWVuIGRvZXMgbm90IHNob3cgYXQgc3RhcnR1cCAgCjxicj4yNDk2OTogSlAgR1A6IHNob3dpbmcgSmF2YS1FZGl0b3IgcHJlZi4gcGFnZSB3aXRoIGVkaXRvciBvcGVuICAKPGJyPjI1MDUzOiBDYW5ub3QgdXNlIHRoZSBwdWxsIGRvd24gbWVudSBpbiBHVEsgIAo8YnI+MjUzMzU6IFNjcm9sbGJhcnMgdG9vIHNtYWxsIG9uIHZhcmlhYmxlIHNlbGVjdGlvbiBkaWFsb2cgIAo8YnI+MjU2NTM6IERDUjogU3R5bGVkVGV4dCBkbyBub3QgYWN0aXZhdGUgdGhlIGRlZmF1bHQgYnV0dG9uICAKPGJyPjI2MTc5OiBDYW4ndCBzZWxlY3QgaXRlbXMgaW4gYSBjaGVja2JveCB0cmVlIHdpdGhvdXQgdG9nZ2xpbmcgY2hlY2tlZCBzdGF0ZQo8YnI+MjYzNTM6IEluZm9wb3AgYnJva2VuIG9uIHNvbGFyaXMgIAo8YnI+MjYzNjI6IFN0eWxlZFRleHQgLSBpbnZlc3RpZ2F0ZSBuZWNlc3Nhcnkgc3RhdGUgY2hhbmdlcyBiZXR3ZWVuIGhhbmRsZVRleHRDaGFuZ2luZyBhbmQgaGFuZGxlVGV4dENoYW5nZWQKPGJyPjI2NzMzOiBFY2xpcHNlIGNyYXNoZXMgd2hlbiBHVEsgdGhlbWUgaXMgY2hhbmdlZCAgCjxicj4yNjgwNDogR3RrIExhYmVsIHdpZGdldCBoYXMgZm9jdXMgZGVjb3JhdGlvbiBkcmF3biB0b28gYmlnICAKPGJyPjI2OTM1OiBFeGNlcHRpb24gaW4gU3R5bGVkVGV4dCB3aXRoIFdSQVAgZmxhZy4gIAo8YnI+MjY5OTc6IFN0eWxlZFRleHRSZW5kZXJlcjogY3JlYXRlcyB0b28gbWFueSBTdHJpbmdzICAKPGJyPjI3MDE2OiBEZWZhdWx0ICJPcGVuIiBhY3Rpb24gbm90IHdvcmtpbmcgaW4gTmF2aWdhdG9yIHRyZWUgdmlldwo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDE3IC0gVHVlc2RheSBOb3ZlbWJlciAxOSwgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjEyNTE6IENyYXNoIGluIG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5ndGsuT1MucGFuZ29fbGF5b3V0X3NldF9mb250X2Rlc2NyaXB0aW9uCjxicj4yNDgzNTogR1RLOiBNdWx0aXBsZSBzZWxlY3Rpb24gYW5kIHJpZ2h0IGNsaWNrIGluIHRyZWUgIAo8YnI+MjU3NDE6IFN0eWxlZFRleHQgZG9lcyBub3Qgc2V0IHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9yIGluIHRoZSBPUwo8YnI+MjU4MDM6IFN0eWxlZFRleHQgc2hvdWxkIHVzZSBuZXcgRm9udCBBUEkgIAo8YnI+MjYwMDQ6IFJlbW92aW5nIGEgVGV4dCBmaWVsZCBsZWF2ZXMgYmVoaW5kIGNydWQgIAo8YnI+MjYwMDg6IFtTdHlsZWRUZXh0XSBzZXRUb3BQaXhlbCBsaW1pdHMgYXJndW1lbnQgdG8gbG9naWNhbCBsaW5lIGNvdW50Cjxicj4yNjEyMTogQ2Fubm90IGxhdW5jaCBlY2xpcHNlICMyOiBqYXZhY29yZSBkdW1wICAKPGJyPjI2MTUxOiBTV1Qgd2lkZ2V0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLlNhc2ggaXMgbm90IHByb3Blcmx5IGNvbnN0cmFpbmVkIHdoZW4gaW4gSE9SSVpPTlRBTCBtb2RlCjxicj4yNjI1ODogQWNjZW50ZWQgY2hhcmFjdGVycyBidWcgaW4gZWRpdG9ycyByZWludmVudGVkICAKPGJyPjI2MzY3OiBOUEUgd2hlbiBkZWJ1Z2dpbmcgYXMgamF2YSBhcHBsaWNhdGlvbiAgCjxicj4yNjQxNDogQWNjZWxlcmF0b3JzIGRvbid0IHdvcmsgb24gYWl4ICAKPGJyPjI2NDE5OiBTdHlsZWRUZXh0IC0gcHJpbnQgcGFnZXMgY2F1c2VzIHdhbGtiYWNrICAKPGJyPjI2NDIxOiBMaXN0IGhhbmdzIG9uIEdUSyAgCjxicj4yNjQzNDogUHJpbnRlckRhdGEgc3RhcnRQYWdlL2VuZFBhZ2UgaW52YWxpZCB3aGVuIHBhZ2UgPjMyNzY3ICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAxNiAtIFR1ZXNkYXkgTm92ZW1iZXIgMTIsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjIzOTM1OiBUZXh0IHdpZGdldCB3aXRoIFRyZWUgcGFyZW50IGRvZXMgbm90IGxvc2UgZm9jdXMgIAo8YnI+MjM5OTc6IFRyYWNrZXIgbW92ZXMgbW91c2UgY3Vyc29yICAKPGJyPjI0NDkzOiBDYW50IHR5cGUgYnJhY2VzIGluIGphdmEgZWRpdG9yIHdpdGggaXRhbGlhbiBrZXlib2FyZCBpbiAyLjFtMQo8YnI+MjU3MzI6IE1MRUFLOiBSZXNpemUgZWNsaXBzZSwgdXN1YWxseSA0SyBhbGxvY2F0ZWQgIAo8YnI+MjU3NzU6IENvbWJvIGRvZXNuJ3QgZ2V0IHJlc3RvcmVkIGFmdGVyIG1pbmltaXplL3Jlc3RvcmUgIAo8YnI+MjU3ODE6IFNvbWUgY2hhbmdlIGJyb2tlIGNvbXBhcmUgd2l0aCBwYXRjaCAgCjxicj4yNTc5NzogR1RLOiBTZWxlY3Rpb24gSW5kZXggbm90IHByZXNlcnZlZCBhZnRlciBDb21ibyBpdGVtIHJlbW92YWwgIAo8YnI+MjU5ODY6IE5vIHNvdXJjZSBmb3IgU1dUIHBsdWdpbiBpbXBvcnRlZCBhcyBiaW5hcnkgIAo8YnI+MjU5ODk6IFJhZGlvbiBidXR0b25zIGFyZSBub3QgbXV0dWFsbHkgZXhjbHVzaXZlIGluIHNhbWUgY29tcG9zaXRlICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAxNSAtIFR1ZXNkYXkgTm92ZW1iZXIgNSwgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDYwNzogTWlzc2luZyBBUEkgZm9yIEZvbnQoRGlzcGxheSBkaXNwbGF5LCBGb250RGF0YSBmZFtdKSAoMUc5M1RQTSkKPGJyPjE0OTU2OiBTdHlsZWRUZXh0IC0gcHJpbnRpbmcgc2hvdWxkIHN1cHBvcnQgcGFnaW5hdGlvbiwgaGVhZGVycywgYW5kIGZvb3RlcnMKPGJyPjIxNjk1OiBDcmFzaCB3aGVuIHN0YXJ0aW5nIGVjbGlwc2Ugb24gU29sYXJpczggd2l0aCBqYXZhIDEuNCAgCjxicj4yMjA1MjogTGF1bmNoIGNvbmZpZ3VyYXRpb24gZGlhbG9nIGxvc2VzIHdvcmtzcGFjZSBkYXRhIGRpciAgCjxicj4yMzA0OTogQ2Fubm90IHdyaXRlIFN3ZWRpc2ggY2hhcmFjdGVycyAo77+977+977+977+977+977+9KSBpbiBlZGl0b3IgIAo8YnI+MjQyNzM6IEdQIC1UcmVlIHJlbW92ZUFsbCByZWJvb3Qgd2luZG93c1hwICAKPGJyPjI0MzU5OiBNZW51SXRlbXMgd2l0aCBzdHlsZSBTV1QuUkFESU8gc2hvdWxkIGhhbmRsZSBtdXR1YWwgZXhjbHVzaW9uIG9uIHNlbGVjdGlvbgo8YnI+MjQ3NTc6IEdUSzogWCBwb2ludGVyIGdyYWIgd2hlbiByZXNpemluZyBhIHRhYmxlIGNvbHVtbiAgCjxicj4yNTIxMjogR1BGIHN5bmNocm9uaXppbmcgZmlsZXMgd2l0aCBuZXcgVHJlZSBpbXBsZW1lbnRhdGlvbiAgCjxicj4yNTI1MzogUHJlZmVyZW5jZSBkaWFsb2cgZG9lc24ndCBkaXNwbGF5IGxhc3QgcHJlZmVyZW5jZSBwYWdlICAKPGJyPjI1Mzk5OiBEcmFnIGFuZCBkcm9wIGNyYXNoZXMgRWNsaXBzZSAgCjxicj4yNTU0NTogU3R5bGVkVGV4dCAtIHByaW50aW5nIGlnbm9yZXMgZW5kIHBhZ2UgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDE0IC0gVHVlc2RheSBPY3RvYmVyIDI5LCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoxMDA5MDogQ2Fubm90IHNlZSBDb21iby1ib3ggc2VsZWN0aW9uIGluIERCQ1MgbG9jYWxlICAKPGJyPjEyMDc4OiBTV1QgZXhjZXB0aW9uIHdoZW4gcnVubmluZyBvbiBkZWJpYW4gd29vZHkgb24gS0RFIHVzaW5nIHRoZSBtb3RpZiBidWlsZAo8YnI+MTQ0NDg6IFNldHRpbmcgdGhlIGFjY2VsZXJhdG9yIG9mIGEgbWVudSBpdGVtIGdpdmVzIGhpZ2hsaWdodCB0byB0b29sIGJhciBlbnRyaWVzCjxicj4xNzM2MTogVHJlZSBmbGlja2VycyBvbiB1cGRhdGUgIAo8YnI+MTc0Mjg6IEludGVybmFsIEVycm9yIChTV1QpIG9wZW5pbmcgYSBuZXcgcGVyc3BlY3RpdmUgYnkgZG91YmxlLWNsaWNraW5nCjxicj4yMDA3NTogSW5mb3BvcCBleGhpYml0cyBzdHJhbmdlIGJlaGF2aW91ciB1bmRlciBNb3RpZiAgCjxicj4yMTA2NjogU3dpdGNoIGVkaXRvcnMvdmlld3MvcGVyc3BlY3RpdmVzIHdpbmRvd3MgaGF2ZSBzY3JvbGxiYXJzICAKPGJyPjIxMTIxOiBbRXh0ZXJuYWwgVG9vbHNdIENvbmZpZ3VyYXRpb24gZGVmYXVsdCBzZWxlY3Rpb24gY291bGQgYmUgYmV0dGVyIG9uIEdUSwo8YnI+MjEzNzU6IFJlcHJvZHVjaWJsZSBKVk0gdGVybWluYXRpb24gd2hlbiB1c2luZyBXZWJEQVYuICAKPGJyPjIxNjU2OiBHVEs6IGRpc3Bvc2luZyBhbGwgdGhlIGNvbHVtbnMgaW4gdGFibGUuZ2V0Q29sdW1ucyBmYWlscyAgCjxicj4yMjAzODogV3Jvbmcgd2lkZ2V0IHNjcm9sbHMgaW4gSmF2YSBCcm93c2luZyBwZXJzcGVjdGl2ZS4gIAo8YnI+MjIxMjA6IEV4Y2Vzc2l2ZSByZWRyYXcgaW4gZGVidWcgdmlldyAgCjxicj4yMjI1MjogUHJvamVjdCBwcm9wZXJ0aWVzIC0gamF2YSBidWlsZCBwYXRoIHNjcmVlbiBzaG93cyBhcnRpZmFjdHMgIAo8YnI+MjIzNzE6IEludmFsaWQgc2VsZWN0aW9uIGl0ZW1zIGluIHdvcmtpbmcgc2V0ICAKPGJyPjIyNTI3OiBXb3JraW5nIHNldCBkaWFsb2cgb25seSBzZWxlY3RzIHByb2plY3RzICAKPGJyPjIyNzQzOiBUeXBlIGRpYWxvZyBob3Jpem9udGFsIHNjcm9sbCB0b28gc21hbGwgdG8gcmVhZCBjb250ZW50cyAgCjxicj4yMzY1NzogUHJvYmxlbXMgaW1wbGVtZW50aW5nIE1lbnVJdGVtLnNldFRleHQgKHdvcmtlZCBhcm91bmQgZm9yIEVuZ2xpc2gpCjxicj4yMzc4OTogR1RLIHRyZWUgZGlzcGxheSBwcm9ibGVtICAKPGJyPjIzODQ1OiBTcHVyaW91cyBzY3JvbGxiYXIgZHJhd24gb24gb3RoZXIgY29udHJvbHMgIAo8YnI+MjQxNTA6IFNoaWZ0LVRhYiBkb2VzIG5vdCBzaGlmdCBsZWZ0ICAKPGJyPjI0MjU3OiBOYXRpdmUgZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIGV4cG9ydCBwcmVmZXJlbmNlcyAgCjxicj4yNDMxNDogRmlsZURpYWxvZyBkb2Vzbid0IGFsbG93IHRvIG5hdmlnYXRlIGludG8gcGFja2FnZXMgIAo8YnI+MjQzNzI6IFN0eWxlZFRleHQgLSBTdHJpbmdJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIGluIENvbnRyb2xFeGFtcGxlCjxicj4yNDQyNjogU3R5bGVkVGV4dCAtIGludmVzdGlnYXRlIHJlcGxhY2luZyBjYXJldExpbmUgd2l0aCBzaW1wbGVyIGNvbmNlcHQKPGJyPjI0NTA0OiBTdHlsZWRUZXh0IC0gc2hvd1NlbGVjdGlvbiB3aGVuIHNlbGVjdGlvbiBSdG9MIHByb2JsZW0gIAo8YnI+MjQ2MTk6IERDUiAtIFN0YXRlIG1hc2sgbm90IHNldCBpbiBNb3VzZVRyYWNrZXIubW91c2VIb3ZlciAgCjxicj4yNTAxNjogW1ZpZXdlcnNdIERvdWJsZSBjbGljayBub3Qgd29ya2luZyB3aGVuIGl0ZW0gYWxyZWFkeSBzZWxlY3RlZAo8YnI+MjUxNDk6IFN0eWxlZFRleHQgLSBXcmFwcGVkQ29udGVudCBBUEkgZG9lcyBub3QgY2hlY2sgbGluZSBpbmRleCByYW5nZQo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDEzIC0gVHVlc2RheSBPY3RvYmVyIDIyLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoyMDM3NzogU3R5bGVkVGV4dCAtIFNXVC5XUkFQIHN0eWxlIGFuZCB3aWR0aEhpbnQgc3BlY2lmaWNhdGlvbiAgCjxicj4yMjk4NjogU1dUIENvbnRyb2xzIENvbWJvIGJveCBDb2xvcnMgc2VsZWN0aW9uIHRvb2wgZG9lcyBub3QgY2hhbmdlIGZvcmVncm91bmQgY29sb3IKPGJyPjI0NzI4OiBTdHlsZWRUZXh0IEVudGVyL0N0cmwtRW50ZXIgVmVyaWZ5RXZlbnQgaW5jb25zaXN0ZW5jaWVzICAKPGJyPjI0ODA1OiBDb21wdXRlU2l6ZSBpc3N1ZSAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMTIgLSBUdWVzZGF5IE9jdG9iZXIgMTUsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjE2NjU3OiBbT3BlbiBNb2Rlc10gU2VhcmNoIHJlc3VsdHMgZG9lc24ndCByZXNwb25kIHRvIGRvdWJsZSBjbGljayAgCjxicj4xNzMzNDogSWNvbiBtaXNzaW5nIGluIGNoZWNrIGJveCB0cmVlICAKPGJyPjE3OTE4OiBUcmVlIHdpZGdldHMgd2l0aCBtdWx0aXBsZSBlbnRyaWVzICAKPGJyPjE4OTAyOiBQZ1VwIGtleSBjYXVzZXMgaXRlbXMgdG8gYmUgc2VsZWN0ZWQgaW4gdHJlZSB3aWRnZXQgdW5kZXIgR1RLICAKPGJyPjIwMjU4OiBbQ1ZTXSBFc2Mga2V5IGRvZXNuJ3Qgd29yayBvbiBDb21taXQgRGlhbG9nICAKPGJyPjIxMzY3OiBEaXNwbGF5IHByb2JsZW0gaW4gdGhlIHByb3BlcnRpZXMgdmlldyAgCjxicj4yMTQzODogSmF2YSBjb3JlIGR1bXAgaW4gZ3RrX2N0cmVlX2dldF9ub2RlX2luZm8gIAo8YnI+MjQ1NjA6IEN0cmwrc2hpZnQgZG9lc24ndCB0cmF2ZXJzZSB3b3JkICAKPGJyPjI0Njc2OiBTdHlsZWRUZXh0IC0gZG91YmxlIGNsaWNrIHdvcmQgc2VsZWN0IGFuZCBjYXJldCBwbGFjZW1lbnQgIAo8YnI+MjQ2Nzc6IDMyIGJpdCBpbWFnZSBmYWlscyB3aXRoIGEgY2VydGFpbiBtYXNrICAKPGJyPjI0NzAyOiBXaW5DRTogSW1hZ2UgMzJiaXRzIGlzIGluY29ycmVjdCAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMTEgLSBUdWVzZGF5IE9jdG9iZXIgOCwgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDgyMjogR3JvdXAgc2l6ZSBkb2Vzbid0IHNlZW0gdG8gY29uc2lkZXIgZ3JvdXAgbmFtZSAoMUdKWUlXQikgIAo8YnI+MTAwMTk6IFJpZ2h0IGNsaWNraW5nIGluIGEgbGlzdCBib3ggc2hvdWxkIHNlbGVjdCBiZWZvcmUgcG9wcGluZyB1cCBtZW51IAo8YnI+MTcxNjA6IFRhc2sgTGlzdDogbWlzc2luZyBpY29uICAKPGJyPjE4ODQyOiBDaGVlc2Ugd2hlbiBzY3JvbGxpbmcgYWZ0ZXIgZGVsZXRpbmcgcm93IGluIHRhYmxlICAKPGJyPjE5NzczOiBDb29sYmFyIGljb25zIGluIFdpbmRvd3MgWFAgd2l0aCBMdW5hIHRoZW1lIGFyZSBub3QgdmVydGljYWxseSBhbGlnbmVkCjxicj4yMDA5NDogTGF5b3V0IHByb2JsZW1zIHVzaW5nIFN0eWxlZFRleHQgd2l0aCB3b3JkIHdyYXAgaW4gYSBTY3JvbGxlZENvbXBvc2l0ZQo8YnI+MjM5Nzg6IEhvcml6b250YWwgc2Nyb2xsYmFycyBpbiB0YWJsZXMgYW5kIHRyZWVzIGRvbid0IHNjcm9sbCBwYWdlLXdpc2UKPGJyPjI0MjI1OiBEcmFnU291cmNlQWRhcHRlciBpbmNvcnJlY3QgSmF2YURvYyAgCjxicj4yNDM1ODogSW5jb21wbGV0ZSBKYXZhRG9jIG9uIE1lbnVJdGVtLnNldFRleHQgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDEwIC0gVHVlc2RheSBPY3RvYmVyIDEsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjEwNDU5OiBJIGNhbid0IHJ1biBlY2xpcHNlICAKPGJyPjE5MTQ4OiBUb29sdGlwIHBvcHMgdXAgdW5kZXJuZWF0aCBjb2RlIGNvbXBsZXRpb24gYWx0ZXJuYXRpdmVzIGluIEYyCjxicj4yMDY3MjogU2hpZnQrRjEwIGhhcyB3cm9uZyBrZXlDb2RlICAKPGJyPjIxMjg3OiBVbmNhdWdodCBleGNlcHRpb24gaGFuZ2luZyBFY2xpcHNlICAKPGJyPjIyNjE1OiBbRGlhbG9nc10gTmF0aXZlIFByb2dyZXNzQmFyIGxvb2sgZG9lcyBub3QgbWF0Y2ggbG9vayBvZiBBbmltYXRlZFByb2dyZXNzCjxicj4yMjY0NTogU3R5bGVkVGV4dCAtIGNoZWVzZSB3aGVuIHR5cGluZyBpbiBTV1QuU0lOR0xFIG1vZGUgIAo8YnI+MjM2NDU6IERpc2FibGVkIGRlZmF1bHQgYnV0dG9uIGNhbiBzdGlsbCBiZSByZWFjaGVkIHByZXNzaW5nIEVOVEVSICAKPGJyPjIzODQ2OiBJbml0aWFsIGZvbnQgaGVpZ2h0IG9mIHRleHQgZmllbGQgaXMgd3JvbmcgIAo8YnI+MjM4NTE6IEluaXRpYWwgdGV4dCBpbiBUZXh0IGNvbnRyb2wgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpc2libGUgYXJlYSAgCjxicj4yMzkxMDogQ1RhYkZvbGRlciBzZWxlY3RlZCB0YWIgbG9zZXMgc3luY2ggd2l0aCBpdHMgY29udGVudHMgIAo8YnI+MjM5MzY6IE5QRSBpbiBDb250cm9sRXhhbXBsZSAgCjxicj4yMzk0NzogTWVudSBpbXBsZW1lbnRhdGlvbiBwcmV2ZW50cyBLZXliaW5kaW5nTWVudSBmcm9tIHdvcmtpbmcgY29ycmVjdGx5Cjxicj4yMzk3NTogTm8ga2V5Ym9hcmQgc2hvcnRjdXRzIGRpc3BsYXllZCBpbiBtZW51IGl0ZW1zICAKPGJyPjIzOTc2OiBGdW5jdGlvbiBrZXlzIG11c3QgYmUgcHJlc3NlZCB0d2ljZSAgCjxicj4yNDAwMDogTm8gc2Nyb2xsd2hlZWwgc3VwcG9ydCBmb3IgTWFjIE9TIFggIAo8YnI+MjQwNTU6IE5vIG1vcmUgY2FsbGJhY2sgZXhjZXB0aW9uIGhhbmcgRWNsaXBzZSAgCjxicj4yNDA4ODogRmlsZSBjaG9vc2VyIGZvciBPU1ggcmV0dXJucyB3cm9uZyBwYXRoICAKPGJyPjI0MTA2OiBUYWJsZSBDb2x1bW4gUmVzaXphYmxlIERvZXNuJ3Qgd29yayBpZiB5b3UgY2xpY2sgb24gQ29sdW1uIGl0c2VsZgo8YnI+MjQxMzc6IFRvcCBpdGVtIG9uIHBvcHVwIGlzIG9mdGVuIGludmlzaWJsZSAgCjxicj4yNDEzOTogQ29weSBjYXVzZXMgZXhjZXB0aW9uICAKPGJyPjI0MTQxOiBLZXlib2FyZCBub3QgZnVuY3Rpb25hbCBpbiBlZGl0b3JzIChtYWMgb3MgeCkgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDA5IC0gVHVlc2RheSBTZXB0ZW1iZXIgMjQsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+Cjc0MzU6IEFycmF5SW5kZXhPdXRCb3VuZHNFeGNlcHRpb24gb2NjdXJzIHdoZW4gdXNpbmcgU29sYXJpcyB0aHJvdWdoIHJlbW90ZSB0ZXJtaW5hbAo8YnI+MTUxNDY6IFByaW50aW5nIHN1cHBvcnQgdW5kZXIgTGludXg/ICAKPGJyPjE4NDgzOiBJRTYgY2F1c2VzIGNvbmZsaWN0IHdpdGggU1dULkFQUExJQ0FUSU9OX01PREFMIG9uIFdpbmRvd3MgOTggIAo8YnI+MjA0NjE6IFdpbkNFIC0gV2FpdCBjdXJzb3IgZG9lcyBub3Qgc2hvdyB1cCAgCjxicj4yMDk1ODogRWNsaXBzZSBjcmFzaGVzIHdoZW4gcGFzdGluZyBQREYgdGV4dCBpbnRvIGEgSmF2YSBmaWxlIGVkaXRvcgo8YnI+MjE0MTY6IEd0aysgbGF1bmNoZXIgIAo8YnI+MjIxMjE6IEVjbGlwc2UgY3Jhc2hlcyB3aGVuIHBhc3RpbmcgVVJMIGluIEphdmEtY29kZSAgCjxicj4yMzAwNzogW05hdmlnYXRvcl0gSW1wb3J0IG9mIHdvcmtzcGFjZSBmb2xkZXIgaW50byBwYXJlbnQgIAo8YnI+MjM3NDQ6IERldmljZS5nZXRGb250TGlzdCgpIHVzZXMgd3JvbmcgY29uc3RhbnQgbmFtZSAgCjxicj4yMzc0NTogV3JvbmcgZmxhZyB1c2VkIGluIERldmljZS5nZXRGb250TGlzdCgpLiAgCjxicj4yMzc0ODogSW5wdXQgZ3JvdXAgaXMgaGFyZGNvZGVkIGFzIDEgaW4gUGhXaW5kb3dRdWVyeVZpc2libGUoKSAgCjxicj4yMzc1MzogR3JvdXBzIGRvbid0IGxvb2sgbGlrZSB0aGUgcGxhdGZvcm0gIAo8YnI+MjM3NTQ6IExhYmVsLnNldEZvbnQoKSBuZWVkcyB0byBjaGVjayAidGV4dCAhPSBudWxsIiAgCjxicj4yMzc2NjogTGFiZWxzIHdpdGggaW1hZ2Ugb25seSBoYXZlIGV4dHJhIHNwYWNlIG9uIEdUSyAgCjxicj4yMzc5NTogQ29udHJvbEV4YW1wbGU6IEltYWdlIExhYmVsIGxlYXZlcyBjaGVlc2Ugd2hlbiByZXNpemVkICAKPGJyPjIzODA3OiBEaXNwbGF5IGNsYXNzIG5lZWRzIHRvIHBpY2sgYmV0dGVyIGRlZmF1bHQgZm9udHMuICAKPGJyPjIzODY0OiBDb29sQmFyIC0gUGx1cyAyLCBNaW51cyAyIHByb2JsZW0gIAo8YnI+MjM4ODQ6IFdpbkNFIC0gT1MuSW5pdENvbW1vbkNvbnRyb2xzRXggZmFpbHMgd2l0aCBmbGFnIERBVEVUSU1FUElDS19DTEFTUwo8YnI+MjM4OTg6IEdyb3VwLnNldEJhY2tncm91bmQoKSBkb24ndCB3b3JrIG9uIEd0ayAgCjxicj4yMzg5OTogQ1RSTCArIE1vdXNlY2xpY2sgIAo8YnI+MjM5NzQ6IFVzZSBuYXRpdmUgQ29tYm9Cb3ggIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDA4IC0gVHVlc2RheSBTZXB0ZW1iZXIgMTcsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ2Mzc6IFRyZWVFZGl0b3IgZXhhbXBsZSBkb2VzIG5vdCBzaG93IGhvdyB0byB1c2UgZG91YmxlIGNsaWNrICgxR0NQNk9IKQo8YnI+NDY1NjogUG9wLXVwIG1lbnUgbm90IHNob3dpbmcgZm9yIENvbXBvc2l0ZSAoMUdFTllNMCkgIAo8YnI+NDcxMDogUmVtYWluaW5nIEphdmFkb2MgcHJvYmxlbXMgKDFHRjA4OFcpICAKPGJyPjQ3MzA6IFN1cHBvcnQgZm9yIGxlc3N0aWYgb24gTGludXggIAo8YnI+NDczMzogSXNzdWVzIHdpdGggV2luMzIgR0RJIHNldEJrTW9kZSgpLCBhbmQgc2ltaWxhciB0aGluZ3MgaW4gTW90aWYgKDFHRlBHSzMpCjxicj40Nzk2OiBEQ1I6IGtleWJvYXJkIHN1cHBvcnQgZm9yIG1vdmUvcmVzaXplIChhY2Nlc3NpYmlsaXR5IGlzc3VlKSAgCjxicj41OTAwOiBDaGVja2JveFRhYmxlVmlld2VyIGRvZXMgZGlzYWJsZSBjb3JyZWN0bHkgIAo8YnI+MTA1MzI6IERDUjogVGFibGUuc2V0U2VsZWN0aW9uKGludCwgaW50KSAtLSBvcmRlciBtYXR0ZXJzICAKPGJyPjEyMDQ4OiBOUEUgZXhpdGluZyB3b3Jrc3BhY2UgIAo8YnI+MTY3MDA6IENvb2xiYXIgdGFiIG9yZGVyIGlzIGJhY2t3YXJkcyAgCjxicj4xNzQ5NDogVmVyb25pa2EgbmVlZHMgdG8gY2hlY2sgaGVyIGphdmFkb2MgIAo8YnI+MTkyNTY6IFNJUCBldmVudCAgCjxicj4xOTczNjogVG9vbHRpcHMgZm9yIGxvbmcgZW50cmllcyBpbiBjb2RlIGFzc2lzdCBwb3AgYmVoaW5kIGNvZGUgYXNzaXN0Cjxicj4yMTEyNjogUHJpbnQgRGlhbG9nIElzIE5vdCBNb2RhbCwgUmVzdWx0aW5nIGluIFVucHJlZGljdGFibGUgV29ya2JlbmNoIEJlaGF2aW9yCjxicj4yMTYyMDogRm9udERhdGEuc2V0TG9jYWxlKCkgY3Jhc2hlcyB3b3JrYmVuY2ggIAo8YnI+MjIxODk6IFdpbjMyIEdESSBSZXNvdXJjZSBMZWFrIGluIFdyYXBwZWRDb250ZW50LmphdmEgIAo8YnI+MjIyMTA6IFBob3RvbjpSZW1vdmluZyBpdGVtIGZyb20gQ29tYm8gZG9lcyBub3QgcmVtb3ZlIHRoZSB0ZXh0KEJCQVdUKQo8YnI+MjIzNjQ6IEluY29ycmVjdCBoZWlnaHQgb2Ygd2lkZ2V0IGluIFRleHRWaWV3ZXIgIAo8YnI+MjI0OTA6IEJhY2tncm91bmQgY29sb3Igb2YgR3JhcGhpY2FsIEVkaXRvcnMgaXMgYWx3YXlzIGJsYWNrLiAgCjxicj4yMjUzNDogTm8gd2F5IHRvIHR1cm4gYm9yZGVyIG9mZiBmb3IgbGludXggdGV4dCB3aWRnZXQgIAo8YnI+MjI1NjQ6IENhbm5vdCBkcmF3IHRyYW5zcGFyZW50IFBORyBmaWxlcyBwcm9wZXJseSAgCjxicj4yMjU3NzogTGlzdC5zZXRTZWxlY3Rpb24oU3RyaW5nW10pIGluZmluaXRlIGxvb3AgIAo8YnI+MjI4Mzk6IFdoZW4gc3d0IHdpbmRvdyBpbiBmb2N1cyBwYWxldHRlcyBvZiBvdGhlciB3aW5kb3dzIGhvc2VkLCBhbmQgdmlzZSB2ZXJzYQo8YnI+MjI4NjI6IFN0eWxlZFRleHQgLSBUYWIgZG9lcyBub3QgdGFiIG91dCBvZiBub24tZWRpdGFibGUgIAo8YnI+MjI5MjY6IENsaXBib2FyZCBjb3B5L3Bhc3RlIGlzIGN1dC9wYXN0ZSBvbiBXaW5kb3dzIDk4ICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAwNyAtIFR1ZXNkYXkgU2VwdGVtYmVyIDEwLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoxMDA1MDogU3R5bGVkVGV4dCAtIENoYW5nZSBzZWxlY3Rpb24gY29sb3Igd2hlbiBjaGFuZ2luZyBiYWNrZ3JvdW5kIGNvbG9yCjxicj4xNDYzNzogU3R5bGVkVGV4dCAtIGNvcHktZnJvbSB0ZXh0IGVkaXQgZmVhdHVyZSAgCjxicj4xNjAwOTogRWNsaXBzZSdzIHRvb2xiYXIgYnV0dG9ucycgaWNvbiBpbiBibGFjayBhbmQgdXBzaWRlIGRvd24gIAo8YnI+MTc3OTM6IE1vdGlmIEZpbGVEaWFsb2cgb2Z0ZW4gZG9lcyBub3QgdXNlIHJlYXNvbmFibGUgZGVmYXVsdCBkaXJlY3RvcnkgIAo8YnI+MjAxNzk6IENvb2xiYXIgaXRlbSBjbGlwcGVkIG9uIGJvdHRvbSBlZGdlIHdpdGggU1dULkJPUkRFUiBzdHlsZSAgCjxicj4yMTE4NTogR1RLOiBMYWJlbCBwb3NpdGlvbmluZyBpbmNvcnJlY3Qgd2hlbiBzdHlsZSBiaXQgdXNlZCBhbmQgYm91bmRzIHNldChCQkFXVCkKPGJyPjIyMDc5OiBTdHlsZWRUZXh0IC0gQmlkaVV0aWwuaXNCaWRpUGxhdGZvcm0gcmV0dXJucyB0cnVlIHdoZW4gbm90IHJ1bm5pbmcgd2l0aCBiaWRpIGxvY2FsZQo8YnI+MjIxMTQ6ICoga2V5IGV4cGFuZHMgVGFibGVUcmVlIGJ1dCBkb2VzIG5vdCBzZW5kIFNXVC5FeHBhbmQgZXZlbnQgIAo8YnI+MjIxMTU6IE1lc3NhZ2VEaWFsb2cgZG9lcyBub3Qgd3JhcCBtZXNzYWdlICAKPGJyPjIyMTU4OiBnZXRJdGVtKCkgY3Jhc2hlcyBlY2xpcHNlIGNhbGxlZCB3aXRoIGluZGV4IDAgIAo8YnI+MjI2NDc6IFZhcmlhbnQgY2xhc3MgaW5jb3JyZWN0bHkgbWFyc2hhbHMgVlRfQk9PTCB2YWx1ZXMgIAo8YnI+MjI3NDY6IFRleHQgY3V0IG9mZiBpbiBHVEsgaW4gVGl0bGVBcmVEaWFsb2cgIAo8YnI+MjI4Njg6IEVjbGlwc2UgaGFuZ3Mgd2hpbGUgY3JlYXRpbmcgYSBzaGVsbCBmcm9tIENvbnRyb2xFeGFtcGxlICAKPGJyPjIyODc0OiAyMTA0OiBDb252ZXJ0ZXIgY29udGFpbnMgcmVmZXJlbmNlcyB0byBDb252ZXJ0ZXIuY2xhc3MgIAo8YnI+MjI5MTY6IENDb21ibyBub3QgZHJvcHBpbmcgZG93biBsaXN0IHByb3Blcmx5ICAKPGJyPjIyOTE4OiBUYWJsZS5nZXRJdGVtKFBvaW50KSB0aHJvd3MgQXJyYXlJbmRleE91dE9mQm91bmRzICAKPGJyPjIyOTU5OiBEcmFnZ2luZyBvdmVyIG11bHRpcGxlIHN0YWNrZWQgdHJlZXMgdXNlcyBpbnZpc2libGUgdHJlZSBmb3IgZHJvcCB0YXJnZXQKPGJyPjIyOTc4OiBNb3RpZiBGaWxlRGlhbG9nIGlnbm9yZXMgU1dULk1VTFRJIGJpdCAgCjxicj4yMzAwMzogWGNvcHlwbGFuZSByZXF1aXJlcyAxMSBhcmdzIGJ1dCBIUC1VWCBKUkUgY2FuIG9ubHkgaGFuZGxlIDEwICAKPGJyPjIzMDI4OiBFQzogVGFiIHVuLWluZGVudCBkb2VzIG5vdCB3b3JrICAKPGJyPjIzMDYxOiAnQmFjaycga2V5IGRvZXMgbm90IGRlbGV0ZSBjaGFyYWN0ZXIgb24gU21hcnRwaG9uZSAyMDAyICAKPGJyPjIzMTc4OiBFY2xpcHNlIEZhaWxzIHRvIFN0YXJ0IEZpcnN0IFRpbWUgIAo8YnI+MjMyODU6IExpbnV4IE1vdGlmIGhhcyBiZWNvbWUgZXh0cmVtZWx5IHNsb3cgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjEgMDA2IC0gVHVlc2RheSBBdWd1c3QgMjcsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjU2Nzg6IFRWVDogVW5hYmxlIHRvIG9wZW4gRmlsdGVyIGRpYWxvZyBvbiBXaW45OCBpZiBhbm90aGVyIHZpZXcgaXMgdW5kb2NrZWQgKGZyZWUgZmxvYXRpbmcpCjxicj4xMjg3ODogQ29tYm8gc2V0SXRlbXMgcmVtb3ZlcyBzZXRUZXh0ICAKPGJyPjEzMDI0OiBUd28gdG9vbHRpcHMgZGlzcGxheWVkIG9uIHRyZWUgIAo8YnI+MTQ5MjM6IFNob3cgVGV4dCBIb3ZlciB0b29sYmFyIGl0ZW0gaW4gd3JvbmcgcGxhY2UgIAo8YnI+MTYzMzM6IEFjY2Vzc2liaWxpdHkgLSB0YWIga2V5IGluIGRpYWxvZyBib3hlcyAgCjxicj4yMDMyMTogTXVsdGlwbGUgb3BlbmVkIEFwcGxpY2F0aW9uV2luZG93cyB3aXRoIHN0YXR1c2xpbmVzIHNob3cgaW5jb3JyZWN0IGRpc3BsYXkvZXZlbnQgaGFuZGxpbmcKPGJyPjIyMjMxOiBQcmVzc2luZyBFTlRFUiBpbiBhIHRleHQgZmllbGQgbm8gbG9uZ2VyIHBlcmZvcm1zIE9LIGluIGRpYWxvZ3MKPGJyPjIyNjU5OiBGdW5jdGlvbiBrZXkgZXZlbnRzIGFyZSBvZnRlbiBsb3N0Cjxicj4yMjY2MTogU3R5bGVkVGV4dCAtIFNoaWZ0K0FsdCs8Y2hhcmFjdGVyPiBpbnNlcnRzIGNoYXJhY3RlciAgCjxicj4yMjcyMTogQ2Fubm90IHVzZSBrZXlib2FyZCB0byB0b2dnbGUgY2hlY2tib3hlcyAgCjxicj4yMjczNzogTW91c2UgQ2FwdHVyZSBvbiBNb3RpZiBjYXVzZXMgQ29udGV4dCBNZW51IG5vdCB0byB3b3JrICAKPGJyPjIyODI1OiBDb25zZWN1dGl2ZSB2ZXJ0aWNhbCBjdXJzb3IgbW92ZW1lbnQgY29tbWFuZHMgZG9uJ3QgcmV0YWluIGNvbHVtbiBvZmZzZXQKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4xIDAwNSAtIFR1ZXNkYXkgQXVndXN0IDIwLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NTU0OiBDb21ibyBzZWxlY3Rpb24gc2Nyb2xscyBmb3IgY2VydGFpbiBmb250cyAoMUcxQUQ5WSkgIAo8YnI+NDU3NzogQ3RybCtCYWNrc3BhY2UgJiBDdHJsK2RlbCBoYXZlIHRoZSBzYW1lIGtleSBjb2RlIGFuZCBrZXkgZXZlbnQgKDFHNTRSQUopCjxicj40Njg1OiBWYXJpYWJsZXMgVmlldyByZS1wb3NpdGlvbnMgb24gZWFjaCBzdGVwICgxR0VURThGKSAgCjxicj4xMDA5MTogTWVzc2FnZUJveCBsb3NlcyBhY3RpdmF0aW9uICAKPGJyPjEwOTc2OiBXb3JrYmVuY2ggd2luZG93cyBkb24ndCByZW9wZW4gY29ycmVjdGx5IGluIER1YWwgTW9uaXRvciBlbnZpcm9ubWVudHMKPGJyPjE0OTQyOiBVbmV4cGVjdGVkIEtleURvd24gZXZlbnQgYWZ0ZXIgcHJlc3Npbmcgbm9uIGV4aXN0aW5nIG1lbnUgbW5lbW9uaWMKPGJyPjE4NzA1OiBUb28gbXVjaCBmbGFzaGluIGluIENvbnRyb2wgRXhhbXBsZSAgCjxicj4yMTgyOTogQVBJIG5lZWRlZCB0byBhbGxvdyBDQ29tYm8gdG8gZGlzcGxheSBpdHMgbGlzdCBhdCB0aGUgcHJlZmVyZWQgd2lkdGgKPGJyPjIyNDQzOiBPTEUgLSBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwub2xlLndpbjMyLkNPTlRST0xJTkZPIGhhcyBhIHVzZWxlc3MgZmllbGQgJ2ZpbGxlcicKPGJyPjIyNDU3OiBXaW4zMiBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5Db21ibyBjb21wdXRlU2l6ZSgpIGlzIHdyb25nICAKPGJyPjIyNTA3OiBNb2RhbCBkaWFsb2cgZG9lcyBub3QgcHJldmVudCBhZGp1c3Rpbmcgb2YgdGFibGUgaGVhZGVycyBpbiBwYXJlbnQuCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMDQgLSBUdWVzZGF5IEF1Z3VzdCAxMywgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDczNzogUmVkcmF3IHByb2JsZW0gaW4gdGFibGUgKDFHRlcyUEUpICAKPGJyPjkwNzU6IFRvb2x0aXBzIG9ubHkgcGFydGlhbGx5IGRpc3BsYXllZCBpbiBIb3ZlcmhlbHAuamF2YSBleGFtcGxlICAKPGJyPjE1NjEwOiBTdHlsZWRUZXh0IC0gRG91YmxlLUNsaWNrLURyYWcgZG9lc24ndCB3b3JrLCB3b3JrcyBvbiBUZXh0ICAKPGJyPjE2OTkwOiBUb29sQmFyIGRvZXMgbm90IHNlbmQgTW91c2VIb3ZlciBldmVudHMgIAo8YnI+MjA2MzI6IFBvbGlzaCBuYXRpb25hbCBmb250cyAgCjxicj4yMDc5Mjogc29tZXRpbWVzIHJlc2l6ZSBjYWxsYmFjayBpcyBub3Qgc2VudCB0byB0aGUgc2hlbGwgd2hlbiB0aGUgc2hlbGwgaXMgbm90IHZpc2libGUKPGJyPjIwODE1OiBNZW51cyBub3QgZGlzcGxheWVkIG9uIFNtYXJ0UGhvbmUgMjAwMiAgCjxicj4yMTI2ODogU3R5bGVkVGV4dCAtIEN0cmwrU2hpZnQrSiBpbnNlcnRzIGxpbmUgIAo8YnI+MjEyNzI6IFN0eWxlZFRleHQgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHNlbGVjdGlvbiB3aXRoIGNhcmV0IG9uIHRoZSBsZWZ0Cjxicj4yMTkyMTogRW11bGF0ZWQgVGFibGUgc2V0VG9wSW5kZXggZmFpbHMgYW5kIGNhdXNlcyBOUEUgd2hlbiBhZGRpbmcgYW4gaXRlbSBhZnRlcndhcmRzCjxicj4yMTkzMzogVGFibGVDb2x1bW4gZG9lcyBub3QgbGlzdGVuIHRvIENvbnRyb2xFdmVudHMgIAo8YnI+MjIwMDQ6IG5vIGtleWJvYXJkIHNob3J0Y3V0cyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gcGFnZXMgb2YgTXVsdGlQYWdlRWRpdG9yUGFydAo8YnI+MjIxODg6IFN0eWxlZFRleHQgLSBvbmx5IGZpcnN0IGNoYXJhY3RlciBvZiBhIGxpbmUgZGlzcGxheWVkICAKPGJyPjIyMjA0OiBQaG90b246IFRleHQuc2VsZWN0QWxsKCkgZG9lcyBub3Qgc2VsZWN0IGFsbCB0aGUgdGV4dChCQkFXVCkgIAo8YnI+MjIyNTQ6IENvbW1hbmQgSCBpcyBub3QgbWFwcGVkIHByb3Blcmx5ICAKPGJyPjIyMzY1OiBTV1RfQVdUIGRvZXMgbm90IGNvbXBpbGUgdW5kZXIgSkRLIDEuNCAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMDMgLSBUdWVzZGF5IEF1Z3VzdCA2LCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NTIxOiBEaXNwbGF5LnN5bmNFeGVjIG9yIERpc3BsYXkuYXN5bmNFeGVjIGNhbiBibG9jayBwcm9jZXNzaW5nIG9mIG5hdGl2ZSBldmVudHMgKDFHMDNERjApCjxicj4yMDE0NDogRW50ZXIga2V5IG5vdCB3b3JraW5nIGluIHBhY2thZ2VzIHZpZXcgIAo8YnI+MjExNzk6IFN0ZXAgZmlsdGVyIGluLXBsYWNlIHRleHQgZWRpdG9yIGludmlzaWJsZSAgCjxicj4yMTI0MzogU2Nyb2xsIGxvY2sgaW5zZXJ0cyBhIGNoYXJhY3RlciBkdXJpbmcgaW5jcmVtZW50YWwgc2VhcmNoIG9uIEdUSwo8YnI+MjEzMzg6IEFjY2VudHMgYW5kIO+/P2Rvbid0IHdvcmsgaW4gZWRpdG9yIHVzaW5nIGd0ayAgCjxicj4yMTQ3Mjoga2V5UHJlc3NlZCBldmVudCBpZ25vcmVkIGJ5IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLlRleHQgZm9yIEVOVEVSIGtleQo8YnI+MjE2OTY6IFN0eWxlZFRleHQgLSBSVEYgdHJhbnNmZXIgY29kZXBhZ2UgZW5jb2RpbmcgIAo8YnI+MjE2OTg6IFN0eWxlZFRleHQgLSBSVEYgd3JpdGVyIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50ICAKPGJyPjIxODM0OiBDb29sYmFyIC0gZGVsZXRpbmcgaXRlbXMgY29ycnVwdGluZyBsYXlvdXQgIAo8YnI+MjIwMDQ6IE5vIGtleWJvYXJkIHNob3J0Y3V0cyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gcGFnZXMgb2YgTXVsdGlQYWdlRWRpdG9yUGFydAo8YnI+MjIwMjU6IE1vdGlmOiBVbmV4cGxhaW5lZCB0ZXJtaW5hdGlvbiBydW5uaW5nIEJCQVdUIEpVbml0IHRlc3RzICAKPGJyPjIyMDM2OiBNT1RJRjogQXBwZWFyYW5jZSBpc3N1ZSB3aXRoIENvbWJvICAKPGJyPjIyMDYwOiBTdHlsZWRUZXh0IC0gYmlkaSAtIEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMDIgLSBUdWVzZGF5IEp1bHkgMzAsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ1Nzg6IEN0cmwrSiAmIEN0cmwrRW50ZXIgaGF2ZSB0aGUgc2FtZSBrZXkgY29kZSAoMUc1NFJKSikgIAo8YnI+NDgxNjogVGFiSXRlbSBkaXNwbGF5cyAmICgxR0pMNzA0KSAgCjxicj42ODg4OiBDb21ibyBzZW5kcyBNb2RpZnlFdmVudCBvbiBzZXRJdGVtcyAgCjxicj45MDI1OiBPTEUsIFN0eWxlZFRleHQgd2lkZ2V0IGFuZCBXaW5DRSAgCjxicj4xOTYzMjogVHJhY2tlciBzaG91bGQgYWRqdXN0IGN1cnNvciBvbiBtb3VzZSBub3QgZG93biwgbm90IG9uIE1FTlUgIAo8YnI+MTk5ODU6IFN0eWxlZFRleHQgLSBCdWxsZXRpbmcgcHJvb2ZpbmcgUlRGIGNvcHkgZnVuY3Rpb24gIAo8YnI+MjA2OTE6IFN0eWxlZFRleHQgLSBiaWRpIC0gV2luMksvWFAgc3VwcG9ydCAgCjxicj4yMDc0NjogSW5jb25zaXN0ZW50IEBwYXJhbSBpbiBKYXZhZG9jIGZvciAgVGFibGVJdGVtLnNldEdyYXllZChib29sZWFuKQo8YnI+MjEzMTM6IENvbWJvLmdldEl0ZW0gd3JvbmcgZXJyb3IgdGhyb3duICAKPGJyPjIxNDIzOiBHVEs6IEdQRiBpbiBTaGVsbC5zZXRWaXNpYmxlKCkgIAo8YnI+MjE1MDA6IEdUSzogU1dULkFjdGl2YXRlIGFuZCBTV1QuRGVhY3RpdmF0ZSBldmVudHMgbm90IGZpcmVkIHdoZW4gU2hlbGwgd2l0aCBOT19UUklNIHVzZWQgYXMgaXRzIHN0eWxlIGJpdAo8YnI+MjE1MjY6IFNoZWxsLmNvbXB1dGVUcmltIGRvZXMgbm90IGluY2x1ZGUgbWVudSBiYXIgIAo8YnI+MjE1NjM6IE1uZW1vbmljcyBnaXZlIGZvY3VzIHRvIHRoZSBsYWJlbCBvbiBHVEsgIAo8YnI+MjE1NjQ6IEdUSzogVGV4dCBvZiBCdXR0b24od2l0aCBzdHlsZSBiaXQgU1dULkNIRUNLKSBkb2VzIG5vdCBzaG93IHVwIGNvcnJlY3RseQo8YnI+MjE1NzM6IFRhYmxlVHJlZUl0ZW0gc2hvdWxkIGhhdmUgZ2V0L3NldEdyYXllZCgpIG1ldGhvZHMgbGlrZSBUYWJsZUl0ZW0KPGJyPjIxNjAxOiBnZXRMaW5lQ291bnQoKSBtZXRob2QgZm9yIFRleHQgd2lkZ2V0IGRvZXMgbm90IHdvcmsgb24gTW90aWYgIAo8YnI+MjE2MjM6IExpc3Quc2V0U2VsZWN0aW9uIChpbnQgc3RhcnQsIGludCBlbmQpIGZhaWxzIG9uIE1vdGlmICAKPGJyPjIxNjUzOiBXaW5DRS9TSDQ6IEFycm93IGtleXMgZG9uJ3QgZ2VuZXJhdGUga2V5IGV2ZW50cyAgCjxicj4yMTcwMjogRGVidWcgRGlzcGxheSB2aWV3IGVycm9yIG1zZyB0byBjb25zb2xlIG9uIEdUSyAgCjxicj4yMTcwNjogQmlkaVV0aWwgaW4gd2luMzIgaGFzIENsYXNzLmZvck5hbWUoKSB1c2FnZSAgCjxicj4yMTgwNTogZXZlbnQuY2hhcmFjdGVyID0gMCBmb3IgYWxsIEN0cmwtPGFscGhhPiBvbiBRTlggNi4yICAKPGJyPjIxOTM3OiBDT01PYmplY3QgbGVha2FnZSBvbiBPbGVDb250cm9sU2l0ZSAgCjxicj4yMTk1ODogQ29udHJvbEV4YW1wbGUgRmlsZURpYWxvZyBkb2VzIG5vdCBmaWx0ZXIgY29ycmVjdGx5ICAKPGJyPjIxOTY0OiBHVEs6IEFkZGluZyBhbiBpdGVtIHRvIENvbWJvIGNoYW5nZXMgdGhlIHNlbGVjdGlvbiBpbmRleCAgCjxicj4yMTk2NzogR1RLOiBTZXR0aW5nIHNlbGVjdGlvbiBpbmRleCB0byAtMSBmb3IgYSBDb21ibyB0aHJvd3MgYW4gZXhjZXB0aW9uCjxicj4yMTk2OTogTGlzdC5nZXRTZWxlY3Rpb25JbmRleCBidWcgIAo8YnI+MjE5NzY6IEdUSzogQ29tYm8uZ2V0U2VsZWN0aW9uSW5kZXgoKSBjaGFuZ2VzIHdoZW4gYW4gaXRlbSBpcyByZW1vdmVkCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMSAwMDEgLSBUdWVzZGF5IEp1bHkgMjMsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ0Mjg6IFRhYmxlIC0gR3JpZCBsaW5lcyBub3QgZHJhd24gY29ycmVjdGx5ICgxRkU0SzVVKSAgCjxicj40NDUxOiBTaGVsbDogc2V0RGVmYXVsdEJ1dHRvbiwgZGVmYXVsdCBidXR0b24gY2Fubm90IGJlIHJlc2V0IHRvIG51bGwgKDFGR0xTNk0pCjxicj40NDg5OiBNb3VzZVVwIGZpcmVkIGZvciBidXR0b24gMSB3aGVuIGJ1dHRvbiAxIGlzIHN0aWxsIHByZXNzZWQgKDFGT0REUDQpCjxicj40NTExOiBQYW5lIHRpdGxlIHVwZGF0ZSBmbGFzaGVzIHRvb2wgYmFyIGJ1dHRvbnMgKDFGVVVSN0EpICAKPGJyPjQ1MjQ6IENUUkwgc2VxdWVuY2VzIG5vdCBoYW5kbGVkIGdyYWNlZnVsbHkgYnkgVGV4dEVkaXRvciAoMUZWU0JUUykgIAo8YnI+NDU0NDogQ1RSTCBjb21iaW5hdGlvbiBub3QgaGFuZGxlZCBhcyBhY2NlbGVyYXRvcnMgd2hlbiBDYXBzIGFyZSBsb2NrZWQgKDFGWlFER1IpCjxicj40NTkwOiBWZXJpZnlFdmVudCB2YWx1ZXMgaWdub3JlZCAoMUc3RzVZMykgIAo8YnI+NDYyNjogVGFibGVUcmVlOiBUd28gc2VsZWN0aW9uIGV2ZW50cyBnZW5lcmF0ZWQgZm9yIGVhY2ggY2hlY2tib3ggc2VsZWN0aW9uICgxR0JSU0xNKQo8YnI+NDY0MjogRGlyZWN0b3J5RGlhbG9nIGRvZXMgbm90IHN1cHBvcnQgLyBvbiB3aW5kb3dzICgxR0Q0MURaKSAgCjxicj40NjQ4OiBNZW51SXRlbS5zZXRFbmFibGVkKCkgYWx3YXlzIGNhdXNlcyBhIHJlZHJhdyAoMUdERENOMikgIAo8YnI+NDc4NjogRm9udERpYWxvZyBzaG91bGQgZ2l2ZSBhY2Nlc3MgdG8gY29sb3Igc2V0dGluZyAoMUdJRUZCRCkgIAo8YnI+NDg2MTogS2V5IHN0YXRlIGZvciB0b29sYmFyIGl0ZW1zICgxR0w1NEEwKSAgCjxicj41OTM1OiBTdHlsZWRUZXh0IC0gdXAvZG93biBhcnJvdyBiZWhhdmlvciB3cnQgdmFyeWluZyBsaW5lIGxlbmd0aHMgIAo8YnI+Njc3NTogUmFkaW8gYnV0dG9uIHNldFNlbGVjdGlvbiBjaGFuZ2VzIGZvY3VzICAKPGJyPjk4NTk6IENvbWJvIHdpZGdldCBkb2Vzbid0IGZpcmUga2V5UHJlc3NlZCBvciBrZXlSZWxlYXNlZCBmb3IgRW50ZXIga2V5Cjxicj4xMTg2ODogU3R5bGVkVGV4dDogdGV4dCBzZWxlY3Rpb24gd2l0aCBrZXkgJ2Fycm93IGRvd24nIGRvZXMgbm90IGluY2x1ZGUgbGFzdCBsaW5lCjxicj4xMTk5NDogU3R5bGVkVGV4dCAtIHJlcGxhY2UgZ2V0WEF0T2Zmc2V0KGNhcmV0T2Zmc2V0KSB3aXRoIGNhcmV0LmdldExvY2F0aW9uKCkueAo8YnI+MTIxNzg6IFN0eWxlZFRleHQgLSBtb3ZlIFN0eWxlZFRleHRSZW5kZXJlciNiaWRpVGV4dFdpZHRoIHRvIERpc3BsYXlSZW5kZXJlcgo8YnI+MTIxODE6IFN0eWxlZFRleHQgLSBtaXhpbmcgdGV4dCB3aWR0aC9jYXJldCBwb3NpdGlvbiBpcyBjb25mdXNpbmcgIAo8YnI+MTM5NDQ6IERDUiAtIE5lZWQgY3V0L2NvcHkvcGFzdGUgcm91dGluZXMgb24gQ29tYm8gIAo8YnI+MTQ2NzI6IENvbWJvIGFuZCBTY2FsZSBzZXRCYWNrZ3JvdW5kIGRvZXMgbm90IHJlZnJlc2ggIAo8YnI+MTQ3OTk6IFdpbmRvdyBtYW5pcHVsYXRpb25zIGJsb2NrIG90aGVyIHRocmVhZHMgZnJvbSBleGVjdXRpbmcgIAo8YnI+MTUwODg6IFN0eWxlZFRleHQgLSBnZXRUb3BJbmRleCBzZW1hbnRpY3MgdW5kZWZpbmVkIHdoZW4gbm8gbGluZSBmdWxseSB2aXNpYmxlCjxicj4xNTU1NDogRENSIC0gYWxpZ25tZW50IGluIGEgdGV4dCB3aWRnZXQgIAo8YnI+MTU1NTk6IEpBV1MgcmVhZHMgdGhlIHBhcmVudCB3aW5kb3cgZm9yIGRpYWxvZyBzaGVsbHMgIAo8YnI+MTU3Mjg6IFBhY2thZ2VzIHZpZXcgc2VsZWN0aW9uIGFsd2F5cyBvbmUgdG9vIGhpZ2ggIAo8YnI+MTYxMTA6IFN0eWxlZFRleHQgc2Nyb2xsIG5vdCB3b3JraW5nIHdpdGggUGFnZVVwL0Rvd24ga2V5cy4gIAo8YnI+MTYyMDU6IFN0eWxlZFRleHQgLSBUYWIgZG9lcyBub3QgdGFiIG91dCBvZiByZWFkLW9ubHkgIAo8YnI+MTY0MDI6IFdvcmtpbmcgc2V0IGRpYWxvZzogdGFibGUgY29sdW1ucyBoYXZlIGluY29ycmVjdCBzaXplICAKPGJyPjE2Nzc3OiBCdXN5IGN1cnNvciBsb3N0IG92ZXIgcHJvZ3Jlc3MgaW5kaWNhdG9yIGVkZ2VzICAKPGJyPjE2OTg2OiBKYXZhVmlld2VyIGV4YW1wbGUgc2hvdWxkIHJlbWVtYmVyIHBhdGggIAo8YnI+MTcxOTE6IFNXVCBFcnJvciBpbiBKVW5pdCB2aWV3ICAKPGJyPjE3MjUyOiBBY2NlbGVyYXRvciBsYWJlbHM6IEN0cmwtU2hpZnQtQSwgU2hpZnQtQ3RybC1BIG9yIFNoaWZ0LUN0bC1BPwo8YnI+MTcyNzk6IEV4dHJhIENvb2xCYXIgcm93IGNyZWF0ZWQgd2hlbiBzd2l0Y2hpbmcgcGVyc3BlY3RpdmVzLiAgCjxicj4xNzM3MDogQ29tYm8gYm94IGZsYXNoZXMgdG8gbXVjaCB3aGVuIHJlc2l6aW5nIGRpYWxvZy4gIAo8YnI+MTc5OTM6IEZpbmQvUmVwbGFjZSBzaG91bGRuJ3QgcmVwbGFjZSB0eXBlZCBlbnRyeSB3aXRoIHZhbHVlIGZyb20gaGlzdG9yeQo8YnI+MTgyNTM6IENvb2xiYXIgLSBkaXNwb3NpbmcgaXRlbXMgbm90IGhvbm9yaW5nIHNldFJlZHJhdyA9IGZhbHNlICAKPGJyPjE4MzA4OiBDdHJsK1NISUZUK0AgZG9lcyBub3QgY2FsbCB0aGUgbGlzdGVuZXIuICAKPGJyPjE4NDI5OiBTY3JvbGxlZENvbXBvc2l0ZSB3aXRoIExheW91dE1hbmFnZXIgaXMgVkVSWSBzbG93IGluIGlQQVEgIAo8YnI+MTg1NzA6IENvbWJvIGZsYXNoZXMgYnkgcmVzaXppbmcgIAo8YnI+MTkzODA6IExpc3Rib3hlcyBmbGFzaCBhcyBwcmVmZXJlbmNlcyBkaWFsb2cgaXMgcmVzaXplZCAgCjxicj4xOTQzNDogVG9vbEl0ZW0gZG9lcyBub3QgbmVlZCB0byBjaGVjayBmb3IgVE9HR0xFICAKPGJyPjE5NTY4OiB7fSBvbiBhIGdlcm1hbiBrZXlib2FyZCBbc3d0LWNhcmJvbl0gIAo8YnI+MTk2MTU6IFN0eWxlZFRleHQgLSBleGFtcGxlIFRleHQgRWRpdG9yIGJ1ZyBpbiBjb3B5L3Bhc3RlICAKPGJyPjE5NjMwOiBDb29sYmFyIC0gb2RkIGRpc3Bvc2UgYmVoYXZpb3IgIAo8YnI+MTk4MTU6IEpSRSBjcmFzaGVzIHVzaW5nIGVycm9yIGxvZyBhbmQgcHJvZ3Jlc3MgYmFyLiAgCjxicj4xOTk2NDogQ29vbGJhciAtIGNhbiAibG9zZSIgaXRlbXMgd2hlbiBwbGF0Zm9ybSB3aWRnZXQgd3JhcHMgIAo8YnI+MjAxNTk6IFJpZ2h0LWNsaWNraW5nIG9uIGNvb2xiYXIgZ3JhYmJlciBjYXVzZXMgc3RyYW5nZSBiZWhhdmlvciAgCjxicj4yMDE4MzogTW90aWYgOiBDb29sYmFyIHByZWZlcnJlZCBzaXplIGlzIHRvbyBzbWFsbCB3aWR0aCB3aXNlICAKPGJyPjIwMTkwOiBDb29sQmFyIHByb2JsZW1zIG9uIFdpbmRvd3MgWFAgd2l0aCBNYW5pZmVzdCAgCjxicj4yMDMzOTogSGl0dGluZyBzcGFjZWJhciBkb2VzIG5vdCBwcmVzcyBjdXJyZW50bHkgZm9jdXNlZCBidXR0b24gIAo8YnI+MjA1ODM6IFNlZ2ZhdWx0IHdoZW4gY29udHJvbCB0cmllcyB0byBkaXNwb3NlIG9mIGl0c2VsZiB1bmRlciBNb3RpZiAgCjxicj4yMDY4MzogW0V4dGVybmFsVG9vbHNdICBGMyAoYW5kIEYyKSBjcmFzaGVzIHRoZSBKVk0gd2hlbiB0cnlpbmcgdG8gY2FuY2VsIGFuIGV4dGVybmFsIHRvb2wgb24gbGludXgtZ3RrCjxicj4yMDY5MDogU3R5bGVkVGV4dCAtIGJpZGkgLSBzaG91bGQgZm9yY2UgZm9udCBzY3JpcHQgd2hlbiBrZXlib2FyZCBsYW5ndWFnZSBjaGFuZ2VkCjxicj4yMDcwNTogQ3Vyc29yIEtleXMgZG9uJ3Qgd29yayBpbiBEaWFsb2dzICAKPGJyPjIwNzIyOiBHVEsgVGFibGVDb2x1bW4jcGFjayBkb2VzIG5vdCB3b3JrIGlmIG5vIGhlYWRlciAgCjxicj4yMDc4ODogQSBjb21wb3NpdGUgaXMgYmVpbmcgbXlzdGVyaW91c2x5IGRpc3Bvc2VkIGZvciBubyByZWFzb24gIAo8YnI+MjA4NDY6IFdJTjMyOiAnQ29tYm8uaW5kZXhPZicgYWx3YXlzIHJldHVybnMgLTEgZm9yIGVtcHR5IHN0cmluZyAgCjxicj4yMDg5MzogQmFkIHNpemUgZm9yIFRleHQgd2lkZ2V0IHdoZW4gZmxhZyBSRUFEX09OTFkgaXMgc2V0IChQaG90b24pICAKPGJyPjIwOTA0OiBTV1QgZXhjZXB0aW9uIG9uIExheW91dEV4YW1wbGUgKFBob3RvbikgIAo8YnI+MjA5NTA6IEdUSzogRjEgaGVscCBkb2VzIG5vdCB3b3JrIGZvciBtZW51IGl0ZW1zLiAgCjxicj4yMDk1NjogRW11bGF0ZWQgQ29vbEl0ZW0gZG8gbm90IHJlc3BlY3QgU1dULkRST1BfRE9XTiBmbGFnICAKPGJyPjIxMDMwOiBTdHlsZWRUZXh0IC0gZHVyaW5nIGN1dCBpZiBjbGlwYm9hcmQgY29weSBmYWlscyBkbyBub3QgZGVsZXRlIHRleHQKPGJyPjIxMDk2OiBQcm9wZXJ0aWVzIGFjY2VsZXJhdG9yIG1pc3NpbmcgRU5URVIgIAo8YnI+MjExMjI6IEVtYWNzOiBBY2NlbGVyYXRvcnMgbm90IHNob3duIGluIG1lbnVzIHVuZGVyIEdUSyAgCjxicj4yMTE1NDogU3R5bGVkVGV4dCAtIEJJREkgLSBCYWQgZWZmZWN0IG9mIFJMTyB1bmljb2RlIGNoYXJhY3RlciAgCjxicj4yMTE5MjogVW5zYXRpc2ZpZWRMaW5rRXJyb3IgdGhyb3duIHdoZW4gcHJlc3NpbmcgYSBoYXJkd2FyZSBrZXkgIAo8YnI+MjEyMTU6IFtIZWxwXSBGMSBIZWxwIGRvZXMgbm90IGNsb3NlIG1lbnUgb24gR1RLICAKPGJyPjIxMjIzOiBTdHlsZWRUZXh0IC0gQ3Vyc29yIHNob3VsZCBzdG9wIGJsaW5raW5nIHdoZW4gbW92aW5nICAKPGJyPjIxMjY4OiBTdHlsZWRUZXh0IC0gQ3RybCtTaGlmdCtKIGluc2VydHMgbGluZSAgCjxicj4yMTM2ODogR1RLOiBHQy5kcmF3SW1hZ2UoKSBmYWlscyB3aGVuIHNjYWxpbmcgYW4gaW1hZ2UgIAo8YnI+MjEzNzE6IFNXVEVycm9yIHdoaWxlIHVzaW5nIE5hdmlnYXRvci0+R290by0+UmVzb3VyY2UgIAo8YnI+MjEzNzg6IEdUSzogU2hlbGwgZXZlbnQncyBkb2l0IGZsYWcgaWdub3JlZCB3aGVuIHNoZWxsQ2xvc2VkKCkgaXMgY2FsbGVkCjxicj4yMTQxMjogUGFzdGUgd2l0aCBhY2NlbGF0b3Iga2V5IGRvZXNuJ3Qgd29yayAgCjxicj4yMTQxMzogQ29vbEJhciBjb21wdXRlU2l6ZSBmYWlscyBvbiBYUCAgCjxicj4yMTQxNTogSmF2YWRvYyBmb3IgQ0xhYmVsLnNldEJhY2tncm91bmQgaGFzIHR5cG9zICAKPGJyPjIxNDQwOiBVbmFibGUgdG8gZGlzcGxheSBUb2RheSBzY3JlZW4gd2hlbiBTV1QgYXBwIHJ1bm5pbmcgb24gV2luQ0UgIAo8YnI+MjE0NDk6IEdUSzogQ2FsbGluZyBUZXh0LnNldFNlbGVjdGlvbigpIGNhdXNlcyBHUEYgIAo8YnI+MjE0NTY6IEdUSzogQ2Fubm90IHR5cGUgaW4gVGV4dCB3aWRnZXQgY29udGFpbmVkIGluIFNoZWxsIHdoaWNoIGhhcyBzdHlsZSBiaXQgYXMgTk9fVFJJTQo8YnI+MjE0ODQ6IFNoaWZ0LVRhYiBkb2VzIG5vdGhpbmcgb24gR1RLICAKPGJyPjIxNTIzOiBTdHlsZWRUZXh0IC0gY2FyZXQgZG9lcyBub3QgbW92ZSB3aGVuIHdpZGdldCBzaGVsbCBpcyBub3Qgb3Blbgo8YnI+MjE1MjQ6IFN0eWxlZFRleHQgLSBOUEUgd2hlbiB0eXBpbmcgdGV4dCBhbmQgY2FyZXQgaXMgbnVsbCAgCjxicj4yMTU5NjogU3R5bGVkVGV4dCAtIGluaXRpYWwgYmlkaSBjYXJldCBwb3NpdGlvbiB3cm9uZyB3aGVuIHdpZGdldCBlbXB0eQo8YnI+MjE1OTg6IFN0eWxlZFRleHQgLSBzZXRGb250IGVuYWJsZXMgY2FyZXQgd2hlbiBpdCB3YXMgZGlzYWJsZWQgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDUyIC0gV2VkbmVzZGF5IE9jdG9iZXIgMzAsIDIwMDIgKDIuMC4yIHN0cmVhbSkKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjEwNDU5OiBJIGNhbid0IHJ1biBlY2xpcHNlCjxicj4yNDY5Mzogb3JnLmVjbGlwc2Uuc3d0LmdyYXBoaWNzLkdDLmRyYXdTdHJpbmcoKSBmYWlscyB0byBkcmF3IGV1cm8KPGJyPjI0ODY5OiBHUCAtIEVjbGlwc2UgY3Jhc2hlZCB3aGVuIGVudGVyaW5nIGludmFsaWQgZmlsZSBuYW1lIGluIEZpbGVEaWFsb2cKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDA1MCAtIFdlZG5lc2RheSBPY3RvYmVyIDE2LCAyMDAyICgyLjAuMiBzdHJlYW0pCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoyNDU0MjogW0RORF0gQ3Jhc2ggd2hlbiBkcmFnJmRyb3Agb24gdGhlIFBhY2thZ2UgRXhwbG9yZXIKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDA0OWQgLSBNb25kYXkgQXVndXN0IDI2LCAyMDAyICgyLjAuMSBzdHJlYW0pCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoyMjcyOTogUGVybWlzc2lvbnMucHJvcGVydGllcyBtaXNzaW5nIGZyb20gdGhlIGJ1aWxkIHNjcmlwdAo8YnI+MjI3Nzk6IEVjbGlwc2UgbGludXgtbW90aWYgR1BGcyBvbiBleGl0IG9uIEo5CjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwNDliIC0gV2VkbmVzZGF5IEF1Z3VzdCAyMSwgMjAwMiAoMi4wLjEgc3RyZWFtKQoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMjI0NDg6IENvb2xCYXIgLSBkZWxldGluZyBmaXJzdCBpdGVtIGluIHJvdyBkb2VzIHVubmVjZXNzYXJ5IGNvbGxhcHNlL2V4cGFuZCBvZiByb3cKPGJyPjIyNTYxOiBIb3ZlciBIZWxwIGJyb2tlbiBpbiAyLjAuMSBJMjAwMjA4MTUKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDA0OSAtIFdlZG5lc2RheSBBdWd1c3QgMTQsIDIwMDIgKDIuMC4xIHN0cmVhbSkKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjIyMDU1OiBDb29sQmFyIC0gc2V0V3JhcEluZGljZXMgY2F1c2VzIHJvd3MgdG8gY29sbGFwc2UvZXhwYW5kIHVubmVjZXNzYXJpbHkKPGJyPjIyMTQ0OiBDb29sYmFyIC0gc2V0U2l6ZSBub3QgYmVpbmcgaG9ub3JlZCBhZnRlciBzZXRXcmFwSW5kaWNlcyBBUEkgdXNlZAo8YnI+MjIzMjA6IENvb2xiYXIgLSBkZWxldGUgaXRlbSBiZWhhdmlvciBwcm9ibGVtCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwNDggLSBUdWVzZGF5IEF1Z3VzdCA2LCAyMDAyICgyLjAuMSBzdHJlYW0pCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoxNTU1OTogSkFXUyByZWFkcyB0aGUgcGFyZW50IHdpbmRvdyBmb3IgZGlhbG9nIHNoZWxscwo8YnI+MTgyNTM6IENvb2xiYXIgLSBkaXNwb3NpbmcgaXRlbXMgbm90IGhvbm9yaW5nIHNldFJlZHJhdyA9IGZhbHNlCjxicj4xOTk2NDogQ29vbGJhciAtIGNhbiAibG9zZSIgaXRlbXMgd2hlbiBwbGF0Zm9ybSB3aWRnZXQgd3JhcHMgIAo8YnI+MjEyNjg6IFN0eWxlZFRleHQgLSBDdHJsK1NoaWZ0K0ogaW5zZXJ0cyBsaW5lCjxicj4yMTgzNDogQ29vbGJhciAtIGRlbGV0aW5nIGl0ZW1zIGNvcnJ1cHRpbmcgbGF5b3V0CjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwNDcgLSBNb25kYXkgSnVuZSAxNywgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDc3MjogSmF2YWRvYzogR3JhcGhpY3MgY29uc3RydWN0b3JzIG5lZWQgdG8gZG9jIGlmIGRldmljZSBudWxsICgxR0hTUFVXKQo8YnI+MTQxNDQ6IFNjcm9sbEJhcnMgY2FuJ3QgYmUgbWFkZSBpbnZpc2libGUgb24gUG9ja2V0UEMgIAo8YnI+MjAyNjU6IEYzLiB0ZXN0IEMzLiBObyBuZXcgdXBkYXRlcyBmb3IgRWNsaXBzZSBvbiBIUC4gIAo8YnI+MjAzNjI6IENvb2xiYXIgY2Fubm90IGJlIHRyYXZlcnNlZCB0byAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwNDYgLSBGcmlkYXkgSnVuZSAxNCwgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KMTY4MDk6IENsaWNraW5nIHRvIGNsb3NlIG5vbi1hY3RpdmUgZWRpdG9yIGRvZXNuJ3QgaGF2ZSBhbiBhZmZlY3QgIAo8YnI+MTY5Mzk6IERuRDogTW92aW5nIHRoZSBtb3VzZSB3aGlsZSBkcm9wcGluZyBiZWhhdmVzIHN0cmFuZ2VseSB3aGlsZSBkcmFnZ2luZyB2aWV3cwo8YnI+MTcxOTA6IE5vIGNlbGwgZWRpdG9yIHN1cHBvcnQgIAo8YnI+MTc1NjM6IEZsYXQgdG9vbCBiYXIgYnV0dG9ucyAgCjxicj4xNzYyMTogUmVzb3VyY2UgUGF0Y2hlciB3aXphcmQgLSB3aWRnZXRzIG5vdCBwcm9wZXJseSBhbGlnbmVkICAKPGJyPjE5MDg5OiBObyBwb3B1cCBtZW51IGphdmEgZWRpdG9yIHJ1bGVyIChQaG90b24pICAKPGJyPjE5MjQzOiBFY2xpcHNlIGxhdW5jaGVycyBoYXZlIGhhcmRjb2RlZCBqOSBhcmdzICAKPGJyPjE5MjQ0OiBTcGFjaW5nIGJldHdlZW4gVGFibGUgcm93cyBncm93cyB3aXRoIG51bWJlciBvZiByb3dzICAKPGJyPjIwMDA2OiBYIFBvaW50ZXIgZ3JhYiBub3QgcmVsZWFzZWQgIAo8YnI+MjAwNDQ6IFVuYWJsZSB0byBzY3JvbGwgbGljZW5zZSB0ZXh0IHVzaW5nIGtleWJvYXJkICAKPGJyPjIwMDcyOiBXb3JrYmVuY2ggYm91bmNlcyB3aGVuIHN3dGljaGluZyBwZXJzcGVjdGl2ZXMgIAo8YnI+MjAxMzQ6IEVjbGlwc2UgQ0xPU0VTIGF1dG9tYXRpY2FsbHksIHdoZW4gaSdtIHdvcmtpbmcgaW4gaXQgIAo8YnI+MjAxODQ6IENvbG9yIGphdmFkb2MgY291bGQgdXNlIHJlZmVyZW5jZSB0byBEZXZpY2UuZ2V0U3lzdGVtQ29sb3IoKSAgCjxicj4yMDIwOTogSGFuZyBkdWUgdG8gT1MgbG9ja2luZyAgCjxicj4yMDM1NDogR1Agd2hlbiBhdHRlbXB0IHRvIGNoZWNrIG91dCBTV1QgZnJvbSByZXBvc2l0b3J5ICAKPGJyPjIwMzcyOiBUcmFja2VyIG5lZWRzIG1vcmUgamF2YWRvYyAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwNDYgLSBUdWVzZGF5IEp1bmUgMTEsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjE2ODA5OiBDbGlja2luZyB0byBjbG9zZSBub24tYWN0aXZlIGVkaXRvciBkb2Vzbid0IGhhdmUgYW4gYWZmZWN0ICAKPGJyPjE2OTM5OiBEbkQ6IE1vdmluZyB0aGUgbW91c2Ugd2hpbGUgZHJvcHBpbmcgYmVoYXZlcyBzdHJhbmdlbHkgd2hpbGUgZHJhZ2dpbmcgdmlld3MKPGJyPjE3MTkwOiBObyBjZWxsIGVkaXRvciBzdXBwb3J0ICAKPGJyPjE3NTYzOiBGbGF0IHRvb2wgYmFyIGJ1dHRvbnMgIAo8YnI+MTc2MjE6IFJlc291cmNlIFBhdGNoZXIgd2l6YXJkIC0gd2lkZ2V0cyBub3QgcHJvcGVybHkgYWxpZ25lZCAgCjxicj4xOTA4OTogTm8gcG9wdXAgbWVudSBqYXZhIGVkaXRvciBydWxlciAoUGhvdG9uKSAgCjxicj4xOTI0MzogRWNsaXBzZSBsYXVuY2hlcnMgaGF2ZSBoYXJkY29kZWQgajkgYXJncyAgCjxicj4xOTI0NDogU3BhY2luZyBiZXR3ZWVuIFRhYmxlIHJvd3MgZ3Jvd3Mgd2l0aCBudW1iZXIgb2Ygcm93cyAgCjxicj4yMDAwNjogWCBQb2ludGVyIGdyYWIgbm90IHJlbGVhc2VkICAKPGJyPjIwMDQ0OiBVbmFibGUgdG8gc2Nyb2xsIGxpY2Vuc2UgdGV4dCB1c2luZyBrZXlib2FyZCAgCjxicj4yMDA3MjogV29ya2JlbmNoIGJvdW5jZXMgd2hlbiBzd3RpY2hpbmcgcGVyc3BlY3RpdmVzICAKPGJyPjIwMTM0OiBFY2xpcHNlIENMT1NFUyBhdXRvbWF0aWNhbGx5LCB3aGVuIGknbSB3b3JraW5nIGluIGl0ICAKPGJyPjIwMTg0OiBDb2xvciBqYXZhZG9jIGNvdWxkIHVzZSByZWZlcmVuY2UgdG8gRGV2aWNlLmdldFN5c3RlbUNvbG9yKCkgIAo8YnI+MjAyMDk6IEhhbmcgZHVlIHRvIE9TIGxvY2tpbmcgIAo8YnI+MjAzNTQ6IEdQIHdoZW4gYXR0ZW1wdCB0byBjaGVjayBvdXQgU1dUIGZyb20gcmVwb3NpdG9yeSAgCjxicj4yMDM3MjogVHJhY2tlciBuZWVkcyBtb3JlIGphdmFkb2MgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDQ1IC0gVHVlc2RheSBKdW5lIDExLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoxNTI0MjogQ29vbEJhciAtIGxheW91dCBpc3N1ZXMgIAo8YnI+MTg1MTc6IENvb2xiYXIgLSBkZWxldGUgYW5kIHJvdyBsYXlvdXQgYnVnICAKPGJyPjE5MDkwOiBDb21ibyBkb2Vzbid0IHNpemUgaXRzZWxmIHByb3Blcmx5IGluIEdUSzIgIAo8YnI+MTk2NzA6IFJlZ3Jlc3Npb24gaW4gT0xFIHN1cHBvcnQgIAo8YnI+MTk2NzE6IFVuYWJsZSB0byBleHBhbmQvY29sbGFwc2UgdHJlZXMgaW4gcHJvcGVydGllcyB2aWV3ICAKPGJyPjE5NzIwOiBDb29sYmFyIC0gZ2V0UHJlZmVycmVkU2l6ZSBwcm9ibGVtICh3YXMgZ2V0Q2xpZW50QXJlYSBwcm9ibGVtKQo8YnI+MTk3ODc6IEhvdmVyIGhlbHAgaXMgbm90IHJlbW92ZWQgIAo8YnI+MTk5NDc6IEdUSzIgc2VuZHMga2V5IGV2ZW50cyB3aXRoIGJvdGgga2V5Q29kZSBhbmQgY2hhcmFjdGVyIGVxdWFscyB0byAwIGZvciBzb21lIGtleXMKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDA0NCAtIE1vbmRheSBKdW5lIDEwLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0ODA3OiBUZXh0LnNldEVjaG9DaGFyIHNwZWMgc2hvdWxkIHNheSAwIDw9IGNoYXIgPCAxMjggKDFHSjZDRE0pICAKPGJyPjQ4Mzc6IEphdmFkb2M6IEN1cnNvciBjb25zdHJ1Y3RvciBFUlJPUl9OT19IQU5ETEVTIGlzIG5vdCBzcGVjJ2VkICgxR0tBN1E5KQo8YnI+NTU3NzogVGV4dCBqYXZhZG9jICAKPGJyPjc1MjY6IE5vIHNwZWMgZm9yIERpc3BsYXkudXBkYXRlKCkgIAo8YnI+ODUxMzogSmF2YURvYyBmb3IgTWVudS5hZGRNZW51TGlzdGVuZXIgaW5jb3JyZWN0ICAKPGJyPjEyODIwOiBGaW5pc2hpbmcgcHJldmlldyBvZiB0aGUgcmVmYWN0b3JpbmcgY29kZSBjcmFzaGVzIEVjbGlwc2UgIAo8YnI+MTQ0NjM6IEdQIG9wZW5pbmcgdHdvIGZpbGVzIGF0IHRoZSBzYW1lIHRpbWUgIAo8YnI+MTU0NjA6IENvb2xCYXIgZG9jIHVuY2xlYXIvaW5zdWZmaWNpZW50ICAKPGJyPjE1OTM5OiBLZXlFdmVudCBjaGFyYWN0ZXIgaXMgbm90IGNvbnNpc3RlbnQgYmV0d2VlbiBMaW51eCBhbmQgV2luZG93cwo8YnI+MTY4MTA6IE1vdXNlIHBvaW50ZXIgbm90IHVwZGF0ZSAgCjxicj4xNjgzNzogS2V5cyBjb21wbGV0ZWx5IGxvc3QgIAo8YnI+MTY4ODM6IFZhcmlhYmxlIHNvcnRpbmcgY2hhbmdlcyB1bmV4cGVjdGVkbHkgIAo8YnI+MTY4OTU6IEluLXBsYWNlIHRleHQgZmllbGRzIGFyZSB1bnVzYWJsZSAgCjxicj4xNzAzNjogRGlzcG9zaW5nIGEgQ29vbEl0ZW0gaXMgdHJpZ2dlcmluZyBhbiBhY3RpdmF0aW9uIGNhbGxiYWNrLiAgCjxicj4xNzE0NjogRWRpdG9yIFByZWZlcmVuY2UgcGFnZSBidXR0b20gbGlzdCBjbGlwcGVkICAKPGJyPjE3MTU0OiBWaWV3IHBhcnQgbG9zZXMgZm9jdXMgd2hlbiBvcGVuaW5nIGNvbnRleHQgbWVudSAgCjxicj4xNzI4OTogQ29tYm8gZG9lc24ndCB0YWtlIGZvY3VzIGJ5IGNsaWNraW5nIG9uIGl0IChQaG90b24pICAKPGJyPjE3MjkwOiBNb2RpZnkgTWV0aG9kIFBhcmFtZXRlcnM6IHdyb25nIGVuYWJsZW1lbnQgb2YgYnV0dG9ucyAgCjxicj4xNzUwNzogQUlYIEZpbGVEaWFsb2cgaXMgbm90IHJlc3BvbnNpdmUgaW4gc3RhbmQtYWxvbmUgZXhhbXBsZSAgCjxicj4xNzYxMzogQWRkIGZyb20gbG9jYWwgaGlzdG9yeSBzaG93cyBub3RoaW5nIGluIHJpZ2h0IGFuZCBsb3dlciBwYW5lCjxicj4xNzY3MDogQ2Fubm90IG1vdmUgdGhyb3VnaCBQbHVnLWluIENvZGUgR2VuZXJhdGlvbiBwYWdlIGxpc3Qgd2l0aCBhcnJvdyBrZXlzCjxicj4xNzY5MjogSUFFIHdoZW4gZGVsZXRpbmcgbGluZSBpbiBKYXZhIEVkaXRvciAgCjxicj4xNzc1MjogQ2Fubm90IHNlbGVjdCBhIG5vbi1ib2xkIGZvbnQgIAo8YnI+MTc3ODg6IFNjYWxlIHdpdGggcHJlZmVycmVkIHNpemUgaXMgdW51c2FibGUgKG5vIHJhbmdlIG9mIG1vdGlvbikgIAo8YnI+MTc4NDg6IEYxIGJ1aWxkLCBKVk0gdGVybWluYXRlZCBFeGl0IGNvZGUgMTM5ICAKPGJyPjE3OTM2OiBFY2xpcHNlIGxhdW5jaGVyIG11c3QgbGF1bmNoIGhlYWRsZXNzIGluIGhlYWRsZXNzIGVudmlyb25tZW50cwo8YnI+MTg0Mzk6IEN0cmwrRjYgZWRpdG9yIHN3aXRjaGluZyBpcyB1bnVzYWJsZSAgCjxicj4xODUwODogSmF2YWNvcmVkdW1wIHdoZW4gb3BlbmluZyB2ZXJ0aWNhbCBydWxlciBjb250ZXh0IG1lbnUgIAo8YnI+MTg1MjE6IENvb2xiYXIgbGF5b3V0IGFuZCBjaGV2cm9uIGJ1ZyAgCjxicj4xODU0MzogQW4gaW52aXNpYmxlIGNoYXJhY3RlciBpcyBhZGRlZCB3aGVuIHRoZSAnV2luZG93cycga2V5IGlzIHByZXNzZWQKPGJyPjE4NjI1OiBUYWJiaW5nIGluIEphdmEgZWRpdG9yIHRha2VzIGN1cnNvciAgCjxicj4xODYyOTogR1RLOiBVbmFibGUgdG8gc2VsZWN0IGRpYWxvZyBidXR0b25zIHdpdGggbW91c2UgIAo8YnI+MTg2NDU6IFJlbGVhc2UgU1dUIHNvdXJjZXMgJiBqYXZhZG9jIGluIGZ1dHVyZSBidWlsZHMgIAo8YnI+MTg3MzM6IENvbnRyb2xFeGFtcGxlOiBMaXN0IHdpZGdldCBub3QgYmVpbmcgcmVzaXplZCBwcm9wZXJseSAgCjxicj4xODgwNDogR1BGIHNldHRpbmcgaW1hZ2UgdG8gbWVudSBpdGVtIChQaG90b24pICAKPGJyPjE4ODM4OiBMYXVuY2ggQ29uZmlndXJhdGlvbnMgZGlhbG9nIGNyZWVwcyB1cCAgCjxicj4xODg0MTogUXVlc3Rpb246IFdoYXQgZG9lcyAtRE1CQ1MgZG8/ICAKPGJyPjE4OTMwOiBXcm9uZyBjb250ZW50IGRpc3BsYXllZCBpbiB0YWJzIGluIHRoZSBMYXVuY2ggQ29uZmlndXJhdGlvbiBEaWFsb2cKPGJyPjE4OTM0OiBTY3JvbGxiYXJzIHNob3VsZCBiZSBkaXNhYmxlZCBpbiBJbWFnZUFuYWx5emVyIGV4YW1wbGUgIAo8YnI+MTkwNTc6IFByb2JsZW0gc2F2aW5nIGphdmEgZmlsZSB0aHJvdWdoIHBvcHVwIG1lbnUgIAo8YnI+MTkxMTY6IE1pc3NpbmcgYWJvdXQuaHRtbCBpbiBzb3VyY2UgZGlyZWN0b3J5IGZvciBleGFtcGxlcyAgCjxicj4xOTE2OTogTlBFIG9uIEVtdWxhdGVkIENvb2xJdGVtIGNvbnN0cnVjdG9yICAKPGJyPjE5MzQ1OiBUYXNrIFZpZXc6IE5vdCBjbGVhcmluZyBwcmlvcml0eSBpY29ucyAgCjxicj4xOTM5NDogRmFsc2UgInVuc2F2ZWQgY2hhbmdlcyIgbm90aWZpY2F0aW9uIGZyb20gbGF1bmNoIGNvbmZpZ3MgIAo8YnI+MTk1MDM6IFdpZGdldCBpbiBvdXRsaW5lciBnZXRzIHdyYXBwZWQvY3JvcHBlZCAgCjxicj4xOTU5NTogU3R5bGVkVGV4dCAtIHJlZHJhd1JhbmdlIG5vdCBjbGVhcmluZyBwcm9wZXJseSB3aGVuIGNsZWFyIGZsYWcgc2V0Cjxicj4xOTY2MDogUHJlZmVyZW5jZSBwYWdlIGRvZXMgbm90IGV4cGFuZCB0byBmaXQgYWxsIHdpZGdldHMgIAo8YnI+MTk3Njk6IEludGVybmV0IEV4cGxvcmVyIGFuZCBIZWxwLCBFWENFUFRJT05fQUNDRVNTX1ZJT0xBVElPTiAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwNDMgLSBGcmlkYXkgTWF5IDMxLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NjkyOiBFbXB0eSBwb3B1cCBtZW51IGFwcGVhcnMgaW4gT3V0bGluZSB2aWV3ICgxR0VUMUIxKSAgCjxicj44ODIxOiBPcGVuaW5nIGVkaXRvcnMgaGFzIGJlY29tZSB2ZXJ5IHNsb3cgIAo8YnI+MTU1NjU6IENvb2xiYXIgLSBtaW5pbXVtV2lkdGggbm90IGhvbm9yZWQgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zICAKPGJyPjE2Njg4OiBTZWxlY3Rpb24gYmFja2dyb3VuZCBvbiBlbXVsYXRlZCB3aWRnZXRzIGlzIHdyb25nICAKPGJyPjE3MTUwOiBTdHJhbmdlIHNlbGVjdGlvbiBiZWhhdmlvdXIgaW4gSmF2YSBCcm93c2luZyBQZXJzcGVjdGl2ZSAgCjxicj4xNzE1NjogRGVsZXRlIGtleSBub3Qgd29ya2luZyBpbiBwYWNrYWdlIHZpZXcgIAo8YnI+MTcyMjg6IFdlaXJkIFRyZWUgc2VsZWN0aW9uIGJlaGF2aW91ciAgCjxicj4xNzM1NDogRG91YmxlIGNsaWNraW5nIGV4cGFuZHMgYW5kIGNvbGxhcHNlcyBpdGVtICAKPGJyPjE3MzYzOiBUZXN0IEE0LjQgY2Fubm90IGVkaXQgYWN0aW9uIHNldCBpZCBpbiBwcm9wZXJ0aWVzIHZpZXcgIAo8YnI+MTc2ODA6IE91dGxpbmUgZG9lc24ndCBleHBhbmQgd2hlbiBhZGRpbmcgbmV3IG1ldGhvZCAgCjxicj4xNzgyNTogQ29udHJvbEV4YW1wbGUtPlRleHQgYmVlcHMgd2hlbiBJIGNob29zZSBTV1QuTVVMVEkgIAo8YnI+MTc4MzE6IENvb2xiYXIgLSBjaGV2cm9uIG5vdCBhbHdheXMgZGlzcGxheWVkIHdoZW4gaXQgc2hvdWxkIGJlICAKPGJyPjE4MTYwOiAiU2hvdyBpbiBwYWNrYWdlcyB2aWV3IiBkb2Vzbid0IHNjcm9sbCB0byBzZWxlY3Rpb24gIAo8YnI+MTgyMjk6IFdhbGtiYWNrIHdoZW4gY2xvc2luZyBJbWFnZUFuYWx5emVyICAKPGJyPjE4MzY4OiBHZXQgcmlkIG9mIGFsbCBmcmFnbWVudC5wcm9wZXJ0aWVzICAKPGJyPjE4Mzc2OiBObyBleGVjdXRlIHBlcm1pc3Npb25zIG9mIGxpYnJhcmllcyAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwNDIgLSBUaHVyc2RheSBNYXkgMzAsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ1MzM6IENoZWVzZSB3aGVuIHJlc2l6aW5nIHRvb2xiYXIgKDFGV0w5NDMpICAKPGJyPjQ4NDE6IFNXVCBzYW1wbGUgaW1hZ2V2aWV3ZXIgbm90aGluZyBkaXNwbGF5IGF0IHBpeGVsIGRhdGEgYXJlYSAoMUdLRU9VRSkKPGJyPjY3MzU6IEFXVC9TV1QgLSBTd2luZyAvIFN3dCBpbnRlZ3JhdGlvbiA6IEpDb21ib0JveCBkb2Vzbid0IHNob3cgY29ycmVjdGx5Cjxicj4xMDk3MjogQ29yZSBkdW1wIGRyYWcgYW5kIGRyb3BwcGluZyBmcm9tIGlubGluZSB0ZXh0ICAKPGJyPjEyNDk4OiBVbmFibGUgdG8gYWRkIEV4dGVybmFsIEphciB1c2luZyB0aGUgSmF2YSBQcm9qZWN0IFdpemFyZCAgCjxicj4xNjE3NDogV3JvbmcgcG9wdXAgbWVudSAgCjxicj4xNjU1MzogU1dUX0FXVC5uZXdfUGFuZWwgZG9lcyBub3Qgd29yayAgCjxicj4xNjc5MTogQ2FuJ3Qgc2VsZWN0IGNoZWNrIGJveGVzICAKPGJyPjE3MTk5OiBUYWJsZSB3aWRnZXQgLSBvbmx5IGxhc3QgY29sdW1uIGhlYWRlciBpcyBjbGlja2FibGUgIAo8YnI+MTczNzU6IENoZWVzZSBvbiBKYXZhIFNjcmFwYm9vayBwYWdlIHJ1bGVyICAKPGJyPjE3MzkwOiBKVW5pdCB0ZXN0Y2FzZXMgcmVzdWx0IGZvciBHcmFwaGljcyAoMSBlcnJvciwgMiBmYWlsdXJlcykgIAo8YnI+MTc1NjU6IEFkZCBKUkUgdmFsaWRhdGlvbiBub3Qgd29ya2luZyAgCjxicj4xNzU2ODogRXJyb3IgZG9lc24ndCBkaXNhcGVhciB3aGVuIHN3aXRjaGluZyB0byBzb3VyY2UgZm9sZGVyIGxheW91dAo8YnI+MTc1NzQ6IFN0YXR1cyBsaW5lIGNvbnRyaWJ1dGlvbnMgYXBwZWFyIHR3aWNlICAKPGJyPjE3NjM3OiBSZXNpemUgcHJvYmxlbSB3aGVuIGRpYWJsZWluZyBvdmVydmlldyBydWxlciBpbiBFZGl0b3IgIAo8YnI+MTc2NjI6IEluY29ycmVjdCBzdGF0dXMgZGlzcGxheSBpbiBuZXcgRmVhdHVyZSBXaXphcmQgIAo8YnI+MTc5MTc6IFNoaWZ0LVRhYiBkb2VzIG5vdCB3b3JrICAKPGJyPjE4MjIzOiBUZXh0IHdpZGdldCB3aXRoIFNXVC5NVUxUSSBoYXMgc3RyYW5nZSBiZWhhdmlvciBvbiBHVEsgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDQxIC0gVHVlc2RheSBNYXkgMjgsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQzOTg6IFZpc3VhbCBDb29yZGluYXRpb246IEJvcmRlcnMgKDFGU0dPTkcpICAKPGJyPjQ0MTE6IERDUiAtIFN1cHBvcnQgcHJpbnRpbmcgKDFQUThRQ0spICAKPGJyPjQ0MjY6IFNjcm9sbEJhciAtIENhbid0IHF1ZXJ5IHNpemUgKDFGRFZQMjMpICAKPGJyPjQ0MzE6IEZvbGRlciB0YWIgZG9lcyBub3QgZ2V0IGZvY3VzICgxRklHSTk1KSAgCjxicj40NDM3OiBUcmVlIEtleWJvYXJkIFN1cHBvcnQgKDFGT0xaUFQpICAKPGJyPjQ0NTI6IE1lbnVJdGVtOiBzZXRJbWFnZSBkb2VzIG5vdCBzaG93IGltYWdlIG9uIG1lbnUgKDFGR05QOFUpICAKPGJyPjQ0Njk6IEluY29uc2lzdGVuY2llcyBiZXR3ZWVuIHNpbmdsZSBsaW5lIFRleHQgYW5kIFJpY2hUZXh0IHdpZGdldHMgKDFGSzFSUk0pCjxicj40NDc0OiBOb3Qgc3VwcG9ydHRpbmcgV2luZG93cyBBY2Nlc3NpYmlsaXR5IFN0YW5kYXJkPyAoMUZNMElGUykgIAo8YnI+NDQ5MDogRm9udHMgaW4gZXhhbXBsZXMgYXBwZWFyIHRvbyBiaWcgKDFGT01DV1EpICAKPGJyPjQ0OTY6IERDUiAtIENvbnRvdXIgbW91c2UgbWlkZGxlIGJ1dHRvbiBkb2Vzbid0IHdvcmsgKDFGUkVBUzQpICAKPGJyPjQ1MDM6IEZvbnREaWFsb2cgaXMgbWlzc2luZyBmb250cyAoMUZTTVJWMCkgIAo8YnI+NDUyNjogU2V2ZXJlIC0gRGVsZXRlIGtleSBpcyBub3QgcmVkaXJlY3RlZCB0byBlZGl0b3IgKDFGVlhEU1QpICAKPGJyPjQ1Mjk6IENsb3NpbmcgZXh0ZXJuYWwgTVMgV29yZCBtYWtlcyBpbi1wbGFjZSBNUyBXb3JkIGRpc2FwcGVhciAoMUZXRzlBUikKPGJyPjQ1MzQ6IEZsYXNoaW5nIHdoZW4gY29tcHV0ZVNpemUgY2FsbGVkIG9uIFRvb2xiYXIgKDFGV0xEMUUpICAKPGJyPjQ1NDU6IE5vIE9TLkdldEtleVN0YXRlIGZ1bmN0aW9uIG9uIG1vdGlmICgxRlpRT1pNKSAgCjxicj40NTUwOiBKVW5pdCB0ZXN0cyBhc3N1bWVzIGJvdW5kYXJ5IGNvbmRpdGlvbiB3aGljaCBpcyBzZXR0aW5nIGRlcGVuZGFudCAoMUcwTFFLRCkKPGJyPjQ1NTI6IEFkb2JlIGRvZXNuJ3QgbGlrZSBJbWFnZURhdGEuLi4gKDFHMFpCRTApICAKPGJyPjQ1NjM6IE5lZWQgc3VwcG9ydCBmb3IgKi54cG0gYW5kICoucG5nIGltYWdlIGZpbGUgZm9ybWF0cyAoMUczSFdTQSkKPGJyPjQ2MzY6IFRvb2x0aXBzIG5vdCB3b3JraW5nIG9uIExpbnV4ICgxR0NONEZLKSAgCjxicj40NjcyOiBEQ1IgLSBJbmNsdWRlICJiZWdpbmluZyAvIGVuZCAiIGFycm93cyB0byBzZWxlY3QgZmlsZXMgKDFHRUZZQ0cpCjxicj40Njc5OiBDb2xvdXIgZ3JhZGllbnQgb2Ygdmlld3MgaXMgbm90IGdyYWR1YWwgKDE2Yml0IGNvbG9yIGRlcHRoKSAoMUdFTFdTTykKPGJyPjQ2OTk6IERDUiAtIG91dHN0YW5kaW5nIGlzc3VlIGZvciBjdXN0b21lci0gQ2hhbmdpbmcgY3Vyc29yIGR1cmluZyBkcmFnIG9wZXJhdGlvbiAoMUdFVEM4VSkKPGJyPjQ3MDM6IFdpbk1FIC0gRGlzYWJsZWQgaWNvbnMgaW4gdGFiYmVkIGZvbGRlciBkbyBub3QgZGlzcGxheSBwcm9wZXJseS4gKDFHRVdYTEkpCjxicj40NzA2OiBTdGFja092ZXJmbG93IHJlc2l6aW5nIFdvcmtiZW5jaCB3aW5kb3cgKDFHRVdMU1UpICAKPGJyPjQ3MDg6IEZBVEFMIFggZXJyb3IgKDFHRjA3SE4pICAKPGJyPjQ3MDk6IEdQIHJ1bm5pbmcgKCBFY2xpcHNlIF4gMiApICgxR0VaOVVSKSAgCjxicj40NzExOiBOYXZpZ2F0b3IgbWVzc2VkIHVwIHdoZW4gbWlkaSh3L0RCQ1MpIGluIGl0IC1DYW4ndCBjcmVhdGUgdmlldyAoMUdFWk5WQykKPGJyPjQ3Mjg6IFdpbmRvd3Mgd2l0aCB0YWIgcGFnZXMgc2hvdWxkIGFsbG93IEN0cmwtVGFiIHN3aXRjaGluZyAoMUdGSVVHNSkKPGJyPjQ3ODU6IERDUiAtIEN1c3RvbSBub3RlYm9vayBzY3JvbGxpbmcgbm90IG9wdGltYWwgKDFHSTk3VlopICAKPGJyPjQ4Mzk6IFRhYkZvbGRlciBtbmVtb25pYyBwcm9ibGVtICgxR0tBUEtLKSAgCjxicj40ODQwOiBIZWJyZXc6IGNhbm5vdCBwYXN0ZSBmcm9tIGV4dGVybmFsIGZpbGUgaW50byBqYXZhIGVkaXRvciAoMUdLQ1dWWCkKPGJyPjQ4NTE6IFByaW50IGlnbm9yZXMgcHJpbnQgdG8gZmlsZSBvcHRpb24gKDFHS1hDMzApICAKPGJyPjQ4Njc6IFBnTWVtRmx1c2goKSBjb25zaWRlcmVkIGV4cGVuc2l2ZSAoMUdMRUVKQykgIAo8YnI+NTY5NzogKlBsZWFzZSogbWFrZSBTV1QgdXNlIEdUSysgaW5zdGVhZCBvZiBNb3RpZiAgCjxicj44MzQ2OiBXb3JrYmVuY2ggd2lsbCBub3Qgc3RhcnQgIAo8YnI+OTIxNzogSW50ZXJuYWwgZXJyb3IgYXQgb3BlbiB0aGUgcGFja2FnZSB2aWV3ICAKPGJyPjk0OTE6IDFHUlRSWFE6IFdTV0I6V29ya2JlbmNoIDIuMCBQcm9ibGVtLSBBcnJheUluZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24gd2l0aCBNdWx0aVBhZ2VFZGl0b3JQYXJ0Cjxicj4xMTIwNDogU29tZSBBY3RpdmVYIGNvbnRyb2wgY2FuIG5vdCBhY2NlcHQga2V5IGlucHV0LiAgCjxicj4xMTQzNjogUmVxdWVzdCBmb3IgcHVibGljIGludGVyZmFjZSB0byBjYWxsICJVSURlYWN0aXZhdGUoKSIgb2YgIElPbGVJblBsYWNlT2JqZWN0Cjxicj4xMTQ5ODogU3R5bGVkVGV4dCBkb2VzIG5vdCBhbHdheXMgcmVkcmF3IHdoZW4gdGhlIGxpbmUgc3R5bGUgY2hhbmdlcwo8YnI+MTQ4NDY6IEFjY2Vzc2liaWxpdHk6IGdldExvY2F0aW9uIGRvZXMgbm90IHBvc2l0aW9uIFhQIE1hZ25pZmllciAgCjxicj4xNTIxODogUGxhdGZvcm0gZG9lcyBub3QgcmVjb2duaXplIHRoZSBHVUkgLSAyMDAyMDUwMiAgCjxicj4xNTQ2NjogSW1hZ2VEYXRhLmJsaXQgdGhyb3dzIEFycmF5SW5kZXhPdXRPZkJvdW5kcyBFeGNlcHRpb24gIAo8YnI+MTU1NDg6ICdYJyBjbG9zZSBib3ggb24gdGFiIGhpZGRlbiBieSBhcnJvd3MgIAo8YnI+MTU1NjQ6IGphdmF3LmV4ZSBoYXMgZ2VuZXJhdGVkIGVycm9ycyBhbmQgd2lsbCBiZSBjbG9zZWQgYnkgd2luZG93cyAgCjxicj4xNTY1MzogVGFiIGhhbHRzIG9uIENDb21ibyBvYmplY3RzICAKPGJyPjE2MDk0OiBDaGVlc2Ugb24gQ1RhYkZvbGRlciB3aGVuIHJlc2l6aW5nICAKPGJyPjE2MjAwOiBUcmFja2VyIGxlYXZlcyBjaGVlc2UgIAo8YnI+MTYzNDU6IEpWTSB0ZXJtaW5hdGlvbiB3aGVuIGF0dGVwbXRpbmcgdG8gcnVuIFVwZGF0ZSBNYW5hZ2VyICAKPGJyPjE2NDU4OiBUcnlpbmcgdG8gZnJlZSBhIEdka0V2ZW50OiBwb2ludGVyPU5VTEwgIAo8YnI+MTY1NDk6IENhbm5vdCBuYXZpZ2F0ZSB0YWJiZWQgbm90ZWJvb2sgd2l0aCBrZXlib2FyZCAgCjxicj4xNjU1NzogVGFiIGRvZXMgbm90IG1vdmUgY3Vyc29yIGJldHdlZW4gdGV4dCBmaWVsZHMgIAo8YnI+MTY1NjU6IFR5cGVkIHRleHQgaXMgbG9zdCAgCjxicj4xNjU3NjogQUNDOiBDaGVja2JveGVzIGluIGxpc3RzIGFyZSBub3QgcmVhbCBjaGVja2JveGVzICAKPGJyPjE2ODI4OiBDVGFiRm9sZGVyIGZsYXNoaW5nIHRvb2x0aXAgIAo8YnI+MTY5Mjc6IEV4dGVybmFsIHByb2dyYW1zIHN1cHBvcnQgb24gUGhvdG9uICAKPGJyPjE2OTU3OiBUcmVlSXRlbS5zZXRGb3JlZ3JvdW5kQ29sb3IoKSBkb2Vzbid0IHdvcmsgIAo8YnI+MTY5Njc6IFN0cmFuZ2Ugc2Nyb2xsIGJlaGF2aW9yIGluIHBhY2thZ2UgZGlhbG9nICAKPGJyPjE2OTk1OiBIb3ZlckhlbHAgZXhhbXBsZSBkb2VzIG5vdCBjcmVhdGUgT05fVE9QIFNoZWxsIGZvciB0b29sdGlwcyAgCjxicj4xNzAyMjogU1dUIExheW91dHMgZXhhbXBsZSAtIG1pc3Npbmcgd2luZG93IHRpdGxlICAKPGJyPjE3MDkwOiBTdHlsZWRUZXh0IHNlbGVjdHMgdGV4dCB3aGVuIG1lbnUgaXMgc2hvd2luZyAgCjxicj4xNzE4MzogSWNvbiBpbiB3aXphcmQgYmFubmVyIGNsaXBwZWQgIAo8YnI+MTcyMDg6IExvbmcgb3BlcmF0aW9ucyBhcmUgYmVpbmcgbW9kYWwuICAKPGJyPjE3MzA1OiBTZWFyY2ggRGlhbG9nOiBKYXZhIFBhZ2UgY2xpcHBlZCAgCjxicj4xNzMyMDogU2VhcmNoIGRpYWxvZyBmcmVlemVzIEVjbGlwc2UgIAo8YnI+MTczNjg6IDQgVG9vbGJhciBpY29ucyBwdXNoZWQgb2ZmIHRoZSB0b29sYmFyIHdheSB0byB0aGUgcmlnaHQgIAo8YnI+MTc0ODg6IEltYWdlIFN1cHBvcnQgaW4gU1dUIC0gRkFRICgxRzVaMUtTKSAgCjxicj4xNzQ5NzogRmlsZURpYWxvZyBvcGVuKCkgcmV0dXJucyB3cm9uZyByZXN1bHQgIAo8YnI+MTc2MzI6ICJDb2xvciBCdXR0b24iIGRvZXNuJ3QgdXBkYXRlICAKPGJyPjE3ODAyOiBNb3ZpbmcgYSBzYXNoIHJlcXVpcmVzIGFuIGV4dHJhIGNsaWNrIHRvIHRha2UgZWZmZWN0ICAKPGJyPjE3ODExOiBUd28gbWVudSBiYXIgaXRlbXMgaGlnaGxpZ2h0ZWQgYXQgdGhlIHNhbWUgdGltZSAgCjxicj4xNzgxNjogTWVudSBhcHBlYXJzIHRoZW4gZGlzc2FwcHJlYXJzIHdpdGggY2xpY2sgYWZ0ZXIgQWx0LiAgCjxicj4xNzgzMjogVmVydGljYWwgU2Nyb2xsYmFyIGNsaXBwZWQgIAo8YnI+MTc4MzQ6IEphdmFEb2MgQVBJIGJhZCBmb3IgSW1hZ2UgIAo8YnI+MTc4MzU6IFNtYWxsdGFsayBjb2RlIGFyb3VuZCA6KSAgCjxicj4xNzkyODogTlBFIG9uIGFkZHJlc3Nib29rIGV4YW1wbGUgIAo8YnI+MTc5MzI6IEVtdWxhdGVkIENvb2xiYXIgZG8gbm90IHJlc2l6ZSB3aGVuIHRoZSBsYXN0IGl0ZW0gb24gdGhlIHJvdyBpcyByZW1vdmVkCjxicj4xNzkzMzogRW11bGF0ZWQgQ29vbGJhciBjaGV2cm9uIHRvbyBuYXJyb3cgb24gUGhvdG9uICAKPGJyPjE4MDA1OiBCdXN5SW5kaWNhdG9yIHNob3VsZCBjaGVjayBhcmdzICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDA0MCAtIFR1ZXNkYXkgTWF5IDIxLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgozNTU0OiBUUDEyNTogd2VpcmQgdGFiIG9yZGVyIGluIGNyZWF0ZSBwcm9qZWN0IHdpemFyZCAoMUc4M1ZQOCkgIAo8YnI+NDQyNDogVGFibGUgZHJhd3MgYSBzdHJheSBwaXhlbCBpbiB0b3AgbGVmdCBjb3JuZXIgKDFGUzlRQlEpICAKPGJyPjQ0NzY6IE5vIHN5bmNFeGVjIHJ1bm5hYmxlcyBydW4gZHVyaW5nIHNjcm9sbGluZyAoMUZNR0cyWCkgIAo8YnI+NDUyODogTmVlZCBGb2N1c0luIGV2ZW50IGZvciBPbGVDbGllbnRTaXRlICgxRlcyUzAwKSAgCjxicj40NTg2OiBVc2UgY2hlY2tXaWRnZXQoKSBtb3JlIG9mdGVuICgxRzgwVVJRKSAgCjxicj40NjA5OiBGaWxsTGF5b3V0IHNob3VsZCBoYXZlIEZpbGxMYXlvdXQodHlwZSkgY29uc3RydWN0b3IgKDFHOVhCUEkpCjxicj40Njk0OiBFZGl0b3IgTmFtZSBpcyBtaXNzaW5nIGZyb20gdGFiICgxR0VUOTNKKSAgCjxicj40NzI2OiBDT0RFIENIQU5HRVMgQUZURVIgVEhFIEZSRUVaRSAoMUdGOVlGMCkgIAo8YnI+NDc4ODogRmVhdHVyZSByZXF1ZXN0OiBzdHlsZWQgdHJlZSBpdGVtcyAoMUdJR0pLNCkgIAo8YnI+NDc4OTogWFAgLSBMb29rIGFuZCBmZWVsIHByb2JsZW1zICgxR0lHR0tNKSAgCjxicj40ODMxOiBETkQgbm90IHdvcmtpbmcgcHJvcGVybHkgKDFHSllPWkMpICAKPGJyPjQ4Mzg6IENhbiBjcmVhdGUgRm9udERhdGEgd2l0aCBudWxsIG5hbWUgc3RyaW5nICgxR0tBOTNQKSAgCjxicj40OTQxOiBGb2N1cyBjYWxsYmFjayBkdXJpbmcgT2xlQ2xpZW50U2l0ZSBkZWFjdGl2YXRlIGNhbGwgIAo8YnI+NDk0MjogQ29tYm8gc2VsZWN0aW9uIGluZGV4IHNob3VsZCBtb3ZlIHdoZW4gdXBwZXIgaXRlbSByZW1vdmVkICgxR0xHQTQxKQo8YnI+NTkxMDogVG9vbGJhciB3aXRoIGFsbCBpdGVtcyBkaXNhYmxlZCBzdGlsbCBzaG93cyB1cCBpbiB0YWIgb3JkZXIgIAo8YnI+NTkzNjogQ29tcG9zaXRlLnNldFRhYkxpc3Qgc2hvdWxkIGFjY2VwdCBudWxsICAKPGJyPjYxOTg6IEZvY3VzIGxvc3QgaW4gdGFiIGZvbGRlciB3aGVuIHN3aXRjaGluZyBwYWdlcyAgCjxicj42NDA2OiBKIElNRSBwb3NpdGlvbmluZyBpbmNvcnJlY3QKPGJyPjY1MTQ6IENvZGUgYXNzaXN0IGJlaGF2ZXMgZGlmZmVyZW50bHkgb24gTGludXggIAo8YnI+Njg1NjogRGVmYXVsdCBidXR0b25zIGRpZmZlcmVudCBvbiBWYXJpYWJsZSBkaWFsb2cgIAo8YnI+ODE2MjogQWNjZXNzaWJpbGl0eTogZm9jdXMgZ29lcyBtaXNzaW5nIGluIENWUyBsb2NhdGlvbiB3aXphcmQgIAo8YnI+ODc5MTogT3ZlcmFnZ3Jlc3NpdmUgZm9jdXMgZ3JhYmJpbmcgIAo8YnI+OTE0MTogV29ya0JlbmNoLT5QcmVmZXJlbmNlIGRpYWxvZydzIGJ1dHRvbnMgZm9udCBpcyB0b28gc21hbGwuICAKPGJyPjkyODc6IENvbWJvLnNldFRleHQgZG9lcyBub3Qgd29yawo8YnI+MTA0OTE6IEJvbGQgYnV0dG9uIHdpbGwgbm90IGJvbGQgdGV4dCBpbiBTV1QgVGV4dEVkaXRvciBFeGFtcGxlICAKPGJyPjExMDc0OiBFdmVudFRhYmxlLnNlbmRFdmVudCBzaG91bGQgcHJvYmFibHkgdXNlIHRyeS9maW5hbGx5ICAKPGJyPjExMzQ5OiBFZGl0b3IgVGFicyBzaG91bGQgZmlsbCB0byB0aGUgcmlnaHQuICAKPGJyPjExMzY5OiBDb29sYmFyIGZlYXR1cmUgcmVxdWVzdHMgIAo8YnI+MTE1MTY6IFZpZXdGb3JtIHNob3VsZCBvdmVycmlkZSBjb21wdXRlVHJpbQo8YnI+MTE3Mzg6IGdyb3dpbmcgc3RhdHVzIGJhcgo8YnI+MTE4NDc6IE9MRSBFZGl0b3IgcHJldmVudHMgbmF2aWdhdGlvbiB3aXRob3V0IGtleXMgIAo8YnI+MTIzOTg6IEFjY2Vzc2liaWxpdHkgcHJvYmxlbXMgIAo8YnI+MTI2NDE6IEVycm9yIGluIC5jbGFzc3BhdGggZm9yIFBob3RvbiAgCjxicj4xMjkwNDogQWNjZXNzaWJsZSByZXNpemluZyBvZiBWaWV3cyBzaG91bGQgbW92ZS9jaGFuZ2UgdGhlIERpc3BsYXkncyBDdXJzb3IKPGJyPjEyOTcyOiBOb3RpY2VkIGluY3JlYXNlZCBudW1iZXIgb2YgRWNsaXBzZSBjcmFzaGVzICAKPGJyPjEzNjIyOiBEQ1IgLSBuZWVkIGFiaWxpdHkgdG8gY2FuY2VsIHdpbmRvdyBzeXN0ZW0gc2h1dGRvd24KPGJyPjE0NDQ5OiBbTTVdIGVycm9yIGJyaW5naW5nIHVwIENvZGUgRm9ybWF0dGVyIHBhZ2UgIAo8YnI+MTQ1NDY6IFRhYmxlQ29sdW1uIGFsaWdubWVudCBwcm9ibGVtIHdpdGggTW90aWYgIAo8YnI+MTQ2NTY6IFJlcGFpbnQgb2Ygd2luZG93IGRvZXMgbm90IHdvdGsgd2l0aCBJTUUgdXAKPGJyPjE0ODAxOiBNbmVtb25pYyBjaGFyYWN0ZXIgZG9lc24ndCB3b3JrIG9uIFRhYkZvbGRlciBvbiBRTlggIAo8YnI+MTUxMjQ6IE5QRTogTGFiZWwgRGVjb3JhdGlvbnMgcHJlZmVyZW5jZSBwYWdlICAKPGJyPjE1MTM0OiBPcGVuIFR5cGUgZGlhbG9nIGhhcyB3cm9uZyBpbml0aWFsIGZvY3VzICAKPGJyPjE1MTcyOiBmb2N1cyBub3Qgb24gdGV4dCBmaWVsZCBmb3IgT3BlblR5cGVEaWFsb2cgIAo8YnI+MTUyMjQ6IEZpbGVEaWFsb2cgZG9lcyBub3QgcmV0dXJuIHRoZSBmaWxlIHNlbGVjdGVkIG9uIFBvY2tldFBDICAKPGJyPjE1MjM3OiBDb29sYmFyIC0gY29ycnVwdHMgd3JhcCBsYXlvdXQgd2hlbiBpdGVtcyBkZWxldGVkICAKPGJyPjE1NTEzOiBDQ29tYm8uc2V0VG9vbHRpcFRleHQoKSBkb2Vzbid0IHdvcmsgIAo8YnI+MTU1MTY6IEdQIC0gRWNsaXBzZSBjcmFzaGVkICAKPGJyPjE1NTc1OiBUcmVlIHdpdGggY2hlY2tib3ggaXRlbXMgYXJlIG5vdCBhY2Nlc3NpYmxlICAKPGJyPjE1NjEzOiBDb3B5L3Bhc3RlIGluc2VydHMgTlVMTCAgCjxicj4xNTcwNTogRWRpdG9yIHdpdGggZm9jdXMsIHRhYiB0ZXh0IGRpc2FwcGVhcnMgc29tZXRpbWVzCjxicj4xNTg3MjogRWRpdG9yIGFyZWEgZnJhbWUgc2hvdWxkIGFsaWduIHdpdGggb3BlbiBlZGl0b3IncywgZXhjbHVkaW5nIGRyb3Agc2hhZG93Cjxicj4xNTk4OTogQ29vbGJhciB3YWxrYmFjayB3aGVuIGFkZGluZyBpdGVtCjxicj4xNjA2OTogQ2FuJ3Qgc2VlIHNvdXJjZSBpbiBpbXBvcnRlZCBiaW5hcnkgU1dUICAKPGJyPjE2MjEwOiBDb3JlIER1bXAgT2NjdXJyZWQgd2hpbGUgaW4gT3BlbiBUeXBlIGRpYWxvZyAgCjxicj4xNjI0NTogQ1RhYkZvbGRlciAtIHRvb2x0aXBzIGFuZCBhcnJvd2luZyBhcm91bmQKPGJyPjE2MjgxOiBFY2xpcHNlIGRvZXMgbm90IGNvbWUgdXAKPGJyPjE2Mjk3OiBXcm9uZyB0YWIgb3JkZXIgaW4gbmV3ZXIgYnVpbGRzCjxicj4xNjMxODogQ2FuJ3QgYWN0aXZhdGUgdmlld3M7IGxvc2luZyBldmVudHMKPGJyPjE2NDY1OiBTdGFjayBPdmVyZmxvdyB3aGVuIGltcG9ydGluZyBhIHByb2plY3QKPGJyPjE2NTIzOiBVbmFibGUgdG8gZG91YmxlLWNsaWNrCjxicj4xNjUyNTogRWNsaXBzZSBkb2VzIG5vdCBsYXlvdXQgcHJvcGVybHkKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAzOSAtIFR1ZXNkYXkgTWF5IDE0LCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo2MTAzOiBNZW51IG1uZW1vbmljcyBkb24ndCB3b3JrIHdoZW4gdG9vbGJhciBoYXMgZm9jdXMgIAo8YnI+ODgwNTogQ29udGV4dCBtZW51cyBhbmQgZmluZGluZyByZWZlcmVuY2VzIHRvIG1ldGhvZHMgIAo8YnI+MTQ4MjM6IERyYWcmRHJvcDogbmVlZCB3YXkgdG8gc2V0IHRoZSBkZWZhdWx0IGJlaHZhaW91ciBvZiBhIGRyb3AgbyAgCjxicj4xNTA1NTogQ29sdW1uIEhlYWRlciBIZWlnaHQgaW4gYSBUYWJsZSBvciBUYWJsZSBUcmVlIFNXVCB3aWRnZXQgIAo8YnI+MTUyNTM6IExpbnV4IEdUSyAyIGxpYnJhcnkgbm90IGZvdW5kICAKPGJyPjE1Mjc0OiBDYW4ndCBhZGQgZXh0ZXJuYWwgamFyIGluIExpbnV4LUdUSyB2ZXJzaW9uICAKPGJyPjE1NjAzOiBQcmVmZXJlbmNlIHBhZ2Ugbm8gbG9uZ2VyIHJlc2l6ZXMgdG8gZml0IGNvbnRlbnRzICAKPGJyPjE1NjM0OiBUYWJsZSBub3QgYWN0aW5nIGxpa2UgbGlzdCB3aGVuIGxhc3QgY29sdW1uIGRlbGV0ZWQgIAo8YnI+MTU2Mzc6IENoZWVzZSBpbiBUYWJsZSB3aGVuIHNldHRpbmcgY29sdW1uIGltYWdlICAKPGJyPjE1NjQzOiBDaGVlc2UgaW4gVGFibGUgd2hlbiBjaGFuZ2luZyBmb250ICAKPGJyPjE1NzA1OiBFZGl0b3Igd2l0aCBmb2N1cywgdGFiIHRleHQgZGlzYXBwZWFycyBzb21ldGltZXMgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDM4IC0gVHVlc2RheSBNYXkgNywgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNjM5MTogRGlzcGxheS5nZXRBY3RpdmVTaGVsbCgpIGNhbiBhbnN3ZXIgd3JvbmcgdmFsdWUgIAo8YnI+NzE3MDogVGFiIHNwYWNlIHNpemUgcHJvYmxlbSAgCjxicj44NTQyOiBDbG9zZSBwZXJzcGVjdGl2ZSB3aXRoIG1vdXNlIGlzbid0IHBvc3NpYmxlICAKPGJyPjg1OTE6IEVkaXRvciB0YWJzIHNob3VsZCBzY3JvbGwgYXV0b21hdGljYWxseSB0byBmaWxsIGF2YWlsYWJsZSB0YWIgc3BhY2UKPGJyPjg2NDg6IFN0eWxlZFRleHQgLSBDYXJldCBjYW4gYmUgaGlkZGVuIHVuZGVyIHNjcm9sbGJhciAgCjxicj4xMDI2MzogRWRpdG9yIGtlZXBzIHNjcm9sbGluZyBhZnRlciBtb3VzZSB1cCAgCjxicj4xMjIyNjogU29sYXJpcyAtIGNhbid0IGNvcHkgZmlsZSBpbnRvIHNhbWUgZGlyZWN0b3J5ICAKPGJyPjEyMzYwOiBUcmF2ZXJzZUV2ZW50IGUuZG9pdCBkb2Vzbid0IHR1cm4gb2ZmIG9uIFRhYkZvbGRlciAgCjxicj4xMjk1MjogQWx0K3tjaGFyfSBnZXRzIGluc2VydGVkIGFzIHRleHQgIAo8YnI+MTM2MTQ6IEpGYWNlIFRhYmxlcyBoYXZlIGFuIGV4dHJhIGNvbHVtbiAgCjxicj4xMzY1MTogUHJpbnRlZCBvdXRwdXQgaXNzdWVzICAKPGJyPjEzNzI1OiBSZXZlcnQgaXMgbXVjaCBzbG93ZXIgdGhhbiBjbG9zZSBhbmQgcmUtb3BlbiBpbiBqYXZhIGVkaXRvci4gIAo8YnI+MTQ0MzE6IFRhYmxlVmlld2VyIGluY29uc2lzdGVudCB3aGVuIGNsaWNraW5nIG9mZiBvZiBpdGVtIGxpc3QgIAo8YnI+MTQ4NjY6IFNoaWZ0LXNlbGVjdGlvbiBkb2Vzbid0IHdvcmsgaW1tZWRpYXRlbHkgYWZ0ZXIgcmVzdGFydCAgCjxicj4xNDg4MDogQ29sdW1uIHJlc2l6ZSBwcm9ibGVtcy9jaGVlc2UgIAo8YnI+MTQ5MDI6IEV4ZWN1dGFibGUgbGF1bmNoZXIgZG9lcyBub3QgcmVzdGFydCAgCjxicj4xNDkzNTogRW11bGF0ZWRXaWRnZXRUZXN0cyBmYWlsIG9uIExpbnV4ICAKPGJyPjE0OTM3OiBMYXVuY2ggZnJvbSBOZXcgT2ZmaWNlIERvY3VtZW50IGhhbmdzIHVudGlsIEVjbGlwc2UgZXhpdHMuICAKPGJyPjE0OTY0OiBTdHlsZWRUZXh0IC0gYWRkIG5ldyBBUEkgZm9yIHJlcGxhY2luZyBzdHlsZSByYW5nZXMgIAo8YnI+MTQ5ODE6IEZvY3VzIG5vdCBzZXQgYW55bW9yZSAgCjxicj4xNTA1NzogZ2V0U3lzdGVtQ29sb3IoU1dULkNPTE9SX1dJREdFVF9GT1JFR1JPVU5EKSBhbHdheXMgcmV0dXJucyBibGFjawo8YnI+MTUxMTU6IHJlbW92ZUNvbHVtbiBhcmUgYnJva2VuIGluIEVtdWxhdGVkIFRhYmxlICAKPGJyPjE1MTQxOiBUYWIgaXMgY2F1Z2h0IGJ5IHJlYWQgb25seSB0ZXh0ICAKPGJyPjE1MTUwOiBQcm9ncmVzcyBiYXIgYmVoYXZlcyBlcnJhdGljYWx5Cjxicj4xNTIwODogU3R5bGVkVGV4dCAtIHRleHQgY2hhbmdlIGV2ZW4gbWVjaGFuaXNtIHBvb3JseSBkb2N1bWVudGVkICAKPGJyPjE1MzQ4OiBHUEYgaW4gT1MuTW92ZU1lbW9yeVcgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDM3IC0gVHVlc2RheSBBcHJpbCAzMCwgMjAwMgoKPGgyPgo8YSBOQU1FPSJMSUJSQVJZIExPQ0FUSU9OIENIQU5HRSI+PC9hPkxJQlJBUlkgTE9DQVRJT04gQ0hBTkdFPC9oMj4KCkFzIG9mIHRoaXMgYnVpbGQsIGxpYnJhcmllcyBhcmUgbm8gbG9uZ2VyIGluIHRoZSBvcmcuZWNsaXBzZS5zd3QgcGx1Z2luLgoKPHA+TGlicmFyaWVzIGNhbiBub3cgYmUgZm91bmQgaW4gdGhlIGFzc29jaWF0ZWQgd2luZG93aW5nIHN5c3RlbSBmcmFnbWVudCB3aGljaCB0byBkYXRlIGFyZToKPHVsPgo8bGk+b3JnLmVjbGlwc2Uuc3d0LndpbjMyIAo8bGk+b3JnLmVjbGlwc2Uuc3d0Lm1vdGlmCjxsaT5vcmcuZWNsaXBzZS5zd3QucGhvdG9uCjxsaT5vcmcuZWNsaXBzZS5zd3QuZ3RrCjxsaT5vcmcuZWNsaXBzZS5zd3QuZ3RrMXgKPC91bD4KCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ2NDE6IEljb24gbG9va3VwIGZhaWxzIGZvciBzb21lIHdpbmRvd3MgaWNvbiBwYXRocyAoMUdEMkRFWSkgIAo8YnI+NDgwMjogU3R5bGVkVGV4dCAtIEJpZGkgU3VwcG9ydCBPcGVuIElzc3VlcyAoMUdJWjVHMykgIAo8YnI+NDg0MjogQ2FuJ3QgbGF1bmNoIGV4dGVybmFsIGVkaXRvcnMuICgxR0tFWU9FKSAgCjxicj42MDk4OiBFWENFUFRJT05fQUNDRVNTX1ZJT0xBVElPTiBydW5uaW5nIEVjbGlwc2UgIAo8YnI+Njg1ODogR1AgLSBDcmFzaCBWTSAgCjxicj44ODI2OiBHUEYgLSBjbG9zaW5nIGEgSmF2YSBlZGl0b3IgIAo8YnI+ODgzNzogV2luZG93IHBvc2l0aW9uIGNoYW5nZWQgaW5jb3JyZWN0bHkgaW4gU2hlbGwub3BlbigpICAKPGJyPjkyOTc6IEVjbGlwc2UgY3Jhc2hlZCAgCjxicj4xMTM3NDogZ3A6IENyYXNoIGluIHN3dC13aW4zMi0yMDI2LmRsbCAgCjxicj4xMTU4NzogQklESTpKYXZhIGVkaXRvciBhbmQgVGV4dCBlZGl0b3I6IFVzZXIgSW50ZXJmYWNlIGlzc3Vlcy4gIAo8YnI+MTI4MTE6IFRhYmxlQ29sdW1ucyBkb24ndCBwYWNrIHByb3Blcmx5ICAKPGJyPjEzMjAwOiBncCAtIE1vdmVNZW1vcnkgZXJyb3Igb24gV2luZG93cyBYUCAgCjxicj4xNDA0OTogZ3AgLSBDcmFzaCBpbiBPUy5Nb3ZlTWVtb3J5VyAgCjxicj4xNDIyMDogZ3AgLSBDcmFzaCBjbG9zaW5nIGVkaXRvciAgCjxicj4xNDI0NTogZ3AgLSBjcmFzaCB3aGlsZSBkZWJ1Z2dpbmcgKE5SQ1JBU0gpICAKPGJyPjE0MjQ5OiBFeGNlcHRpb24gd2hpbGUgc3RlcHBpbmcgIAo8YnI+MTQyODA6IFVuc2F0aXNmaWVkIExpbmsgRXJyb3JzIHJ1bm5pbmcgbGlic3d0LXBpLWd0ay0yMDM0LnNvIG9uIExpbnV4L0d0ayAyLjAKPGJyPjE0NDI1OiBGb250IGRpYWxvZyBleGNlcHRpb24gIAo8YnI+MTQ1Mjg6IFByb2JsZW0gd2l0aCBMYWJlbC5jb21wdXRlU2l6ZS4gIAo8YnI+MTQ1Mzg6IFN0eWxlZFRleHQgLSBiaWRpIC0gY2hhbmdlIGJhY2tzcGFjZSBhbmQgZGVsZXRlIGJlaGF2aW9yICAKPGJyPjE0ODEzOiBDbGFzc0Nhc3RFeGNlcHRpb24gY3JlYXRpbmcgYSBuZXcgUnVuIGNvbmZpZ3VyYXRpb24gIAo8YnI+MTQ4NzI6IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiBpbiBUYWJsZUl0ZW0uaW5zZXJ0Q29sdW1uICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAzNiAtIFR1ZXNkYXkgQXByaWwgMjMsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ4MzQ6IERDUiAtIG1uZW1vbmljcyBkbyBub3Qgd29yayBvbiB0YWJiZWQgcGFnZXMgKDFHSzdPME4pICAKPGJyPjcxODk6IE1ldGhvZCBoaWdobGlnaHQgaW4gYm9yZGVyIGRvZXMgbm90IG1hdGNoIHRoZSBtZXRob2QgIAo8YnI+ODI1MzogUmlnaHQgY2xpY2tpbmcgZG9lcyBub3QgYnJpbmcgdXAgY29udGV4dCBtZW51ICAKPGJyPjgzMDY6IEluY29uc2lzdGVuY2llcyBpbiBTV1QgZXhhbXBsZSBkZXNjcmlwdGlvbnMgIAo8YnI+ODUzODogTWlzbWF0Y2ggYmV0d2VlbiBzZWxlY3RlZCB0YWIgYW5kIGRpc3BsYXllZCB0YWIgIAo8YnI+ODU0NDogU29tZSBwcm9ibGVtcyB3aXRoIHRoZSBlZGl0b3ItcGFuZSAocmVwYWludCwgZm9jdXMpICAKPGJyPjkzNjA6IFRleHQgZW50cnkgaW4gY3ZzIGNvbW1lbnQgZGlhbG9nIGNhbid0IGRlYWwgd2l0aCBxdWljayB0eXBpbmcKPGJyPjk3OTQ6IExpbnV4LUdUSyBLZXlFdmVudHMgYmFkL2RpZmZlcmVudCBmcm9tIHRoZSBvdGhlciBwbGF0Zm9ybXMKPGJyPjEyOTQ3OiBDb2xvciBQcmVmZXJlbmNlcyBpbiBQcmVmZXJlbmNlcy0+SmF2YS0+RWRpdG9yICAKPGJyPjEzODI2OiBQZXJmb3JtYW5jZSBpc3N1ZSBpbiBUYWJsZS5SZW1vdmVBbGwoKSAgCjxicj4xMzkyMjogRWNsaXBzZSBjcmFzaGVzIHdoZW4gcnVubmluZyBMYXlvdXRFeGFtcGxlICAKPGJyPjEzOTk5OiBTdHlsZWRUZXh0IC0gYXBwZW5kaW5nIHNpbmdsZSBsaW5lIGRhdGEgZG9lc24ndCB1cGRhdGUgcHJvcGVybHkKPGJyPjE0MDQ3OiBTdHlsZWRUZXh0IC0gaW5lZmZpY2llbnQgcmVkcmF3IGR1cmluZyB0ZXh0IGNoYW5nZSB3aXRoIHdvcmQgd3JhcAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDM1IC0gVGh1cnNkYXkgQXByaWwgMTgsIDIwMDIKCjxoMj4KPGEgTkFNRT0iTmV3IEFQSXMiPjwvYT5OZXcgQVBJczwvaDI+Cjx1bD4KPGxpPkRpc3BsYXkuc2V0Q3Vyc29yTG9jYXRpb248L2xpPgo8bGk+R3JpZExheW91dChpbnQsYm9vbGVhbik8L2xpPgo8L3VsPgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDYwMjogR3JpZExheW91dCBzaG91bGQgaGF2ZSBHcmlkTGF5b3V0KG51bUNvbHVtbnMpIGNvbnN0cnVjdG9yICgxRzlaNzNEKQo8YnI+ODU0OTogb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMgNCBVbmhhbmRsZWQgZXhjZXB0aW9uIGNhdWdodCBpbiBldmVudCBsb29wCjxicj45MDI5OiBHQy5zZXRDbGlwcGluZyhSZWN0YW5nbGUpIHNob3VsZCBoYW5kbGUgbnVsbCBhcmd1bWVudCBvbiBHVEsgIAo8YnI+MTA1OTA6IEdUSyBWZXJzaW9uIC8gVHJlZSBWaWV3IGJsYW5rcy4uLiAgCjxicj4xMDcxNTogQ29kZSBBc3Npc3QgZGlhbG9nIGhpZGUgYWZ0ZXIgcHJlc3MgYW5kIHJlbGVhc2UgQ1RSTCArIFNQQUNFICAKPGJyPjExMTgyOiBQcm9wZXJ0eSBTaGVldCBkb2VzIG5vdCBhbGxvdyBlZGl0aW5nIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgcHJvcGVydHkKPGJyPjExNTE1OiBjb21wdXRlVHJpbSBhbmQgZ2V0Q2xpZW50QXJlYSBhcmUgaW5jb25zaXN0ZW50IGluIENUYWJGb2xkZXIgIAo8YnI+MTE3MTM6IERlc2NyaXB0aW9ucyBpbiBwcmVmZXJlbmNlIHBhZ2VzIGFyZW4ndCBhbGlnbmVkICAKPGJyPjExNzE1OiBUYWIgZG9lc24ndCBzd2l0Y2ggZmllbGRzIG9uIGd0ayAgCjxicj4xMTgzNTogU3RyYW5nZSBiZWhhdmlvdXIgb2YgYmFja3NwYWNlIGluIG5ldyBKYXZhIENsYXNzIGRpYWxvZyAgCjxicj4xMTkzNTogQ2FuJ3QgQ3RybCtUYWIgb3V0IG9mIFBERSBFZGl0b3IncyBkZXBlbmRlbmNpZXMgcGFnZSAgCjxicj4xMjA3MzogTW92aW5nIHNoZWxsIGFib3ZlIG90aGVyIHNoZWxscyBkb2VzIG5vdCB3b3JrLiAgCjxicj4xMjg4MjogRENSOiBTZXQgQ3Vyc29yIGxvY2F0aW9uIHByb2dyYW1tYXRpY2FsbHkgZm9yIGFjY2Vzc2liaWxpdHkgIAo8YnI+MTMxOTQ6IFVzYWJpbGl0eTogZWRpdG9yIHRhYnMgIAo8YnI+MTMzODQ6IE5QRSBvbiBsYXVuY2hpbmcgIAo8YnI+MTM0MzI6IE9sZUNvbnRyb2xTSXRlIGRvZXNuJ3QgcHJvcGFnYXRlIFdNX1NFVEZPQ1VTIG1lc3NhZ2UgdG8gYW4gQWN0aXZlWCBjb250cm9sCjxicj4xMzYzOTogQ29udHJvbHMgZG8gbm90IGFwcGVhciBpbiB0b29sIGl0ZW1zICAKPGJyPjEzODAwOiBDYW4gbm90IGdldCBGb2N1c0V2ZW50IGZyb20gQ29tYm8gIAo8YnI+MTM5ODI6IEVjbGlwc2Ugd29uJ3Qgc3RhcnQgb24gR1RLMiAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMzQgLSBUdWVzZGF5IEFwcmlsIDksIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjY3NzQ6IFdpbkNFIC0gaXRlbXMgcmVnYXJkaW5nIFBvY2tldCBQQyAoaW5jbHVkaW5nIDIwMDIpIGludGVncmF0aW9uCjxicj44ODA2OiBNb3Zpbmcgdmlld3MgaXMgZGlmZmljdWx0ICAKPGJyPjkyNDU6IFRvb2xJdGVtcyBpbiBhIFRvb2xCYXIgbm90IGRpc3BsYXlpbmcgaW1hZ2VzIG9uIFdpbkNFICAKPGJyPjk2MTY6IFJlc2l6ZSBjb2x1bW4gbGVhdmVzIHNvbWUgY2hlZXNlIGluIHRoZSB0YWJsZSAgCjxicj4xMDYwMzogQWRkIEJyZWFrcG9pbnQga2VlcHMgcHJvbXB0aW5nIG1lICAKPGJyPjEwOTM3OiBDb252ZXJ0ZXIgcHJvYmxlbSBvbiBTb2xhcmlzICAKPGJyPjExNTIwOiBTaGVsbEFkYXB0ZXIuc2hlbGxEZWFjdGl2YXRlZCgpIG5ldmVyIGNhbGxlZCBvbiBMaW51eC1Nb3RpZiAgCjxicj4xMTczNDogRm9jdXMgbm90IG9uICJGaW5pc2hlZCIgYnV0dG9uICAKPGJyPjExOTQwOiBEb3duIGFycm93IGRvZXMgbm90IGFjY2VzcyBkcm9wLWRvd24gcG9ydGlvbiBvZiB0b29sYmFyIGJ1dHRvbnMKPGJyPjEyMjQxOiBDb2RlYXNzaXN0IGRpc2FwcGVhciBhZnRlciBhIGZldyBzZWNvbmRzICAKPGJyPjEyNTczOiBUYWJsZSBzZW5kcyBzZWxlY3Rpb24gZXZlbnQgdHdpY2Ugd2hlbiBpbiBUYWJGb2xkZXIKPGJyPjEyNzg3OiBDaGFuZ2luZyBhIG1lbnUgaXRlbSdzIHRleHQgbWFrZXMgaXRzIGljb24gZGlzYXBwZWFyICAKPGJyPjEyODg1OiBMYWJlbCBhcyBhIHNlcGVyYXRvciBkb2Vzbid0IHJlc2l6ZSBwcm9wZXJseSAgCjxicj4xMzAwNjogQWx0KzEgd2l0aCBibGFuayBUYWJGb2xkZXIgcmVzdWx0cyBpbiBOUEUgIAo8YnI+MTMwMTQ6IFNldFRvb2xUaXBUZXh0IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBkb2VzIG5vdCByZXNpemUuCjxicj4xMzA0OTogQ1RhYkZvbGRlciBmb2N1cyB0cmF2ZXJzaW5nIGlzIGJ1c3RlZCAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMzMgLSBUdWVzZGF5IEFwcmlsIDIsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjEyNDQ2OiBTV1QgVGFibGUgQ29sdW1uIEltYWdlIENvcnJ1cHRpb24gIAo8YnI+MTI0NDc6IFRyZWUuZ2V0U2VsZWN0aW9uKCkgaXMgc2xvdyBmb3IgbGFyZ2UgdHJlZXMgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDMyIC0gVGh1cnNkYXkgTWFyY2ggMjgsIDIwMDIKCjxoMj4KPGEgTkFNRT0iU3R5bGVkVGV4dCBCaWRpIFByaW50aW5nIj48L2E+U3R5bGVkVGV4dCBCaWRpIFByaW50aW5nPC9oMj4KPGJsb2NrcXVvdGU+CjxwPlN1cHBvcnQgaGFzIGJlZW4gYWRkZWQgZm9yIHByaW50aW5nIHRoZSBjb250ZW50cyBvZiBhIFN0eWxlZFRleHQgd2lkZ2V0IG9uCmJpZGlyZWN0aW9uYWwgbGFuZ3VhZ2UgV2luZG93cyBwbGF0Zm9ybXMuPC9wPgo8cD4gTm90ZSBob3dldmVyIHRoYXQgcHJpbnRpbmcgRW5nbGlzaCBvciBsb2NhbCBsYW5ndWFnZSB0ZXh0IGRvZXMgbm90IHdvcmsgcHJvcGVybHkgd2l0aCBzb21lCnByaW50ZXIgZHJpdmVycyB3aGVuIHVzaW5nIGEgbm9uLVRydWVUeXBlIGZvbnQuIFRoaXMgaGFzIGJlZW4gbm90aWNlZCBvbiBXaW5kb3dzCk5UIHN5c3RlbXMgd2l0aCB0aGUgSFAgTGFzZXJqZXQgNCBzZXJpZXMgcHJpbnRlciBkcml2ZXIuIFBsZWFzZSB1c2UgYSBUcnVlVHlwZQpmb250IGlmIHRleHQgaXMgcHJpbnRlZCBnYXJibGVkIC4gIAo8YnI+PC9wPgo8L2Jsb2NrcXVvdGU+Cgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NDY3OiBEQ1IgLSBUcmVlIG1pc3Npbmcga2V5Ym9hcmQgc3VwcG9ydCAoMUZKSDVHWSkgIAo8YnI+NDUyNTogUHJvcGVydHkgdmlld2VyIGRvZXNuJ3QgYWRhcHQgdG8gYmcgY29sb3IgY2hhbmdlcyAoMUZYOFhMMSkgIAo8YnI+MTAzMTc6IFN0eWxlZFRleHQgLSBiaWRpIHByaW50aW5nIHN1cHBvcnQgIAo8YnI+MTA0ODM6IFNXVCBDb250cm9sRXhhbXBsZSBEaXJlY3RvcnlEaWFsb2cgZG9lcyBub3QgY2hvb3NlIGRpcmVjdG9yaWVzCjxicj4xMTA4MTogSmF2YSBTb3VyY2UgRWRpdGluZyB3aXRoIEdyZWVrIExvY2FsZSBubyBsb25nZXIgd29ya3MgIAo8YnI+MTE1NDk6IENyZWF0ZSBwcm9qZWN0IGRvZXMgbm90IGFsbG93IGNyZWF0aW9uIG9mIGZvbGRlciBpbiBpdHMgcHJvamVjdCBzZWxlY3Rpb24KPGJyPjEyMDk5OiBBY2Nlc3NpYmlsaXR5IDogSkFXUyBjYW4gbm90IHJlYWQgVGFiSXRlbSdzIHRleHQgIAo8YnI+MTIyMzE6IERORCA6IERyYWcgYW5kIERyb3AgYnVzdGVkIChtb3VzZSBjYXB0dXJlIG5vdCByZWxlYXNlZCkgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDMxIC0gTW9uZGF5IE1hcmNoIDE4LCAyMDAyCgo8aDI+CjxhIE5BTUU9Ik5ldyBBUElzIj48L2E+TmV3IEFQSXM8L2gyPgo8dWw+CjxsaT5TY3JvbGxlZENvbXBvc2l0ZS5nZXRPcmlnaW48L2xpPgo8bGk+U2Nyb2xsZWRDb21wb3NpdGUuc2V0T3JpZ2luPC9saT4KPGxpPlZhcmlhbnQuZ2V0VHlwZTwvbGk+CjwvdWw+Cgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo3NTAwOiBEaXNwbGF5LmdldEJvdW5kcygpIGNhbGxzIGZyb20gYW5vdGhlciB0aHJlYWQgZ2l2ZSBpbmNvcnJlY3QgcmVzdWx0cwo8YnI+MTAyNzM6IE5QRXMgY2F1c2VkIGJ5IHVuaXRpYWxpemVkICdpdGVtJyBmaWVsZCBpbiBldmVudAo8YnI+MTA0ODE6IFZpZXcgd2lsbCBub3QgU2l6ZSB2aWEgUHVsbCBEb3duCjxicj4xMDUxMTogQWRkIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgdG8gU2Nyb2xsZWRDb21wb3NpdGUKPGJyPjEwOTQyOiBMYXVuY2hlciBzaG91bGQgYXV0b2RldGVjdCBndGsgb25seSBpbnN0YWxsYXRpb24uCjxicj4xMTA1MTogSW52YWxpZCB0b2tlbiBwYXN0aW5nIGluIGNhbGxiYWNrLmMKPGJyPjExMDkwOiBDTGFiZWwgSmF2YWRvYyBzYXlzIFNtYXJ0TGFiZWwKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAzMCAtIFR1ZXNkYXkgTWFyY2ggMTIsIDIwMDIKCjxoMj4KPGEgTkFNRT0iTmV3IEFQSXMiPjwvYT5OZXcgQVBJczwvaDI+Cjx1bD4KPGxpPk9sZUNvbnRyb2xTaXRlLmFkZEV2ZW50TGlzdGVuZXIoT2xlQXV0b21hdGlvbixpbnQsT2xlTGlzdGVuZXIpPC9saT4KPGxpPlRhYmxlSXRlbS5nZXRGb3JlZ3JvdW5kKCk8L2xpPgo8bGk+VGFibGVJdGVtLmdldEJhY2tncm91bmQoKTwvbGk+CjxsaT5UYWJsZUl0ZW0uc2V0Rm9yZWdyb3VuZChDb2xvcik8L2xpPgo8bGk+VGFibGVJdGVtLnNldEJhY2tncm91bmQoQ29sb3IpPC9saT4KPGxpPlRyZWVJdGVtLmdldEZvcmVncm91bmQoKTwvbGk+CjxsaT5UcmVlSXRlbS5nZXRCYWNrZ3JvdW5kKCk8L2xpPgo8bGk+VHJlZUl0ZW0uc2V0Rm9yZWdyb3VuZChDb2xvcik8L2xpPgo8bGk+VHJlZUl0ZW0uc2V0QmFja2dyb3VuZChDb2xvcik8L2xpPgo8bGk+VGFibGVUcmVlSXRlbS5nZXRGb3JlZ3JvdW5kKCk8L2xpPgo8bGk+VGFibGVUcmVlSXRlbS5nZXRCYWNrZ3JvdW5kKCk8L2xpPgo8bGk+VGFibGVUcmVlSXRlbS5zZXRGb3JlZ3JvdW5kKENvbG9yKTwvbGk+CjxsaT5UYWJsZVRyZWVJdGVtLnNldEJhY2tncm91bmQoQ29sb3IpPC9saT4KPC91bD4KCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+Cjg3Mzc6ICBObyBTZWxlY3Rpb24gZXZlbnQgd2hlbiBETkQgc3RhcnRzCjxicj45OTUwOiAgQ29sb3JEaWFsb2cgd2VpcmQgYmVoYXZpb3IKPGJyPjk5NTk6ICBQZXJzaXN0ZW50IEVjbGlwc2UgTlBFIG9uIHN0YXJ0dXAKPGJyPjk5OTM6ICBPbGVDb250cm9sU2l0ZSBpcyBub3QgcG93ZXJmdWwgZW5vdWdoCjxicj4xMDQyMDogTW91c2UgYW5kIERORCBFdmVudCBub3RpZmljYXRpb24gb3V0IG9mIG9yZGVyCjxicj4xMDQ4MDogVW5hYmxlIHRvIG9wZW4gZmlsZXMgd2l0aCAiU3lzdGVtIEVkaXRvciIKPGJyPjEwNDgyOiBWaWV3IHdpbGwgbm90IE1vdmUgdmlhIFB1bGwgRG93bgo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDI5IC0gVHVlc2RheSBNYXJjaCA1LCAyMDAyCgo8aDI+CjxhIE5BTUU9Ik5ldyBBUElzIj48L2E+TmV3IEFQSXM8L2gyPgoKPGI+Tm90ZTo8L2I+IFRoZSBuZXcgQWNjZXNzaWJpbGl0eSBBUEkgaXMgZXhwZXJpbWVudGFsLCBhbmQgd2lsbCBsaWtlbHkgY2hhbmdlLgo8dWw+CjxsaT5Db250cm9sLmdldEFjY2Vzc2libGUoKSBhZGRlZDwvbGk+CjxsaT5wYWNrYWdlIDxiPm9yZy5lY2xpcHNlLnN3dC5hY2Nlc3NpYmlsaXR5PC9iPiBhZGRlZCwgY29udGFpbmluZyB0aGUgZm9sbG93aW5nIGNsYXNzZXM6PHVsPgo8bGk+QWNjZXNzaWJsZTwvbGk+CjxsaT5BQ0M8L2xpPgo8bGk+QWNjZXNzaWJsZUxpc3RlbmVyPC9saT4KPGxpPkFjY2Vzc2libGVBZGFwdGVyPC9saT4KPGxpPkFjY2Vzc2libGVFdmVudDwvbGk+CjxsaT5BY2Nlc3NpYmxlQ29udHJvbExpc3RlbmVyPC9saT4KPGxpPkFjY2Vzc2libGVDb250cm9sQWRhcHRlcjwvbGk+CjxsaT5BY2Nlc3NpYmxlQ29udHJvbEV2ZW50PC9saT4KPC91bD48L2xpPjwvdWw+CgpIZXJlIGFyZSB0d28gZXhhbXBsZXMgdGhhdCB1c2UgdGhlIGFjY2Vzc2liaWxpdHkgQVBJOjx1bD4KPGxpPkZvciBhIGNvbnRyb2wgd2l0aCBubyBjaGlsZCBpdGVtczoKPGNvZGU+PHByZT4KCQlidXR0b24uZ2V0QWNjZXNzaWJsZSgpLmFkZEFjY2Vzc2libGVMaXN0ZW5lcihuZXcgQWNjZXNzaWJsZUFkYXB0ZXIoKSB7CgkJCXB1YmxpYyB2b2lkIGdldE5hbWUoQWNjZXNzaWJsZUV2ZW50IGUpIHsKCQkJCWUucmVzdWx0ID0gIk15IEJ1dHRvbiBMYWJlbCI7CgkJCX0KCQl9KTsKPC9wcmU+PC9jb2RlPjwvbGk+Cgo8bGk+Rm9yIGEgY29udHJvbCB0aGF0IGhhcyBjaGlsZCBpdGVtczoKPGNvZGU+PHByZT4KCQlsaXN0LmdldEFjY2Vzc2libGUoKS5hZGRBY2Nlc3NpYmxlTGlzdGVuZXIobmV3IEFjY2Vzc2libGVBZGFwdGVyKCkgewoJCQlwdWJsaWMgdm9pZCBnZXROYW1lKEFjY2Vzc2libGVFdmVudCBlKSB7CgkJCQlpZiAoZS5jaGlsZElEID09IEFDQy5DSElMRElEX1NFTEYpIHsKCQkJCQllLnJlc3VsdCA9ICJNeSBMaXN0IExhYmVsIjsKCQkJCX0gZWxzZSB7CgkJCQkJZS5yZXN1bHQgPSAiTXkgTGlzdCBJdGVtIExhYmVsOiAiICsgbGlzdC5nZXRJdGVtKGUuY2hpbGRJRCk7CgkJCQl9CgkJCX0KCQl9KTsKPC9wcmU+PC9jb2RlPjwvbGk+PC91bD4KPGI+Tm90ZTo8L2I+IFRoZSBBUEkgaW52b2x2aW5nIHRoZSBBY2Nlc3NpYmxlQ29udHJvbFh4eCBjbGFzc2VzIGlzIG1vcmUgY29tcGxleCwgYW5kIG1vcmUgbGlrZWx5IHRvIGNoYW5nZS4gCkl0IGlzIHVubGlrZWx5IHRoYXQgYXBwbGljYXRpb24gY29kZSB3aWxsIG5lZWQgdG8gdXNlIGl0LiAKSXQgaXMgcHJpbWFyaWx5IGZvciB0aGUgdXNlIG9mIGN1c3RvbSBjb250cm9sIGltcGxlbWVudG9ycy4KCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ0MzY6IEdyaWQgTGF5b3V0IFByb2JsZW0gKDFGT0xaWkUpICAKPGJyPjQ2NjY6IERDUiAtIE5lZWQgYSB3YXkgZm9yIGNoaWxkIHNoZWxscyB0byBkaXNhYmxlIEVTQyBjbG9zaW5nICgxR0U4UlhXKQo8YnI+NDc5MDogWEluaXRUaHJlYWRzIGNhdXNlcyBqYXBhbmVzZSBpbnB1dCBtZXRob2QgdG8gaGFuZyAoMUdJUllSNikKPGJyPjQ3NzU6IFhJbml0VGhyZWFkcyBjYXVzZXMgWCBwcmludGluZyB0byBoYW5nICgxR0lUQlFMKQo8YnI+NDQ1NDogRENSOiBUYWJsZXMgbmVlZCB0byBzdXBwb3J0IGNlbGwgZWRpdGluZyAoMUZHUExQUCkKPGJyPjEwMDAyOiBEZXRlY3Rpb24gb2YgQ0RFIGFzIGFjdGl2ZSBXTSBpcyBwbGF0Zm9ybS1zcGVjaWZpYyAgCjxicj4xMDQyNjogRXNjIHRyYXZlcnNlIGRvZXMgbm90IGdvIHVwIGhpZXJhcmNoeSAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMjggLSBUaHVyc2RheSBGZWJydWFyeSAyOCwgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDY4ODogSiAtIEZvbnQgRGlhbG9nIGRvZXMgbm90IHNlbGVjdCBhIGZvbnQgd2hlbiBzZWxlY3RpbmcgYSBmb250IGZhbWlseSAoMUdFVDVCVykKPGJyPjcxMzk6IEZvbnREaWFsb2c6IFNlbGVjdGVkIGZvbnQgbm90IHVzZWQgIAo8YnI+ODg2NTogRXhjZXB0aW9uIHdoZW4gY3JlYXRpbmcgYSBUb29sSXRlbSB3aXRoIGEgbnVsbCBpbWFnZSBpbiBMaW51eAo8YnI+MTAyNTA6IFNsaWRlciB3aXRoIFZFUlRJQ0FMIG9yaWVudGF0aW9uIC0gZG93biBhcnJvdyBpbmNyZW1lbnRzICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAyNyAtIFR1ZXNkYXkgRmVicnVhcnkgMjYsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjY0MDk6IE5vZGUgc2VsZWN0aW9uIGluIHBhY2thZ2UgdmlldyAgCjxicj44Mzg5OiBNb3VzZVVwIG5vdCByZXBvcnRlZCBjb3JyZWN0bHkgaWYgRHJhZ0RldGVjdCBob29rZWQgIAo8YnI+OTM2NDogRXhjZXB0aW9uIGluIFN0eWxlZFRleHQgIAo8YnI+OTc3MzogRm9udCBhbmQgQ29sb3IgZGlhbG9ncyBkbyBub3QgYXBwZWFyIGNlbnRyZWQgb24gcGFyZW50ICAKPGJyPjk5NTA6IENvbG9yRGlhbG9nIHdlaXJkIGJlaGF2aW9yICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAyNiAtIFR1ZXNkYXkgRmVicnVhcnkgMTIsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjY2Nzk6IEltYWdlLmdldEltYWdlRGF0YSgpIG5vdCBpbXBsZW1lbnRlZCAgCjxicj43OTYyOiBTV1QuZ2V0UGxhdGZvcm0oKSBqYXZhZG9jIGluY29ycmVjdCBmb3IgcmV0dXJuIGRlc2NyaXB0aW9uICAKPGJyPjg5ODQ6IENUYWJGb2xkZXIuTUlOX1RBQl9XSURUSCBzaG91bGQgbm90IGJlIHN0YXRpYyAgCjxicj45MDIyOiBMaW51eDogVHJlZSBWaWV3ZXIgZG9lcyBub3QgZ2V0IGRlZnVhbHQgU2VsZWN0aW9uICAKPGJyPjkwNzI6IFRhYmxlIFRyZWUgZG9lcyBub3QgcGljayB1cCB3aW5kb3dzIHNldHRpbmdzIGNoYW5nZXMgIAo8YnI+OTA5MTogU3R5bGVkVGV4dCBpbiBTSU5HTEUgbW9kZSBzaG91bGQgbG9vayBtb3JlIGxpa2UgYSBUZXh0IHdpZGdldCAgCjxicj45MTcyOiBTV1QgQWRkcmVzc0Jvb2sgRXhhbXBsZSBjYWxscyB1bmRlZmluZWQgbWV0aG9kCjxicj45NDMyOiBUaGUgZG9jIGZvciBUcmFja2VyIHdpZGdldCBzaG91bGQgc3BlY2lmeSB0aGF0IHJlY3RhbmdsZXMgYXJlIGluIHNjcmVlbiBjb29yZGluYXRlcwo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDI1IC0gVHVlc2RheSBGZWJydWFyeSA1LCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgoyNDMwOiBTb3J0aW5nIHRoZSBUYXNrcyBMaXN0IHNob3VsZCBkaXNwbGF5IGljb24gZm9yIHNvcnQga2V5L29yZGVyICgxR0Y1VFFPKQo8YnI+NDQ4NTogRENSIC0gVGFibGUgY29sdW1uIGhlYWRlciBkZWNvcmF0aW9uIGNhcGFiaWxpdHkgbmVlZGVkICgxRk9RUU04KQo8YnI+NjAzNTogRGlmZmVyZW5jZSBpbiB0cmVlICJleHBhbmRlZCBzdGF0ZSIgYmV0d2VlbiBXaW5kb3dzIGFuZCBNb3RpZgo8YnI+Njk4MzogQnJvd3NlIGJ1dHRvbiBpbiBJbXBvcnQtPlBsdWdpbnMgbm90IHdvcmtpbmcuICAKPGJyPjc0MDA6IFNpbmdsZSBsaW5lIHRleHQgZmllbGRzIG5vdCBmaXJpbmcgIktleSBQcmVzc2VkIiBldmVudHMgZm9yIHRoZSBFbnRlciwgVXAoYXJyb3cpLCBhbmQgRG93bihhcnJvdykga2V5cwo8YnI+ODE3MzogQWNjZXNzaWJpbGl0eToga2V5Ym9hcmQtaW52b2tlZCBwb3B1cCBtZW51IG5vdCB1c2FibGUgIAo8YnI+ODE5NjogQWNjZXNzaWJpbGl0eTogc2hpZnQrRjEwIGRvZXMgbm90IGRpc3BsYXkgdmlldyBtZW51ICAKPGJyPjgyNzM6IEhvcml6b250YWwgc2NvcmxsYmFyIGRvZXMgbm90IGFsbG93IHNjcm9sbGluZyB3aGVuIHJlcXVpcmVkICAKPGJyPjgzOTY6IFdJTkNFOiBNZW51IGJhciBvYnNjdXJlcyBjb250cm9sIHdoZW4gY29udHJvbCBsb2NhdGlvbiBpcyAwLDAKPGJyPjgzOTc6IFdJTkNFOiBNZW51IGl0ZW0gY29sb3JzIGRvbid0IG1hdGNoIG1lbnUgYmFyICAKPGJyPjg0MTI6IFdJTkNFOiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGJ1dHRvbnMgbG9va3Mgd3JvbmcgIAo8YnI+ODY0MDogR1A6IG9wZW5pbmcgU3luY2hyb25pemF0aW9uIHBlcnNwZWN0aXZlICAKPGJyPjg5NDI6IFdyb25nIHRleHQgaW5kZW50IGluIGEgdGFibGUgd2hlbiB1c2UgaW1hZ2UgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDI0IC0gVHVlc2RheSBKYW51YXJ5IDI5LCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NjU0OiBWQUogaGFuZ3Mgd2hlbiBkcmFnZ2luZyBmcm9tIGZpbGUgbWFuYWdlciB0byB0aGUgZGVza3RvcC4gKDFHRFFGWjYpCjxicj40NzIwOiBFY2xpcHNlIGZyZWV6ZXMgZHVyaW5nIGRyYWcgJiBkcm9wIG9wZXJhdGlvbiAoMUdGN1JSSCkgIAo8YnI+NDcyNDogR1AgLSBGYXRhbCBhcHAgZXJyb3IgLSByZW5hbWluZyByZXNvdXJjZSBvbiBsaW51eCAoMUdGN1RYTykgIAo8YnI+NDczNjogRml4IHByaW50aW5nICgxR0ZXMkNXKSAgCjxicj40ODE3OiBOZWVkIEphdmFEb2MgY29tbWVudHMgZm9yIFNXVCBQaG90b24gKDFHSkxFVTApICAKPGJyPjY4MzU6IENoYXJhY3RlcnMg77+977+9778/YW5kIO+/P2RvZXNuJ3Qgd29yayBpbiBKYXZhIGVkaXRvciBvbiBTd2VkaXNoICAKPGJyPjgyNTU6IENsb3NpbmcgcGFpbnQgdmlld2VyIGNhdXNlcyBpbnRlcm5hbCBlcnJvciAgCjxicj44NDEwOiBCbGFjayBjb2xvciBiZWNvbWUgdHJhbnNwYXJlbnQgaW4gVG9vbEJhciBpbWFnZXMgIAo8YnI+ODUwMzogU3R5bGVkVGV4dCAtIGNoZWVzZSBpZiByZXNpemUgaW4gd29yZCB3cmFwIHRyaWVzIHRvIGtlZXAgcGFydGlhbCB0b3AgbGluZQo8YnI+ODU0NzogSW50ZWxsaW1vdXNlIHNjcm9sbGluZyBkb2VzIG5vdCB3b3JrIGluIGVjbGlwc2UgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDIzYSAtIFRodXJzZGF5IEphbnVhcnkgMjQsIDIwMDIgKEVjbGlwc2UgTWlsZXN0b25lIDIpCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NzAwOiBOdW1Mb2NrIGFuZCBDYXBzTG9jayBkaXNhYmxlIGFjY2VsZXJhdG9ycyAoMUdFVERUOSkgIAo8YnI+NjE4MDogV2FrZSBtZWNoYW5pc20gYnJva2VuIG9uIE1vdGlmICAKPGJyPjY4NzM6IERlY29yYXRpb25zLnNldEltYWdlKCkgdGhyb3dzIE5QRSBvbiBXSU5DRSAgCjxicj43ODA1OiBBIG5ldyBJbWFnZURhdGEoZnJvbSBhbiBJbnB1dFN0cmVhbSkgdGhyb3dpbmcgTlBFICAKPGJyPjgxMzM6IFdoZW4gdG9vbGJhciBoYXMgZm9jdXMsIGNhbid0IHVzZSBtbmVtb25pY3MgZm9yIEZpbGUgbWVudXMgIAo8YnI+ODIxMzogZXhjZXB0aW9uOiB3aWRnZXQgaXMgZGlzcG9zZWQgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDIzIC0gVHVlc2RheSBKYW51YXJ5IDIyLCAyMDAyCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NjEwOiBTdHlsZWRUZXh0IC0gRENSIC0gV29yZCB3cmFwICgxR0FCUzZDKSAgCjxicj40NjQ0OiBNb3VzZSBjbGljayBvbiBhIGxpbmsgZGlzcGxheWVkIGluIGVtYmVkZGVkIElFNSBBY3RpdmVYIGlzIG5vdCByZWxpYWJsZSAoMUdEN1RUMikKPGJyPjU2NjA6IFNXVCBkZWZhdWx0IGZvbnQncyBuZWVkIHRvIGhvbm9yIGFjY2VzYWJpbGl0eSBzZXR0aW5ncyAgCjxicj42MzI0OiBTV1QuQ0xPU0UgaW1wbGllcyByZW5kZXJpbmcgb2YgTWluaW1pemUgYW5kIE1heGltaXplIGJ1dHRvbnMgIAo8YnI+Njk5NzogU3R5bGVkVGV4dCAtIG1hcmsgbmV3IEFQSSAgCjxicj43MTIzOiBTaGVsbCBzaG93cyB0aGUgbWF4aW1pemUgYnV0dG9uIGVuYWJsZWQgd2hlbiBTV1QuVElUTEUgfCBTV1QuQk9SREVSIHwgU1dULkNMT1NFIHN0eWxlIHBhc3NlZAo8YnI+NzM2MTogQWRkIGdldE9mZnNldEF0TGluZSBBUEkgIAo8YnI+NzYzMjogVHJlZSB3aWRnZXQgZG9lc24ndCBzZWxlY3QgaXRlbSB3aXRoIGZvY3VzIG9uIHJpZ2h0LWNsaWNrICAKPGJyPjc4NDk6IExhYmVscyBvbiBXSU5DRSBkb24ndCB1c2UgYmFja2dyb3VuZCBjb2xvciBvZiBwYXJlbnQgd2hlbiBjb2xvciBpc24ndCBzZXQKPGJyPjc4Njc6IERDUjogRGVsZXRlIGNoZWNrU3ViY2xhc3MgbWV0aG9kIGZyb20gRGlhbG9nICAKPGJyPjc5NTk6IFBvdGVudGlhbCBwcm9ibGVtcyB3aGVuIHJ1bm5pbmcgb24gYmlnIGVuZGlhbiBtYWNoaW5lcyAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMjIgLSBUdWVzZGF5IEphbnVhcnkgMTUsIDIwMDIKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ2NjM6IEZhaWwgdG8gdGFiIHRoZSB2aWV3cy4gKDFHR1lWOFQpICAKPGJyPjQ3MTg6IFRvb2wgdGlwIGlzIG9wZW5uaW5nIHdoZW4gb24gZHJhZ2dpbmcuICgxR0Y1WjdaKSAgCjxicj41ODY2OiBDYW4ndCBtdWx0aXNlbGVjdCBpbiBUcmVlIHVzaW5nIGtleWJvYXJkICAKPGJyPjY1OTI6IEJveCBmb3IgY2hlY2tib3ggdGFibGUgaXRlbXMgaXMgdG9vIGxhcmdlIHdoZW4gdXNpbmcgbGFyZ2UgZm9udHMKPGJyPjY3NzA6IE9ubHkgdGhlIGxlZnQgbW91c2UgYnV0dG9uIHNob3VsZCBzZWxlY3QgaW4gYSBUYWJsZS4gIAo8YnI+Njg1MjogU3R5bGVkVGV4dCAtIHZlcmlmeSBldmVudCBjaGFyYWN0ZXIgaW52YWxpZCB2YWx1ZSAgCjxicj42OTQwOiBNZW51U2hvcnRjdXRzIG9ubHkgcmVzcG9uZCB0byBDdHJsLU4gIAo8YnI+NzE5MDogQ3RybC1TIGRvZXMgbm90IHdvcmsgIAo8YnI+NzQ1ODogV2luQ0UgLSB0b3AgbGV2ZWwgU2hlbGxzIGNyZWF0ZWQgdGhyb3VnaCBEaXNwbGF5LmFzeW5jZXhlYyBjYW4gaGF2ZSBpbmNvcnJlY3QgWi1vcmRlcgo8YnI+NzQ1OTogQ2FyZXQgbGVhdmluZyBnYXJiYWdlICAKPGJyPjc0ODY6IENhbm5vdCB1c2Uga2V5Ym9hcmQgU2hpZnQgU2VsZWN0IGluIGEgVHJlZSAgCjxicj43NTU5OiBTY3JvbGxCYXIgdGh1bWIgaXMgcmVzZXQgd2hlbiBTY3JvbGxCYXIgaXMgaGlkZGVuLCB0aGVuIHNob3duCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMjEgLSBUdWVzZGF5IEphbnVhcnkgOCwgMjAwMgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDQ0MzogTGF5b3V0OiBFeGNlcHRpb25zIHdoZW4gaG9yaXpvbnRhbFNwYW4gPiByZW1haW5pbmcgY29sdW1ucyAoMUZGQzZYWikKPGJyPjQ0NjI6IFNjcm9sbEJhciAtIHZiYXIuc2V0TWF4aW11bSBkb2VzIG5vdCB3b3JrIGFmdGVyIGhiYXIgaXMgaGlkZGVuIChhbmQgdmljZSB2ZXJzYSkgKDFGSUc1Q0cpCjxicj40NzIyOiBGaXJzdCBlZGl0b3IgdGFiIG1pc3NpbmcgY2xvc2UgYnV0dG9uICgxR0Y3UUlRKSAgCjxicj40NzU1OiBSZWJ1aWxkaW5nIGxhdW5jaGVyIGZyb20gYW5vdGhlciBkaXJlY3RvcnkgKDFHR05SRzApICAKPGJyPjYzMTU6IFNvbWUgcGVyc3BlY3RpdmUgc2F2ZSBjb25maXJtYXRpb24gbWVzc2FnZXMgY3V0IG9mZiAgCjxicj42MzUyOiBFZGl0b3IgZG9lc24ndCBnZXQgYWN0aXZhdGVkIHdoZW4gcmV2ZWFsaW5nIGZpcnN0IG1hdGNoICAKPGJyPjY5MDg6IE1lbnUgaGFuZGxlIGxlYWsgaW4gb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuTWVudS5kZXN0cm95SXRlbShNZW51SXRlbSkKPGJyPjY5NDU6IENoaWxkIHNoZWxscyBub3QgZGlzcGxheWluZyBvbiBXaW5DRSAgCjxicj42OTgyOiBDaGVja2VkVGFibGVzIGhhdmUgbm8gY2hlY2sgYm94ZXMgIAo8YnI+NzAwNTogTWlzc2luZyBtZXRob2RzIGluIFNXVC9HVEsgaW1wbGVtZW50YXRpb24gIAo8YnI+NzAxODogVHJlZSBkb2VzIG5vdCBob25vciBTV1QuQ0hFQ0sgc3R5bGUgIAo8YnI+NzA2ODogU2Nyb2xsQmFyLnNldFZpc2libGUodHJ1ZSkgZG9lcyBub3Qgd29yayBhZnRlciBjaGFuZ2luZyB2YWx1ZXMKPGJyPjcxNTA6IFN0eWxlZFRleHQgLSBiaWRpIC0gcGFydGlhbCBzdHlsaW5nIG9mIGxpZ2F0dXJlcyBidWcgIAo8YnI+NzE5MTogRGlhbG9ncyBub3QgYmlnIGVub3VnaCBmb3IgY29udGVudCAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMjAgLSBUdWVzZGF5IERlY2VtYmVyIDE4LCAyMDAxCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NzE1OiBGaXJzdCBoZWxwIGNsaWNrIG9uIGEgY2hhcHRlciBpcyBpZ25vcmVkICgxR0Y1VFY5KSAgCjxicj40Nzg0OiBNSUYgRmlsZXMgc29tZXRpbWUgZmFpbCAoMUdJN0g3VikgIAo8YnI+NDc5NzogVGFibGUgZG9lcyBub3QgdXNlIFN5c3RlbSBmb250cyAoMUdJVjRQWikgIAo8YnI+NjYzNTogV2luQ0U6IGRlY29yYXRpb25zLnNldE1lbnVCYXIgY2FuIGJlIHNldCBvbmx5IG9uY2UgIAo8YnI+NjY4NTogU3R5bGVkVGV4dCAtIG9uIHNldEZvbnQgY2FyZXQgbm90IGJlaW5nIHBvc2l0aW9uZWQgY29ycmVjdGx5ICAKPGJyPjY3NzM6IFN0eWxlZFRleHQuY29tcHV0ZVNpemUgdXNlcyBkaXNwbGF5IHdpZHRoIHRvIGNhbGN1bGF0ZSBudW1iZXIgb2YgdmlzaWJsZSBsaW5lcwo8YnI+Njc5MDogVG91Y2hpbmcgY29kZSBhc3Npc3Qgc2Nyb2xsYmFyIGR1bXBzIGphdmFjb3JlICAKPGJyPjY4NjM6IFJlbWFpbmluZyBpc3N1ZXMgaW4gZW11bGF0ZWQgQ29vbEJhciBhbmQgQ29vbEl0ZW0gIAo8YnI+NjkzMzogU3dpdGNoaW5nIHRvIGhlbHAgcGVyc3BlY3RpdmUgY3Jhc2hlcyB0aGUgd29ya2JlbmNoICAKPGJyPjcwMTQ6IFRyZWUgbm90IGFjY2VwdGluZyBjaGlsZHJlbiAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMTkgLSBUdWVzZGF5IERlY2VtYmVyIDExLCAyMDAxCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NDYxOiBTV1RFeGNlcHRpb24gc2hvdWxkIG92ZXJ3cml0ZSBwcmludFN0YWNrVHJhY2UoLi4pICgxR0xEVzZQKSAgCjxicj40NDkzOiBDaGVjayBtdWx0aWxpbmd1YWwgc3VwcG9ydCBvbiBXaW5kb3dzIDIwMDAgKDFGUUZDQlEpICAKPGJyPjQ2MTE6IFN0eWxlZFRleHQgLSBTdHJpbmdJbmRleE91dE9mQm91bmRzIGV4Y2VwdGlvbiBpbnNlcnRpbmcgdGV4dCBpbiBsaW5lIGJyZWFrICgxR0VJRDhCKQo8YnI+NDYyMDogV29ya2JlbmNoIGRvZXMgbm90IGNsb3NlIEFjdGl2ZVggY29udHJvbCdzIGZpbGUgaGFuZGxlICgxR0I3NkFaKQo8YnI+NDY2MDogTW92aW5nICAKPGJyPjQ3MTk6IEJhY2tncm91bmQgY29sb3VyIG9mIHZpZXdzL2VkaXRvcnMgKDFHRjZDOFkpICAKPGJyPjQ3Mzk6IERDUjogUHJvdmlkZSBhdXRvLXNjcm9sbGluZyBhbmQgZXhwYW5zaW9uIGJ5IGRlZmF1bHQgaW4gdGhlIHRyZWUgZHVyaW5nIERORCAoMUdGVzdOUSkKPGJyPjQ3Njc6IFRhYiBGb2xkZXJzIGNhbiBub3QgYmUgdG9nZ2xlZCB1c2luZyBrZXlzLiAoMUdIRkNaVSkgIAo8YnI+NDc4MDogWUFNOiBDYW5ub3QgcmVhZCBzb21lIEpQRUcgZmlsZXMgKDFHSTZaRU4pICAKPGJyPjQ3ODM6IENhbid0IHNjcm9sbCB0byB0aGUgdG9wIG9mIHRoZSBuYXZpZ2F0b3IgKDFHSTdHVEcpICAKPGJyPjUwNzE6IFNoaWZ0LVRBQiBkb2Vzbid0IGdlbmVyYXRlIHByb3BlciBldmVudCAgCjxicj41Njc3OiBIaWVyYXJjaHkgb3V0bGluZSBoYXMgZW1wdHkgc3BhY2UgIAo8YnI+NTg1NzogSW1hZ2UuZ2V0SW1hZ2VEYXRhIG5lZWRzIHRvIHN1cHBvcnQgMTUgYml0IGNvbG9yIGRlcHRoICAKPGJyPjY0NzI6IFRhYmxlIHdpZGdldCBoYXMgZW1wdHkgZW50cmllcyAgCjxicj42NTcyOiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgTGlzdHMgYW5kIENvbWJvcyBub3QgY29uc2lzdGVudCB3aXRoIFdpbjJLCjxicj42NjUxOiBUZXh0LnNldFNlbGVjdGlvbigpIGRvZXNuJ3QgYWN0dWFsbHkgZGlzcGxheSB0aGUgc2VsZWN0aW9uIHZpc3VhbGx5IGZvciBTV1QuU0lOR0xFCjxicj42NjU0OiBUZXh0LmdldFNlbGVjdGlvbigpIG5vdCByZXR1cm5pbmcgY29ycmVjdCBpbmZvIG9uIFdJTkNFICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAxOCAtIFR1ZXNkYXkgRGVjZW1iZXIgNCwgMjAwMQoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDQxOTogV2lkZ2V0cyAtIE1pc3NpbmcgZmVhdHVyZXMgYW5kIEFQSSBvbiBNT1RJRiAoMUZCUEtDVCkgIAo8YnI+NDQ5NDogQ29sb3JEaWFsb2cgZG9lc24ndCBvcGVuIGluIFZBL0phdmEgd2l0aCBKREsgMS4yICgxRlFHTTZIKSAgCjxicj40ODMzOiBSZW1vdmUgZm9jdXMgYnV0dG9uIGZyb20gVGFibGUgKDFHSzdNSzQpICAKPGJyPjQ4NjA6IFN0eWxlZFRleHQgLSBTdHlsZWRUZXh0QmlkaSwgQmlkaVV0aWwgbmVlZCBkb2MgKDFHTDMyQzgpICAKPGJyPjYyMDQ6IEtleUxpc3RlbmVyIG9uIHRhYmxlIGRvZXMgbm90IHdvcmsuICAKPGJyPjY0Mzg6IFN0eWxlZFRleHQgLSBiaWRpIC0gaXNCaWRpIHRlc3Qgbm90IHdvcmtpbmcgb24gWFAgIAo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDE3IC0gVHVlc2RheSBOb3ZlbWJlciAyNywgMjAwMQoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNDcxNDogTGFiZWwgZHJhd3Mgd3JvbmcgYmFja2dyb3VuZCB3aGVuIGltYWdlIGlzIHNldCAoMUdGMElDNikgIAo8YnI+NTUwMzogVGFiYmluZyBicm9rZW4gIAo8YnI+NTk4NjogQmlkaVV0aWwgaGFuZGxpbmcgb2YgV01fSU5QVVRMQU5HQ0hBTkdFIG5lZWRzIHRvIGJlIGZpeGVkCjxicj41OTkyOiBDaGFuZ2luZyBKYXZhIEVkaXRvciBmb250IGluIFByZWZlcmVuY2UgUGFnZSBtYWtlcyBFY2xpcHNlIGhhbmcgb3IgY3Jhc2gKPGJyPjYxNzE6IE51bGxQb2ludGVyRXhjZXB0aW9uIGluIEltYWdlTG9hZGVyIHNhdmUgbWV0aG9kIHdpdGggU1dULklNQUdFX0pQRUcKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAxNSAtIFR1ZXNkYXkgTm92ZW1iZXIgMjAsIDIwMDEKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KPGJsb2NrcXVvdGU+CjQ3OTE6IFN0eWxlZFRleHQgZG9lcyBub3Qgc3dpdGNoIGNvbG91ciAoMUdJTEhJVykgIAo8YnI+NDk1NjogU3R5bGVkVGV4dCAtIGNoYW5nZSBTdHlsZWRUZXh0QmlkaS50b1N0cmluZyB0byBjb25mb3JtIHdpdGggc3RhbmRhcmQgU1dUIGZvcm1hdAo8YnI+NTU5OTogU3R5bGVkVGV4dCAtIHJlZHJhd1JhbmdlIGRvZXMgbm90IGNoZWNrIHJhbmdlICAKPGJyPjU3MjI6IFNlbGVjdGluZyBmb250IGNyYXNoZXMgZWNsaXBzZSB3aXRoIGEgamF2YWNvcmUgIAo8YnI+NTgxNTogU3R5bGVkVGV4dCAtIHNldEZvbnQgcmVmcmVzaCBwcm9ibGVtICAKPGJyPjU4NDY6IENvbWJvLnNlbGVjdCBkb2VzIG5vdCBpZ25vcmUgYW4gb3V0IG9mIHJhbmdlIGluZGV4Cjxicj41OTkwOiBQcmludGluZyBzaW5nbGUgcGFnZSBwcmludHMgZW50aXJlIGRvY3VtZW50ICAKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAxNCAtIFRodXJzZGF5IE5vdmVtYmVyIDE1LCAyMDAxCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0NTQyOiBNZW51IGFjY2VsZXJhdG9ycyBDVFJMKyAvIGFuZCBDVFJMICsgU0hJRlQgKyAvIGRvbid0IHdvcmsgKDFGWUFGOFYpCjxicj40NzU0OiBBcnJvdyBrZXlzIG5vdCBhY2NlcHRlZCBhcyBrZXlib2FyZCBhY2NlbGVyYXRvcnMgKDFHR000VTMpICAKPGJyPjU4MTU6IFN0eWxlZFRleHQgLSBzZXRGb250IHJlZnJlc2ggcHJvYmxlbSAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMTMgLSBUdWVzZGF5IE5vdmVtYmVyIDEzLCAyMDAxCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+CjxibG9ja3F1b3RlPgo0ODQ2OiBTdHlsZWRUZXh0IC0gYmlkaSAtIHBhcnRpYWwgc3R5bGluZyBvZiBsaWdhdHVyZXMgKDFHTDNBV1QpICAKPGJyPjQ4NTk6IFN0eWxlZFRleHQgLSBiaWRpIC0gcHJvdmlkZSBzb2x1dGlvbiBmb3IgYmlkaSBjb2xvcmluZyBoYWNrICgxR0wyVU5DKQo8YnI+NTQ5MTogU3R5bGVkVGV4dCAtIGdldFN0eWxlUmFuZ2VBdE9mZnNldCBhbGxvd3Mgb2Zmc2V0ID09IGdldENoYXJDb3VudAo8YnI+NTQ5NzogU3R5bGVkVGV4dCAtIEV4dGVuZGVkTW9kaWZ5IGV2ZW50IG5vdCBzZW50IG9uIHNldFRleHQKPGJyPjU2MDI6IFN0eWxlZFRleHQgLSBwYWdlIGRvd24gY2F1c2VzIElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBpbiBpbnZpc2libGUvc21hbGwgd2lkZ2V0Cjxicj41NjE1OiBTdHlsZWRUZXh0IC0gd2luZG93IHN0YXJ0IGRvZXMgbm90IGFsd2F5cyB3b3JrICAKPGJyPjU2MjI6IFN0eWxlZFRleHQgLSBwcmludCBjYXVzZXMgTlBFIHdoZW4gaW52b2tlZCBvbiBlbXB0eSB3aWRnZXQgIAo8YnI+NTYyNjogU3R5bGVkVGV4dCAtIHByaW50IGRvZXMgbm90IGNoZWNrIGZvciBudWxsIFByaW50ZXIgYXJndW1lbnQgIAo8YnI+NTYzMzogU3R5bGVkVGV4dCAtIHJlcGxhY2VUZXh0UmFuZ2UgYW5kIHNldFRleHQgZG8gbm90IGNoZWNrIGZvciBudWxsIGFyZ3VtZW50Cjxicj41NjY0OiBTdHlsZWRUZXh0IC0gU2luZ2xlIGxpbmUgc2hvdWxkIG5vdCBhY2NlcHQgdGFiICAKPGJyPjU2NzM6IFN0eWxlZFRleHQgLSBTSU5HTEUgbGluZSBtb2RlIHN0aWxsIGFsbG93cyBzb21lIG11bHRpIGxpbmUgY3Vyc29yIG5hdmlnYXRpb24KPGJyPjU3MjI6IFNlbGVjdGluZyBmb250IGNyYXNoZXMgZWNsaXBzZSB3aXRoIGEgamF2YWNvcmUKPGJyPjU3MjU6IFBsZWFzZSByZW5hbWUgIkVjbGlwc2UgTGF1bmNoZXIiICAKPGJyPjU4MDI6IEVDOiBDb250cm9sRXhhbXBsZSBkb2VzIG5vdCBydW4gb24gU29sYXJpcyAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMTIgLSBNb25kYXkgTm92ZW1iZXIgNSwgMjAwMQoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgo8YmxvY2txdW90ZT4KNTQ3MDogVXNlciBpcyBsb3N0IHdoZW4gdHJ5aW5nIHRvIG1vdmUgdmlld3MgYXJvdW5kICAKPGJyPjU0ODQ6IFRhYiBubyBsb25nZXIgdHJhdmVyc2VzIGJldHdlZW4gd2lkZ2V0cyEhISAgCjwvYmxvY2txdW90ZT4KCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMTEgLSBUaHVyc2RheSBOb3ZlbWJlciAxLCAyMDAxCjxoMj4KPGEgTkFNRT0iQVBJIENoYW5nZXMiPjwvYT5BUEkgQ2hhbmdlczwvaDI+Cjxjb2RlPkZvbnREYXRhLnNldExvY2FsZShMb2NhbGUpPC9jb2RlPiBoYXMgYmVlbiBjaGFuZ2VkIHRvIDxjb2RlPkZvbnREYXRhLnNldExvY2FsZShTdHJpbmcpPC9jb2RlPi4KPHVsPgo8bGk+CkoyU0UgY29kZSBjYW4gc2ltcGx5IGNyZWF0ZSBhIDxjb2RlPkxvY2FsZTwvY29kZT4gYW5kIGludm9rZSA8Y29kZT50b1N0cmluZygpPC9jb2RlPiB0byBwYXNzIGl0IG9udG8gdGhlIG5ldyA8Y29kZT5zZXRMb2NhbGU8L2NvZGU+Lgo8bGk+CkNMREMgY29kZSB3aWxsIGhhdmUgdG8gZm9ybSBhIHN0cmluZyBtYXRjaGluZyB0aGUgZm9ybWF0IHNwZWNpZmllZCBpbiB0aGUgSjJTRSBqYXZhZG9jIG9mIDxjb2RlPmphdmEudXRpbC5Mb2NhbGUudG9TdHJpbmcoKTwvY29kZT4uCjwvdWw+CkV4YW1wbGU6CjxibG9ja3F1b3RlPjxjb2RlPjxwcmU+CkxvY2FsZVtdIGxvY2FsZXMgPSB7CglMb2NhbGUuVVMsIG5ldyBMb2NhbGUoIml3IiwgIklMIiksIG5ldyBMb2NhbGUoImFyIiwgIlNBIiksIG5ldyBMb2NhbGUoInJ1IiwgIlJVIiksCglMb2NhbGUuR0VSTUFOLCBuZXcgTG9jYWxlKCJqYSIsICJKUCIpLAoJbnVsbCwKfTsKLy8gb2xkIGNvZGU6IGZkLnNldExvY2FsZShsb2NhbGVzW2ldKTsKU3RyaW5nIGxvY2FsZSA9IChsb2NhbGVzW2ldICE9IG51bGwgPyBsb2NhbGVzW2ldLnRvU3RyaW5nKCkgOiBudWxsKTsKZmQuc2V0TG9jYWxlKGxvY2FsZSk7CjwvcHJlPjwvY29kZT48L2Jsb2NrcXVvdGU+PC9wPgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgoKPGJsb2NrcXVvdGU+CjQ2NjQ6IFN0eWxlZFRleHQgZG9lcyBub3QgY29tcHV0ZSBjb3JyZWN0IHRleHQgd2lkdGggKDFHRUxKWEQpICAKPGJyPjQ4MzI6IEdlcm1hbjogRm9udHMgY2Fubm90IGhhbmRsZSBHZXJtYW4gY2hhcmFjdGVycyAoMUdLTUhIWSkgIAo8YnI+NDk2MTogUHJlZmVyZW5jZXMgZGlhbG9nIGRpc2FwcGVhcnMgd2hlbiB5b3UgY2xpY2sgb24gY2VydGFpbiBwYWdlcwo8YnI+NTE4MDogT3BlbiBNb3RpZiBmb3IgTGludXggc2hhcmVkIGxpYnJhcmllcyBhcmUgZHVwbGljYXRlZCBpbiBFY2xpcHNlICAKPGJyPjUzMDQ6IFN0eWxlZFRleHQgLSBBcnJheUluZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24gaW4gU3R5bGVkVGV4dEJpZGkuc2VnbWVudGVkUmFuZ2VzRm9yCjwvYmxvY2txdW90ZT4KCgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDEwIC0gVGh1cnNkYXkgT2N0b2JlciAyNSwgMjAwMQoKPGgyPgo8YSBOQU1FPSJCZWhhdmlvdXIgY2hhbmdlIj48L2E+QmVoYXZpb3VyIGNoYW5nZTwvaDI+CjxwPgoxKSBUaGUgRHJhZyBVbmRlciBlZmZlY3Qgb2Ygc2Nyb2xsaW5nIGFuZCBleHBhbmRpbmcgaXRlbXMgYXMgeW91IGRyYWcgb3ZlciB0aGUgPGNvZGU+VHJlZTwvY29kZT4gb3IgPGNvZGU+VGFibGU8L2NvZGU+IGhhcyBiZWVuIGFkZGVkLiAgVG8gZW5hYmxlIHRoaXMgZHJhZyB1bmRlciBlZmZlY3QsIGluIHRoZSA8Y29kZT5EcmFnT3ZlcjwvY29kZT4gZXZlbnQgc2V0IHRoZSA8Y29kZT5ldmVudC5mZWVkYmFjazwvY29kZT4gdG8gaGF2ZSBhIGJpdHdpc2UgY29tYmluYXRpb24gb2YgPGNvZGU+RE5ELkZFRURCQUNLX1NDUk9MTCwgRE5ELkZFRURCQUNLX0VYUEFORDwvY29kZT4gYW5kICg8Y29kZT5ETkQuRkVFREJBQ0tfU0VMRUNULCBETkQuRkVFREJBQ0tfSU5TRVJUX0JFRk9SRSwgRE5ELkZFRURCQUNLX0lOU0VSVF9BRlRFUjwvY29kZT4pIC0gd2hlcmUgdGhlIGxhc3QgdGhyZWUgaXRlbXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KPGJsb2NrcXVvdGU+PGNvZGU+PHByZT4KdGFyZ2V0LmFkZERyb3BMaXN0ZW5lciAobmV3IERyb3BUYXJnZXRBZGFwdGVyKCkgewoJcHVibGljIHZvaWQgZHJhZ092ZXIoRHJvcFRhcmdldEV2ZW50IGV2ZW50KXsKCQlldmVudC5mZWVkYmFjayA9IERORC5GRUVEQkFDS19TRUxFQ1QgfCBETkQuRkVFREJBQ0tfRVhQQU5EIHwgRE5ELkZFRURCQUNLX1NDUk9MTDsKCX0KfQo8L3ByZT48L2NvZGU+PC9ibG9ja3F1b3RlPjwvcD4KPHA+CjIpIE9uIHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMgaXQgaXMgcHJlZmVycmVkIHRvIG1vdmUgZmlsZXMgaW4gYSBkcmFnIGFuZCBkcm9wIG9wZXJhdGlvbiByYXRoZXIgdGhhbiBmb3IgdGhlIGRyb3AgdGFyZ2V0IHRvIG1ha2UgYSBjb3B5IG9mIHRoZSBmaWxlIGFuZCB0aGUgZHJhZyBzb3VyY2UgdG8gZGVsZXRlIHRoZSBvcmlnaW5hbCBmaWxlLiAgVGhlIG9wZXJhdGlvbiBvZiBtb3ZpbmcgdGhlIGZpbGUgaXMgcHJlZm9ybWVkIGJ5IHRoZSBkcm9wIHRhcmdldC4gIEZvciB0aGVzZSBjYXNlcywgdGhlIG5ldyBkcm9wIHR5cGUgPGNvZGU+RE5ELkRST1BfVEFSR0VUX01PVkU8L2NvZGU+IGhhcyBiZWVuIGFkZGVkLiAgVGhlIEVjbGlwc2UgPGNvZGU+RHJvcFRhcmdldDwvY29kZT4gZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGJlaGF2aW91ciBidXQgdGhlIEVjbGlwc2UgPGNvZGU+RHJhZ1NvdXJjZTwvY29kZT4gY2FuIHJlY29nbml6ZSB0aGlzIHNjZW5hcmlvLiAgSWYgYW5vdGhlciBhcHBsaWNhdGlvbiBoYXMgY2hvc2VuIHRvIG1vdmUgdGhlIGZpbGUgcmF0aGVyIHRoYW4gY29weS9kZWxldGUsIHRoZSA8Y29kZT5EcmFnRmluaXNoZWQ8L2NvZGU+IGV2ZW50IG9uIHRoZSA8Y29kZT5EcmFnU291cmNlPC9jb2RlPiB3aWxsIGhhdmUgYW4gPGNvZGU+ZXZlbnQuZGV0YWlsPC9jb2RlPiB2YWx1ZSBvZiA8Y29kZT5ETkQuRFJPUF9UQVJHRVRfTU9WRTwvY29kZT4uCjxibG9ja3F1b3RlPjxjb2RlPjxwcmU+CnNvdXJjZS5hZGREcmFnTGlzdGVuZXIgKG5ldyBEcmFnU291cmNlQWRhcHRlciAoKSB7CglwdWJsaWMgdm9pZCBkcmFnRmluaXNoZWQoRHJhZ1NvdXJjZUV2ZW50IGV2ZW50KSB7CgkJaWYgKGV2ZW50LmRldGFpbCA9PSBETkQuRFJPUF9UQVJHRVRfTU9WRSkgewoJCQkvLyBjbGVhbiB1cCBwcmVzZW50YXRpb24gYnV0IGRvIG5vdCBkZWxldGUgdW5kZXJseWluZyBmaWxlCgkJfQoJfQp9CjwvcHJlPjwvY29kZT48L2Jsb2NrcXVvdGU+PC9wPgoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgoKPGJsb2NrcXVvdGU+CjE3Njc6IERpc3BsYXkgQVNDSUkgZm9yIHZhbHVlcyBncmVhdGVyIHRoYW4gMTI3IGZhaWxzICgxR0xFOEk1KSAgCjxicj40NzI1OiBGb250RGF0YSBzcGVjIHNob3VsZCBkaXNhbGxvdyBudWxsIG5hbWUgKDFHTDM0SDMpICAKPGJyPjQ4NDQ6IFRhYiBhcHBlYXJzIG5hcnJvd2VyIHRoYW4gc3BhY2UgKDFHTDJXVFkpICAKPGJyPjQ4NTI6IEdlcm1hbjogQ2Fubm90IHN0YXJ0IEVjbGlwc2UgaW4gTGludXggNy4yICgxR0tZWTk5KSAgCjxicj40ODY1OiBUYWJsZVRyZWVFZGl0b3IuZ2V0SXRlbSByZXR1cm5zIGFuIGl0ZW0gYWZ0ZXIgc2V0dGluZyBpdCB0byBudWxsICgxR0xFMElRKQo8YnI+NDkzMjogU3R5bGVkVGV4dEJpZGkgaGFzIGVxdWFscyBidXQgbm8gaGFzaENvZGUgbWV0aG9kICAKPGJyPjQ5NTc6IFN0eWxlZFRleHQgLSBpbXBsZW1lbnQgU3R5bGVkVGV4dEJpZGkuaXNMaWdhdGVkICAKPGJyPjUxMzI6IFN0eWxlZFRleHQgLSByZW1vdmUgaGFyZGNvZGVkIG1hcmdpbiAgCjxicj41MTc4OiBDaGFuZ2UgQmlkaVV0aWwgY2FsbHMgdG8gaGFuZGxlIHRydWUgVW5pY29kZS9XaW5kb3dzIENFIGNoYW5nZXMKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAwOSAtIFRodXJzZGF5IE9jdG9iZXIgMTgsIDIwMDEKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KCjxibG9ja3F1b3RlPgo0NDQ0OiBFV1QgLSBpbmNvcnJlY3Qgc2VsZWN0aW9uIGZlZWRiYWNrIHdoZW4gdGhlIGl0ZW0ncyB0ZXh0IGlzIGNoYW5nZWQgKDFGRlAzVTIpCjxicj40NDQ2OiBEQ1IgLSBHcmlkQmFnTGF5b3V0IGNvbXBhdGlibGUgTGF5b3V0TWFuYWdlciAoMUZHQ1BPMikgIAo8YnI+NDc2MjogU3R5bGVkVGV4dCAtIGRlZmF1bHQgbGluZVN0eWxlciByZW1vdmUgbGluZSBiYWNrZ3JvdW5kIGNvbG9yIGhhY2sgKDFHSEJNVVYpCjxicj40ODE5OiBTdHlsZWRUZXh0IC0gYmlkaSAtIGN1cnNvciBuYXZpZ2F0aW9uICgxR0pMS1NOKSAgCjxicj40ODIwOiBTdHlsZWRUZXh0IHdpdGggc3R5bGUgU0lOR0xFIGRvZXMgbm90IGhhbmRsZSBDUi9MRiB3ZWxsICgxR0pNMlo1KQo8YnI+NDg1NTogU2V2ZXJlOiBDaGVjayBib3hlcyBhcmUgYmxhY2sgKDFHTDBYU0kpICAKPGJyPjQ5MDk6IEVDOiBDb21iby5zZXRUZXh0IGRvZXNuJ3Qgd29yayBvbiBMaW51eCAgCjxicj40OTEwOiBFQzogQ29tYm8uc2VsZWN0KCkgZmlyZXMgYSBzZWxlY3RlZCBldmVudCBvbiBMaW51eCBvbmx5ICAKPGJyPjUwNDU6IENvbnRyb2wubW92ZUFib3ZlKCkgdGhyb3dzIE5QRSBpZiBhcmd1bWVudCBpcyBudWxsICAKPC9ibG9ja3F1b3RlPgoKCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMDggLSBUaHVyc2RheSBPY3RvYmVyIDExLCAyMDAxCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+Cgo8YmxvY2txdW90ZT4KMUdMRFFZQjogU1dUOldJTiAtIFRleHQgd2lkZ2V0IHdpdGggRE5EIGVuYWJsZWQsIE1vdXNlRG93biBidXQgbm8gTW91c2VVcAo8YnI+MUdMQURCSzogU1dUOkFMTCAtIFN0eWxlZFRleHQgLSBnZXRPZmZzZXRBdExvY2F0aW9uIHNob3VsZCB0aHJvdyBleGNlcHRpb24KPGJyPjFHTDRaVkU6IFNXVDpBTEwgLSBTdHlsZWRUZXh0IC0gZ2V0T2Zmc2V0QXRMb2NhdGlvbihnZXRMb2NhdGlvbkF0T2Zmc2V0KE4pKSAhPSBOCjxicj4xR0tPNk5ZOiBTV1Q6QUxMIC0gQmFja3NwYWNpbmcgaW4gU3R5bGVkVGV4dCBkb2VzIG5vdCBmaXJlIHNlbGVjdGlvbiBjaGFuZ2VkCjxicj4xR0tCMU9DOiBJVFBKVUk6QUxMIC0gRXJyb3IgaW4gSmF2YURvYyBob3ZlciBoZWxwCjxicj4xR0s5QVBJOiBTV1Q6QUxMIC0gU3R5bGVkVGV4dCAtIGJpZGkgLSBudW1iZXJzLG1peGVkIEx0b1IvUnRvTCB0ZXh0IGFuZCBjYXJldCBwb3NpdGlvbmluZwo8YnI+MUdKTFExNjogU1dUOkFMTCAtIFN0eWxlZFRleHQgLSBiaWRpIC0gYmFja3NwYWNlIGFuZCBkZWxldGUgYmVoYXZpb3IKPGJyPjFHSUs3RDQ6IFNXVDpBTEwgLSBTdHlsZWRUZXh0IC0gU2VsZWN0aW9uIGNsZWFyZWQgd2hlbiBkZWxldGlvbiBkaXNhbGxvd2VkIGJ5IHZlcmlmeSBsaXN0ZW5lcnMKPGJyPjFHRE9NQkk6IFNXVDpXSU5OVCAtIFN0eWxlZFRleHQgLSByZWRyYXdSYW5nZSgpIGRvZXNuJ3QgY2hlY2tXaWRnZXQKPGJyPjFHREtLM1I6IFNXVDpXSU5OVCAtIFN0eWxlZFRleHQgLSBzZXRDYXJldE9mZnNldCBhbmQgbGluZSBkZWxpbWl0ZXJzIGJ1Zwo8YnI+MUZNUlFPVDogU1dUOkFMTCAtIE5vIG51bGwgYXJndW1lbnQgY2hlY2tzIGluIERpYWxvZyBjb25zdHJ1Y3RvcnMKPC9ibG9ja3F1b3RlPgoKCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMDcgLSBUaHVyc2RheSBPY3RvYmVyIDQsIDIwMDEKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KCjxibG9ja3F1b3RlPgoxR0taSDc0OiBJVFBKVUk6V0lOMjAwMCAtIERpc2FwcGVhcmluZyBTdG9wIGljb24KPGJyPjFHS1o4Q1Y6IFNXVDpXSU5OVCAtIHNldFNlbGVjdGlvbiB0cmlnZ2VycyBTZWxlY3Rpb25DaGFuZ2VkIGV2ZW50Cjxicj4xR0tVNEM1OiBTV1Q6QUxMIC0gU3R5bGVkVGV4dCAtIGJpZGkgLSBzY3JvbGxpbmcgdG8gc2hvdyBjdXJzb3Igc2hvdWxkIHRha2UgY3Vyc29yIGRpcmVjdGlvbiBpbnRvIGFjY291bnQKPGJyPjFHS1BZTUs6IFNXVDpXSU5OVCAtIFN0eWxlZFRleHQgLSBiaWRpIC0gY2FyZXQgbW92ZXMgd2hlbiBzd2l0Y2hpbmcga2V5Ym9hcmQgZnJvbSBIZWJyZXcgdG8gQXJhYmljCjxicj4xR0tPR1FPOiBTV1Q6QUxMIC0gSmF2YWRvYzogc2V0U2VsZWN0aW9uIGluIEJ1dHRvbiBhbmQgVG9vbEl0ZW0KPGJyPjFHS00yTzU6IFNXVDpXSU5OVCAtIFN0eWxlZFRleHQgLSBiaWRpIC0gQXJyYXlJbmRleE91dE9mQm91bmRzIGV4Y2VwdGlvbiBpbiBTdHlsZWRUZXh0QmlkaS5pc1JpZ2h0VG9MZWZ0Cjxicj4xR0tNMTkzOiBTV1Q6V0lOTlQgLSBTdHlsZWRUZXh0IC0gYmlkaSBhdXRvc2Nyb2xsIGxlZnQgZG9lcyBub3QgYWx3YXlzIHNjcm9sbCBhbGwgdGhlIHdheSB0byB0aGUgbGVmdAo8YnI+MUdLS0MwVTogU1dUOkFMTCAtIFRyYWNrZXIgY2FsbHMgT1MuRGlzcGF0Y2hNZXNzYWdlKG1zZykgb24gd2luZG93cyBidXQgZG9lcyBub3Qgb24gTGludXguCjxicj4xR0lWQVhYOiBTV1Q6QUxMIC0gU3R5bGVkVGV4dCAtIEVkaXRvcnMgc2hvdWxkIHN1cHBvcnQgc2hpZnQtYmFja3NwYWNlCjxicj4xR0VMUTE0OiBTV1Q6V0lOTlQgLSBTdHlsZWRUZXh0IC0gRGVmYXVsdENvbnRlbnQgLSBoYW5kbGUgd2VpcmQgbGluZSBkZWxpbWl0ZXIgY2FzZXMKPGJyPjFHRThMRzA6IFNXVDpMaW51eCAtIFRvb2xiYXIgaXMgbm90IHNob3dpbmcgdGhlIHNlcGFyYXRvcnMuCjwvYmxvY2txdW90ZT4KCgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDA2IC0gVGh1cnNkYXkgU2VwdCAyNywgMjAwMQoKPGgyPgo8YSBOQU1FPSJQcm9ibGVtIHJlcG9ydHMgZml4ZWQiPjwvYT5Qcm9ibGVtIHJlcG9ydHMgZml4ZWQ8L2gyPgoKPGJsb2NrcXVvdGU+CjFHSFdBMTk6IFNXVDpXSU5OVCAtIFByb2JsZW0gd2l0aCBjYWxsYmFja3MgZnJvbSBDQ29tYm8KPGJyPjFHSEZEUFY6IFNXVDpXSU4yMDAwIC0gU2V0dGluZyBzZWxlY3Rpb24gaW4gVGFibGUgZG9lcyBub3QgdXBkYXRlIGZvY3VzIGl0ZW0KPGJyPjFHRjY0NFY6IElUUFVJOkxpbnV4IC0gVW56b29tIGlzIGNoYW5naW5nIHRoZSBhY3RpdmUgZWRpdG9yLgo8YnI+MUdLTTNYUzogU1dUOldJTk5UIC0gU3R5bGVkVGV4dCAtIGJpZGkgYXV0b3Njcm9sbCBsZWZ0OiBzZWxlY3Rpb24gcmVzZXQgb24gbW91c2UgbW92ZQo8L2Jsb2NrcXVvdGU+CgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAwNSAtIEZyaWRheSBTZXB0IDIxLCAyMDAxCgo8aDI+CjxhIE5BTUU9IlByb2JsZW0gcmVwb3J0cyBmaXhlZCI+PC9hPlByb2JsZW0gcmVwb3J0cyBmaXhlZDwvaDI+Cgo8YmxvY2txdW90ZT4KMUdLMDlaMDogU1dUOkxpbnV4IC0gc2V0RW5hYmxlZChmYWxzZSkgaGFzIG5vIGVmZmVjdCBvbiBhVG9vbGJhcgo8YnI+MUdKWlpTNjogU1dUOkxpbnV4IC0gRmlsZSBEaWFsb2cgcmV0dXJucyBhIGRpcmVjdG9yeQo8YnI+MUdGN1NNQzogSVRQVUk6TGludXggLSBXcm9uZyBiZyBmb3IgY2xvc2UgYnV0dG9uIG9uIGVkaXRvciB0YWIKPC9ibG9ja3F1b3RlPgoKCjxoMT4KRWNsaXBzZSBQbGF0Zm9ybSBCdWlsZCBOb3Rlczxicj4KU1dUPC9oMT4KU1dUIEJ1aWxkIDIuMCAwMDQgLSBUaHVyc2RheSBTZXB0IDEzLCAyMDAxCgo8aDI+CjxhIE5BTUU9IkFQSSBCZWhhdmlvdXIgY2hhbmdlIj48L2E+QVBJIEJlaGF2aW91ciBjaGFuZ2U8L2gyPgpUaGUgYmVoYXZpb3VyIG9mIGRpc3Bvc2UgZm9yIEdDcyBoYXMgYmVlbiBtb2RpZmllZCBzdWNoIHRoYXQgYXR0ZW1wdGluZyB0byBkaXNwb3NlIG9mCmEgR0Mgb24gYSBjb250cm9sIDxlbT5hZnRlcjwvZW0+IHRoZSBjb250cm9sIGhhcyBiZWVuIGRpc3Bvc2VkIHdpbGwgZ2VuZXJhdGUgYW4KU1dURXhjZXB0aW9uLiAgVGhpcyBmaXhlcyBhbiBPUyByZXNvdXJjZSBsZWFrIGFuZCBwb3RlbnRpYWwgR1BGIHNpdHVhdGlvbi4KCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KCjxibG9ja3F1b3RlPgoxR0pVQUtMOiBTV1Q6TmV1dHJpbm8gLSBDb250cm9sLmludGVybmFsX25ld19HQygpIG5lZWRzICFpc1ZhbGlkV2lkZ2V0KCkgY2hlY2sKPGJyPjFHSk41Mk46IFNXVDpMaW51eCAtIFRleHQgcHJpbnRzIHN5c3RlbSBlcnJvciBtZXNzYWdlIGZvciBob3Jpem9udGFsIHNjcm9sbGJhcgo8YnI+MUdKQk9BVjogU1dUOkFMTCAtIFNjcm9sbGVkQ29tcG9zaXRlIGJ1Z3MKPGJyPjFHSVhFTEk6IFNXVDpBTEwgLSBOZWVkIENhcmV0IHRvIGFsbG93IGJpdG1hcHMgc28gYmlkaSBjYXJldCBjYW4gYmUgY3JlYXRlZAo8YnI+MUdJNU8xVDogU1dUOldJTk5UIC0gQ29tcG9zaXRlLnNldEZvY3VzIHRha2VzIGZvY3VzIHdoZW4gaXQgc2hvdWxkIG5vdAo8YnI+MUdIT05ENzogU1dUOldJTjIwMDAgLSBTZWxlY3Rpb24gcHJvYmxlbSB3aXRoIHNpbmdsZS1zZWxlY3Rpb24gdHJlZXMKPGJyPjFHSEc5OTA6IFNXVDpBTEwgLSBQcm9iYWJsZSBidWcgaW4gU2xpZGVyIHBhZ2UgaW5jcmVtZW50IHNldHRpbmcKPGJyPjFHRU5KNjA6IFNXVDpBTEwgLSBTY3JvbGxlZENvbXBvc2l0ZSBzaG91bGQgaW5jbHVkZSBleGFtcGxlIGluIGl0cyBjbGFzcyBjb21tZW50Cjxicj4xR0VBN0s3OiBJVFBVSTpMaW51eCAtIERlZmF1bHQgYnV0dG9uIG5vdCB3b3JraW5nCjwvYmxvY2txdW90ZT4KCgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDAzIC0gRnJpZGF5IFNlcHQgMDcsIDIwMDEKCjxoMj4KPGEgTkFNRT0iTmV3IEFQSXMiPjwvYT5OZXcgQVBJczwvaDI+Cgo8YmxvY2txdW90ZT4KRm9udERhdGEuc2V0TG9jYWxlKGphdmEudXRpbC5Mb2NhbGUpIGFkZGVkCjxicj5DYXJldC5nZXRJbWFnZSgpIGFkZGVkCjxicj5DYXJldC5zZXRJbWFnZShJbWFnZSkgYWRkZWQKPGJyPkdDLmZpbGxHcmFkaWVudFJlY3RhbmdsZShpbnQsIGludCwgaW50LCBpbnQsIGJvb2xlYW4pIGFkZGVkCjwvYmxvY2txdW90ZT4KCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KCjxibG9ja3F1b3RlPgoxR0pNN0tNOiBTV1Q6TGludXggLSBUYWJsZSBhbmQgVHJlZSByZXR1cm4gYSBkaWZmZXJlbnQgc2l6ZSBmb3IgZXZlcnkgc2Vjb25kIGNhbGwgdG8gY29tcHV0ZVNpemUKPGJyPjFHSkxLSEU6IFNXVDpTUEFSQyAtIEdQIG9uICJJbnN0YWxsZWQgSlJFcyIgcHJlZmVyZW5jZSBwYWdlCjxicj4xR0pMSzYzOiBTV1Q6QUxMIC0gU3R5bGVkVGV4dCAtIGJpZGkgLSBrZXlib2FyZCBzd2l0Y2hpbmcKPGJyPjFHSkxFMzY6IFNXVDpXSU5OVCAtIEFscGhhIGRhdGEgcmVkcmF3aW5nIGltcHJvcGVybHkgYWZ0ZXIgb2NjbHVzaW9uCjxicj4xR0pBMkw3OiBTV1Q6V0lOIC0gRGlmZmVyZW50IGJlaGF2aW9yIGZvciBHQy5kcmF3U3RyaW5nKCkgYXJncyBvbiBXaW4gdnMuIFBob3Rvbgo8YnI+MUdJWjBQNjogU1dUOldJTk5UIC0gR0MuZHJhd0ltYWdlKCkgcHJvYmxlbSB3aXRoIHRyYW5zcGFyZW50IHBpeGVscwo8YnI+MUdJWEVMSTogU1dUOkFMTCAtIE5lZWQgQ2FyZXQgdG8gYWxsb3cgYml0bWFwcyBzbyBiaWRpIGNhcmV0IGNhbiBiZSBjcmVhdGVkCjxicj4xR0k3RlFGOiBTV1Q6QUxMIC0gQ2FuJ3Qgc2V0IGZvY3VzIHRvIFRhc2tzIFZpZXcgYnkgS2V5Ym9hcmQKPGJyPjFHSTdFQkw6IFNXVDpMaW51eCAtIGFwaSB0eXBvOiBUb29sSXRlbT4+Z2V0RGlzYWJsZWRtYWdlKCkKPGJyPjFHSTNQODY6IFNXVDpBTEwgLSBTZW1hbnRpYyBkaWZmZXJlbmNlcyBiZXR3ZWVuIGVtdWxhdGVkIFRhYmxlIGFuZCBUcmVlIGNvZGViYXNlIG9uIE1vdGlmIGFuZCBQaG90b24KPGJyPjFHSTFXRUE6IFNXVDpOZXV0cmlubyAtIFRleHQgc2VsZWN0aW9uIGNvZGUgbm90IHdvcmtpbmcgY29ycmVjdGx5Cjxicj4xR0hXRUQyOiBTV1Q6V0lOTlQgLSBHQy5zdHJpbmdFeHRlbnQoKSBub3QgY29ycmVjdCBmb3IgV2luZG93cyBBcmlhbCBmb250Cjxicj4xR0hXQjdHOiBTV1Q6TGludXggLSBMaW51eCBmb250IGRpYWxvZyBkb2Vzbid0IG9wZW4gd2l0aCBnaXZlbiB2YWx1ZXMuCjxicj4xR0hWUkZZOiBTV1Q6TmV1dHJpbm8gLSBUZXh0I0NsZWFyU2VsZWN0aW9uIGNoYW5nZXMgdGhlIENhcmV0UG9zaXRpb24gaW4gYSBTSU5HTEUtbGluZSB3aWRnZXQKPGJyPjFHSFZMVjY6IFNXVDpOZXV0cmlubyAtIFRleHQjU2V0VG9wSW5kZXggYW5kIGdldFRvcEluZGV4IGluY29uc2lzdGVudAo8YnI+MUdIT0o2VDogU1dUOk5ldXRyaW5vIC0gVGV4dCNzZXRTZWxlY3Rpb24gaW5jb25zaXN0ZW50IGJldHdlZW4gU0lOR0xFIGFuZCBNVUxUSQo8YnI+MUdIQkxSQTogU1dUOk5ldXRyaW5vIC0gRGlzcGxheS5nZXRCb3VuZHMoKSByZXR1cm5zIGluY29ycmVjdCBpbmZvCjxicj4xR0g0OFVROiBTV1Q6TmV1dHJpbm8gLSBFbnRlciBrZXkgZG9lcyBub3QgaW5zZXJ0IG5ldyBsaW5lIHdpdGggVGV4dC5NVUxUSSB3aWRnZXQKPGJyPjFHR1QwVE06IFNXVDpOZXV0cmlubyAtIEdDI2RyYXdBcmMgaW5jb25zaXN0ZW50IGJldHdlZW4gTlQgYW5kIE5UTwo8YnI+MUdHMURCVDogU1dUOlNQQVJDIC0gU29sYXJpcyBsb3NlcyBpbnB1dCBjaGFyYWN0ZXJzCjxicj4xR0cwN0hXOiBTV1Q6TGludXggLSBUcmVlLmdldEl0ZW0oKSBtb2RpZmllcyBpdHMgYXJndW1lbnQgb24gTW90aWYKPGJyPjFHRzAwNjk6IFNXVDpMaW51eCAtIFdlaXJkIGxheW91dCBpc3N1ZXMgc2VlbiBpbiBDb250cm9sIEV4YW1wbGUKPGJyPjFHRlpaTEs6IFNXVDpMaW51eCAtIFRvb2xJdGVtcyBub3QgZGlzYWJsZWQgd2hlbiBjb250YWluaW5nIFRvb2xCYXIgaXMgZGlzYWJsZWQKPGJyPjFHRlpVM1g6IFNXVDpBTEwgLSBJbWFnZUxvYWRlci5sb2FkKFN0cmluZykgbm90IGNsb3NpbmcgZmlsZSBpbnB1dCBzdHJlYW0KPGJyPjFHRlpQRFA6IFNXVDpMaW51eCAtIENvbWJvIGJveCB3aXRoIFNXVC5TSU1QTEUgc3R5bGUgZG9lcyBub3QgcmVzcGVjdCBEaXNhYmxlZCBmbGFnICh2aXN1YWxseSkKPGJyPjFHRlc4NUg6IFNXVDpBTEwgLSBQcmludGVyLmdldFByaW50ZXJEYXRhKCkgaGFzIHN0YWxlIGNvbW1lbnQKPGJyPjFHRlc2TVE6IFNXVDpBTEwgLSBEQ1I6IFByb2dyYW0gY2xhc3MgbmVlZHMgLmVxdWFscygpIGFuZCAuaGFzaENvZGUoKQo8YnI+MUdGVzRZTjogU1dUOkFMTCAtIEhlbHAgS2V2aW5IIGFkZCBwcmludGluZyB0byBFY2xpcHNlCjxicj4xR0ZRS0RUOiBTV1Q6QUxMIC0gSW1hZ2Uuc2V0QmFja2dyb3VuZCgpIC8gZ2V0QmFja2dyb3VuZCgpIGFzeW1tZXRyeQo8YnI+MUdGT05WVzogU1dUOkxpbnV4IC0gRW1wdHkgQ29tYm8gc2hvdWxkIG5vdCBmaXJlIFNlbGVjdGlvbiBldmVudAo8YnI+MUdGTDBIUDogU1dUOkxpbnV4IC0gUmVtYWluaW5nIGl0ZW1zIGluIFNXVCBjb21tZW50cyB0byBmaXgKPGJyPjFHRVQ5MEQ6IFNXVDpMaW51eCAtIFNXVEV4Y2VwdGlvbnMgYnJpbmcgZG93biBFY2xpcHNlCjxicj4xR0VTUUJLOiBJVFBKVUk6V0lOTlQgLSBIb3cgdG8gZ2V0IGFjY2VzcyB0byBwb3AtdXAgbWVudXMgb2YgdGhlIEphdmEgZWRpdG9yID8KPGJyPjFHRUxYNEE6IElUUFVJOkFMTCAtIEhvdmVyIGhlbHAgaXMgbm90IHZpc2libGUgaWYgcGFuZSBpcyBkcmFnZ2VkIG91dCBvZiB3b3JrYmVuY2gKPGJyPjFHRUhXQUY6IElUUFVJOldJTjIwMDAgLSBDYW4ndCBlbnRlciB0ZXh0IGluIGEgU3dpbmcgVGV4dEZpZWxkIG9yIFRleHRBcmVhCjxicj4xR0U1RUNKOiBJVFBVSTpXSU4yMDAwIC0gSG92ZXIgaGVscCBmb3IgdGl0bGUgYmFyIGJ1dHRvbnMgYXBwZWFycyBiZWhpbmQgZGV0YWNoZWQgdmlldwo8YnI+MUdEWDdSODogSVRQVUk6QUxMIC0gU1dUIHNldFRleHQoKSBkb2VzIE5PVCBoYXZlIGFueSB3YXkgdG8gYXZvaWQgbWFraW5nIG1uZW1vbmljcy4KPGJyPjFHRDVVSEE6IFNXVDpXSU4yMDAwIC0gRG91YmxlLWNsaWNraW5nIG9uIHRvb2xiYXIgaXRlbSBnaXZlcyBkb3VibGUtY2xpY2sgZXZlbnQgb24gdG9vbGJhcgo8YnI+MUdCWElFTzogU1dUOkFMTCAtIERDUjogSW5jbHVkZSBjdXJzb3IgcG9zIGluIFRyYWNrZXIgbW92ZSBldmVudAo8YnI+MUc0SU1RMzogU1dUOldJTk5UIC0gVGFibGUgaW1hZ2VzIGluY29ycmVjdCBhZnRlciByYXBpZCByZW1vdmFsIGFuZCBjcmVhdGlvbgo8L2Jsb2NrcXVvdGU+Cgo8aDE+CkVjbGlwc2UgUGxhdGZvcm0gQnVpbGQgTm90ZXM8YnI+ClNXVDwvaDE+ClNXVCBCdWlsZCAyLjAgMDAyIC0gV2VkbmVzZGF5IEp1bHkgMTgsIDIwMDEKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KCjxibG9ja3F1b3RlPgoxR0daMTNUOiBTV1Q6TmV1dHJpbm8gLSBpbnZhbGlkIG1vdXNlIHN0YXRlIG9jY3VyaW5nIGluIFBob3Rvbgo8YnI+MUdHUkNDUzogU1dUOk5ldXRyaW5vIC0gTGFiZWwgZG9lcyBub3Qgd3JhcCBpbiBTV1QwMTI1Cjxicj4xR0dBT04yOiBTV1Q6QUxMIC0gU2NhbGluZyBpbWFnZSB3aXRoIGFscGhhcyBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseQo8YnI+MUdGWlFWUTogU1dUOkxpbnV4IC0gVmVydGljYWwgUHJvZ3Jlc3NCYXIgZ3Jvd3MgaW5jb3JyZWN0bHkKPGJyPjFHRlFBMTg6IFNXVDpMaW51eCAtIENoZWVzZSB3aXRoIEdDIGRyYXdSb3VuZGVkUmVjdGFuZ2xlKCkgb24gTW90aWYKPGJyPjFHRlBLNkc6IFNXVDpMaW51eCAtIE1vdGlmIGZpbGxQb2x5Z29uKCkgc3BlY2lmaWVzIGltcHJvcGVyIGhpbnQKPC9ibG9ja3F1b3RlPgoKPGgxPgpFY2xpcHNlIFBsYXRmb3JtIEJ1aWxkIE5vdGVzPGJyPgpTV1Q8L2gxPgpTV1QgQnVpbGQgMi4wIDAwMSAtIFRodXJzZGF5IEp1bHkgMTIsIDIwMDEKCjxoMj4KPGEgTkFNRT0iUHJvYmxlbSByZXBvcnRzIGZpeGVkIj48L2E+UHJvYmxlbSByZXBvcnRzIGZpeGVkPC9oMj4KCjxibG9ja3F1b3RlPgoxR0dFVDc2OiBTV1Q6TmV1dHJpbm8gLSBDYW52YXMgZG9lcyBub3QgcmVzcG9uZCB0byBzZXRGb2N1cygpCjxicj4xR0dBUzVQOiBTV1Q6TmV1dHJpbm8gLSBQaG90b24gb24gUU5YIDYuMS54IG5lZWRzIFNXVCBuYXRpdmUgY2hhbmdlcwo8YnI+MUdHOTZSTzogU1dUOk5ldXRyaW5vIC0gZHJhd092YWwgYW5kIGZpbGxPdmFsIG5vdCBjb21wYXRpYmxlCjxicj4xR0c4WkxWOiBTV1Q6V0lOTlQgLSBkcmF3T3ZhbCBiZWhhdmVzIGRpZmZlcmVudGx5IG9uIFdpbmRvd3MgdnMuIG90aGVyIHBsYXRmb3Jtcwo8YnI+MUdGS1lEOTogU1dUOkxpbnV4IC0gLUhBTkctIChYc2VydmVyKSBXaGVuIHBlcmZvbWluZyBkaXNwbGF5Lndha2UoKSBpbiBhIERORCBkcmFnU3RhcnQoKQo8YnI+MUdGS0szNzogU1dUOkxpbnV4IC0gRmlsZVZpZXdlciBleGFtcGxlcyBpc3N1ZXMKPGJyPjFHRkJIWDY6IFNXVDpBTEwgLSBDVGFiSXRlbSB0b29sIHRpcCBmbGFzaGluZwo8YnI+MUdGOVpNVDogU1dUOlNQQVJDIC0gOC1iaXQgSWNvbnMgYXJlIGxvc2luZyBjb2xvcnMKPGJyPjFHRjlaSkc6IFNXVDpTUEFSQyAtIEljb25zIGFyZSBiZWluZyBtYXNrZWQgaW5jb3JyZWN0bHkgb24gU29sYXJpcwo8YnI+MUdGOVlIRDogSVRQVUk6V0lOMjAwMCAtIFNXVEV4Y2VwdGlvbjogaGVscCB2aWV3Cjxicj4xR0Y5WTMyOiBTV1Q6U1BBUkMgLSAyNC1iaXQgTVNCIEljb25zIGFyZSB3cm9uZyBjb2xvciAoZ3JlZW5pc2gpCjxicj4xR0YwRDA1OiBTV1Q6TGludXggLSBHUEZzIHdoZW4gcnVubmluZyBKVW5pdCBUZXN0UnVubmVyIGluIEo5IEFXVAo8YnI+MUdFVVpaQzogU1dUOkFMTCAtICJOYW1lIiBvZiBwbHVnaW4gaW5jb25zaXN0YW50IHdpdGggb3RoZXIgcGx1Z2lucwo8YnI+MUdFVERQNTogSVRQVUk6TGludXggLSBOUEUgd2hpbGUgY2xvc2luZyBlZGl0b3Igb24gbGludXgKPGJyPjFHRFZSVDU6IFNXVDpOZXV0cmlubyAtIEFscGhhIGNoYW5uZWwgbWVtb3J5IGxlYWsKPGJyPjFHRFJYWlI6IElUUEpVSTpMaW51eCAtIFNXVDogQ29udGV4dC1NZW51cyBpc3N1ZSB1bmRlciBMaW51eCAKPGJyPjFHRDBPU0s6IFNXVDpBTEwgLSBBUEkgLSBwYWNrYWdlIGphdmFkb2MgZm9yIFNXVCBwYWNrYWdlcyBtaXNzaW5nCjxicj4xR0NIUzc1OiBTV1Q6V0lOTlQgLSB3b3JrYmVuY2ggZXhpdHMgZHVyaW5nIGV4cGFuZCBjb2xsYXBzZQo8YnI+MUdDRlVTMDogU1dUOkFMTCAtIENUYWJGb2xkZXIgImZsb2F0aW5nIiBYIHN0aWNrcyBzb21ldGltZXMKPGJyPjFHQVI5NU86IFNXVDpBTEwgLSBSZW1vdmUgU21hbGx0YWxrIGNvbW1lbnRzIGZyb20gU1dUIGNvZGUKPGJyPjFHQVFSTkQ6IFNXVDpBTEwgLSBET0M6IFdyaXRlIGdvb2QgSmF2YWRvYyBjb21tZW50cyBmb3IgYWxsIG9mIFNXVAo8YnI+MUc5N0kyODogU1dUOkxpbnV4IC0gVG9vbCBiYXIgYnV0dG9ucyBkbyBub3QgYWx3YXlzIHdvcmsKPGJyPjFHODRBWkI6IElUUERVSTpBTEwgLSBSZW5hbWUgdHJ1bmNhdGVzIG5hbWUKPGJyPjFHODQ1RVo6IFNXVDpXSU4yMDAwIC0gU3BlYyBmb3IgTGF5b3V0LmNvbXB1dGVTaXplKCkgaXMgdHJ1bmNhdGVkCjxicj4xRzdZWExCOiBTV1Q6V0lOIC0gU3R5bGVkVGV4dCAtIE5MUyBTdXBwb3J0Cjxicj4xRzdOU0hSOiBTV1Q6QUxMIC0gV2lkZ2V0LmFkZExpc3RlbmVyKGludCwgTGlzdGVuZXIpIHZzLiBhZGRpbmcgdHlwZWQgbGlzdGVuZXJzCjxicj4xRzRYREpPOiBTV1Q6TGludXggLSBUcmVlIG5lZWRzIHRvIGRpc3BsYXkgYW4gaW5zZXJ0IG1hcmtlcgo8YnI+MUcwWThOWjogU1dUOkFMTCAtIENvbWJvIGJveCBkb2Vzbid0IHNlbmQga2V5IGFuZCBtb3VzZSBldmVudHMgCjxicj4xRlhBVkxGOiBTV1Q6V0lOTlQgLSBEaXNhYmxlZCB0b29sYmFyIGljb25zIGRvbid0IGFkYXB0IHRvIGFwcGVhcmFuY2UgY2hhbmdlcwo8YnI+MUZWMVMxODogU1dUOkFMTCAtIE5lZWQgbW9yZSBXTV8qIG1lc3NhZ2VzIHBhc3NlZCB0byBBY3RpdmVYIENvbnRyb2wKPGJyPjFGVFdYNTU6IFNXVDpBTEwgLSBJbmNvbnNpc3RhbnQgY29tbWVudGluZyBvZiB3aGljaCBTV1Qgb2JqZWN0cyBuZWVkIHRvIGJlIGRpc3Bvc2VkLgo8L2Jsb2NrcXVvdGU+CjxhIGhyZWY9ImhnbGVnYWwuaHRtIj48aW1nIFNSQz0ibmdpYm1jcHkuZ2lmIiBCT1JERVI9MCBoZWlnaHQ9MTIgd2lkdGg9MTk1PjwvYT4KPC9ib2R5Pgo8L2h0bWw+Cg==