PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPlRoZSBWYWxncmluZCBRdWljayBTdGFydCBHdWlkZTwvdGl0bGU+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InZnX2Jhc2ljLmNzcyI+CjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzkuMSI+CjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IlZhbGdyaW5kIERvY3VtZW50YXRpb24iPgo8bGluayByZWw9InVwIiBocmVmPSJRdWlja1N0YXJ0Lmh0bWwiIHRpdGxlPSJUaGUgVmFsZ3JpbmQgUXVpY2sgU3RhcnQgR3VpZGUiPgo8bGluayByZWw9InByZXYiIGhyZWY9IlF1aWNrU3RhcnQuaHRtbCIgdGl0bGU9IlRoZSBWYWxncmluZCBRdWljayBTdGFydCBHdWlkZSI+CjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0ibWFudWFsLmh0bWwiIHRpdGxlPSJWYWxncmluZCBVc2VyIE1hbnVhbCI+CjwvaGVhZD4KPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgo8ZGl2Pjx0YWJsZSBjbGFzcz0ibmF2IiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjMiIGNlbGxwYWRkaW5nPSIzIiBib3JkZXI9IjAiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+Cjx0ZCB3aWR0aD0iMjJweCIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJtaWRkbGUiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iUXVpY2tTdGFydC5odG1sIj48aW1nIHNyYz0iaW1hZ2VzL3ByZXYucG5nIiB3aWR0aD0iMTgiIGhlaWdodD0iMjEiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ij48L2E+PC90ZD4KPHRkIHdpZHRoPSIyNXB4IiBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJRdWlja1N0YXJ0Lmh0bWwiPjxpbWcgc3JjPSJpbWFnZXMvdXAucG5nIiB3aWR0aD0iMjEiIGhlaWdodD0iMTgiIGJvcmRlcj0iMCIgYWx0PSJVcCI+PC9hPjwvdGQ+Cjx0ZCB3aWR0aD0iMzFweCIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJtaWRkbGUiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9ImltYWdlcy9ob21lLnBuZyIgd2lkdGg9IjI3IiBoZWlnaHQ9IjIwIiBib3JkZXI9IjAiIGFsdD0iVXAiPjwvYT48L3RkPgo8dGggYWxpZ249ImNlbnRlciIgdmFsaWduPSJtaWRkbGUiPlRoZSBWYWxncmluZCBRdWljayBTdGFydCBHdWlkZTwvdGg+Cjx0ZCB3aWR0aD0iMjJweCIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJtaWRkbGUiPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibWFudWFsLmh0bWwiPjxpbWcgc3JjPSJpbWFnZXMvbmV4dC5wbmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIyMSIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiPjwvYT48L3RkPgo8L3RyPjwvdGFibGU+PC9kaXY+CjxkaXYgY2xhc3M9ImFydGljbGUiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPgo8ZGl2PjxkaXY+PGgxIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9InF1aWNrLXN0YXJ0Ij48L2E+VGhlIFZhbGdyaW5kIFF1aWNrIFN0YXJ0IEd1aWRlPC9oMT48L2Rpdj48L2Rpdj4KPGhyPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdDEiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPgo8YSBuYW1lPSJxdWljay1zdGFydC5pbnRybyI+PC9hPjEuoEludHJvZHVjdGlvbjwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlRoZSBWYWxncmluZCB0b29sIHN1aXRlIHByb3ZpZGVzIGEgbnVtYmVyIG9mIGRlYnVnZ2luZyBhbmQKcHJvZmlsaW5nIHRvb2xzIHRoYXQgaGVscCB5b3UgbWFrZSB5b3VyIHByb2dyYW1zIGZhc3RlciBhbmQgbW9yZSBjb3JyZWN0LgpUaGUgbW9zdCBwb3B1bGFyIG9mIHRoZXNlIHRvb2xzIGlzIGNhbGxlZCBNZW1jaGVjay4gIEl0IGNhbiBkZXRlY3QgbWFueQptZW1vcnktcmVsYXRlZCBlcnJvcnMgdGhhdCBhcmUgY29tbW9uIGluIEMgYW5kIEMrKyBwcm9ncmFtcyBhbmQgdGhhdCBjYW4KbGVhZCB0byBjcmFzaGVzIGFuZCB1bnByZWRpY3RhYmxlIGJlaGF2aW91ci48L3A+CjxwPlRoZSByZXN0IG9mIHRoaXMgZ3VpZGUgZ2l2ZXMgdGhlIG1pbmltdW0gaW5mb3JtYXRpb24geW91IG5lZWQgdG8gc3RhcnQKZGV0ZWN0aW5nIG1lbW9yeSBlcnJvcnMgaW4geW91ciBwcm9ncmFtIHdpdGggTWVtY2hlY2suICBGb3IgZnVsbApkb2N1bWVudGF0aW9uIG9mIE1lbWNoZWNrIGFuZCB0aGUgb3RoZXIgdG9vbHMsIHBsZWFzZSByZWFkIHRoZSBVc2VyIE1hbnVhbC4KPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdDEiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPgo8YSBuYW1lPSJxdWljay1zdGFydC5wcmVwYXJlIj48L2E+Mi6gUHJlcGFyaW5nIHlvdXIgcHJvZ3JhbTwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPkNvbXBpbGUgeW91ciBwcm9ncmFtIHdpdGggPGNvZGUgY2xhc3M9Im9wdGlvbiI+LWc8L2NvZGU+IHRvIGluY2x1ZGUgZGVidWdnaW5nCmluZm9ybWF0aW9uIHNvIHRoYXQgTWVtY2hlY2sncyBlcnJvciBtZXNzYWdlcyBpbmNsdWRlIGV4YWN0IGxpbmUKbnVtYmVycy4gIFVzaW5nIDxjb2RlIGNsYXNzPSJvcHRpb24iPi1PMDwvY29kZT4gaXMgYWxzbyBhIGdvb2QKaWRlYSwgaWYgeW91IGNhbiB0b2xlcmF0ZSB0aGUgc2xvd2Rvd24uICBXaXRoCjxjb2RlIGNsYXNzPSJvcHRpb24iPi1PMTwvY29kZT4gbGluZSBudW1iZXJzIGluIGVycm9yIG1lc3NhZ2VzIGNhbgpiZSBpbmFjY3VyYXRlLCBhbHRob3VnaCBnZW5lcmFsbHkgc3BlYWtpbmcgcnVubmluZyBNZW1jaGVjayBvbiBjb2RlIGNvbXBpbGVkCmF0IDxjb2RlIGNsYXNzPSJvcHRpb24iPi1PMTwvY29kZT4gd29ya3MgZmFpcmx5IHdlbGwsIGFuZCB0aGUgc3BlZWQgaW1wcm92ZW1lbnQKY29tcGFyZWQgdG8gcnVubmluZyA8Y29kZSBjbGFzcz0ib3B0aW9uIj4tTzA8L2NvZGU+IGlzIHF1aXRlIHNpZ25pZmljYW50LgpVc2Ugb2YKPGNvZGUgY2xhc3M9Im9wdGlvbiI+LU8yPC9jb2RlPiBhbmQgYWJvdmUgaXMgbm90IHJlY29tbWVuZGVkIGFzCk1lbWNoZWNrIG9jY2FzaW9uYWxseSByZXBvcnRzIHVuaW5pdGlhbGlzZWQtdmFsdWUgZXJyb3JzIHdoaWNoIGRvbid0CnJlYWxseSBleGlzdC48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0MSI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+CjxhIG5hbWU9InF1aWNrLXN0YXJ0Lm1jcnVuIj48L2E+My6gUnVubmluZyB5b3VyIHByb2dyYW0gdW5kZXIgTWVtY2hlY2s8L2gyPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5JZiB5b3Ugbm9ybWFsbHkgcnVuIHlvdXIgcHJvZ3JhbSBsaWtlIHRoaXM6PC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ICBteXByb2cgYXJnMSBhcmcyCjwvcHJlPgo8cD5Vc2UgdGhpcyBjb21tYW5kIGxpbmU6PC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ICB2YWxncmluZCAtLWxlYWstY2hlY2s9eWVzIG15cHJvZyBhcmcxIGFyZzIKPC9wcmU+CjxwPk1lbWNoZWNrIGlzIHRoZSBkZWZhdWx0IHRvb2wuICBUaGUgPGNvZGUgY2xhc3M9Im9wdGlvbiI+LS1sZWFrLWNoZWNrPC9jb2RlPgpvcHRpb24gdHVybnMgb24gdGhlIGRldGFpbGVkIG1lbW9yeSBsZWFrIGRldGVjdG9yLjwvcD4KPHA+WW91ciBwcm9ncmFtIHdpbGwgcnVuIG11Y2ggc2xvd2VyIChlZy4gMjAgdG8gMzAgdGltZXMpIHRoYW4Kbm9ybWFsLCBhbmQgdXNlIGEgbG90IG1vcmUgbWVtb3J5LiAgTWVtY2hlY2sgd2lsbCBpc3N1ZSBtZXNzYWdlcyBhYm91dAptZW1vcnkgZXJyb3JzIGFuZCBsZWFrcyB0aGF0IGl0IGRldGVjdHMuPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdDEiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPgo8YSBuYW1lPSJxdWljay1zdGFydC5pbnRlcnByZXQiPjwvYT40LqBJbnRlcnByZXRpbmcgTWVtY2hlY2sncyBvdXRwdXQ8L2gyPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5IZXJlJ3MgYW4gZXhhbXBsZSBDIHByb2dyYW0sIGluIGEgZmlsZSBjYWxsZWQgYS5jLCB3aXRoIGEgbWVtb3J5IGVycm9yCmFuZCBhIG1lbW9yeSBsZWFrLjwvcD4KPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgogICNpbmNsdWRlICZsdDtzdGRsaWIuaCZndDsKCiAgdm9pZCBmKHZvaWQpCiAgewogICAgIGludCogeCA9IG1hbGxvYygxMCAqIHNpemVvZihpbnQpKTsKICAgICB4WzEwXSA9IDA7ICAgICAgICAvLyBwcm9ibGVtIDE6IGhlYXAgYmxvY2sgb3ZlcnJ1bgogIH0gICAgICAgICAgICAgICAgICAgIC8vIHByb2JsZW0gMjogbWVtb3J5IGxlYWsgLS0geCBub3QgZnJlZWQKCiAgaW50IG1haW4odm9pZCkKICB7CiAgICAgZigpOwogICAgIHJldHVybiAwOwogIH0KPC9wcmU+CjxwPk1vc3QgZXJyb3IgbWVzc2FnZXMgbG9vayBsaWtlIHRoZSBmb2xsb3dpbmcsIHdoaWNoIGRlc2NyaWJlcwpwcm9ibGVtIDEsIHRoZSBoZWFwIGJsb2NrIG92ZXJydW46PC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CiAgPT0xOTE4Mj09IEludmFsaWQgd3JpdGUgb2Ygc2l6ZSA0CiAgPT0xOTE4Mj09ICAgIGF0IDB4ODA0ODM4RjogZiAoZXhhbXBsZS5jOjYpCiAgPT0xOTE4Mj09ICAgIGJ5IDB4ODA0ODNBQjogbWFpbiAoZXhhbXBsZS5jOjExKQogID09MTkxODI9PSAgQWRkcmVzcyAweDFCQTQ1MDUwIGlzIDAgYnl0ZXMgYWZ0ZXIgYSBibG9jayBvZiBzaXplIDQwIGFsbG9jJ2QKICA9PTE5MTgyPT0gICAgYXQgMHgxQjhGRjVDRDogbWFsbG9jICh2Z19yZXBsYWNlX21hbGxvYy5jOjEzMCkKICA9PTE5MTgyPT0gICAgYnkgMHg4MDQ4Mzg1OiBmIChleGFtcGxlLmM6NSkKICA9PTE5MTgyPT0gICAgYnkgMHg4MDQ4M0FCOiBtYWluIChleGFtcGxlLmM6MTEpCjwvcHJlPgo8cD5UaGluZ3MgdG8gbm90aWNlOjwvcD4KPGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+VGhlcmUgaXMgYSBsb3Qgb2YgaW5mb3JtYXRpb24gaW4gZWFjaCBlcnJvciBtZXNzYWdlOyByZWFkIGl0CiAgIGNhcmVmdWxseS48L3A+PC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+VGhlIDE5MTgyIGlzIHRoZSBwcm9jZXNzIElEOyAgaXQncyB1c3VhbGx5IHVuaW1wb3J0YW50LjwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5UaGUgZmlyc3QgbGluZSAoIkludmFsaWQgd3JpdGUuLi4iKSB0ZWxscyB5b3Ugd2hhdCBraW5kIG9mCiAgIGVycm9yIGl0IGlzLiAgSGVyZSwgdGhlIHByb2dyYW0gd3JvdGUgdG8gc29tZSBtZW1vcnkgaXQgc2hvdWxkIG5vdAogICBoYXZlIGR1ZSB0byBhIGhlYXAgYmxvY2sgb3ZlcnJ1bi48L3A+PC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+QmVsb3cgdGhlIGZpcnN0IGxpbmUgaXMgYSBzdGFjayB0cmFjZSB0ZWxsaW5nIHlvdSB3aGVyZSB0aGUKICAgIHByb2JsZW0gb2NjdXJyZWQuICBTdGFjayB0cmFjZXMgY2FuIGdldCBxdWl0ZSBsYXJnZSwgYW5kIGJlCiAgICBjb25mdXNpbmcsIGVzcGVjaWFsbHkgaWYgeW91IGFyZSB1c2luZyB0aGUgQysrIFNUTC4gIFJlYWRpbmcgdGhlbQogICAgZnJvbSB0aGUgYm90dG9tIHVwIGNhbiBoZWxwLiAgSWYgdGhlIHN0YWNrIHRyYWNlIGlzIG5vdCBiaWcgZW5vdWdoLAogICAgdXNlIHRoZSA8Y29kZSBjbGFzcz0ib3B0aW9uIj4tLW51bS1jYWxsZXJzPC9jb2RlPiBvcHRpb24gdG8gbWFrZSBpdAogICAgYmlnZ2VyLjwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5UaGUgY29kZSBhZGRyZXNzZXMgKGVnLiAweDgwNDgzOEYpIGFyZSB1c3VhbGx5IHVuaW1wb3J0YW50LCBidXQKICAgb2NjYXNpb25hbGx5IGNydWNpYWwgZm9yIHRyYWNraW5nIGRvd24gd2VpcmRlciBidWdzLjwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5Tb21lIGVycm9yIG1lc3NhZ2VzIGhhdmUgYSBzZWNvbmQgY29tcG9uZW50IHdoaWNoIGRlc2NyaWJlcwogICAgdGhlIG1lbW9yeSBhZGRyZXNzIGludm9sdmVkLiAgVGhpcyBvbmUgc2hvd3MgdGhhdCB0aGUgd3JpdHRlbiBtZW1vcnkKICAgIGlzIGp1c3QgcGFzdCB0aGUgZW5kIG9mIGEgYmxvY2sgYWxsb2NhdGVkIHdpdGggbWFsbG9jKCkgb24gbGluZSA1IG9mCiAgICBleGFtcGxlLmMuPC9wPjwvbGk+CjwvdWw+PC9kaXY+CjxwPkl0J3Mgd29ydGggZml4aW5nIGVycm9ycyBpbiB0aGUgb3JkZXIgdGhleSBhcmUgcmVwb3J0ZWQsIGFzCmxhdGVyIGVycm9ycyBjYW4gYmUgY2F1c2VkIGJ5IGVhcmxpZXIgZXJyb3JzLiAgRmFpbGluZyB0byBkbyB0aGlzIGlzIGEKY29tbW9uIGNhdXNlIG9mIGRpZmZpY3VsdHkgd2l0aCBNZW1jaGVjay48L3A+CjxwPk1lbW9yeSBsZWFrIG1lc3NhZ2VzIGxvb2sgbGlrZSB0aGlzOjwvcD4KPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgogID09MTkxODI9PSA0MCBieXRlcyBpbiAxIGJsb2NrcyBhcmUgZGVmaW5pdGVseSBsb3N0IGluIGxvc3MgcmVjb3JkIDEgb2YgMQogID09MTkxODI9PSAgICBhdCAweDFCOEZGNUNEOiBtYWxsb2MgKHZnX3JlcGxhY2VfbWFsbG9jLmM6MTMwKQogID09MTkxODI9PSAgICBieSAweDgwNDgzODU6IGYgKGEuYzo1KQogID09MTkxODI9PSAgICBieSAweDgwNDgzQUI6IG1haW4gKGEuYzoxMSkKPC9wcmU+CjxwPlRoZSBzdGFjayB0cmFjZSB0ZWxscyB5b3Ugd2hlcmUgdGhlIGxlYWtlZCBtZW1vcnkgd2FzIGFsbG9jYXRlZC4KTWVtY2hlY2sgY2Fubm90IHRlbGwgeW91IHdoeSB0aGUgbWVtb3J5IGxlYWtlZCwgdW5mb3J0dW5hdGVseS4KKElnbm9yZSB0aGUgInZnX3JlcGxhY2VfbWFsbG9jLmMiLCB0aGF0J3MgYW4gaW1wbGVtZW50YXRpb24KZGV0YWlsLik8L3A+CjxwPlRoZXJlIGFyZSBzZXZlcmFsIGtpbmRzIG9mIGxlYWtzOyB0aGUgdHdvIG1vc3QgaW1wb3J0YW50CmNhdGVnb3JpZXMgYXJlOjwvcD4KPGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+ImRlZmluaXRlbHkgbG9zdCI6IHlvdXIgcHJvZ3JhbSBpcyBsZWFraW5nIG1lbW9yeSAtLSBmaXgKICAgIGl0ITwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4icHJvYmFibHkgbG9zdCI6IHlvdXIgcHJvZ3JhbSBpcyBsZWFraW5nIG1lbW9yeSwgdW5sZXNzIHlvdSdyZQogICAgZG9pbmcgZnVubnkgdGhpbmdzIHdpdGggcG9pbnRlcnMgKHN1Y2ggYXMgbW92aW5nIHRoZW0gdG8gcG9pbnQgdG8KICAgIHRoZSBtaWRkbGUgb2YgYSBoZWFwIGJsb2NrKS48L3A+PC9saT4KPC91bD48L2Rpdj4KPHA+TWVtY2hlY2sgYWxzbyByZXBvcnRzIHVzZXMgb2YgdW5pbml0aWFsaXNlZCB2YWx1ZXMsIG1vc3QgY29tbW9ubHkgd2l0aAp0aGUgbWVzc2FnZSAiQ29uZGl0aW9uYWwganVtcCBvciBtb3ZlIGRlcGVuZHMgb24gdW5pbml0aWFsaXNlZAp2YWx1ZShzKSIuICBJdCBjYW4gYmUgZGlmZmljdWx0IHRvIGRldGVybWluZSB0aGUgcm9vdCBjYXVzZSBvZiB0aGVzZSBlcnJvcnMuClRyeSB1c2luZyB0aGUgPGNvZGUgY2xhc3M9Im9wdGlvbiI+LS10cmFjay1vcmlnaW5zPXllczwvY29kZT4gdG8gZ2V0IGV4dHJhIGluZm9ybWF0aW9uLgpUaGlzIG1ha2VzIE1lbWNoZWNrIHJ1biBzbG93ZXIsIGJ1dCB0aGUgZXh0cmEgaW5mb3JtYXRpb24geW91IGdldCBvZnRlbgpzYXZlcyBhIGxvdCBvZiB0aW1lIGZpZ3VyaW5nIG91dCB3aGVyZSB0aGUgdW5pbml0aWFsaXNlZCB2YWx1ZXMgYXJlIGNvbWluZwpmcm9tLjwvcD4KPHA+SWYgeW91IGRvbid0IHVuZGVyc3RhbmQgYW4gZXJyb3IgbWVzc2FnZSwgcGxlYXNlIGNvbnN1bHQKPGEgY2xhc3M9InhyZWYiIGhyZWY9Im1jLW1hbnVhbC5odG1sI21jLW1hbnVhbC5lcnJvcm1zZ3MiIHRpdGxlPSI0LjIuoEV4cGxhbmF0aW9uIG9mIGVycm9yIG1lc3NhZ2VzIGZyb20gTWVtY2hlY2siPkV4cGxhbmF0aW9uIG9mIGVycm9yIG1lc3NhZ2VzIGZyb20gTWVtY2hlY2s8L2E+IGluIHRoZSA8YSBjbGFzcz0ieHJlZiIgaHJlZj0ibWFudWFsLmh0bWwiIHRpdGxlPSJWYWxncmluZCBVc2VyIE1hbnVhbCI+VmFsZ3JpbmQgVXNlciBNYW51YWw8L2E+CndoaWNoIGhhcyBleGFtcGxlcyBvZiBhbGwgdGhlIGVycm9yIG1lc3NhZ2VzIE1lbWNoZWNrIHByb2R1Y2VzLjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QxIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj4KPGEgbmFtZT0icXVpY2stc3RhcnQuY2F2ZWF0cyI+PC9hPjUuoENhdmVhdHM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5NZW1jaGVjayBpcyBub3QgcGVyZmVjdDsgIGl0IG9jY2FzaW9uYWxseSBwcm9kdWNlcyBmYWxzZSBwb3NpdGl2ZXMsCmFuZCB0aGVyZSBhcmUgbWVjaGFuaXNtcyBmb3Igc3VwcHJlc3NpbmcgdGhlc2UgKHNlZSAKPGEgY2xhc3M9InhyZWYiIGhyZWY9Im1hbnVhbC1jb3JlLmh0bWwjbWFudWFsLWNvcmUuc3VwcHJlc3MiIHRpdGxlPSIyLjUuoFN1cHByZXNzaW5nIGVycm9ycyI+U3VwcHJlc3NpbmcgZXJyb3JzPC9hPiBpbiB0aGUgPGEgY2xhc3M9InhyZWYiIGhyZWY9Im1hbnVhbC5odG1sIiB0aXRsZT0iVmFsZ3JpbmQgVXNlciBNYW51YWwiPlZhbGdyaW5kIFVzZXIgTWFudWFsPC9hPikuCkhvd2V2ZXIsIGl0IGlzIHR5cGljYWxseSByaWdodCA5OSUgb2YgdGhlIHRpbWUsIHNvIHlvdSBzaG91bGQgYmUgd2FyeSBvZgppZ25vcmluZyBpdHMgZXJyb3IgbWVzc2FnZXMuICBBZnRlciBhbGwsIHlvdSB3b3VsZG4ndCBpZ25vcmUgd2FybmluZwptZXNzYWdlcyBwcm9kdWNlZCBieSBhIGNvbXBpbGVyLCByaWdodD8gIFRoZSBzdXBwcmVzc2lvbiBtZWNoYW5pc20gaXMKYWxzbyB1c2VmdWwgaWYgTWVtY2hlY2sgaXMgcmVwb3J0aW5nIGVycm9ycyBpbiBsaWJyYXJ5IGNvZGUgdGhhdCB5b3UKY2Fubm90IGNoYW5nZS4gIFRoZSBkZWZhdWx0IHN1cHByZXNzaW9uIHNldCBoaWRlcyBhIGxvdCBvZiB0aGVzZSwgYnV0IHlvdQptYXkgY29tZSBhY3Jvc3MgbW9yZS48L3A+CjxwPk1lbWNoZWNrIGNhbm5vdCBkZXRlY3QgZXZlcnkgbWVtb3J5IGVycm9yIHlvdXIgcHJvZ3JhbSBoYXMuCkZvciBleGFtcGxlLCBpdCBjYW4ndCBkZXRlY3Qgb3V0LW9mLXJhbmdlIHJlYWRzIG9yIHdyaXRlcyB0byBhcnJheXMKdGhhdCBhcmUgYWxsb2NhdGVkIHN0YXRpY2FsbHkgb3Igb24gdGhlIHN0YWNrLiAgQnV0IGl0IHNob3VsZCBkZXRlY3QgbWFueQplcnJvcnMgdGhhdCBjb3VsZCBjcmFzaCB5b3VyIHByb2dyYW0gKGVnLiBjYXVzZSBhIHNlZ21lbnRhdGlvbgpmYXVsdCkuPC9wPgo8cD5UcnkgdG8gbWFrZSB5b3VyIHByb2dyYW0gc28gY2xlYW4gdGhhdCBNZW1jaGVjayByZXBvcnRzIG5vCmVycm9ycy4gIE9uY2UgeW91IGFjaGlldmUgdGhpcyBzdGF0ZSwgaXQgaXMgbXVjaCBlYXNpZXIgdG8gc2VlIHdoZW4KY2hhbmdlcyB0byB0aGUgcHJvZ3JhbSBjYXVzZSBNZW1jaGVjayB0byByZXBvcnQgbmV3IGVycm9ycy4KRXhwZXJpZW5jZSBmcm9tIHNldmVyYWwgeWVhcnMgb2YgTWVtY2hlY2sgdXNlIHNob3dzIHRoYXQgaXQgaXMKcG9zc2libGUgdG8gbWFrZSBldmVuIGh1Z2UgcHJvZ3JhbXMgcnVuIE1lbWNoZWNrLWNsZWFuLiAgRm9yIGV4YW1wbGUsCmxhcmdlIHBhcnRzIG9mIEtERSwgT3Blbk9mZmljZS5vcmcgYW5kIEZpcmVmb3ggYXJlIE1lbWNoZWNrLWNsZWFuLCBvciB2ZXJ5CmNsb3NlIHRvIGl0LjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QxIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj4KPGEgbmFtZT0icXVpY2stc3RhcnQuaW5mbyI+PC9hPjYuoE1vcmUgaW5mb3JtYXRpb248L2gyPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5QbGVhc2UgY29uc3VsdCB0aGUgPGEgY2xhc3M9InhyZWYiIGhyZWY9IkZBUS5odG1sIiB0aXRsZT0iVmFsZ3JpbmQgRkFRIj5WYWxncmluZCBGQVE8L2E+IGFuZCB0aGUgCjxhIGNsYXNzPSJ4cmVmIiBocmVmPSJtYW51YWwuaHRtbCIgdGl0bGU9IlZhbGdyaW5kIFVzZXIgTWFudWFsIj5WYWxncmluZCBVc2VyIE1hbnVhbDwvYT4sIHdoaWNoIGhhdmUgbXVjaCBtb3JlIGluZm9ybWF0aW9uLiAgTm90ZSB0aGF0CnRoZSBvdGhlciB0b29scyBpbiB0aGUgVmFsZ3JpbmQgZGlzdHJpYnV0aW9uIGNhbiBiZSBpbnZva2VkIHdpdGggdGhlCjxjb2RlIGNsYXNzPSJvcHRpb24iPi0tdG9vbDwvY29kZT4gb3B0aW9uLjwvcD4KPC9kaXY+CjwvZGl2Pgo8ZGl2Pgo8YnI+PHRhYmxlIGNsYXNzPSJuYXYiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMyIgY2VsbHBhZGRpbmc9IjIiIGJvcmRlcj0iMCIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPgo8dHI+Cjx0ZCByb3dzcGFuPSIyIiB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+CjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iUXVpY2tTdGFydC5odG1sIj4mbHQ7Jmx0O6BUaGUgVmFsZ3JpbmQgUXVpY2sgU3RhcnQgR3VpZGU8L2E+oDwvdGQ+Cjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9IlF1aWNrU3RhcnQuaHRtbCI+VXA8L2E+PC90ZD4KPHRkIHJvd3NwYW49IjIiIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibWFudWFsLmh0bWwiPlZhbGdyaW5kIFVzZXIgTWFudWFsoCZndDsmZ3Q7PC9hPgo8L3RkPgo8L3RyPgo8dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjwvdHI+CjwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K