PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KPCEtLQogICAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQogICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKICAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgogICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAogICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAogICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLS0+Cjxkb2N1bWVudD4KCiAgPHByb3BlcnRpZXM+CiAgICA8YXV0aG9yIGVtYWlsPSJib2Rld2lnQGFwYWNoZS5vcmciPlN0ZWZhbiBCb2Rld2lnPC9hdXRob3I+CiAgICA8dGl0bGU+UmVzb3VyY2VzPC90aXRsZT4KICA8L3Byb3BlcnRpZXM+CgogIDxib2R5PgogICAgPHNlY3Rpb24gbmFtZT0iRkFRcyI+CiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9IkF0IEFudCdzIHdlYnNpdGUiPgoKICAgICAgICA8cD5TdGFydGluZyB3aXRoIHRoZSByZWxlYXNlIG9mIEFudCAxLjQgdGhlIEFudCdzIEZBUSBpcwogICAgICAgIGJ1bmRsZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLCB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbiBjYW4KICAgICAgICBhbHdheXMgYmUgZm91bmQgYXQgdGhlIHdlYnNpdGUuPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5GQVE6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9ImZhcS5odG1sIj5odHRwOi8vYW50LmFwYWNoZS5vcmcvZmFxLmh0bWw8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iakd1cnUiPgogICAgICAgIDxwPmpHdXJ1IGhvc3RzIGFuIGludGVyYWN0aXZlIEFudCBkaXNjdXNzaW9uIGZvcnVtIGFuZCBGQVEgc3lzdGVtPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5Gb3J1bTo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5qZ3VydS5jb20vZm9ydW1zL2hvbWUuanNwP3RvcGljPUFudCI+aHR0cDovL3d3dy5qZ3VydS5jb20vZm9ydW1zL2hvbWUuanNwP3RvcGljPUFudDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkZBUTo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5qZ3VydS5jb20vZmFxL2hvbWUuanNwP3RvcGljPUFudCI+aHR0cDovL3d3dy5qZ3VydS5jb20vZmFxL2hvbWUuanNwP3RvcGljPUFudDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJGQVEgYWJvdXQgQm9ybGFuZCBBcHBsaWNhdGlvbiBTZXJ2ZXIgdGFza3MiPgogICAgICAgIDxwPkJlbm9pdCBNb3Vzc2F1ZCwgdGhlIG9yaWdpbmFsIGF1dGhvciBvZiB0aGUgQm9ybGFuZAogICAgICAgIEFwcGxpY2F0aW9uIFNlcnZlciBzcGVjaWZpYyA8YQogICAgICAgIGhyZWY9Im1hbnVhbC9PcHRpb25hbFRhc2tzL2VqYi5odG1sI2VqYnRhc2tzIj5FSkIgdGFza3M8L2E+IGhhcyBwdXQKICAgICAgICB0b2dldGhlciBhIEZBUSBmb3IgdGhpcyBzcGVjaWZpYyBzdWJ0YXNrLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+RkFROjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd3d3Lm1vdXNzYXVkLm9yZy9lamJqYXIuaHRtbCI+aHR0cDovL3d3dy5tb3Vzc2F1ZC5vcmcvZWpiamFyLmh0bWw8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgogICAgPC9zZWN0aW9uPgoKICAgIDxzZWN0aW9uIG5hbWU9IldJS0lzIj4KICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQXBhY2hlIj4KCiAgICAgICAgPHA+VGhlIEFTRiBwcm92aWRlcyBhIFdpa2kgZmFybSBmb3IgQXBhY2hlIHByb2plY3RzLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+TWFpbiBwYWdlOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2dlbmVyYWwiPkFwYWNoZSBXaWtpIEZhcm08L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BbnQgV2lraTo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9hbnQvIj5BbnQgV2lraTwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CiAgICA8L3NlY3Rpb24+CgoKCgogICAgPHNlY3Rpb24gbmFtZT0iQm9va3MiPgogICAgICA8cD5UaGUgbW9zdCByZWNlbnQgYm9va3MgY29tZSBmaXJzdDwvcD4KICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQW50IGluIEFjdGlvbiIKICAgICAgICAgIGlzYm49IjE5MzIzOTQ4MFgiPgogICAgICAgIDxwPlB1Ymxpc2hlZCBBcHJpbC9NYXkgMjAwNywgYW5kIGNvdmVyaW5nIEFudCAxLjcuPC9wPgoKICAgICAgICA8cD5UaGlzIGlzIGEgbWFqb3IgcmV3cml0ZSBvZiB0aGUgZmlyc3QgZWRpdGlvbjsgc3RpbGwgNjAwIHBhZ2VzIGxvbmcuCiAgICAgICAgPC9wPgoKICAgICAgICA8cD4KICAgICAgICAgIFRoaXMgYm9vayBtb3ZlcyB1cCBmcm9tIEFudDEuNSB0byBKYXZhMS41IGFuZCAxLjcsIHdpdGggYSBuZWFyLWNvbXBsZXRlCiAgICAgICAgICByZXdyaXRlIG9mIHRoZSBhcHBsaWVkLWFudCBzZWN0aW9uLCBjb3ZlcmluZyBuZXcgdG9waWNzIHN1Y2ggYXMKICAgICAgICAgIGFudGxpYnMsIHJlcG9zaXRvcnkgbWFuYWdlbWVudCB3aXRoIEl2eSwgWG1sIFNjaGVtYSB2YWxpZGF0aW9uLAogICAgICAgICAgRUpCMy4wL0phdmEgRUUgZGV2ZWxvcG1lbnQgYW5kIGFkdmFuY2VkIGRlcGxveW1lbnQgdXNpbmcgU21hcnRGcm9nLgogICAgICAgICAgVGhlIGFudCBjb2Rpbmcgc2VjdGlvbiBsb29rcyBhdCBBbnRVbml0LCBhbnRsaWIgYXV0aG9yaW5nIGFuZAogICAgICAgICAgc2NyaXB0aW5nIGxhbmd1YWdlcywgd2hpbGUgdGhlIGJlZ2lubmVycyBjaGFwdGVycywgdGhlIGZpcnN0IHRoaXJkCiAgICAgICAgICBvZiB0aGUgYm9vaywgc3RpbGwgc2hvd3MgZGV2ZWxvcGVycyBob3cgdG8gYnVpbGQsIHRlc3QsIHBhY2thZ2UgYW5kCiAgICAgICAgICByZWRpc3RyaWJ1dGUgYSBKYXZhIGFwcGxpY2F0aW9uLgogICAgICAgIDwvcD4KICAgICAgICA8cD4KICAgICAgICAgIElmIHlvdSBhcmUgb25lIG9mIHRoZSAyMCwwMDArIG93bmVycyBvZiB0aGUgZmlyc3QgZWRpdGlvbiwgaXQgaXMgbm93CiAgICAgICAgICBvYnNvbGV0ZS4gU29ycnkgOikKICAgICAgICA8L3A+CgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+U3RldmUgTG91Z2hyYW4gYW5kIEVyaWsgSGF0Y2hlcjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+UHVibGlzaGVyIFVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5tYW5uaW5nLmNvbS9sb3VnaHJhbi8iPgogICAgICAgICAgICAgICAgaHR0cDovL3d3dy5tYW5uaW5nLmNvbS9sb3VnaHJhbi8KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+Qm9vayBVUkw8L3RoPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2FudGJvb2sub3JnLyI+CiAgICAgICAgICAgICAgICBodHRwOi8vYW50Ym9vay5vcmcvCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlNvdXJjZSBjb2RlIHJlcG9zaXRvcnk8L3RoPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9hbnRib29rIj4KICAgICAgICAgICAgICAgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvYW50Ym9vawogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQW50OiBUaGUgRGVmaW5pdGl2ZSBHdWlkZSwgMm5kIGVkaXRpb24iIGlzYm49IjA1OTYwMDYwOTgiPgogICAgICAgIDxwPlB1Ymxpc2hlZCBBcHJpbCAyMDA1LCBhbmQgY292ZXJzIEFudCByZWxlYXNlIDEuNi4xLjwvcD4KCiAgICAgICAgPHA+VGhpcyBpcyBhIGNvbXBsZXRlIHJld3JpdGUgb2YgdGhlIGZpcnN0IGVkaXRpb247IHRoaXMgYm9vayBpcwogICAgICAgIG5vdyAyOTAgcGFnZXMgYW5kIHNvIGNvdmVycyBBbnQgaW4gbW9yZSBkZXB0aCB0aGFuIGl0cyBwcmVkZWNlc3Nvci4KICAgICAgICA8L3A+CgogICAgICAgIDxwPkl0IGFsc28gbWl4ZXMgcmVmZXJlbmNlIGluZm9ybWF0aW9uICh0YWJsZXMpIHdpdGggdGV4dCBleHBsYW5hdGlvbgogICAgICAgIG9uIGhvdyB0byB1c2UgdGhlIHRhc2tzLiBDb250ZW50cyBpbmNsdWRlcyBKVW5pdCwgQ1ZTLCBleGVjdXRpb24sIGJhc2ljCiAgICAgICAgZGVwbG95bWVudCwgV2ViIGFwcGxpY2F0aW9uIGRldmVsb3BtZW50IGFuZCBYRG9jbGV0LiBUaGVyZSBpcyBhbHNvIGNvdmVyYWdlCiAgICAgICAgb2YgWERvY2xldCwgYW5kIGEgY2hhcHRlciBvbiBob3cgdG8gZXh0ZW5kIEFudCBpbiBKYXZhLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5TdGV2ZSBIb2x6bmVyPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cub3JlaWxseS5jb20vY2F0YWxvZy9hbnR0ZGcyLyI+aHR0cDovL3d3dy5vcmVpbGx5LmNvbS9jYXRhbG9nL2FudHRkZzIvPC9hPgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJQcmFnbWF0aWMgUHJvamVjdCBBdXRvbWF0aW9uIiBpc2JuPSIwOTc0NTE0MDM5Ij4KICAgICAgICA8cD4KCiAgICAgICAgSG93IHRvIEJ1aWxkLCBEZXBsb3ksIGFuZCBNb25pdG9yIEphdmEgQXBwbGljYXRpb25zLgogICAgICAgIFB1Ymxpc2hlZDogSnVseSAyMDA0IElTQk46ICAgICAgICAwLTk3NDUxNDAtMy05CiAgICAgICAgPC9wPgogICAgICAgIDxwPgogICAgICAgICAgVGhpcyBpcyBub3QgYSByZWZlcmVuY2UgZ3VpZGUgdG8gQW50LCBidXQgYSBib29rIG9uIGhvdyB0byBhdXRvbWF0ZSB0aGUgYnVpbGQgcHJvY2Vzcy4KICAgICAgICAgIFRoZSBjb3JlIGJ1aWxkLCBjb250aW51b3VzIGludGVncmF0aW9uLCByZXBvcnRpbmcgYW5kIHJlbGVhc2UgbWFuYWdlbWVudAogICAgICAgICAgYXJlIGFsbCBjb3ZlcmVkLiBBbnQgaXMgb2YgY291cnNlIGNlbnRyYWwgdG8gdGhpcy4gVGhpcyBpcyBhIGZ1biByZWFkIQogICAgICAgIDwvcD4KICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3I6PC90aD4KICAgICAgICAgICAgPHRkPk1pa2UgQ2xhcms8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5wcmFnbWF0aWNwcm9ncmFtbWVyLmNvbS9zay9hdXRvLyI+aHR0cDovL3d3dy5wcmFnbWF0aWNwcm9ncmFtbWVyLmNvbS9zay9hdXRvLy88L2E+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iRXh0cmVtZSBQcm9ncmFtbWluZyB3aXRoIEFudCIgaXNibj0iMDY3MjMyNTYyNCI+CiAgICAgICAgIDxwPiBUaGlzIGJvb2sgc2hvd3MgaG93IHRvIGltcGxlbWVudCBhbiBYUCBwcm9qZWN0IHVzaW5nIEFudCAxLjUuMywgYW5kIG1hbnkgb3RoZXIgM3JkIHBhcnR5IHRvb2xzLiAgQ292ZXJzOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICA8bGk+VGhlIGZ1bmRhbWVudGFscyBvZiBBbnQ6IGNvbmNlcHRzLCBjb3JlIGFuZCBvcHRpb25hbCB0YXNrczwvbGk+CiAgICAgICAgICAgICAgIDxsaT5Ib3cgdG8gd3JpdGUgY3VzdG9tIEFudCBjb21wb25lbnRzLCBpbmNsdWRpbmcgY3VzdG9tIFRhc2tzLCBMb2dnZXJzLCBMaXN0ZW5lcnMsIElucHV0IEhhbmRsZXJzLCBTZWxlY3RvcnMsIEZpbHRlcnMsIE1hcHBlcnMgYW5kIERhdGEgVHlwZXM8L2xpPgogICAgICAgICAgICAgICA8bGk+TWl0aWdhdGluZyByaXNrcyBieSBjcmVhdGluZyBzcGlrZSB0ZXN0cyB3aXRoIEFudCBidWlsZGZpbGVzPC9saT4KICAgICAgICAgICAgICAgPGxpPkFkZCBDVlMgdmVyc2lvbiBjb250cm9sIGFuZCB0ZXN0aW5nIHdpdGggSlVuaXQ8L2xpPgogICAgICAgICAgICAgICA8bGk+QXV0b21hdGUgbmlnaHRseSBidWlsZHMgYW5kIHJlcG9ydGluZzwvbGk+CiAgICAgICAgICAgICAgIDxsaT5EZXBsb3kgYXBwbGljYXRpb25zIGR5bmFtaWNhbGx5IHVzaW5nIFhEb2NsZXQ8L2xpPgogICAgICAgICAgICAgICA8bGk+RW5mb3JjaW5nIENvZGUgU3RhbmRhcmRzIHdpdGggSmFsb3B5LCBQTUQsIENoZWNrU3R5bGUsIGlDb250cmFjdCwgSkRlcGVuZDwvbGk+CiAgICAgICAgICAgICAgIDxsaT5Vc2luZyBSZW1vdGUgQW50IChSYW50KSBhbmQgQ3J1aXNlQ29udHJvbDwvbGk+CiAgICAgICAgICAgICAgIDxsaT5HZW5lcmF0aW5nIHByb2plY3QgZG9jdW1lbnRhdGlvbjwvbGk+CiAgICAgICAgICAgICAgIDxsaT5BZGFwdGluZyBhbiBYUCBwcm9jZXNzIGZvciB1c2UgYnkgb3RoZXIgdGVhbXMgb3IgYWNyb3NzIGFuIGVudGVycHJpc2U8L2xpPgogICAgICAgICAgICAgICA8bGk+Q3VzdG9tIFRhc2sgZXhhbXBsZXMgdG8gZ2VuZXJhdGluZyBVTUwgZGlhZ3JhbXMsIGNyZWF0aW5nIHJlcG9ydHMgYW5kIG1ldHJpY3Mgb24tdGhlLWZseTwvbGk+CiAgICAgICAgICAgICAgIDxsaT5Gb2xsb3dzIGEgY2FzZS1zdHVkeSBvZiBhIHRlYW0gdGhhdCBpbXBsZW1lbnRzIGFuIFhQIFByb2plY3Q8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3JzOjwvdGg+CiAgICAgICAgICAgIDx0ZD5HbGVubiBOaWVtZXllciBhbmQgSmVyZW15IFBvdGVldDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnNhbXMuY29tL2NhdGFsb2cvcHJvZHVjdC5hc3A/cHJvZHVjdF9pZD0lN0JGQjgyNUE0OC1CQzA0LTRDNTUtQkQ4Qy1ERjkzQzZCQkY5MjAlN0QiPmh0dHA6Ly93d3cuc2Ftcy5jb20vY2F0YWxvZy9wcm9kdWN0LmFzcD9wcm9kdWN0X2lkPSU3QkZCODI1QTQ4LUJDMDQtNEM1NS1CRDhDLURGOTNDNkJCRjkyMCU3RDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJBbnQuIERhcyBKYXZhLUJ1aWxkLVRvb2wgaW4gZGVyIFByYXhpcyIgaXNibj0iMzgyNzMyMDY2NiI+CiAgICAgICAgPHA+QSBHZXJtYW4gbGFuZ3VhZ2UgYm9vayBvbiBBbnQgdGhhdCBjb3ZlcnMgQW50IDEuNS4KICAgICAgICBUaGlzIGlzIHRoZSBvcmlnaW5hbCBkZXNjcmlwdGlvbjo8L3A+CiAgICAgICAgPHNvdXJjZT4KICAgICAgICBEYXMgQnVpbGQtVG9vbCBBbnQgaXN0IGRhcyBPcGVuLVNvdXJjZS1XZXJremV1ZywgZGFzIGRlbiBFbnR3aWNrbHVuZ3Nwcm96ZXNzIGVpbmVyIEphdmEtCiAgICAgICAgb2RlciBKMkVFLUFud2VuZHVuZyB3ZXNlbnRsaWNoIHZlcmVpbmZhY2h0LiBHZXN0ZXVlcnQgZHVyY2ggWE1MLWJhc2llcnRlIFNrcmlwdGUgZu+/vWhydCBlcwogICAgICAgIG5haGV6dSBhbGxlIEF1ZmdhYmVuIGF1cywgZGllIG5hY2ggZGVtIEtvZGllcmVuIGVpbmVyIEFud2VuZHVuZyBhbmZhbGxlbi48L3NvdXJjZT4KICAgICAgICA8cD5Tb21lIHRvcGljczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgIDxsaT5jcmVhdGluZyBhcmNoaXZlcyAoemlwLCBqYXIpPC9saT4KICAgICAgICAgICAgICAgIDxsaT5jYWxsIHRoZSBqYXZhIGNvbXBpbGVyPC9saT4KICAgICAgICAgICAgICAgIDxsaT5lZGl0IHByb3BlcnR5IGZpbGVzPC9saT4KICAgICAgICAgICAgICAgIDxsaT5maWxlIG9wZXJhdGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+c291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICA8cD5UaGUgYm9vayBpcyBhdmFpbGFibGUgaW4gRW5nbGlzaCBhcyAiQW50OiBUaGUgSmF2YSBCdWlsZCBUb29sIGluIFByYWN0aWNlIjwvcD4KICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3JzOjwvdGg+CiAgICAgICAgICAgIDx0ZD5CZXJuZCBNYXR6a2U8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5hZGRpc29uLXdlc2xleS5kZS9tYWluL21haW4uYXNwP3BhZ2U9aG9tZS9ib29rZGV0YWlscyZhbXA7UHJvZHVjdElEPTEzNDU5Ij5odHRwOi8vd3d3LmFkZGlzb24td2VzbGV5LmRlL21haW4vbWFpbi5hc3A/cGFnZT1ob21lL2Jvb2tkZXRhaWxzJmFtcDtQcm9kdWN0SUQ9MTM0NTk8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iSmF2YSBEZXZlbG9wbWVudCB3aXRoIEFudCIgaXNibj0iMTkzMDExMDU4OCI+CiAgICAgICAgPHA+UHVibGlzaGVkIDIwMDIuIFRoaXMgYm9vayBjb3ZlcnMgQW50IDEuNSwgaW5jbHVkaW5nOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgPGxpPlRoZSBuZXcgQW50IDEuNSBmZWF0dXJlczwvbGk+CiAgICAgICAgICAgICAgICA8bGk+QW50J3MgZGF0YXR5cGVzIGFuZCBwcm9wZXJ0eSBoYW5kbGluZzwvbGk+CiAgICAgICAgICAgICAgICA8bGk+SlVuaXQgdGVzdGluZyBhbmQgcmVwb3J0aW5nPC9saT4KICAgICAgICAgICAgICAgIDxsaT5Db250aW51b3VzIGludGVncmF0aW9uIHRlY2huaXF1ZXM8L2xpPgogICAgICAgICAgICAgICAgPGxpPlhEb2NsZXQgZm9yIGF0dHJpYnV0ZS1vcmllbnRlZCBwcm9ncmFtbWluZzwvbGk+CiAgICAgICAgICAgICAgICA8bGk+RUpCIGdlbmVyYXRpb24sIGJ1aWxkaW5nLCBhbmQgcGFja2FnaW5nPC9saT4KICAgICAgICAgICAgICAgIDxsaT5Xcml0aW5nIGFuZCB0ZXN0aW5nIG5hdGl2ZSBjb2RlPC9saT4KICAgICAgICAgICAgICAgIDxsaT5CdWlsZGluZyBXZWIgU2VydmljZXMgd2l0aCBBcGFjaGUgQXhpczwvbGk+CiAgICAgICAgICAgICAgICA8bGk+RGVwbG95aW5nIHlvdXIgc3lzdGVtIHRvIG11bHRpcGxlIHJlbW90ZSBzZXJ2ZXJzPC9saT4KICAgICAgICAgICAgICAgIDxsaT5Vc2luZyBhbmQgd3JpdGluZwogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkxvZ2dlcnM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+TGlzdGVuZXJzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlNlbGVjdG9yczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DdXN0b20gdGFza3M8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgIDxwPkFsc28gYXZhaWxhYmxlIGluIEtvcmVhbiBhbmQgR2VybWFuIGVkaXRpb25zPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3JzOjwvdGg+CiAgICAgICAgICAgIDx0ZD5FcmlrIEhhdGNoZXIgYW5kIFN0ZXZlIExvdWdocmFuPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cubWFubmluZy5jb20vYW50Ym9vay8iPmh0dHA6Ly93d3cubWFubmluZy5jb20vYW50Ym9vay88L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQW50OiBUaGUgRGVmaW5pdGl2ZSBHdWlkZSwgMXN0IGVkaXRpb24iIGlzYm49IjA1OTYwMDE4NDMiPgogICAgICAgICAgPCEtLSBhIHNvb24gYXMgc29tZWJvZHkgc3VibWl0cyBhIGRlc2NyaXB0aW9uLCBsZXQncyBhZGQgaXQgLS0+CiAgICAgICAgPHA+UHVibGlzaGVkIDIwMDIsIENvdmVycyBBbnQgcmVsZWFzZSAxLjQuMS48L3A+CiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yczo8L3RoPgogICAgICAgICAgICA8dGQ+SmVzc2UgRS4gVGlsbHkgYW5kIEVyaWMgTS4gQnVya2U8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5vcmVpbGx5LmNvbS9jYXRhbG9nL2FudHRkZy8iPmh0dHA6Ly93d3cub3JlaWxseS5jb20vY2F0YWxvZy9hbnR0ZGcvPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9IkFudC4gS3VyeiB1bmQgR3V0LiIgaXNibj0iMzg5NzIxMjQxMiI+CgogICAgICAgIDxwPkEgR2VybWFuIGxhbmd1YWdlIHNob3J0IHJlZmVyZW5jZSBmb3IgQW50IHRoYXQgY292ZXJzIEFudAogICAgICAgIDEuNC4gIFRoaXMgaXMgdGhlIG9yaWdpbmFsIGRlc2NyaXB0aW9uOjwvcD4KCiAgICAgICAgPHNvdXJjZT4KICBBbnQga3VyeiAmYW1wOyBndXQgZW50aCYjeGU0O2x0IGVpbmUgdm9sbHN0JiN4ZTQ7bmRpZ2UgUmVmZXJlbnogZGVyIEJ1aWx0LWluIFRhc2tzCiAgdW5kIGlocmVyIGpld2VpbGlnZW4gQXR0cmlidXRlIHNvd2llIGt1cnplIEJlaXNwaWVsZSBmJiN4ZmM7ciBpaHJlIFZlcndlbmR1bmcuCiAgRGFuZWJlbiBiaWV0ZXQgZGFzIEJ1Y2ggZWluZSBrbmFwcGUgRWluZiYjeGZjO2hydW5nIGluIGRpZSBBcmJlaXQgbWl0IEFudCB1bmQKICBlaW5lIEVybCYjeGU0O3V0ZXJ1bmcgZGVyIEFudC1CYXNpc2VsZW1lbnRlIChQcm9qZWt0ZSwgUHJvcGVydGllcywgVGFyZ2V0cyB1bmQgVGFza3MpLgogIEJlaGFuZGVsdCB3ZXJkZW4gYXUmI3hkZjtlcmRlbSBncnVuZGxlZ2VuZGUgS29uemVwdGUgd2llIEZpbGVzZXRzLCBQYXR0ZXJuc2V0cyB1bmQKICBQZmFkc3RydWt0dXJlbiwgZGFzIFNjaHJlaWJlbiBlaWdlbmVyIFRhc2tzLCBkaWUgQXVmcnVmLVN5bnRheCB1bmQgT3B0aW9uYWwgVGFza3MuIDwvc291cmNlPgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+U3RlZmFuIEVkbGljaDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd3d3LmFtYXpvbi5kZS9leGVjL29iaWRvcy9BU0lOLzM4OTcyMTI0MTIvIj5odHRwOi8vd3d3LmFtYXpvbi5kZS9leGVjL29iaWRvcy9BU0lOLzM4OTcyMTI0MTIvPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9IkphdmEgVG9vbHMgZm9yIGVYdHJlbWUgUHJvZ3JhbW1pbmciIGlzYm49IjA0NzEyMDcwOFgiPgogICAgICAgIDxwPlRoaXMgYm9vayBjb3ZlcnMgdGhlIGZvbGxvd2luZyBYUCBzdWJqZWN0czo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgIDxsaT5BdXRvbWF0ZWQgdW5pdCBhbmQgZnVuY3Rpb25hbCB0ZXN0aW5nPC9saT4KICAgICAgICAgICAgICAgIDxsaT5Db250aW51b3VzIGludGVncmF0aW9uIHRocm91Z2ggYnVpbGQgYW5kIGRlcGxveW1lbnQgYXV0b21hdGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+VGhlIHZhbHVlIG9mIHJlZmFjdG9yaW5nIGFuZCBjb250aW51b3VzIGludGVncmF0aW9uPC9saT4KICAgICAgICAgICAgICAgIDxsaT5Ib3cgQW50LCBKVW5pdCwgSlVuaXRQZXJmLCBDYWN0dXMsIEhUVFBVbml0LCBhbmQgSk1ldGVyCiAgICAgICAgICAgICAgICBjYW4gYmUgdXNlZCB0byBhY2hpZXZlIHRoZSBnb2FscyBvZiB0aGUgWFAgbWV0aG9kb2xvZ3k8L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3JzOjwvdGg+CiAgICAgICAgICAgIDx0ZD5SaWNoYXJkIEhpZ2h0b3dlciBhbmQgTmljaG9sYXMgTGVzaWVja2k8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53aWxleS5jb20vY2RhL3Byb2R1Y3QvMCwsMDQ3MTIwNzA4WCwwMC5odG1sIj5odHRwOi8vd3d3LndpbGV5LmNvbS9jZGEvcHJvZHVjdC8wLCwwNDcxMjA3MDhYLDAwLmh0bWw8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgIDwvc2VjdGlvbj4KCiAgICA8c2VjdGlvbiBuYW1lPSJBcnRpY2xlcyBhbmQgUHJlc2VudGF0aW9ucyI+CgogICAgICA8cD5UaGUgZm9sbG93aW5nIHNlY3Rpb25zIGxpc3QgYXJ0aWNsZXMgYW5kIHByZXNlbnRhdGlvbnMKICAgICAgd3JpdHRlbiBhYm91dCBBcGFjaGUgQW50LiAgSWYgeW91J3ZlIHdyaXR0ZW4gc29tZXRoaW5nIHRoYXQKICAgICAgc2hvdWxkIGJlIGluY2x1ZGVkLCBwbGVhc2UgcG9zdCBpdCB0byBvbmUgb2YgdGhlIG1haWxpbmcKICAgICAgbGlzdHMuPC9wPgoKICAgIDwvc2VjdGlvbj4KCiAgICA8c2VjdGlvbiBuYW1lPSJBcnRpY2xlcyI+CgogICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQW50ICsgRG9jQm9vayBIT1dUTyI+CiAgICAgICAgIDxwPlB1cmUgSmF2YSBEb2NCb29rIFN5c3RlbXMsIGluY2x1ZGluZyBBbnQgSW50ZWdyYXRpb248L3A+CiAgICAgICAgIDxwPlRoZSBEb2NCb29rIHRlYW0gZG9jdW1lbnRzIGhvdyB0byB1c2UgIm1ha2UiIGZvciBEb2NCb29rLgogICAgICAgICBUaGlzIEhPV1RPIGRvY3VtZW50IGlzIGFuIGF0dGVtcHQgdG8gY292ZXIgdGhlIG5lZ2xlY3RlZCBjYXNlIG9mIHVzaW5nCiAgICAgICAgIERvY0Jvb2sgZm9yIHB1cmUgSmF2YSBwcm9qZWN0cy48L3A+CiAgICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgICA8dGQ+QmxhaW5lIFNpbXBzb24gPC90ZD4KICAgICAgICAgICA8L3RyPgogICAgICAgICAgIDx0cj4KICAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vcHViLmFkbWMuY29tL2hvd3Rvcy9hbnQtZG9jYm9vay1ob3d0by8iPmh0dHA6Ly9wdWIuYWRtYy5jb20vaG93dG9zL2FudC1kb2Nib29rLWhvd3RvLzwvYT48L3RkPgogICAgICAgICAgIDwvdHI+CiAgICAgICAgIDwvdGFibGU+CiAgICAgICA8L3N1YnNlY3Rpb24+CgogICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iRXh0ZW5kaW5nIEFudCBJbnB1dCBBYmlsaXRpZXMiPgogICAgICAgICA8cD5UaGUgY29udGVudHMgb2YgdGhpcyBkb2N1bWVudCBpcyB0aGUgZm9sbG93aW5nOjx1bD4KICAgICAgICAgICA8bGk+U2VjdGlvbiAyIHByb3ZpZGVzIGEgc2ltcGxlIGV4YW1wbGUgaG93IElucHV0SGFuZGxlcnMgYXJlIGNyZWF0ZWQsPC9saT4KICAgICAgICAgICA8bGk+U2VjdGlvbiAzIGRldmVsb3BzIGFuIGlucHV0aGFuZGxlciB0aGF0IG1hc2tzIHRoZSBwYXNzd29yZHMgdHlwZWQgb24gdGhlIGNvbW1hbmQgbGluZSw8L2xpPgogICAgICAgICAgIDxsaT5TZWN0aW9uIDQgZ2l2ZXMgdHdvIGhhbmRsZXJzLCB3aG9zZSBpbnB1dCBpcyB0eXBlZCBpbiBncmFwaGljYWwgY29tcG9uZW50cyw8L2xpPgogICAgICAgICAgIDxsaT5TZWN0aW9uIDUgZXh0ZW5kcyBJbnB1dCB0YXNrIHNvIHRoYXQgd2UgY2FuIHVzZSBkaWVyZW50IGlucHV0IGhhbmRsZXJzIG9uIGRpZmZlcmVudCB1c2VzIG9mICZsdDtpbnB1dCZndDssPC9saT4KICAgICAgICAgICA8bGk+U2VjdGlvbiA2IGRlc2NyaWJlcyBhIHByb2JsZW0gZm91bmQgd2hpbGUgd3JpdGluZyB0aGlzIGRvY3VtZW50LDwvbGk+CiAgICAgICAgICAgPGxpPlNlY3Rpb24gNyBzdW1tYXJpemVzIHNvbWUgZGFyayBjb3JuZXJzIHRoZSBhdXRob3IgZG8gbm90IHVuZGVyc3RhbmQuPC9saT4KICAgICAgICAgPC91bD48L3A+CgogICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICAgPHRkPkl2YW4gSXZhbm92PC90ZD4KICAgICAgICAgICA8L3RyPgogICAgICAgICAgIDx0cj4KICAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3Nob3dmaWxlcy5waHA/Z3JvdXBfaWQ9MTAzNTA5Ij5odHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3Nob3dmaWxlcy5waHA/Z3JvdXBfaWQ9MTAzNTA5IChEb3dubG9hZCBaSVArUERGIGZyb20gU291cmNlZm9yZ2UpPC9hPjwvdGQ+CiAgICAgICAgICAgPC90cj4KICAgICAgICAgPC90YWJsZT4KICAgICAgIDwvc3Vic2VjdGlvbj4KCgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iS2VlcCB0aGUgQW50LCBIb2xkIHRoZSBYTUwiPgogICAgICAgIDxwPktleSBHLiBHYXV0aGllciB0YWxrcyBhYm91dCB3cml0aW5nICJidWlsZGZpbGVzIiBpbiBKYXZhLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5LZXkgRy4gR2F1dGhpZXI8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5mdHBvbmxpbmUuY29tL2phdmFwcm8vMjAwNF8wNi9tYWdhemluZS9mZWF0dXJlcy9rZ2F1dGhpZXIvIj5odHRwOi8vd3d3LmZ0cG9ubGluZS5jb20vamF2YXByby8yMDA0XzA2L21hZ2F6aW5lL2ZlYXR1cmVzL2tnYXV0aGllci88L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQW50IDEuNiBmb3IgVGFzayBXcml0ZXJzIj4KICAgICAgICA8cD5UaGlzIGFydGljbGUgdGFsa3MgYWJvdXQgWE1MIG5hbWVzcGFjZSBoYW5kbGluZywgQW50CiAgICAgICAgbGlicmFyaWVzIGFuZCB0aGUgbmV3bHkgaW50cm9kdWNlZCB0eXBlIHBvbHltb3JwaGlzbS48L3A+CgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+U3RlZmFuIEJvZGV3aWc8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL290bi5vcmFjbGUuY29tL3B1Yi9hcnRpY2xlcy9ib2Rld2lnX3Rhc2t3cml0ZXJzLmh0bWwiPmh0dHA6Ly9vdG4ub3JhY2xlLmNvbS9wdWIvYXJ0aWNsZXMvYm9kZXdpZ190YXNrd3JpdGVycy5odG1sPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9Ik1hbmFnaW5nIEJ1aWxkIENvbXBsZXhpdHkgd2l0aCBBcGFjaGUgQW50IDEuNiI+CgogICAgICAgIDxwPkFzIEFwYWNoZSBBbnQgaXMgYXBwbGllZCB0byBpbmNyZWFzaW5nbHkgZGlmZmljdWx0IHRhc2tzLAogICAgICAgIGl0cyB1c2VycyBhcmUgY3JlYXRpbmcgbW9yZSBjb21wbGV4IGFuZCBsZXNzIGxlZ2libGUgYnVpbGQKICAgICAgICBmaWxlcy4gVGhpcyBpcyBkdWUsIGluIHBhcnQsIHRvIHRoZSBsaW1pdGVkIHRvb2xzIGZvcgogICAgICAgIGRlY29tcG9zaXRpb24gYW5kIGNvZGUgcmV1c2Ugd2l0aGluIHByZXZpb3VzIHZlcnNpb25zIG9mCiAgICAgICAgQW50LjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5HZW9mZnJleSBXaXNlbWFuPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuc3lzLWNvbi5jb20vc3RvcnkvP3N0b3J5aWQ9NDUwNzgmYW1wO0RFPTEiPmh0dHA6Ly93d3cuc3lzLWNvbi5jb20vc3RvcnkvP3N0b3J5aWQ9NDUwNzgmYW1wO0RFPTE8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iTmV3IEFudCAxLjYgRmVhdHVyZXMgZm9yIEJpZyBQcm9qZWN0cyI+CiAgICAgICAgPHA+VGhpcyBhcnRpY2xlIGRlc2NyaWJlcyB0aGUgJmx0O21hY3JvZGVmJmd0OywgJmx0O2ltcG9ydCZndDsKICAgICAgICAgIGFuZCAmbHQ7c3ViYW50Jmd0OyB0YXNrcyBpbiBkZXRhaWwgYW5kIHNob3dzIGhvdyB0aGV5IGhlbHAgaW4KICAgICAgICAgIGJ1aWxkaW5nIGJpZ2dlciBzeXN0ZW1zLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5TdGVmYW4gQm9kZXdpZzwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vb3RuLm9yYWNsZS5jb20vcHViL2FydGljbGVzL2JvZGV3aWdfYW50MS42Lmh0bWwiPmh0dHA6Ly9vdG4ub3JhY2xlLmNvbS9wdWIvYXJ0aWNsZXMvYm9kZXdpZ19hbnQxLjYuaHRtbDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJQcm9ncmFtbWllcmVuIGb8ciBBbnQiPgogICAgICAgIDxwPlRoaXMgYXJ0aWNsZSBkZXNjcmliZXMgdGhlIG1haW4gdG9waWNzIG9mIHByb2dyYW1taW5nIHlvdXIgb3duIHRhc2tzLgogICAgICAgIERlc2NyaXB0aW9uIGlzIGRvbmUgb24gZml2ZSBleGFtcGxlcy48L3A+CiAgICAgICAgPHA+VGhpcyBhcnRpY2xlIGlzIHdyaXR0ZW4gaW4gR2VybWFuIGFuZCBwdWJsaXNoZWQgaW4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LnNpZ3MtZGF0YWNvbS5kZS9zZC9wdWJsaWNhdGlvbnMvanMvaW5kZXguaHRtIj5KYXZhLVNwZWt0cnVtPC9hPgogICAgICAgIDUvMjAwNC48L3A+CgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+QmVybmQgTWF0emtlPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2lncy1kYXRhY29tLmRlL3NkL25ld3MvZG9jdW1lbnQ/UElEPTIxNiI+aHR0cDovL3d3dy5zaWdzLWRhdGFjb20uZGUvc2QvbmV3cy9kb2N1bWVudD9QSUQ9MjE2PC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9IkFudCBpbiBBbmdlcjogVXNpbmcgQW50IGluIGEgUHJvZHVjdGlvbiBEZXZlbG9wbWVudCBTeXN0ZW0iPgogICAgICAgIDxwPlRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIHN0cmF0ZWdpZXMgYW5kIHNvbWUgYmFzaWMgZXhhbXBsZXMgb2YgaG93IHRvCiAgICAgICAgdXNlIEFudCBpbiBsYXJnZXIgdGVhbSBkZXZlbG9wbWVudCBwcm9qZWN0cy48L3A+CgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+U3RldmUgTG91Z2hyYW48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iYW50X2luX2FuZ2VyLmh0bWwiPmh0dHA6Ly9hbnQuYXBhY2hlLm9yZy9hbnRfaW5fYW5nZXIuaHRtbDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJBbnQgVGFzayBHdWlkZWxpbmVzIj4KICAgICAgICA8cD5UaGlzIGRvY3VtZW50IGRlc2NyaWJlcyBob3cgdG8gd3JpdGUgY3VzdG9tIEFudCB0YXNrcywgYW5kIGhvdyB0byBzdWJtaXQKICAgICAgICB0aGVtIHRvIHBvdGVudGlhbGx5IGJlIGluY2x1ZGVkIGluIEFudC48L3A+CgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+U3RldmUgTG91Z2hyYW48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iYW50X3Rhc2tfZ3VpZGVsaW5lcy5odG1sIj5odHRwOi8vYW50LmFwYWNoZS5vcmcvYW50X3Rhc2tfZ3VpZGVsaW5lcy5odG1sPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9IkJ1aWxkIGEgQmV0dGVyIFJvYm90IHdpdGggQW50Ij4KICAgICAgICA8cD5UaGlzIGFydGljbGUgZGVzY3JpYmVzIHRoZSBnb3J5IGRldGFpbHMgb2Ygd3JpdGluZyBjdXN0b20KICAgICAgICAgICBBbnQgdGFza3MuPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3I6PC90aD4KICAgICAgICAgICAgPHRkPkVyaWsgSGF0Y2hlcjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd3d3LmZhd2NldHRlLmNvbS9qYXZhcHJvLzIwMDNfMDIvbWFnYXppbmUvZmVhdHVyZXMvZWhhdGNoZXIvIj5odHRwOi8vd3d3LmZhd2NldHRlLmNvbS9qYXZhcHJvLzIwMDNfMDIvbWFnYXppbmUvZmVhdHVyZXMvZWhhdGNoZXIvbDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJBdXRvbWF0aW5nIHRoZSBidWlsZCBhbmQgdGVzdCBwcm9jZXNzIj4KICAgICAgICA8cD5UaGlzIGFydGljbGUgZGVtb25zdHJhdGVzIGFuIGFwcHJvYWNoIHRvIHRoZSBhdXRvbWF0ZWQgYnVpbGQgYW5kIHRlc3QgcHJvY2Vzcy4gV29ya2luZyB3aXRoIEFudCAxLjMgYW5kIHRoZSBKVW5pdCB0ZXN0IGZyYW1ld29yaywgaXQgc2hvd3MgaG93IHRvIGF1dG9tYXRlIGEgcHJvY2VzcyB0aGF0IGNhcHR1cmVzIHBlcnRpbmVudCBpbmZvcm1hdGlvbiBhYm91dCBlYWNoIHRlc3Qgc3VpdGUgcnVuLCBnZW5lcmF0ZXMgYW4gYXR0cmFjdGl2ZSByZXBvcnQsIGFuZCBlLW1haWxzIHRoZSByZXBvcnQuPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3I6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Im1haWx0bzplaGF0Y2hlckBhcGFjaGUub3JnIj5FcmlrIEhhdGNoZXI8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy9qYXZhL2xpYnJhcnkvai1qdW5pdG1haWwvIj5odHRwOi8vd3d3LmlibS5jb20vZGV2ZWxvcGVyd29ya3MvamF2YS9saWJyYXJ5L2otanVuaXRtYWlsLzwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJJbmNyZW1lbnRhbCBkZXZlbG9wbWVudCB3aXRoIEFudCBhbmQgSlVuaXQiPgogICAgICAgIDxwPlRoaXMgYXJ0aWNsZSBleHBsb3JlcyB0aGUgYmVuZWZpdHMgb2YgdW5pdCB0ZXN0aW5nIHdpdGggQW50IGFuZAogICAgICAgIEpVbml0LCBkZXRhaWxpbmcgaG93IHRvIGRldmVsb3AgYXV0b21hdGVkIHVuaXQgdGVzdHMgYW5kIGludGVncmF0ZSB0aGVtCiAgICAgICAgaW50byB5b3VyIGJ1aWxkIHByb2Nlc3MuPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3I6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Im1haWx0bzptYWxjb2xtQG51ZWFydGguY29tIj5NYWxjb2xtIERhdmlzPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd3d3LTEwNi5pYm0uY29tL2RldmVsb3BlcndvcmtzL2xpYnJhcnkvai1hbnQvP2R3em9uZT1qYXZhIj5odHRwOi8vd3d3LTEwNi5pYm0uY29tL2RldmVsb3BlcndvcmtzL2xpYnJhcnkvai1hbnQvP2R3em9uZT1qYXZhPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9IkF1dG9tYXRlIHlvdXIgYnVpbGQgcHJvY2VzcyB1c2luZyBKYXZhIGFuZCBBbnQiPgogICAgICAgIDxwPlRoaXMgYXJ0aWNsZSBwcm92aWRlcyBhbiBpbnRyb2R1Y3Rpb24gdG8gdXNpbmcgQW50IHdpdGggc29tZSBiYXNpYwogICAgICAgIGV4YW1wbGVzIGFuZCBieSBoaWdobGlnaHRpbmcgc29tZSBvZiB0aGUgaW1wb3J0YW50IHRhc2tzLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJtYWlsdG86bWljaGFlbC5jeW1lcm1hbkBqYXZhd29ybGQuY29tIj5NaWNoYWVsIEN5bWVybWFuPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd3d3LmphdmF3b3JsZC5jb20vamF2YXdvcmxkL2p3LTEwLTIwMDAvanctMTAyMC1hbnQuaHRtbCI+aHR0cDovL3d3dy5qYXZhd29ybGQuY29tL2phdmF3b3JsZC9qdy0xMC0yMDAwL2p3LTEwMjAtYW50Lmh0bWw8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iU2hvcnQgdHV0b3JpYWwgaW4gQ2FjdHVzJmFwb3M7IChmb3JtZXJseSBKMkVFVW5pdCkKICAgICAgZG9jdW1lbnRhdGlvbiI+CiAgICAgICAgPHA+VGhlcmUgaXMgYSBzaG9ydCB0dXRvcmlhbCBvbiBob3cgdG8gdXNlIEFudCBpbiBDYWN0dXMmYXBvczsKICAgICAgICBkb2N1bWVudGF0aW9uLiAgSXQgaGFzIGEgc2xhbnQgdG93YXJkcyBidWlsZCBmaWxlcyB0aGF0IHdpbGwgYmUgdXNlZAogICAgICAgIHdpdGggQ2FjdHVzLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5DYWN0dXMgZGV2ZWxvcG1lbnQgdGVhbTwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnL2NhY3R1cy9ob3d0b19hbnRfcHJpbWVyLmh0bWwiPmh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvY2FjdHVzL2hvd3RvX2FudF9wcmltZXIuaHRtbDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJEZXZlbG9waW5nIGN1c3RvbSBBbnQgdGFza3Mgd2l0aCBWaXN1YWxBZ2UgZm9yIEphdmEiPgogICAgICAgIDxwPlRoaXMgYXJ0aWNsZSBvdXRsaW5lcyBob3cgdG8gaW50ZWdyYXRlIEFudCBpbnRvIFZpc3VhbEFnZSBmb3IgSmF2YSwKICAgICAgICBhbmQgaG93IHRvIHdyaXRlIGFuZCBkZWJ1ZyBjdXN0b20gdGFza3MgdXNpbmcgdGhlIElERSBhbmQgdGhlCiAgICAgICAgaW50ZWdyYXRlZCBkZWJ1Z2dlci48L3A+CgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0ibWFpbHRvOmdsZW5uQHNvbWFuZXR3b3Jrcy5jb20iPkdsZW5uIE1jQWxsaXN0ZXI8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3c3LnNvZnR3YXJlLmlibS5jb20vdmFkLm5zZi9kYXRhL2RvY3VtZW50MjM2Nj9PcGVuRG9jdW1lbnQmYW1wO3A9MSZhbXA7QkNUPTEmYW1wO0Zvb3Rlcj0xIj5odHRwOi8vd3d3Ny5zb2Z0d2FyZS5pYm0uY29tL3ZhZC5uc2YvZGF0YS9kb2N1bWVudDIzNjY/T3BlbkRvY3VtZW50JmFtcDtwPTEmYW1wO0JDVD0xJmFtcDtGb290ZXI9MTwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJBdXRvbWF0ZWQgYnVpbGRzIHdpdGggVmlzdWFsQWdlIGZvciBKYXZhIGFuZCBBbnQiPgogICAgICAgIDxwPlRoaXMgYXJ0aWNsZSBzaG93cyBob3cgeW91IGNhbiBwZXJmb3JtIGNvbW1hbmQgbGluZSBidWlsZHMgd2l0aCBhCiAgICAgICAgVmlzdWFsQWdlIGZvciBKYXZhIHJlcG9zaXRvcnkuPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3I6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Im1haWx0bzpnbGVubkBzb21hbmV0d29ya3MuY29tIj5HbGVubiBNY0FsbGlzdGVyPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vd3d3Ny5zb2Z0d2FyZS5pYm0uY29tL3ZhZC5uc2YvRGF0YS9Eb2N1bWVudDQzNjY/T3BlbkRvY3VtZW50JmFtcDtwPTEmYW1wO0JDVD0zJmFtcDtGb290ZXI9MSI+aHR0cDovL3d3dzcuc29mdHdhcmUuaWJtLmNvbS92YWQubnNmL0RhdGEvRG9jdW1lbnQ0MzY2P09wZW5Eb2N1bWVudCZhbXA7cD0xJmFtcDtCQ1Q9MyZhbXA7Rm9vdGVyPTE8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQW50OiBBIEJ1aWxkIFRvb2wgZnJvbSB0aGUgSmFrYXJ0YSBQcm9qZWN0Ij4KICAgICAgICA8cD5UaGlzIGFydGljbGUgaXMgZnJvbSB0aGUgJnF1b3Q7QmVzdCBQcmFjdGljZXMmcXVvdDsgc2VjdGlvbiBvZgogICAgICAgIFN1biZhcG9zO3MgRG90LUNvbSBCdWlsZGVyIFNpdGUuPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3I6PC90aD4KICAgICAgICAgICAgPHRkPkxhdXJhIEdlZWxlIFdhbmc8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL2RjYi5zdW4uY29tL3ByYWN0aWNlcy9wcm9maWxlcy9hbnQuanNwIj5odHRwOi8vZGNiLnN1bi5jb20vcHJhY3RpY2VzL3Byb2ZpbGVzL2FudC5qc3A8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iTWFraW5nIGEgTW91bnRhaW4gT3V0IG9mIGFuIEFudGhpbGwiPgogICAgICAgIDxwPlRoaXMgYXJ0aWNsZSBpcyBmcm9tIHRoZSBKdW5lIDIwMDEgaXNzdWUgb2YgdGhlIEphdmEgRGV2ZWxvcGVyJmFwb3M7CiAgICAgICAgSm91cm5hbC4gIFlvdSBuZWVkIHRvIGJlIGEgcmVnaXN0ZXJlZCBKREogc3Vic2NyaWJlciB0byB2aWV3IHRoaXMKICAgICAgICBhcnRpY2xlLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5OZWFsIEZvcmQ8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5zeXMtY29uLmNvbS9qYXZhL2FyY2hpdmVzYS5jZm0/dm9sdW1lPTA2JmFtcDtpc3N1ZT0wNiI+aHR0cDovL3d3dy5zeXMtY29uLmNvbS9qYXZhL2FyY2hpdmVzYS5jZm0/dm9sdW1lPTA2JmFtcDtpc3N1ZT0wNjwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJVc2luZyBBbnQgYW5kIFdlYmxvZ2ljIEVKQnMiPgogICAgICAgIDxwPlRoaXMgYXJ0aWNsZSBkZXNjcmliZXMgaG93IHRvIHVzZSBBbnQgdG8gY3JlYXRlIFdlYmxvZ2ljIEVKQnMsIGFuZAogICAgICAgIHNvbWUgd29ya2Fyb3VuZHMgZm9yIGlzc3VlcyB5b3UgbWF5IGVuY291bnRlci48L3A+CgogICAgICAgIDx0YWJsZSBjbGFzcz0iZXh0ZXJuYWxzIj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPkF1dGhvcjo8L3RoPgogICAgICAgICAgICA8dGQ+SmVzc2UgRS4gVGlsbHk8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5vbmphdmEuY29tL3B1Yi9hL29uamF2YS8yMDAxLzA2LzI1L2FudGVqYi5odG1sIj5odHRwOi8vd3d3Lm9uamF2YS5jb20vcHViL2Evb25qYXZhLzIwMDEvMDYvMjUvYW50ZWpiLmh0bWw8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iVXNpbmcgSmF2YVNjcmlwdCB3aXRoIEFudCI+CiAgICAgICAgPHA+QSB0dXRvcmlhbCBhYm91dCB1c2luZyBKYXZhU2NyaXB0IGFuZCBYU0xUIHdpdGggQW50LjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5EeWxhbiBTY2hpZW1hbm48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5zaXRlcGVuLmNvbS9hbnQvamF2YXNjcmlwdC5odG1sIj5odHRwOi8vd3d3LnNpdGVwZW4uY29tL2FudC9qYXZhc2NyaXB0Lmh0bWw8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iQnVpbGRpbmcgd2l0aCBBbnQiPgogICAgICAgIDxwPlNlcmllcyBvZiBhcnRpY2xlcyB0aGF0IGRlc2NyaWJlIGEgZnJhbWV3b3JrIGZvciB3ZWIKICAgICAgICBhcHBsaWNhdGlvbiBkZXZlbG9wbWVudCBiYXNlZCBvbiBBbnQgYW5kIEpVbml0LjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJtYWlsdG86YWxleGNAcHVycGxldGVjaC5jb20iPkFsZXggQ2hhZmZlZTwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+SW50cm9kdWN0aW9uOiA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVkZXYuZWFydGh3ZWIuY29tL3NkdGVjaC9hcnRpY2xlLzAsLDEyMDY1Xzk4OTYzMSwwMC5odG1sIj5odHRwOi8vc29mdHdhcmVkZXYuZWFydGh3ZWIuY29tL3NkdGVjaC9hcnRpY2xlLzAsLDEyMDY1Xzk4OTYzMSwwMC5odG1sPC9hPjxici8+CiAgICAgICAgICAgICAgICBEaXJlY3RvcnkgU3RydWN0dXJlOiA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVkZXYuZWFydGh3ZWIuY29tL3NkdGVjaC9hcnRpY2xlLzAsLDEyMDgyXzk5NDk5MSwwMC5odG1sIj5odHRwOi8vc29mdHdhcmVkZXYuZWFydGh3ZWIuY29tL3NkdGVjaC9hcnRpY2xlLzAsLDEyMDgyXzk5NDk5MSwwMC5odG1sPC9hPjxici8+CiAgICAgICAgICAgICAgICBEZXBsb3ltZW50IGFuZCBEaXN0cmlidXRpb246IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWRldi5lYXJ0aHdlYi5jb20vc2R0ZWNoL2FydGljbGUvMCwsMTIwNzdfOTk4MjQxLDAwLmh0bWwiPmh0dHA6Ly9zb2Z0d2FyZWRldi5lYXJ0aHdlYi5jb20vc2R0ZWNoL2FydGljbGUvMCwsMTIwNzdfOTk4MjQxLDAwLmh0bWw8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKICAgICAgPHN1YnNlY3Rpb24gbmFtZT0iRGV2ZWxvcGluZyB3aXRoIEpBWEIgYW5kIEFudCI+CiAgICAgICAgPHA+U2VyaWVzIG9mIGFydGljbGVzIHRoYXQgc2hvd3MgaG93IHRvIHVzZSBBbnQgdG9nZXRoZXIgd2l0aAogICAgICAgIHRoZSBKYXZhIEFQSSBmb3IgWE1MIEJpbmRpbmcgKEpBWEIpLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD5Kb3NlcGggU2hlbGJ5PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5VUkw6PC90aD4KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cub25qYXZhLmNvbS9wdWIvYS9vbmphdmEvMjAwMi8wMy8wNi9qYXhhbnQxLmh0bWwiPmh0dHA6Ly93d3cub25qYXZhLmNvbS9wdWIvYS9vbmphdmEvMjAwMi8wMy8wNi9qYXhhbnQxLmh0bWw8L2E+PGJyLz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cub25qYXZhLmNvbS9wdWIvYS9vbmphdmEvMjAwMi8wMy8xMy9qYXhiYW50Mi5odG1sIj5odHRwOi8vd3d3Lm9uamF2YS5jb20vcHViL2Evb25qYXZhLzIwMDIvMDMvMTMvamF4YmFudDIuaHRtbDwvYT48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3N1YnNlY3Rpb24+CiAgICA8L3NlY3Rpb24+CgogICAgPHNlY3Rpb24gbmFtZT0iUHJlc2VudGF0aW9ucyI+CgogICAgICA8c3Vic2VjdGlvbiBuYW1lPSJBbnQgQnVpbGQgVG9vbCI+CiAgICAgICAgPHA+QSBQb3dlclBvaW50IHByZXNlbnRhdGlvbiBvbiBBbnQgMS4yLiAgSXQgcHJvdmlkZXMgYSBiYXNpYyBvdmVydmlldwogICAgICAgIG9mIEFudCZhcG9zO3MgY2FwYWJpbGl0aWVzLjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJleHRlcm5hbHMiPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+QXV0aG9yOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJtYWlsdG86Y2hhbmV6b25AbmV0c2NhcGUuY29tIj5QYXRyaWNrIENoYW5lem9uPC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+VVJMOjwvdGg+CiAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwOi8vcGVvcGxlLm5ldHNjYXBlLmNvbS9jaGFuZXpvbi90ZWNoL2FudC9hbnRfcHJlc28ucHB0Ij5odHRwOi8vcGVvcGxlLm5ldHNjYXBlLmNvbS9jaGFuZXpvbi90ZWNoL2FudC9hbnRfcHJlc28ucHB0PC9hPjwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvc3Vic2VjdGlvbj4KCiAgICAgIDxzdWJzZWN0aW9uIG5hbWU9IkFudCI+CiAgICAgICAgPHA+QSBkZXRhaWxlZCBBbnQgMS4zIFBvd2VyUG9pbnQgcHJlc2VudGF0aW9uLCBtYWRlIGF0IHRoZSBTdC4gTG91aXMgSmF2YSBVc2VycyBHcm91cAogICAgICAgIG1lZXRpbmcgaW4gTWFyY2ggMjAwMS4gIEluY2x1ZGVzIGEgZGV0YWlsZWQgYnVpbGQgZmlsZSBhbmQgYmFzaWMKICAgICAgICBkZXNjcmlwdGlvbnMgb2YgYWxsIHRoZSBidWlsdCBpbiBhbmQgb3B0aW9uYWwgdGFza3MuICBVcGRhdGVkIGZvciBBbnQgMS40IGluIE9jdG9iZXIgMjAwMS4KICAgICAgICBBdmFpbGFibGUgaW4gUERGIGZvcm1hdCBub3cuPC9wPgoKICAgICAgICA8dGFibGUgY2xhc3M9ImV4dGVybmFscyI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD5BdXRob3I6PC90aD4KICAgICAgICAgICAgPHRkPk1hcmsgVm9sa21hbm48L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPlVSTDo8L3RoPgogICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5vY2l3ZWIuY29tL2puYi9maWxlcy9BbnQucGRmIj5odHRwOi8vd3d3Lm9jaXdlYi5jb20vam5iL2ZpbGVzL0FudC5wZGY8L2E+PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9zdWJzZWN0aW9uPgoKCiAgICA8L3NlY3Rpb24+CiAgPC9ib2R5Pgo8L2RvY3VtZW50Pgo=