ZGlmZiAtLWdpdCBhL2RvYy9odG1sL2J1aWxkaW5nLmh0bWwgYi9kb2MvaHRtbC9idWlsZGluZy5odG1sCmluZGV4IDlmYjBhOGQuLjQwNGZiZjggMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2J1aWxkaW5nLmh0bWwKKysrIGIvZG9jL2h0bWwvYnVpbGRpbmcuaHRtbApAQCAtNjIsOSArNjIsOSBAQAogPEEgTkFNRT0iQ0hJTERfTElOS1MiPjxTVFJPTkc+U3Vic2VjdGlvbnM8L1NUUk9ORz48L0E+CiAKIDxVTCBDTEFTUz0iQ2hpbGRMaW5rcyI+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw4MCIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDc5IgogICBocmVmPSJidWlsZGluZy11bml4Lmh0bWwiPjIuMSBCdWlsZGluZyB0aGUgTW9kdWxlIG9uIGEgVW5peCBTeXN0ZW0gPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sODEiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWw4MCIKICAgaHJlZj0iYnVpbGRpbmctd2luZG93cy5odG1sIj4yLjIgQnVpbGRpbmcgdGhlIE1vZHVsZSBvbiBhIFdpbmRvd3MgU3lzdGVtIDwvQT4KIDwvVUw+CiA8IS0tRW5kIG9mIFRhYmxlIG9mIENoaWxkLUxpbmtzLS0+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9jb250ZW50cy5odG1sIGIvZG9jL2h0bWwvY29udGVudHMuaHRtbAppbmRleCBjMDA2Njg3Li4zNmQxYzIxIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9jb250ZW50cy5odG1sCisrKyBiL2RvYy9odG1sL2NvbnRlbnRzLmh0bWwKQEAgLTQ2LDM2ICs0NiwzNiBAQAogPCEtLVRhYmxlIG9mIENvbnRlbnRzLS0+CiAKIDxVTCBDTEFTUz0iVG9mQyI+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw0NiIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDQ1IgogICBocmVmPSJpbnRyby5odG1sIj4xIEludHJvZHVjdGlvbiA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw0NyIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDQ2IgogICBocmVmPSJidWlsZGluZy5odG1sIj4yIEJ1aWxkaW5nIGFuZCBJbnN0YWxsaW5nIDwvQT4KIDxVTD4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDQ4IgorPExJPjxBIE5BTUU9InRleDJodG1sNDciCiAgIGhyZWY9ImJ1aWxkaW5nLXVuaXguaHRtbCI+Mi4xIEJ1aWxkaW5nIHRoZSBNb2R1bGUgb24gYSBVbml4IFN5c3RlbSA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw0OSIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDQ4IgogICBocmVmPSJidWlsZGluZy13aW5kb3dzLmh0bWwiPjIuMiBCdWlsZGluZyB0aGUgTW9kdWxlIG9uIGEgV2luZG93cyBTeXN0ZW0gPC9BPgogPC9VTD4KIDxCUj4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDUwIgorPExJPjxBIE5BTUU9InRleDJodG1sNDkiCiAgIGhyZWY9Im9wZW5zc2wuaHRtbCI+MyBPcGVuU1NMIC0tIFB5dGhvbiBpbnRlcmZhY2UgdG8gT3BlblNTTCA8L0E+CiA8VUw+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw1MSIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDUwIgogICBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvIC0tIEdlbmVyaWMgY3J5cHRvZ3JhcGhpYyBtb2R1bGUgPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sNTIiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWw1MSIKICAgaHJlZj0ib3BlbnNzbC1yYW5kLmh0bWwiPjMuMiByYW5kIC0tIEFuIGludGVyZmFjZSB0byB0aGUgT3BlblNTTCBwc2V1ZG8gcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sNTMiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWw1MiIKICAgaHJlZj0ib3BlbnNzbC1zc2wuaHRtbCI+My4zIFNTTCAtLSBBbiBpbnRlcmZhY2UgdG8gdGhlIFNTTC1zcGVjaWZpYyBwYXJ0cyBvZiBPcGVuU1NMIDwvQT4KIDwvVUw+CiA8QlI+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw1NCIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDUzIgogICBocmVmPSJpbnRlcm5hbHMuaHRtbCI+NCBJbnRlcm5hbHMgPC9BPgogPFVMPgotPExJPjxBIE5BTUU9InRleDJodG1sNTUiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWw1NCIKICAgaHJlZj0iZXhjZXB0aW9ucy5odG1sIj40LjEgRXhjZXB0aW9ucyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw1NiIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDU1IgogICBocmVmPSJjYWxsYmFja3MuaHRtbCI+NC4yIENhbGxiYWNrcyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWw1NyIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDU2IgogICBocmVmPSJzb2NrZXQtbWV0aG9kcy5odG1sIj40LjMgQWNlc3NpbmcgU29ja2V0IE1ldGhvZHMgPC9BPgogPC9VTD48L1VMPgogPCEtLUVuZCBvZiBUYWJsZSBvZiBDb250ZW50cy0tPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvY3JsLmh0bWwgYi9kb2MvaHRtbC9jcmwuaHRtbAppbmRleCA0Y2U2YWNiLi5lYjUyOWQ2IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9jcmwuaHRtbAorKysgYi9kb2MvaHRtbC9jcmwuaHRtbApAQCAtMSw4ICsxLDggQEAKIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgotPHRpdGxlPjMuMS4xMSBDUkwgb2JqZWN0cyA8L3RpdGxlPgotPE1FVEEgTkFNRT0iZGVzY3JpcHRpb24iIENPTlRFTlQ9IjMuMS4xMSBDUkwgb2JqZWN0cyAiPgorPHRpdGxlPjMuMS4xMCBDUkwgb2JqZWN0cyA8L3RpdGxlPgorPE1FVEEgTkFNRT0iZGVzY3JpcHRpb24iIENPTlRFTlQ9IjMuMS4xMCBDUkwgb2JqZWN0cyAiPgogPE1FVEEgTkFNRT0ia2V5d29yZHMiIENPTlRFTlQ9InB5T3BlblNTTCI+CiA8TUVUQSBOQU1FPSJyZXNvdXJjZS10eXBlIiBDT05URU5UPSJkb2N1bWVudCI+CiA8TUVUQSBOQU1FPSJkaXN0cmlidXRpb24iIENPTlRFTlQ9Imdsb2JhbCI+CkBAIC0zNiwzNiArMzYsMzYgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCI+My4xLjEwIE5ldHNjYXBlU1BLSSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCI+My4xLjkgTmV0c2NhcGVTUEtJIG9iamVjdHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJyZXZva2VkLmh0bWwiPjMuMS4xMiBSZXZva2VkIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0icmV2b2tlZC5odG1sIj4zLjEuMTEgUmV2b2tlZCBvYmplY3RzPC9BPgogPGJyPjxocj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKLTxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDExMTAwMDAwMDAwMDAwMDAwMCI+Jm5ic3A7PC9BPgorPEgzPjxBIE5BTUU9IlNFQ1RJT04wMDA0MTEwMDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+CiA8QlI+Ci0zLjEuMTEgQ1JMIG9iamVjdHMgCiszLjEuMTAgQ1JMIG9iamVjdHMgCiA8L0gzPgogCiA8UD4KIENSTCBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwNic+PHR0IGNsYXNzPSdtZXRob2QnPmFkZF9yZXZva2VkPC90dD48L2E+PC9iPig8dmFyPnJldm9rZWQ8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMDcnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfcmV2b2tlZDwvdHQ+PC9hPjwvYj4oPHZhcj5yZXZva2VkPC92YXI+KQogPGRkPgogQWRkIGEgUmV2b2tlZCBvYmplY3QgdG8gdGhlIENSTCwgYnkgdmFsdWUgbm90IHJlZmVyZW5jZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTA3Jz48dHQgY2xhc3M9J21ldGhvZCc+ZXhwb3J0PC90dD48L2E+PC9iPig8dmFyPmNlcnQsIGtleTwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCB0eXBlPUZJTEVUWVBFX1BFTTwvdmFyPjxiaWc+XTwvYmlnPjxiaWc+WzwvYmlnPjx2YXI+LCBkYXlzPTEwMDwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwOCc+PHR0IGNsYXNzPSdtZXRob2QnPmV4cG9ydDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0LCBrZXk8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgdHlwZT1GSUxFVFlQRV9QRU08L3Zhcj48YmlnPl08L2JpZz48YmlnPls8L2JpZz48dmFyPiwgZGF5cz0xMDA8L3Zhcj48YmlnPl08L2JpZz4pCiA8ZGQ+CiBVc2UgPHZhcj5jZXJ0PC92YXI+IGFuZCA8dmFyPmtleTwvdmFyPiB0byBzaWduIHRoZSBDUkwgYW5kIHJldHVybiB0aGUgQ1JMIGFzIGEgc3RyaW5nLgogPHZhcj5kYXlzPC92YXI+IGlzIHRoZSBudW1iZXIgb2YgZGF5cyBiZWZvcmUgdGhlIG5leHQgQ1JMIGlzIGR1ZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTA4Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3Jldm9rZWQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwOSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9yZXZva2VkPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gYSB0dXBsZSBvZiBSZXZva2VkIG9iamVjdHMsIGJ5IHZhbHVlIG5vdCByZWZlcmVuY2UuCiA8L2RsPgpAQCAtOTYsOSArOTYsOSBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sIj4zLjEuMTAgTmV0c2NhcGVTUEtJIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sIj4zLjEuOSBOZXRzY2FwZVNQS0kgb2JqZWN0czwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9InJldm9rZWQuaHRtbCI+My4xLjEyIFJldm9rZWQgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJyZXZva2VkLmh0bWwiPjMuMS4xMSBSZXZva2VkIG9iamVjdHM8L0E+CiA8aHI+CiA8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuMTIuPC9zcGFuPgogPC9ESVY+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9pbmRleC5odG1sIGIvZG9jL2h0bWwvaW5kZXguaHRtbAppbmRleCBjNWQ3ZTdhLi40MWI2OTM5IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9pbmRleC5odG1sCisrKyBiL2RvYy9odG1sL2luZGV4Lmh0bWwKQEAgLTg3LDU0ICs4Nyw1MiBAQAogICBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgPHR0IGNsYXNzPSJtb2R1bGUiPmNyeXB0bzwvdHQ+IC0tIEdlbmVyaWMgY3J5cHRvZ3JhcGhpYyBtb2R1bGUgPC9BPgogPFVMPgogPExJPjxBIE5BTUU9InRleDJodG1sMTUiCi0gIGhyZWY9Im9wZW5zc2wteDUwOWV4dC5odG1sIj4zLjEuMSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXg1MDkuaHRtbCI+My4xLjEgWDUwOSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE2IgotICBocmVmPSJvcGVuc3NsLXg1MDkuaHRtbCI+My4xLjIgWDUwOSBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMiBYNTA5TmFtZSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE3IgotICBocmVmPSJvcGVuc3NsLXg1MDluYW1lLmh0bWwiPjMuMS4zIFg1MDlOYW1lIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjMgWDUwOVJlcSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE4IgotICBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjQgWDUwOVJlcSBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjQgWDUwOVN0b3JlIG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTkiCi0gIGhyZWY9Im9wZW5zc2wteDUwOXN0b3JlLmh0bWwiPjMuMS41IFg1MDlTdG9yZSBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC1wa2V5Lmh0bWwiPjMuMS41IFBLZXkgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwyMCIKLSAgaHJlZj0ib3BlbnNzbC1wa2V5Lmh0bWwiPjMuMS42IFBLZXkgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtcGtjczcuaHRtbCI+My4xLjYgUEtDUzcgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwyMSIKLSAgaHJlZj0ib3BlbnNzbC1wa2NzNy5odG1sIj4zLjEuNyBQS0NTNyBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC1wa2NzMTIuaHRtbCI+My4xLjcgUEtDUzEyIG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMjIiCi0gIGhyZWY9Im9wZW5zc2wtcGtjczEyLmh0bWwiPjMuMS44IFBLQ1MxMiBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC01MDlleHQuaHRtbCI+My4xLjggWDUwOUV4dGVuc2lvbiBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDIzIgotICBocmVmPSJvcGVuc3NsLTUwOWV4dC5odG1sIj4zLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCI+My4xLjkgTmV0c2NhcGVTUEtJIG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMjQiCi0gIGhyZWY9Im9wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sIj4zLjEuMTAgTmV0c2NhcGVTUEtJIG9iamVjdHMgPC9BPgorICBocmVmPSJjcmwuaHRtbCI+My4xLjEwIENSTCBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDI1IgotICBocmVmPSJjcmwuaHRtbCI+My4xLjExIENSTCBvYmplY3RzIDwvQT4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDI2IgotICBocmVmPSJyZXZva2VkLmh0bWwiPjMuMS4xMiBSZXZva2VkIG9iamVjdHMgPC9BPgorICBocmVmPSJyZXZva2VkLmh0bWwiPjMuMS4xMSBSZXZva2VkIG9iamVjdHMgPC9BPgogPC9VTD4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDI3IgorPExJPjxBIE5BTUU9InRleDJodG1sMjYiCiAgIGhyZWY9Im9wZW5zc2wtcmFuZC5odG1sIj4zLjIgPHR0IGNsYXNzPSJtb2R1bGUiPnJhbmQ8L3R0PiAtLSBBbiBpbnRlcmZhY2UgdG8gdGhlIE9wZW5TU0wgcHNldWRvIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIDwvQT4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDI4IgorPExJPjxBIE5BTUU9InRleDJodG1sMjciCiAgIGhyZWY9Im9wZW5zc2wtc3NsLmh0bWwiPjMuMyA8dHQgY2xhc3M9Im1vZHVsZSI+U1NMPC90dD4gLS0gQW4gaW50ZXJmYWNlIHRvIHRoZSBTU0wtc3BlY2lmaWMgcGFydHMgb2YgT3BlblNTTCA8L0E+CiA8VUw+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwyOSIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDI4IgogICBocmVmPSJvcGVuc3NsLWNvbnRleHQuaHRtbCI+My4zLjEgQ29udGV4dCBvYmplY3RzIDwvQT4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDMwIgorPExJPjxBIE5BTUU9InRleDJodG1sMjkiCiAgIGhyZWY9Im9wZW5zc2wtY29ubmVjdGlvbi5odG1sIj4zLjMuMiBDb25uZWN0aW9uIG9iamVjdHMgPC9BPgogPC9VTD4KIDwvVUw+CiA8QlI+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzMSIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDMwIgogICBocmVmPSJpbnRlcm5hbHMuaHRtbCI+NCBJbnRlcm5hbHMgPC9BPgogPFVMPgotPExJPjxBIE5BTUU9InRleDJodG1sMzIiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwzMSIKICAgaHJlZj0iZXhjZXB0aW9ucy5odG1sIj40LjEgRXhjZXB0aW9ucyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzMyIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDMyIgogICBocmVmPSJjYWxsYmFja3MuaHRtbCI+NC4yIENhbGxiYWNrcyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzNCIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDMzIgogICBocmVmPSJzb2NrZXQtbWV0aG9kcy5odG1sIj40LjMgQWNlc3NpbmcgU29ja2V0IE1ldGhvZHMgPC9BPgogPC9VTD4KIDxCUj4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDM1IgorPExJPjxBIE5BTUU9InRleDJodG1sMzQiCiAgIGhyZWY9ImFib3V0Lmh0bWwiPkFib3V0IHRoaXMgZG9jdW1lbnQgLi4uPC9BPgogPC9VTD4KIDwhLS1FbmQgb2YgVGFibGUgb2YgQ2hpbGQtTGlua3MtLT4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL2ludGVybmFscy5odG1sIGIvZG9jL2h0bWwvaW50ZXJuYWxzLmh0bWwKaW5kZXggM2ZlNjMwYi4uODA2NmEwYyAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvaW50ZXJuYWxzLmh0bWwKKysrIGIvZG9jL2h0bWwvaW50ZXJuYWxzLmh0bWwKQEAgLTU5LDExICs1OSwxMSBAQAogPEEgTkFNRT0iQ0hJTERfTElOS1MiPjxTVFJPTkc+U3Vic2VjdGlvbnM8L1NUUk9ORz48L0E+CiAKIDxVTCBDTEFTUz0iQ2hpbGRMaW5rcyI+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzMzYiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwzMjIiCiAgIGhyZWY9ImV4Y2VwdGlvbnMuaHRtbCI+NC4xIEV4Y2VwdGlvbnMgPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sMzM3IgorPExJPjxBIE5BTUU9InRleDJodG1sMzIzIgogICBocmVmPSJjYWxsYmFja3MuaHRtbCI+NC4yIENhbGxiYWNrcyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzMzgiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwzMjQiCiAgIGhyZWY9InNvY2tldC1tZXRob2RzLmh0bWwiPjQuMyBBY2Vzc2luZyBTb2NrZXQgTWV0aG9kcyA8L0E+CiA8L1VMPgogPCEtLUVuZCBvZiBUYWJsZSBvZiBDaGlsZC1MaW5rcy0tPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvaW50cm8uaHRtbCBiL2RvYy9odG1sL2ludHJvLmh0bWwKaW5kZXggN2NiMWNmMS4uN2E3YzQ0NSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvaW50cm8uaHRtbAorKysgYi9kb2MvaHRtbC9pbnRyby5odG1sCkBAIC01NSw3ICs1NSw3IEBACiB3ZXJlIGFsc28gbGltaXRlZCwgdGhvdWdoIGluIGRpZmZlcmVudCB3YXlzLiAgVW5mb3J0dW5hdGVseSwgUHl0aG9uJ3Mgc3RhbmRhcmQKIGxpYnJhcnkgU1NMIHN1cHBvcnQgaGFzIHJlbWFpbmVkIHdlYWssIGFsdGhvdWdoIG90aGVyIHBhY2thZ2VzIChzdWNoIGFzCiBNMkNyeXB0bzxBIE5BTUU9InRleDJodG1sMSIKLSAgSFJFRj0iI2Zvb3QxMjAwIj48U1VQPjE8L1NVUD48L0E+KQorICBIUkVGPSIjZm9vdDEyNDYiPjxTVVA+MTwvU1VQPjwvQT4pCiBoYXZlIG1hZGUgZ3JlYXQgYWR2YW5jZXMgYW5kIG5vdyBlcXVhbCBvciBleGNlZWQgcHlPcGVuU1NMJ3MgZnVuY3Rpb25hbGl0eS4KIAogPFA+CkBAIC02Nyw3ICs2Nyw3IEBACiA8UD4KIDxCUj48SFI+PEg0PkZvb3Rub3RlczwvSDQ+CiA8REw+Ci08RFQ+PEEgTkFNRT0iZm9vdDEyMDAiPi4uLgorPERUPjxBIE5BTUU9ImZvb3QxMjQ2Ij4uLi4KIE0yQ3J5cHRvPC9BPjxBCiAgaHJlZj0iaW50cm8uaHRtbCN0ZXgyaHRtbDEiPjxTVVA+MTwvU1VQPjwvQT48L0RUPgogPEREPlNlZSA8YSBjbGFzcz0idXJsIiBocmVmPSJodHRwOi8vY2hhbmRsZXJwcm9qZWN0Lm9yZy9Qcm9qZWN0cy9NZVRvb0NyeXB0byI+aHR0cDovL2NoYW5kbGVycHJvamVjdC5vcmcvUHJvamVjdHMvTWVUb29DcnlwdG88L2E+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLTUwOWV4dC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC01MDlleHQuaHRtbAppbmRleCA1MzM0YWRmLi45ZTM4MDkwIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLTUwOWV4dC5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtNTA5ZXh0Lmh0bWwKQEAgLTEsOCArMSw4IEBACiA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KLTx0aXRsZT4zLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgPC90aXRsZT4KLTxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgIj4KKzx0aXRsZT4zLjEuOCBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgPC90aXRsZT4KKzxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuOCBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgIj4KIDxNRVRBIE5BTUU9ImtleXdvcmRzIiBDT05URU5UPSJweU9wZW5TU0wiPgogPE1FVEEgTkFNRT0icmVzb3VyY2UtdHlwZSIgQ09OVEVOVD0iZG9jdW1lbnQiPgogPE1FVEEgTkFNRT0iZGlzdHJpYnV0aW9uIiBDT05URU5UPSJnbG9iYWwiPgpAQCAtMzYsMTYgKzM2LDE2IEBACiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSIiIHdpZHRoPSIzMiI+PC90ZD4KIDwvdHI+PC90YWJsZT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzMTIuaHRtbCI+My4xLjggUEtDUzEyIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcGtjczEyLmh0bWwiPjMuMS43IFBLQ1MxMiBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1uZXRzY2FwZS1zcGtpLmh0bWwiPjMuMS4xMCBOZXRzY2FwZVNQS0kgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCI+My4xLjkgTmV0c2NhcGVTUEtJIG9iamVjdHM8L0E+CiA8YnI+PGhyPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIAotPEgzPjxBIE5BTUU9IlNFQ1RJT04wMDA0MTkwMDAwMDAwMDAwMDAwMDAiPiZuYnNwOzwvQT4KKzxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDE4MDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+CiA8QlI+Ci0zLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgCiszLjEuOCBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgCiA8L0gzPgogCiA8UD4KQEAgLTYwLDcgKzYwLDI1IEBACiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwMCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zaG9ydF9uYW1lPC90dD48L2E+PC9iPigpCiA8ZGQ+Ci1SZXR1cm4gdGhlIHNob3J0IHR5cGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uIG9iamVjdC4KK1JldHJpZXZlIHRoZSBzaG9ydCBkZXNjcmlwdGl2ZSBuYW1lIGZvciB0aGlzIGV4dGVuc2lvbi4KKworPFA+CitUaGUgcmVzdWx0IGlzIGEgYnl0ZSBzdHJpbmcgbGlrZSA8Y29kZT5gYGJhc2ljQ29uc3RyYWludHMnJzwvY29kZT4uCisKKzxzcGFuIGNsYXNzPSd2ZXJzaW9ubm90ZSc+TmV3IGluIHZlcnNpb24gMC4xMi48L3NwYW4+CisKKzwvZGw+CisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTAxJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2RhdGE8L3R0PjwvYT48L2I+KCkKKzxkZD4KK1JldHJpZXZlIHRoZSBkYXRhIGZvciB0aGlzIGV4dGVuc2lvbi4KKworPFA+CitUaGUgcmVzdWx0IGlzIHRoZSBBU04uMSBlbmNvZGVkIGZvcm0gb2YgdGhlIGV4dGVuc2lvbiBkYXRhIGFzIGEgYnl0ZSBzdHJpbmcuCisKKzxzcGFuIGNsYXNzPSd2ZXJzaW9ubm90ZSc+TmV3IGluIHZlcnNpb24gMC4xMi48L3NwYW4+CisKIDwvZGw+CiAKIDxQPgpAQCAtODksOSArMTA3LDkgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrY3MxMi5odG1sIj4zLjEuOCBQS0NTMTIgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzMTIuaHRtbCI+My4xLjcgUEtDUzEyIG9iamVjdHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCI+My4xLjEwIE5ldHNjYXBlU1BLSSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sIj4zLjEuOSBOZXRzY2FwZVNQS0kgb2JqZWN0czwvQT4KIDxocj4KIDxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC4xMi48L3NwYW4+CiA8L0RJVj4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtY29ubmVjdGlvbi5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKaW5kZXggMzY0NDFhZi4uYTViNjU3YSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKQEAgLTUxLDcgKzUxLDcgQEAKIENvbm5lY3Rpb24gb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzknPjx0dCBjbGFzcz0nbWV0aG9kJz5hY2NlcHQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4OCc+PHR0IGNsYXNzPSdtZXRob2QnPmFjY2VwdDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmFjY2VwdDwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQgYW5kIHNldCB1cCBTU0wgb24gdGhlCiByZXR1cm5lZCBzb2NrZXQsIHVzaW5nIHRoZSBDb250ZXh0IG9iamVjdCBzdXBwbGllZCB0byB0aGlzIENvbm5lY3Rpb24gb2JqZWN0IGF0CkBAIC02MSwyMCArNjEsMjAgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTgwJz48dHQgY2xhc3M9J21ldGhvZCc+YmluZDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTg5Jz48dHQgY2xhc3M9J21ldGhvZCc+YmluZDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmJpbmQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xODEnPjx0dCBjbGFzcz0nbWV0aG9kJz5jbG9zZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTkwJz48dHQgY2xhc3M9J21ldGhvZCc+Y2xvc2U8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5jbG9zZTwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuIE5vdGU6IElmIHlvdSB3YW50CiBjb3JyZWN0IFNTTCBjbG9zdXJlLCB5b3UgbmVlZCB0byBjYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+c2h1dGRvd248L3R0PiBtZXRob2QgZmlyc3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4Mic+PHR0IGNsYXNzPSdtZXRob2QnPmNvbm5lY3Q8L3R0PjwvYT48L2I+KDx2YXI+YWRkcmVzczwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE5MSc+PHR0IGNsYXNzPSdtZXRob2QnPmNvbm5lY3Q8L3R0PjwvYT48L2I+KDx2YXI+YWRkcmVzczwvdmFyPikKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5jb25uZWN0PC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBhbmQgc2V0IHVwIFNTTCBvbiB0aGUKIHNvY2tldCwgdXNpbmcgdGhlIENvbnRleHQgb2JqZWN0IHN1cHBsaWVkIHRvIHRoaXMgQ29ubmVjdGlvbiBvYmplY3QgYXQKQEAgLTgyLDcgKzgyLDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTgzJz48dHQgY2xhc3M9J21ldGhvZCc+Y29ubmVjdF9leDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTkyJz48dHQgY2xhc3M9J21ldGhvZCc+Y29ubmVjdF9leDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmNvbm5lY3RfZXg8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0IGFuZCBzZXQgdXAgU1NMIG9uCiB0aGUgc29ja2V0LCB1c2luZyB0aGUgQ29udGV4dCBvYmplY3Qgc3VwcGxpZWQgdG8gdGhpcyBDb25uZWN0aW9uIG9iamVjdCBhdApAQCAtOTEsNyArOTEsNyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xODQnPjx0dCBjbGFzcz0nbWV0aG9kJz5kb19oYW5kc2hha2U8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE5Myc+PHR0IGNsYXNzPSdtZXRob2QnPmRvX2hhbmRzaGFrZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUGVyZm9ybSBhbiBTU0wgaGFuZHNoYWtlICh1c3VhbGx5IGNhbGxlZCBhZnRlciA8dHQgY2xhc3M9Im1ldGhvZCI+cmVuZWdvdGlhdGU8L3R0PiBvciBvbmUgb2YKIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfYWNjZXB0X3N0YXRlPC90dD4gb3IgPHR0IGNsYXNzPSJtZXRob2QiPnNldF9hY2NlcHRfc3RhdGU8L3R0PikuIFRoaXMgY2FuIHJhaXNlIHRoZQpAQCAtOTksMjUgKzk5LDI1IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4NSc+PHR0IGNsYXNzPSdtZXRob2QnPmZpbGVubzwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk0Jz48dHQgY2xhc3M9J21ldGhvZCc+ZmlsZW5vPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgZmlsZSBkZXNjcmlwdG9yIG51bWJlciBmb3IgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xODYnPjx0dCBjbGFzcz0nbWV0aG9kJz5saXN0ZW48L3R0PjwvYT48L2I+KDx2YXI+YmFja2xvZzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE5NSc+PHR0IGNsYXNzPSdtZXRob2QnPmxpc3RlbjwvdHQ+PC9hPjwvYj4oPHZhcj5iYWNrbG9nPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmxpc3RlbjwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk2Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2FwcF9kYXRhPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBhcHBsaWNhdGlvbiBkYXRhIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X2FwcF9kYXRhPC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4OCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jaXBoZXJfbGlzdDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk3Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBjaXBoZXJzIHVzZWQgYnkgdGhlIENvbm5lY3Rpb24gb2JqZWN0LiBXQVJOSU5HOiBUaGlzIEFQSQogaGFzIGNoYW5nZWQuIEl0IHVzZWQgdG8gdGFrZSBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgYW5kIGp1c3QgcmV0dXJuIGEgc3RyaW5nLApAQCAtMTI1LDcgKzEyNSw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4OSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jbGllbnRfY2FfbGlzdDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk4Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NsaWVudF9jYV9saXN0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBwcmVmZXJyZWQgY2xpZW50IGNlcnRpZmljYXRlIGlzc3VlcnMgc2VudCBieSB0aGUgc2VydmVyCiBhcyA8dHQgY2xhc3M9ImNsYXNzIj5PcGVuU1NMLmNyeXB0by5YNTA5TmFtZTwvdHQ+IG9iamVjdHMuCkBAIC0xNDYsNDQgKzE0Niw1NiBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xOTAnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY29udGV4dDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NvbnRleHQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIHRoZSBDb250ZXh0IG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBDb25uZWN0aW9uLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xOTEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcGVlcl9jZXJ0aWZpY2F0ZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjAwJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2NvbnRleHQ8L3R0PjwvYT48L2I+KDx2YXI+Y29udGV4dDwvdmFyPikKKzxkZD4KK1NwZWNpZnkgYSByZXBsYWNlbWVudCBDb250ZXh0IG9iamVjdCBmb3IgdGhpcyBDb25uZWN0aW9uLgorPC9kbD4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcGVlcl9jZXJ0aWZpY2F0ZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIG90aGVyIHNpZGUncyBjZXJ0aWZpY2F0ZSAoaWYgYW55KQogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xOTInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRwZWVybmFtZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjAyJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3BlZXJfY2VydF9jaGFpbjwvdHQ+PC9hPjwvYj4oKQorPGRkPgorUmV0cmlldmUgdGhlIHR1cGxlIG9mIHRoZSBvdGhlciBzaWRlJ3MgY2VydGlmaWNhdGUgY2hhaW4gKGlmIGFueSkKKzwvZGw+CisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjAzJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0cGVlcm5hbWU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5nZXRwZWVybmFtZTwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE5Myc+PHR0IGNsYXNzPSdtZXRob2QnPmdldHNvY2tuYW1lPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDQnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRzb2NrbmFtZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldHNvY2tuYW1lPC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0c29ja29wdDwvdHQ+PC9hPjwvYj4oPHZhcj5sZXZlbCwgb3B0bmFtZTwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBidWZsZW48L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDUnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRzb2Nrb3B0PC90dD48L2E+PC9iPig8dmFyPmxldmVsLCBvcHRuYW1lPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGJ1ZmxlbjwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5nZXRzb2Nrb3B0PC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk1Jz48dHQgY2xhc3M9J21ldGhvZCc+cGVuZGluZzwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjA2Jz48dHQgY2xhc3M9J21ldGhvZCc+cGVuZGluZzwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGNhbiBiZSBzYWZlbHkgcmVhZCBmcm9tIHRoZSBTU0wgYnVmZmVyCiAoPGk+bm90PC9pPiB0aGUgdW5kZXJseWluZyB0cmFuc3BvcnQgYnVmZmVyKS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk2Jz48dHQgY2xhc3M9J21ldGhvZCc+cmVjdjwvdHQ+PC9hPjwvYj4oPHZhcj5idWZzaXplPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjA3Jz48dHQgY2xhc3M9J21ldGhvZCc+cmVjdjwvdHQ+PC9hPjwvYj4oPHZhcj5idWZzaXplPC92YXI+KQogPGRkPgogUmVjZWl2ZSBkYXRhIGZyb20gdGhlIENvbm5lY3Rpb24uIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZQogZGF0YSByZWNlaXZlZC4gVGhlIG1heGltdW0gYW1vdW50IG9mIGRhdGEgdG8gYmUgcmVjZWl2ZWQgYXQgb25jZSwgaXMgc3BlY2lmaWVkCkBAIC0xOTEsNyArMjAzLDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTk3Jz48dHQgY2xhc3M9J21ldGhvZCc+YmlvX3dyaXRlPC90dD48L2E+PC9iPig8dmFyPmJ5dGVzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjA4Jz48dHQgY2xhc3M9J21ldGhvZCc+YmlvX3dyaXRlPC90dD48L2E+PC9iPig8dmFyPmJ5dGVzPC92YXI+KQogPGRkPgogSWYgdGhlIENvbm5lY3Rpb24gd2FzIGNyZWF0ZWQgd2l0aCBhIG1lbW9yeSBCSU8sIHRoaXMgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIGFkZAogYnl0ZXMgdG8gdGhlIHJlYWQgZW5kIG9mIHRoYXQgbWVtb3J5IEJJTy4gIFRoZSBDb25uZWN0aW9uIGNhbiB0aGVuIHJlYWQgdGhlCkBAIC0xOTksMjAgKzIxMSwyMCBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xOTgnPjx0dCBjbGFzcz0nbWV0aG9kJz5yZW5lZ290aWF0ZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjA5Jz48dHQgY2xhc3M9J21ldGhvZCc+cmVuZWdvdGlhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJlbmVnb3RpYXRlIHRoZSBTU0wgc2Vzc2lvbi4gQ2FsbCB0aGlzIGlmIHlvdSB3aXNoIHRvIGNoYW5nZSBjaXBoZXIgc3VpdGVzIG9yCiBhbnl0aGluZyBsaWtlIHRoYXQuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE5OSc+PHR0IGNsYXNzPSdtZXRob2QnPnNlbmQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjEwJz48dHQgY2xhc3M9J21ldGhvZCc+c2VuZDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCiA8ZGQ+CiBTZW5kIHRoZSA8dmFyPnN0cmluZzwvdmFyPiBkYXRhIHRvIHRoZSBDb25uZWN0aW9uLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDAnPjx0dCBjbGFzcz0nbWV0aG9kJz5iaW9fcmVhZDwvdHQ+PC9hPjwvYj4oPHZhcj5idWZzaXplPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjExJz48dHQgY2xhc3M9J21ldGhvZCc+YmlvX3JlYWQ8L3R0PjwvYT48L2I+KDx2YXI+YnVmc2l6ZTwvdmFyPikKIDxkZD4KIElmIHRoZSBDb25uZWN0aW9uIHdhcyBjcmVhdGVkIHdpdGggYSBtZW1vcnkgQklPLCB0aGlzIG1ldGhvZCBjYW4gYmUgdXNlZCB0bwogcmVhZCBieXRlcyBmcm9tIHRoZSB3cml0ZSBlbmQgb2YgdGhhdCBtZW1vcnkgQklPLiAgTWFueSBDb25uZWN0aW9uIG1ldGhvZHMgd2lsbApAQCAtMjIxLDcgKzIzMyw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIwMSc+PHR0IGNsYXNzPSdtZXRob2QnPnNlbmRhbGw8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjEyJz48dHQgY2xhc3M9J21ldGhvZCc+c2VuZGFsbDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCiA8ZGQ+CiBTZW5kIGFsbCBvZiB0aGUgPHZhcj5zdHJpbmc8L3Zhcj4gZGF0YSB0byB0aGUgQ29ubmVjdGlvbi4gVGhpcyBjYWxscyA8dHQgY2xhc3M9Im1ldGhvZCI+c2VuZDwvdHQ+CiByZXBlYXRlZGx5IHVudGlsIGFsbCBkYXRhIGlzIHNlbnQuIElmIGFuIGVycm9yIG9jY3VycywgaXQncyBpbXBvc3NpYmxlIHRvIHRlbGwKQEAgLTIyOSw0MCArMjQxLDQwIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIwMic+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hY2NlcHRfc3RhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxMyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hY2NlcHRfc3RhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFNldCB0aGUgY29ubmVjdGlvbiB0byB3b3JrIGluIHNlcnZlciBtb2RlLiBUaGUgaGFuZHNoYWtlIHdpbGwgYmUgaGFuZGxlZAogYXV0b21hdGljYWxseSBieSByZWFkL3dyaXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDMnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KDx2YXI+ZGF0YTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxNCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRhPC92YXI+KQogPGRkPgogQXNzb2NpYXRlIDx2YXI+ZGF0YTwvdmFyPiB3aXRoIHRoaXMgQ29ubmVjdGlvbiBvYmplY3QuIDx2YXI+ZGF0YTwvdmFyPiBjYW4gYmUgcmV0cmlldmVkCiBsYXRlciB1c2luZyB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldF9hcHBfZGF0YTwvdHQ+IG1ldGhvZC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjA0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2Nvbm5lY3Rfc3RhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxNSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9jb25uZWN0X3N0YXRlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBTZXQgdGhlIGNvbm5lY3Rpb24gdG8gd29yayBpbiBjbGllbnQgbW9kZS4gVGhlIGhhbmRzaGFrZSB3aWxsIGJlIGhhbmRsZWQKIGF1dG9tYXRpY2FsbHkgYnkgcmVhZC93cml0ZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjA1Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0YmxvY2tpbmc8L3R0PjwvYT48L2I+KDx2YXI+ZmxhZzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxNic+PHR0IGNsYXNzPSdtZXRob2QnPnNldGJsb2NraW5nPC90dD48L2E+PC9iPig8dmFyPmZsYWc8L3Zhcj4pCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0YmxvY2tpbmc8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRzb2Nrb3B0PC90dD48L2E+PC9iPig8dmFyPmxldmVsLCBvcHRuYW1lLCB2YWx1ZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxNyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldHNvY2tvcHQ8L3R0PjwvYT48L2I+KDx2YXI+bGV2ZWwsIG9wdG5hbWUsIHZhbHVlPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNldHNvY2tvcHQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDcnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaHV0ZG93bjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjE4Jz48dHQgY2xhc3M9J21ldGhvZCc+c2h1dGRvd248L3R0PjwvYT48L2I+KCkKIDxkZD4KIFNlbmQgdGhlIHNodXRkb3duIG1lc3NhZ2UgdG8gdGhlIENvbm5lY3Rpb24uIFJldHVybnMgdHJ1ZSBpZiB0aGUgc2h1dGRvd24KIG1lc3NhZ2UgZXhjaGFuZ2UgaXMgY29tcGxldGVkIGFuZCBmYWxzZSBvdGhlcndpc2UgKGluIHdoaWNoIGNhc2UgeW91IGNhbGwKQEAgLTI3MSwyNyArMjgzLDI3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIwOCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zaHV0ZG93bjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjE5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3NodXRkb3duPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBHZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgUmV0dXJucyBhIGJpdHZlY3RvciBvZiBlaXRoZXIgb3IKIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMDknPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+c3RhdGU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+c3RhdGU8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgPHZhcj5zdGF0ZTwvdmFyPiBpcyBhIGJpdHZlY3RvciBvZgogZWl0aGVyIG9yIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMTAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zb2NrX3NodXRkb3duPC90dD48L2E+PC9iPig8dmFyPmhvdzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIyMSc+PHR0IGNsYXNzPSdtZXRob2QnPnNvY2tfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+aG93PC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNodXRkb3duPC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjExJz48dHQgY2xhc3M9J21ldGhvZCc+YmlvX3NodXRkb3duPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMjInPjx0dCBjbGFzcz0nbWV0aG9kJz5iaW9fc2h1dGRvd248L3R0PjwvYT48L2I+KCkKIDxkZD4KIElmIHRoZSBDb25uZWN0aW9uIHdhcyBjcmVhdGVkIHdpdGggYSBtZW1vcnkgQklPLCB0aGlzIG1ldGhvZCBjYW4gYmUgdXNlZCB0bwogaW5kaWNhdGUgdGhhdCBgYGVuZCBvZiBmaWxlJycgaGFzIGJlZW4gcmVhY2hlZCBvbiB0aGUgcmVhZCBlbmQgb2YgdGhhdCBtZW1vcnkKQEAgLTI5OSw0NCArMzExLDYyIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxMic+PHR0IGNsYXNzPSdtZXRob2QnPnN0YXRlX3N0cmluZzwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjIzJz48dHQgY2xhc3M9J21ldGhvZCc+c3RhdGVfc3RyaW5nPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBhIHZlcmJvc2Ugc3RyaW5nIGRldGFpbGluZyB0aGUgc3RhdGUgb2YgdGhlIENvbm5lY3Rpb24uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxMyc+PHR0IGNsYXNzPSdtZXRob2QnPmNsaWVudF9yYW5kb208L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIyNCc+PHR0IGNsYXNzPSdtZXRob2QnPmNsaWVudF9yYW5kb208L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIHRoZSByYW5kb20gdmFsdWUgdXNlZCB3aXRoIHRoZSBjbGllbnQgaGVsbG8gbWVzc2FnZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjE0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2VydmVyX3JhbmRvbTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjI1Jz48dHQgY2xhc3M9J21ldGhvZCc+c2VydmVyX3JhbmRvbTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIHJhbmRvbSB2YWx1ZSB1c2VkIHdpdGggdGhlIHNlcnZlciBoZWxsbyBtZXNzYWdlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMTUnPjx0dCBjbGFzcz0nbWV0aG9kJz5tYXN0ZXJfa2V5PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5tYXN0ZXJfa2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgdmFsdWUgb2YgdGhlIG1hc3RlciBrZXkgZm9yIHRoaXMgc2Vzc2lvbi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjE2Jz48dHQgY2xhc3M9J21ldGhvZCc+d2FudF9yZWFkPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMjcnPjx0dCBjbGFzcz0nbWV0aG9kJz53YW50X3JlYWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiBtb3JlIGRhdGEgaGFzIHRvIGJlIHJlYWQgZnJvbSB0aGUgdHJhbnNwb3J0IGxheWVyIHRvIGNvbXBsZXRlIGFuCiBvcGVyYXRpb24uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIxNyc+PHR0IGNsYXNzPSdtZXRob2QnPndhbnRfd3JpdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTIyOCc+PHR0IGNsYXNzPSdtZXRob2QnPndhbnRfd3JpdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiB0aGVyZSBpcyBkYXRhIHRvIHdyaXRlIHRvIHRoZSB0cmFuc3BvcnQgbGF5ZXIgdG8gY29tcGxldGUgYW4KIG9wZXJhdGlvbi4KIDwvZGw+CiAKIDxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMjI5Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3Rsc2V4dF9ob3N0X25hbWU8L3R0PjwvYT48L2I+KDx2YXI+bmFtZTwvdmFyPikKKzxkZD4KK1NwZWNpZnkgdGhlIGJ5dGUgc3RyaW5nIHRvIHNlbmQgYXMgdGhlIHNlcnZlciBuYW1lIGluIHRoZSBjbGllbnQgaGVsbG8gbWVzc2FnZS4KKworPHNwYW4gY2xhc3M9J3ZlcnNpb25ub3RlJz5OZXcgaW4gdmVyc2lvbiAwLjEzLjwvc3Bhbj4KKworPC9kbD4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0yMzAnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc2VydmVybmFtZTwvdHQ+PC9hPjwvYj4oKQorPGRkPgorR2V0IHRoZSB2YWx1ZSBvZiB0aGUgc2VydmVyIG5hbWUgcmVjZWl2ZWQgaW4gdGhlIGNsaWVudCBoZWxsbyBtZXNzYWdlLgorCis8c3BhbiBjbGFzcz0ndmVyc2lvbm5vdGUnPk5ldyBpbiB2ZXJzaW9uIDAuMTMuPC9zcGFuPgorCis8L2RsPgorCis8UD4KIAogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CiA8cD48aHI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLWNvbnRleHQuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtY29udGV4dC5odG1sCmluZGV4IGM0MmU1NmYuLmM3MGQxMzIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtY29udGV4dC5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtY29udGV4dC5odG1sCkBAIC01Miw3ICs1Miw3IEBACiBDb250ZXh0IG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUyJz48dHQgY2xhc3M9J21ldGhvZCc+Y2hlY2tfcHJpdmF0ZWtleTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYwJz48dHQgY2xhc3M9J21ldGhvZCc+Y2hlY2tfcHJpdmF0ZWtleTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2hlY2sgaWYgdGhlIHByaXZhdGUga2V5IChsb2FkZWQgd2l0aCA8dHQgY2xhc3M9Im1ldGhvZCI+dXNlX3ByaXZhdGVrZXk8YmlnPls8L2JpZz5fZmlsZTxiaWc+XTwvYmlnPjwvdHQ+KQogbWF0Y2hlcyB0aGUgY2VydGlmaWNhdGUgKGxvYWRlZCB3aXRoIDx0dCBjbGFzcz0ibWV0aG9kIj51c2VfY2VydGlmaWNhdGU8YmlnPls8L2JpZz5fZmlsZTxiaWc+XTwvYmlnPjwvdHQ+KS4KQEAgLTYwLDEzICs2MCwxMyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTMnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2MSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgYXBwbGljYXRpb24gZGF0YSBhcyBzZXQgYnkgPHR0IGNsYXNzPSJtZXRob2QiPnNldF9hcHBfZGF0YTwvdHQ+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTQnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY2VydF9zdG9yZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYyJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NlcnRfc3RvcmU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIHRoZSBjZXJ0aWZpY2F0ZSBzdG9yZSAoYSBYNTA5U3RvcmUgb2JqZWN0KSB0aGF0IHRoZSBjb250ZXh0IHVzZXMuCiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCAidHJ1c3RlZCIgY2VydGlmaWNhdGVzIHdpdGhvdXQgdXNpbmcgdGhlLgpAQCAtNzQsMzQgKzc0LDM0IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1NSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF90aW1lb3V0PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjMnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdGltZW91dDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgc2Vzc2lvbiB0aW1lb3V0LCBhcyBzZXQgYnkgPHR0IGNsYXNzPSJtZXRob2QiPnNldF90aW1lb3V0PC90dD4uIFRoZSBkZWZhdWx0IGlzIDMwMAogc2Vjb25kcy4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTU2Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcmlmeV9kZXB0aDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcmlmeV9kZXB0aDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIENvbnRleHQgb2JqZWN0J3MgdmVyaWZ5IGRlcHRoLCBhcyBzZXQgYnkKIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfdmVyaWZ5X2RlcHRoPC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF92ZXJpZnlfbW9kZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY1Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcmlmeV9tb2RlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgQ29udGV4dCBvYmplY3QncyB2ZXJpZnkgbW9kZSwgYXMgc2V0IGJ5IDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfdmVyaWZ5PC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1OCc+PHR0IGNsYXNzPSdtZXRob2QnPmxvYWRfY2xpZW50X2NhPC90dD48L2E+PC9iPig8dmFyPnBlbWZpbGU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX2NsaWVudF9jYTwvdHQ+PC9hPjwvYj4oPHZhcj5wZW1maWxlPC92YXI+KQogPGRkPgogUmVhZCBhIGZpbGUgd2l0aCBQRU0tZm9ybWF0dGVkIGNlcnRpZmljYXRlcyB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgY2xpZW50CiB3aGVuIHJlcXVlc3RpbmcgYSBjbGllbnQgY2VydGlmaWNhdGUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1OSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9jbGllbnRfY2FfbGlzdDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0aWZpY2F0ZV9hdXRob3JpdGllczwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9jbGllbnRfY2FfbGlzdDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0aWZpY2F0ZV9hdXRob3JpdGllczwvdmFyPikKIDxkZD4KIFJlcGxhY2UgdGhlIGN1cnJlbnQgbGlzdCBvZiBwcmVmZXJyZWQgY2VydGlmaWNhdGUgc2lnbmVycyB0aGF0IHdvdWxkIGJlCiBzZW50IHRvIHRoZSBjbGllbnQgd2hlbiByZXF1ZXN0aW5nIGEgY2xpZW50IGNlcnRpZmljYXRlIHdpdGggdGhlCkBAIC0xMTQsNyArMTE0LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYwJz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2NsaWVudF9jYTwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0aWZpY2F0ZV9hdXRob3JpdHk8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjgnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfY2xpZW50X2NhPC90dD48L2E+PC9iPig8dmFyPmNlcnRpZmljYXRlX2F1dGhvcml0eTwvdmFyPikKIDxkZD4KIEV4dHJhY3QgYSA8dHQgY2xhc3M9ImNsYXNzIj5PcGVuU1NMLmNyeXB0by5YNTA5TmFtZTwvdHQ+IGZyb20gdGhlIDx2YXI+Y2VydGlmaWNhdGVfYXV0aG9yaXR5PC92YXI+CiA8dHQgY2xhc3M9ImNsYXNzIj5PcGVuU1NMLmNyeXB0by5YNTA5PC90dD4gY2VydGlmaWNhdGUgYW5kIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBwcmVmZXJyZWQKQEAgLTEyNyw3ICsxMjcsNyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjEnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX3ZlcmlmeV9sb2NhdGlvbnM8L3R0PjwvYT48L2I+KDx2YXI+cGVtZmlsZSwgY2FwYXRoPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY5Jz48dHQgY2xhc3M9J21ldGhvZCc+bG9hZF92ZXJpZnlfbG9jYXRpb25zPC90dD48L2E+PC9iPig8dmFyPnBlbWZpbGUsIGNhcGF0aDwvdmFyPikKIDxkZD4KIFNwZWNpZnkgd2hlcmUgQ0EgY2VydGlmaWNhdGVzIGZvciB2ZXJpZmljYXRpb24gcHVycG9zZXMgYXJlIGxvY2F0ZWQuIFRoZXNlCiBhcmUgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMuIE5vdGUgdGhhdCB0aGUgY2VydGlmaWNhdGVzIGhhdmUgdG8gYmUgaW4gUEVNCkBAIC0xMzcsMzQgKzEzNywzNCBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjInPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfZGVmYXVsdF92ZXJpZnlfcGF0aHM8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3MCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9kZWZhdWx0X3ZlcmlmeV9wYXRoczwvdHQ+PC9hPjwvYj4oKQogPGRkPgogU3BlY2lmeSB0aGF0IHRoZSBwbGF0Zm9ybSBwcm92aWRlZCBDQSBjZXJ0aWZpY2F0ZXMgYXJlIHRvIGJlIHVzZWQgZm9yCiB2ZXJpZmljYXRpb24gcHVycG9zZXMuICBUaGlzIG1ldGhvZCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb24gT1MgWC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYzJz48dHQgY2xhc3M9J21ldGhvZCc+bG9hZF90bXBfZGg8L3R0PjwvYT48L2I+KDx2YXI+ZGhmaWxlPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTcxJz48dHQgY2xhc3M9J21ldGhvZCc+bG9hZF90bXBfZGg8L3R0PjwvYT48L2I+KDx2YXI+ZGhmaWxlPC92YXI+KQogPGRkPgogTG9hZCBwYXJhbWV0ZXJzIGZvciBFcGhlbWVyYWwgRGlmZmllLUhlbGxtYW4gZnJvbSA8dmFyPmRoZmlsZTwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2FwcF9kYXRhPC90dD48L2E+PC9iPig8dmFyPmRhdGE8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzInPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KDx2YXI+ZGF0YTwvdmFyPikKIDxkZD4KIEFzc29jaWF0ZSA8dmFyPmRhdGE8L3Zhcj4gd2l0aCB0aGlzIENvbnRleHQgb2JqZWN0LiA8dmFyPmRhdGE8L3Zhcj4gY2FuIGJlIHJldHJpZXZlZAogbGF0ZXIgdXNpbmcgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5nZXRfYXBwX2RhdGE8L3R0PiBtZXRob2QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9jaXBoZXJfbGlzdDwvdHQ+PC9hPjwvYj4oPHZhcj5jaXBoZXJzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTczJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPig8dmFyPmNpcGhlcnM8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIGxpc3Qgb2YgY2lwaGVycyB0byBiZSB1c2VkIGluIHRoaXMgY29udGV4dC4gU2VlIHRoZSBPcGVuU1NMIG1hbnVhbCBmb3IKIG1vcmUgaW5mb3JtYXRpb24gKGUuZy4gY2lwaGVycygxKSkKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2luZm9fY2FsbGJhY2s8L3R0PjwvYT48L2I+KDx2YXI+Y2FsbGJhY2s8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzQnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfaW5mb19jYWxsYmFjazwvdHQ+PC9hPjwvYj4oPHZhcj5jYWxsYmFjazwvdmFyPikKIDxkZD4KIFNldCB0aGUgaW5mb3JtYXRpb24gY2FsbGJhY2sgdG8gPHZhcj5jYWxsYmFjazwvdmFyPi4gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZAogZnJvbSB0aW1lIHRvIHRpbWUgZHVyaW5nIFNTTCBoYW5kc2hha2VzLgpAQCAtMTc1LDE0ICsxNzUsMTQgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY3Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X29wdGlvbnM8L3R0PjwvYT48L2I+KDx2YXI+b3B0aW9uczwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9vcHRpb25zPC90dD48L2E+PC9iPig8dmFyPm9wdGlvbnM8L3Zhcj4pCiA8ZGQ+CiBBZGQgU1NMIG9wdGlvbnMuIE9wdGlvbnMgeW91IGhhdmUgc2V0IGJlZm9yZSBhcmUgbm90IGNsZWFyZWQhCiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgdXNlZCB3aXRoIHRoZSA8dHQgY2xhc3M9ImNvbnN0YW50Ij5PUF8qPC90dD4gY29uc3RhbnRzLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjgnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcGFzc3dkX2NiPC90dD48L2E+PC9iPig8dmFyPmNhbGxiYWNrPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIHVzZXJkYXRhPC92YXI+PGJpZz5dPC9iaWc+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTc2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3Bhc3N3ZF9jYjwvdHQ+PC9hPjwvYj4oPHZhcj5jYWxsYmFjazwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCB1c2VyZGF0YTwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIFNldCB0aGUgcGFzc3BocmFzZSBjYWxsYmFjayB0byA8dmFyPmNhbGxiYWNrPC92YXI+LiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCiB3aGVuIGEgcHJpdmF0ZSBrZXkgd2l0aCBhIHBhc3NwaHJhc2UgaXMgbG9hZGVkLiA8dmFyPmNhbGxiYWNrPC92YXI+IG11c3QgYWNjZXB0CkBAIC0xOTYsNyArMTk2LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY5Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3Nlc3Npb25faWQ8L3R0PjwvYT48L2I+KDx2YXI+bmFtZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zZXNzaW9uX2lkPC90dD48L2E+PC9iPig8dmFyPm5hbWU8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIGNvbnRleHQgPHZhcj5uYW1lPC92YXI+IHdpdGhpbiB3aGljaCBhIHNlc3Npb24gY2FuIGJlIHJldXNlZCBmb3IgdGhpcwogQ29udGV4dCBvYmplY3QuIFRoaXMgaXMgbmVlZGVkIHdoZW4gZG9pbmcgc2Vzc2lvbiByZXN1bXB0aW9uLCBiZWNhdXNlIHRoZXJlIGlzCkBAIC0yMDUsNyArMjA1LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTcwJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3RpbWVvdXQ8L3R0PjwvYT48L2I+KDx2YXI+dGltZW91dDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3OCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF90aW1lb3V0PC90dD48L2E+PC9iPig8dmFyPnRpbWVvdXQ8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHRpbWVvdXQgZm9yIG5ld2x5IGNyZWF0ZWQgc2Vzc2lvbnMgZm9yIHRoaXMgQ29udGV4dCBvYmplY3QgdG8KIDx2YXI+dGltZW91dDwvdmFyPi4gPHZhcj50aW1lb3V0PC92YXI+IG11c3QgYmUgZ2l2ZW4gaW4gKHdob2xlKSBzZWNvbmRzLiBUaGUgZGVmYXVsdApAQCAtMjE0LDcgKzIxNCw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3MSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF92ZXJpZnk8L3R0PjwvYT48L2I+KDx2YXI+bW9kZSwgY2FsbGJhY2s8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzknPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfdmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPm1vZGUsIGNhbGxiYWNrPC92YXI+KQogPGRkPgogU2V0IHRoZSB2ZXJpZmljYXRpb24gZmxhZ3MgZm9yIHRoaXMgQ29udGV4dCBvYmplY3QgdG8gPHZhcj5tb2RlPC92YXI+IGFuZCBzcGVjaWZ5CiB0aGF0IDx2YXI+Y2FsbGJhY2s8L3Zhcj4gc2hvdWxkIGJlIHVzZWQgZm9yIHZlcmlmaWNhdGlvbiBjYWxsYmFja3MuIDx2YXI+bW9kZTwvdmFyPgpAQCAtMjI5LDM5ICsyMjksMzkgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTcyJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcmlmeV9kZXB0aDwvdHQ+PC9hPjwvYj4oPHZhcj5kZXB0aDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4MCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF92ZXJpZnlfZGVwdGg8L3R0PjwvYT48L2I+KDx2YXI+ZGVwdGg8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIG1heGltdW0gZGVwdGggZm9yIHRoZSBjZXJ0aWZpY2F0ZSBjaGFpbiB2ZXJpZmljYXRpb24gdGhhdCBzaGFsbCBiZQogYWxsb3dlZCBmb3IgdGhpcyBDb250ZXh0IG9iamVjdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTczJz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlPC90dD48L2E+PC9iPig8dmFyPmNlcnQ8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xODEnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIFVzZSB0aGUgY2VydGlmaWNhdGUgPHZhcj5jZXJ0PC92YXI+IHdoaWNoIGhhcyB0byBiZSBhIFg1MDkgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzQnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfZXh0cmFfY2hhaW5fY2VydDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTgyJz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2V4dHJhX2NoYWluX2NlcnQ8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIEFkZHMgdGhlIGNlcnRpZmljYXRlIDx2YXI+Y2VydDwvdmFyPiwgd2hpY2ggaGFzIHRvIGJlIGEgWDUwOSBvYmplY3QsIHRvIHRoZQogY2VydGlmaWNhdGUgY2hhaW4gcHJlc2VudGVkIHRvZ2V0aGVyIHdpdGggdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzUnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGVfY2hhaW5fZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTgzJz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlX2NoYWluX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+ZmlsZTwvdmFyPikKIDxkZD4KIExvYWQgYSBjZXJ0aWZpY2F0ZSBjaGFpbiBmcm9tIDx2YXI+ZmlsZTwvdmFyPiB3aGljaCBtdXN0IGJlIFBFTSBlbmNvZGVkLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzYnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfcHJpdmF0ZWtleTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTg0Jz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX3ByaXZhdGVrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFVzZSB0aGUgcHJpdmF0ZSBrZXkgPHZhcj5wa2V5PC92YXI+IHdoaWNoIGhhcyB0byBiZSBhIFBLZXkgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzcnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGVfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGZvcm1hdDwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE4NSc+PHR0IGNsYXNzPSdtZXRob2QnPnVzZV9jZXJ0aWZpY2F0ZV9maWxlPC90dD48L2E+PC9iPig8dmFyPmZpbGU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgZm9ybWF0PC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogTG9hZCB0aGUgZmlyc3QgY2VydGlmaWNhdGUgZm91bmQgaW4gPHZhcj5maWxlPC92YXI+LiBUaGUgY2VydGlmaWNhdGUgbXVzdCBiZSBpbiB0aGUKIGZvcm1hdCBzcGVjaWZpZWQgYnkgPHZhcj5mb3JtYXQ8L3Zhcj4sIHdoaWNoIGlzIGVpdGhlciA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0PiBvcgpAQCAtMjY5LDcgKzI2OSw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3OCc+PHR0IGNsYXNzPSdtZXRob2QnPnVzZV9wcml2YXRla2V5X2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+ZmlsZTwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBmb3JtYXQ8L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xODYnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfcHJpdmF0ZWtleV9maWxlPC90dD48L2E+PC9iPig8dmFyPmZpbGU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgZm9ybWF0PC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogTG9hZCB0aGUgZmlyc3QgcHJpdmF0ZSBrZXkgZm91bmQgaW4gPHZhcj5maWxlPC92YXI+LiBUaGUgcHJpdmF0ZSBrZXkgbXVzdCBiZSBpbiB0aGUKIGZvcm1hdCBzcGVjaWZpZWQgYnkgPHZhcj5mb3JtYXQ8L3Zhcj4sIHdoaWNoIGlzIGVpdGhlciA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0PiBvcgpAQCAtMjc3LDYgKzI3NywxNyBAQAogPC9kbD4KIAogPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xODcnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfdGxzZXh0X3NlcnZlcm5hbWVfY2FsbGJhY2s8L3R0PjwvYT48L2I+KDx2YXI+Y2FsbGJhY2s8L3Zhcj4pCis8ZGQ+CitTcGVjaWZ5IGEgb25lLWFyZ3VtZW50IGNhbGxhYmxlIHRvIHVzZSBhcyB0aGUgVExTIGV4dGVuc2lvbiBzZXJ2ZXIgbmFtZQorY2FsbGJhY2suICBXaGVuIGEgY29ubmVjdGlvbiB1c2luZyB0aGUgc2VydmVyIG5hbWUgZXh0ZW5zaW9uIGlzIG1hZGUgdXNpbmcgdGhpcworY29udGV4dCwgdGhlIGNhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCB3aXRoIHRoZSA8Y29kZT5Db25uZWN0aW9uPC9jb2RlPiBpbnN0YW5jZS4KKworPHNwYW4gY2xhc3M9J3ZlcnNpb25ub3RlJz5OZXcgaW4gdmVyc2lvbiAwLjEzLjwvc3Bhbj4KKworPC9kbD4KKworPFA+CiAKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgogPHA+PGhyPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1jcnlwdG8uaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtY3J5cHRvLmh0bWwKaW5kZXggN2ZjOTA5Zi4uNGE3NmU5ZiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1jcnlwdG8uaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLWNyeXB0by5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiA8TElOSyBSRUw9Im5leHQiIGhyZWY9Im9wZW5zc2wtcmFuZC5odG1sIj4KIDxMSU5LIFJFTD0icHJldmlvdXMiIGhyZWY9Im9wZW5zc2wuaHRtbCI+CiA8TElOSyBSRUw9InVwIiBocmVmPSJvcGVuc3NsLmh0bWwiPgotPExJTksgUkVMPSJuZXh0IiBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+Cis8TElOSyBSRUw9Im5leHQiIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4KIDwvaGVhZD4KIDxib2R5PgogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CkBAIC0yMiw3ICsyMiw3IEBACiA8dGQ+PEEgaHJlZj0ib3BlbnNzbC5odG1sIj48aW1nIHNyYz0idXAuZ2lmIgogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iVXAgT25lIExldmVsIiB3aWR0aD0iMzIiPjwvQT48L3RkPgotPHRkPjxBIGhyZWY9Im9wZW5zc2wteDUwOWV4dC5odG1sIj48aW1nIHNyYz0ibmV4dC5naWYiCis8dGQ+PEEgaHJlZj0ib3BlbnNzbC14NTA5Lmh0bWwiPjxpbWcgc3JjPSJuZXh0LmdpZiIKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9Ik5leHQgUGFnZSIgd2lkdGg9IjMyIj48L0E+PC90ZD4KIDx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iMTAwJSI+UHl0aG9uIE9wZW5TU0wgTWFudWFsPC90ZD4KQEAgLTM4LDcgKzM4LDcgQEAKIDwvdHI+PC90YWJsZT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC5odG1sIj4zIE9wZW5TU0wgIDwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC5odG1sIj4zIE9wZW5TU0wgIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+My4xLjEgWDUwOUV4dGVuc2lvbiBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4zLjEuMSBYNTA5IG9iamVjdHM8L0E+CiA8YnI+PGhyPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KQEAgLTI5OCwzMCArMjk4LDI4IEBACiA8QSBOQU1FPSJDSElMRF9MSU5LUyI+PFNUUk9ORz5TdWJzZWN0aW9uczwvU1RST05HPjwvQT4KIAogPFVMIENMQVNTPSJDaGlsZExpbmtzIj4KKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDEzOSIKKyAgaHJlZj0ib3BlbnNzbC14NTA5Lmh0bWwiPjMuMS4xIFg1MDkgb2JqZWN0cyA8L0E+Cis8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNDAiCisgIGhyZWY9Im9wZW5zc2wteDUwOW5hbWUuaHRtbCI+My4xLjIgWDUwOU5hbWUgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNDEiCi0gIGhyZWY9Im9wZW5zc2wteDUwOWV4dC5odG1sIj4zLjEuMSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjMgWDUwOVJlcSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE0MiIKLSAgaHJlZj0ib3BlbnNzbC14NTA5Lmh0bWwiPjMuMS4yIFg1MDkgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wteDUwOXN0b3JlLmh0bWwiPjMuMS40IFg1MDlTdG9yZSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE0MyIKLSAgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMyBYNTA5TmFtZSBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC1wa2V5Lmh0bWwiPjMuMS41IFBLZXkgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNDQiCi0gIGhyZWY9Im9wZW5zc2wteDUwOXJlcS5odG1sIj4zLjEuNCBYNTA5UmVxIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXBrY3M3Lmh0bWwiPjMuMS42IFBLQ1M3IG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTQ1IgotICBocmVmPSJvcGVuc3NsLXg1MDlzdG9yZS5odG1sIj4zLjEuNSBYNTA5U3RvcmUgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtcGtjczEyLmh0bWwiPjMuMS43IFBLQ1MxMiBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE0NiIKLSAgaHJlZj0ib3BlbnNzbC1wa2V5Lmh0bWwiPjMuMS42IFBLZXkgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtNTA5ZXh0Lmh0bWwiPjMuMS44IFg1MDlFeHRlbnNpb24gb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNDciCi0gIGhyZWY9Im9wZW5zc2wtcGtjczcuaHRtbCI+My4xLjcgUEtDUzcgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sIj4zLjEuOSBOZXRzY2FwZVNQS0kgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNDgiCi0gIGhyZWY9Im9wZW5zc2wtcGtjczEyLmh0bWwiPjMuMS44IFBLQ1MxMiBvYmplY3RzIDwvQT4KKyAgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMCBDUkwgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNDkiCi0gIGhyZWY9Im9wZW5zc2wtNTA5ZXh0Lmh0bWwiPjMuMS45IFg1MDlFeHRlbnNpb24gb2JqZWN0cyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwxNTAiCi0gIGhyZWY9Im9wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sIj4zLjEuMTAgTmV0c2NhcGVTUEtJIG9iamVjdHMgPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sMTUxIgotICBocmVmPSJjcmwuaHRtbCI+My4xLjExIENSTCBvYmplY3RzIDwvQT4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDE1MiIKLSAgaHJlZj0icmV2b2tlZC5odG1sIj4zLjEuMTIgUmV2b2tlZCBvYmplY3RzIDwvQT4KKyAgaHJlZj0icmV2b2tlZC5odG1sIj4zLjEuMTEgUmV2b2tlZCBvYmplY3RzIDwvQT4KIDwvVUw+CiA8IS0tRW5kIG9mIFRhYmxlIG9mIENoaWxkLUxpbmtzLS0+CiAKQEAgLTMzNSw3ICszMzMsNyBAQAogPHRkPjxBIGhyZWY9Im9wZW5zc2wuaHRtbCI+PGltZyBzcmM9InVwLmdpZiIKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IlVwIE9uZSBMZXZlbCIgd2lkdGg9IjMyIj48L0E+PC90ZD4KLTx0ZD48QSBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+PGltZyBzcmM9Im5leHQuZ2lmIgorPHRkPjxBIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj48aW1nIHNyYz0ibmV4dC5naWYiCiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSJOZXh0IFBhZ2UiIHdpZHRoPSIzMiI+PC9BPjwvdGQ+CiA8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9IjEwMCUiPlB5dGhvbiBPcGVuU1NMIE1hbnVhbDwvdGQ+CkBAIC0zNTEsNyArMzQ5LDcgQEAKIDwvdHI+PC90YWJsZT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC5odG1sIj4zIE9wZW5TU0wgIDwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC5odG1sIj4zIE9wZW5TU0wgIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+My4xLjEgWDUwOUV4dGVuc2lvbiBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4zLjEuMSBYNTA5IG9iamVjdHM8L0E+CiA8aHI+CiA8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuMTIuPC9zcGFuPgogPC9ESVY+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sCmluZGV4IGQ0Y2ZjYzAuLjA4NzhmZDAgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08dGl0bGU+My4xLjEwIE5ldHNjYXBlU1BLSSBvYmplY3RzIDwvdGl0bGU+Ci08TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjEwIE5ldHNjYXBlU1BLSSBvYmplY3RzICI+Cis8dGl0bGU+My4xLjkgTmV0c2NhcGVTUEtJIG9iamVjdHMgPC90aXRsZT4KKzxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuOSBOZXRzY2FwZVNQS0kgb2JqZWN0cyAiPgogPE1FVEEgTkFNRT0ia2V5d29yZHMiIENPTlRFTlQ9InB5T3BlblNTTCI+CiA8TUVUQSBOQU1FPSJyZXNvdXJjZS10eXBlIiBDT05URU5UPSJkb2N1bWVudCI+CiA8TUVUQSBOQU1FPSJkaXN0cmlidXRpb24iIENPTlRFTlQ9Imdsb2JhbCI+CkBAIC0zNiw0MSArMzYsNDEgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLTUwOWV4dC5odG1sIj4zLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtNTA5ZXh0Lmh0bWwiPjMuMS44IFg1MDlFeHRlbnNpb24gb2JqZWN0czwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9ImNybC5odG1sIj4zLjEuMTEgQ1JMIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMCBDUkwgb2JqZWN0czwvQT4KIDxicj48aHI+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCi08SDM+PEEgTkFNRT0iU0VDVElPTjAwMDQxMTAwMDAwMDAwMDAwMDAwMDAiPiZuYnNwOzwvQT4KKzxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDE5MDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+CiA8QlI+Ci0zLjEuMTAgTmV0c2NhcGVTUEtJIG9iamVjdHMgCiszLjEuOSBOZXRzY2FwZVNQS0kgb2JqZWN0cyAKIDwvSDM+CiAKIDxQPgogTmV0c2NhcGVTUEtJIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTAxJz48dHQgY2xhc3M9J21ldGhvZCc+YjY0X2VuY29kZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTAyJz48dHQgY2xhc3M9J21ldGhvZCc+YjY0X2VuY29kZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgYmFzZTY0LWVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwMic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwMyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgcHVibGljIGtleSBvZiBvYmplY3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwMyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+a2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTA0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oPHZhcj5rZXk8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHB1YmxpYyBrZXkgb2YgdGhlIG9iamVjdCB0byA8dmFyPmtleTwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTA0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5rZXksIGRpZ2VzdF9uYW1lPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTA1Jz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5rZXksIGRpZ2VzdF9uYW1lPC92YXI+KQogPGRkPgogU2lnbiB0aGUgTmV0c2NhcGVTUEtJIG9iamVjdCB1c2luZyB0aGUgZ2l2ZW4gPHZhcj5rZXk8L3Zhcj4gYW5kCiA8dmFyPmRpZ2VzdF9uYW1lPC92YXI+LiAgPHZhcj5kaWdlc3RfbmFtZTwvdmFyPiBtdXN0IGJlIGEgc3RyaW5nIGRlc2NyaWJpbmcgYSBkaWdlc3QKQEAgLTc5LDcgKzc5LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTA1Jz48dHQgY2xhc3M9J21ldGhvZCc+dmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPmtleTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwNic+PHR0IGNsYXNzPSdtZXRob2QnPnZlcmlmeTwvdHQ+PC9hPjwvYj4oPHZhcj5rZXk8L3Zhcj4pCiA8ZGQ+CiBWZXJpZnkgdGhlIE5ldHNjYXBlU1BLSSBvYmplY3QgdXNpbmcgdGhlIGdpdmVuIDx2YXI+a2V5PC92YXI+LgogPC9kbD4KQEAgLTExMCw5ICsxMTAsOSBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtNTA5ZXh0Lmh0bWwiPjMuMS45IFg1MDlFeHRlbnNpb24gb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC01MDlleHQuaHRtbCI+My4xLjggWDUwOUV4dGVuc2lvbiBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMSBDUkwgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJjcmwuaHRtbCI+My4xLjEwIENSTCBvYmplY3RzPC9BPgogPGhyPgogPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjEyLjwvc3Bhbj4KIDwvRElWPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzMTIuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtcGtjczEyLmh0bWwKaW5kZXggNjBiYjAwOC4uYjhlYTEwMyAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzMTIuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXBrY3MxMi5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08dGl0bGU+My4xLjggUEtDUzEyIG9iamVjdHMgPC90aXRsZT4KLTxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuOCBQS0NTMTIgb2JqZWN0cyAiPgorPHRpdGxlPjMuMS43IFBLQ1MxMiBvYmplY3RzIDwvdGl0bGU+Cis8TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjcgUEtDUzEyIG9iamVjdHMgIj4KIDxNRVRBIE5BTUU9ImtleXdvcmRzIiBDT05URU5UPSJweU9wZW5TU0wiPgogPE1FVEEgTkFNRT0icmVzb3VyY2UtdHlwZSIgQ09OVEVOVD0iZG9jdW1lbnQiPgogPE1FVEEgTkFNRT0iZGlzdHJpYnV0aW9uIiBDT05URU5UPSJnbG9iYWwiPgpAQCAtMzYsMTYgKzM2LDE2IEBACiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSIiIHdpZHRoPSIzMiI+PC90ZD4KIDwvdHI+PC90YWJsZT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzNy5odG1sIj4zLjEuNyBQS0NTNyBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrY3M3Lmh0bWwiPjMuMS42IFBLQ1M3IG9iamVjdHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLTUwOWV4dC5odG1sIj4zLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC01MDlleHQuaHRtbCI+My4xLjggWDUwOUV4dGVuc2lvbiBvYmplY3RzPC9BPgogPGJyPjxocj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKLTxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDE4MDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+Cis8SDM+PEEgTkFNRT0iU0VDVElPTjAwMDQxNzAwMDAwMDAwMDAwMDAwMCI+Jm5ic3A7PC9BPgogPEJSPgotMy4xLjggUEtDUzEyIG9iamVjdHMgCiszLjEuNyBQS0NTMTIgb2JqZWN0cyAKIDwvSDM+CiAKIDxQPgpAQCAtMTQxLDkgKzE0MSw5IEBACiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSIiIHdpZHRoPSIzMiI+PC90ZD4KIDwvdHI+PC90YWJsZT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzNy5odG1sIj4zLjEuNyBQS0NTNyBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrY3M3Lmh0bWwiPjMuMS42IFBLQ1M3IG9iamVjdHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLTUwOWV4dC5odG1sIj4zLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC01MDlleHQuaHRtbCI+My4xLjggWDUwOUV4dGVuc2lvbiBvYmplY3RzPC9BPgogPGhyPgogPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjEyLjwvc3Bhbj4KIDwvRElWPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzNy5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2NzNy5odG1sCmluZGV4IGNkZjg2NDQuLjczOWI4MGYgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtcGtjczcuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXBrY3M3Lmh0bWwKQEAgLTEsOCArMSw4IEBACiA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KLTx0aXRsZT4zLjEuNyBQS0NTNyBvYmplY3RzIDwvdGl0bGU+Ci08TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjcgUEtDUzcgb2JqZWN0cyAiPgorPHRpdGxlPjMuMS42IFBLQ1M3IG9iamVjdHMgPC90aXRsZT4KKzxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuNiBQS0NTNyBvYmplY3RzICI+CiA8TUVUQSBOQU1FPSJrZXl3b3JkcyIgQ09OVEVOVD0icHlPcGVuU1NMIj4KIDxNRVRBIE5BTUU9InJlc291cmNlLXR5cGUiIENPTlRFTlQ9ImRvY3VtZW50Ij4KIDxNRVRBIE5BTUU9ImRpc3RyaWJ1dGlvbiIgQ09OVEVOVD0iZ2xvYmFsIj4KQEAgLTM2LDE2ICszNiwxNiBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcGtleS5odG1sIj4zLjEuNiBQS2V5IG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcGtleS5odG1sIj4zLjEuNSBQS2V5IG9iamVjdHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrY3MxMi5odG1sIj4zLjEuOCBQS0NTMTIgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrY3MxMi5odG1sIj4zLjEuNyBQS0NTMTIgb2JqZWN0czwvQT4KIDxicj48aHI+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCi08SDM+PEEgTkFNRT0iU0VDVElPTjAwMDQxNzAwMDAwMDAwMDAwMDAwMCI+Jm5ic3A7PC9BPgorPEgzPjxBIE5BTUU9IlNFQ1RJT04wMDA0MTYwMDAwMDAwMDAwMDAwMDAiPiZuYnNwOzwvQT4KIDxCUj4KLTMuMS43IFBLQ1M3IG9iamVjdHMgCiszLjEuNiBQS0NTNyBvYmplY3RzIAogPC9IMz4KIAogPFA+CkBAIC0xMDcsOSArMTA3LDkgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrZXkuaHRtbCI+My4xLjYgUEtleSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrZXkuaHRtbCI+My4xLjUgUEtleSBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzMTIuaHRtbCI+My4xLjggUEtDUzEyIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzMTIuaHRtbCI+My4xLjcgUEtDUzEyIG9iamVjdHM8L0E+CiA8aHI+CiA8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuMTIuPC9zcGFuPgogPC9ESVY+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXBrZXkuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sCmluZGV4IGYxMGNkMTkuLjQ5MWM4ODIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08dGl0bGU+My4xLjYgUEtleSBvYmplY3RzIDwvdGl0bGU+Ci08TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjYgUEtleSBvYmplY3RzICI+Cis8dGl0bGU+My4xLjUgUEtleSBvYmplY3RzIDwvdGl0bGU+Cis8TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjUgUEtleSBvYmplY3RzICI+CiA8TUVUQSBOQU1FPSJrZXl3b3JkcyIgQ09OVEVOVD0icHlPcGVuU1NMIj4KIDxNRVRBIE5BTUU9InJlc291cmNlLXR5cGUiIENPTlRFTlQ9ImRvY3VtZW50Ij4KIDxNRVRBIE5BTUU9ImRpc3RyaWJ1dGlvbiIgQ09OVEVOVD0iZ2xvYmFsIj4KQEAgLTM2LDQxICszNiw0OSBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOXN0b3JlLmh0bWwiPjMuMS41IFg1MDlTdG9yZSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlzdG9yZS5odG1sIj4zLjEuNCBYNTA5U3RvcmUgb2JqZWN0czwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcGtjczcuaHRtbCI+My4xLjcgUEtDUzcgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrY3M3Lmh0bWwiPjMuMS42IFBLQ1M3IG9iamVjdHM8L0E+CiA8YnI+PGhyPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIAotPEgzPjxBIE5BTUU9IlNFQ1RJT04wMDA0MTYwMDAwMDAwMDAwMDAwMDAiPiZuYnNwOzwvQT4KKzxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDE1MDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+CiA8QlI+Ci0zLjEuNiBQS2V5IG9iamVjdHMgCiszLjEuNSBQS2V5IG9iamVjdHMgCiA8L0gzPgogCiA8UD4KIFRoZSBQS2V5IG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgyJz48dHQgY2xhc3M9J21ldGhvZCc+Yml0czwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODEnPjx0dCBjbGFzcz0nbWV0aG9kJz5iaXRzPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gdGhlIG51bWJlciBvZiBiaXRzIG9mIHRoZSBrZXkuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgzJz48dHQgY2xhc3M9J21ldGhvZCc+Z2VuZXJhdGVfa2V5PC90dD48L2E+PC9iPig8dmFyPnR5cGUsIGJpdHM8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Mic+PHR0IGNsYXNzPSdtZXRob2QnPmdlbmVyYXRlX2tleTwvdHQ+PC9hPjwvYj4oPHZhcj50eXBlLCBiaXRzPC92YXI+KQogPGRkPgogR2VuZXJhdGUgYSBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpciBvZiB0aGUgdHlwZSA8dmFyPnR5cGU8L3Zhcj4gKG9uZSBvZgogPHR0IGNsYXNzPSJjb25zdGFudCI+VFlQRV9SU0E8L3R0PiBhbmQgPHR0IGNsYXNzPSJjb25zdGFudCI+VFlQRV9EU0E8L3R0Pikgd2l0aCB0aGUgc2l6ZSA8dmFyPmJpdHM8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg0Jz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODMnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gdGhlIHR5cGUgb2YgdGhlIGtleS4KIDwvZGw+CiAKIDxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODQnPjx0dCBjbGFzcz0nbWV0aG9kJz5jaGVjazwvdHQ+PC9hPjwvYj4oKQorPGRkPgorQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIHRoaXMga2V5LCByZXR1cm5pbmcgVHJ1ZSBpZiBpdCBpcyBjb25zaXN0ZW50IGFuZAorcmFpc2luZyBhbiBleGNlcHRpb24gb3RoZXJ3aXNlLiAgVGhpcyBpcyBvbmx5IHZhbGlkIGZvciBSU0Ega2V5cy4gIFNlZSB0aGUKK09wZW5TU0wgUlNBX2NoZWNrX2tleSBtYW4gcGFnZSBmb3IgZnVydGhlciBsaW1pdGF0aW9ucy4KKzwvZGw+CisKKzxQPgogCiA8RElWIENMQVNTPSJuYXZpZ2F0aW9uIj4KIDxwPjxocj4KQEAgLTk2LDkgKzEwNCw5IEBACiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSIiIHdpZHRoPSIzMiI+PC90ZD4KIDwvdHI+PC90YWJsZT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjUgWDUwOVN0b3JlIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOXN0b3JlLmh0bWwiPjMuMS40IFg1MDlTdG9yZSBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzNy5odG1sIj4zLjEuNyBQS0NTNyBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcGtjczcuaHRtbCI+My4xLjYgUEtDUzcgb2JqZWN0czwvQT4KIDxocj4KIDxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC4xMi48L3NwYW4+CiA8L0RJVj4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtcmFuZC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKaW5kZXggNDZlNzE4OS4uZDI2OGNiZCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJyZXZva2VkLmh0bWwiPjMuMS4xMiBSZXZva2VkIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9InJldm9rZWQuaHRtbCI+My4xLjExIFJldm9rZWQgb2JqZWN0czwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC5odG1sIj4zIE9wZW5TU0wgIDwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXNzbC5odG1sIj4zLjMgU1NMICA8L0E+CiA8YnI+PGhyPgpAQCAtNTYsMTYgKzU2LDE2IEBACiBkZWNsYXJlcyB0aGUgZm9sbG93aW5nOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNyc+PHR0IGNsYXNzPSdmdW5jdGlvbic+YWRkPC90dD48L2E+PC9iPig8dmFyPnN0cmluZywgZW50cm9weTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExOCc+PHR0IGNsYXNzPSdmdW5jdGlvbic+YWRkPC90dD48L2E+PC9iPig8dmFyPnN0cmluZywgZW50cm9weTwvdmFyPikKIDxkZD4KIE1peCBieXRlcyBmcm9tIDx2YXI+c3RyaW5nPC92YXI+IGludG8gdGhlIFBSTkcgc3RhdGUuIFRoZSA8dmFyPmVudHJvcHk8L3Zhcj4gYXJndW1lbnQgaXMKICh0aGUgbG93ZXIgYm91bmQgb2YpIGFuIGVzdGltYXRlIG9mIGhvdyBtdWNoIHJhbmRvbW5lc3MgaXMgY29udGFpbmVkIGluCi08dmFyPnN0cmluZzwvdmFyPiwgbWVhc3VyZWQgaW4gYnl0ZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgZS5nLiA8YSBjbGFzcz0icmZjIiBuYW1lPSJyZmNyZWYtMjMyNCIKKzx2YXI+c3RyaW5nPC92YXI+LCBtZWFzdXJlZCBpbiBieXRlcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBlLmcuIDxhIGNsYXNzPSJyZmMiIG5hbWU9InJmY3JlZi0yMzc0IgogaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMTc1MC50eHQiPlJGQyAxNzUwPC9hPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTE4Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5ieXRlczwvdHQ+PC9hPjwvYj4oPHZhcj5udW1fYnl0ZXM8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTknPjx0dCBjbGFzcz0nZnVuY3Rpb24nPmJ5dGVzPC90dD48L2E+PC9iPig8dmFyPm51bV9ieXRlczwvdmFyPikKIDxkZD4KIEdldCBzb21lIHJhbmRvbSBieXRlcyBmcm9tIHRoZSBQUk5HIGFzIGEgc3RyaW5nLgogCkBAIC03NCw3ICs3NCw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExOSc+PHR0IGNsYXNzPSdmdW5jdGlvbic+Y2xlYW51cDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTIwJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5jbGVhbnVwPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBFcmFzZSB0aGUgbWVtb3J5IHVzZWQgYnkgdGhlIFBSTkcuCiAKQEAgLTgzLDUwICs4Myw1MCBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjAnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPmVnZDwvdHQ+PC9hPjwvYj4oPHZhcj5wYXRoPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGJ5dGVzPC92YXI+PGJpZz5dPC9iaWc+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTIxJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5lZ2Q8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBieXRlczwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIFF1ZXJ5IHRoZSBFbnRyb3B5IEdhdGhlcmluZyBEYWVtb248QSBOQU1FPSJ0ZXgyaHRtbDIiCi0gIEhSRUY9IiNmb290MTIyNyI+PFNVUD4yPC9TVVA+PC9BPiBvbiBzb2NrZXQgPHZhcj5wYXRoPC92YXI+IGZvciA8dmFyPmJ5dGVzPC92YXI+CisgIEhSRUY9IiNmb290MTI3MiI+PFNVUD4yPC9TVVA+PC9BPiBvbiBzb2NrZXQgPHZhcj5wYXRoPC92YXI+IGZvciA8dmFyPmJ5dGVzPC92YXI+CiBieXRlcyBvZiByYW5kb20gZGF0YSBhbmQgYW5kIHVzZXMgPHR0IGNsYXNzPSJmdW5jdGlvbiI+YWRkPC90dD4gdG8gc2VlZCB0aGUgUFJORy4gVGhlIGRlZmF1bHQKIHZhbHVlIG9mIDx2YXI+Ynl0ZXM8L3Zhcj4gaXMgMjU1LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjEnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPmxvYWRfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5wYXRoPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGJ5dGVzPC92YXI+PGJpZz5dPC9iaWc+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTIyJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5sb2FkX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBieXRlczwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIFJlYWQgPHZhcj5ieXRlczwvdmFyPiBieXRlcyAob3IgYWxsIG9mIGl0LCBpZiA8dmFyPmJ5dGVzPC92YXI+IGlzIG5lZ2F0aXZlKSBvZiBkYXRhIGZyb20KIHRoZSBmaWxlIDx2YXI+cGF0aDwvdmFyPiB0byBzZWVkIHRoZSBQUk5HLiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiA8dmFyPmJ5dGVzPC92YXI+IGlzIC0xLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjInPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnNjcmVlbjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTIzJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5zY3JlZW48L3R0PjwvYT48L2I+KCkKIDxkZD4KIEFkZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgc2NyZWVuIHRvIHRoZSBQUk5HIHN0YXRlLgogQXZhaWxhYmlsaXR5OiBXaW5kb3dzLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjMnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnNlZWQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI0Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5zZWVkPC90dD48L2E+PC9iPig8dmFyPnN0cmluZzwvdmFyPikKIDxkZD4KIFRoaXMgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIDx0dCBjbGFzcz0iZnVuY3Rpb24iPmFkZDwvdHQ+IHdpdGggPHZhcj5lbnRyb3B5PC92YXI+IGFzIHRoZSBsZW5ndGgKIG9mIHRoZSBzdHJpbmcuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyNCc+PHR0IGNsYXNzPSdmdW5jdGlvbic+c3RhdHVzPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjUnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnN0YXR1czwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJucyB0cnVlIGlmIHRoZSBQUk5HIGhhcyBiZWVuIHNlZWRlZCB3aXRoIGVub3VnaCBkYXRhLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjUnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPndyaXRlX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyNic+PHR0IGNsYXNzPSdmdW5jdGlvbic+d3JpdGVfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5wYXRoPC92YXI+KQogPGRkPgogV3JpdGUgYSBudW1iZXIgb2YgcmFuZG9tIGJ5dGVzIChjdXJyZW50bHkgMTAyNCkgdG8gdGhlIGZpbGUgPHZhcj5wYXRoPC92YXI+LiBUaGlzCiBmaWxlIGNhbiB0aGVuIGJlIHVzZWQgd2l0aCA8dHQgY2xhc3M9ImZ1bmN0aW9uIj5sb2FkX2ZpbGU8L3R0PiB0byBzZWVkIHRoZSBQUk5HIGFnYWluLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTI2Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+RXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTI3Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+RXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBJZiB0aGUgY3VycmVudCBSQU5EIG1ldGhvZCBzdXBwb3J0cyBhbnkgZXJyb3JzLCB0aGlzIGlzIHJhaXNlZCB3aGVuIG5lZWRlZC4KIFRoZSBkZWZhdWx0IG1ldGhvZCBkb2VzIG5vdCByYWlzZSB0aGlzIHdoZW4gdGhlIGVudHJvcHkgcG9vbCBpcyBkZXBsZXRlZC4KQEAgLTE0Miw3ICsxNDIsNyBAQAogPFA+CiA8QlI+PEhSPjxIND5Gb290bm90ZXM8L0g0PgogPERMPgotPERUPjxBIE5BTUU9ImZvb3QxMjI3Ij4uLi4gRGFlbW9uPC9BPjxBCis8RFQ+PEEgTkFNRT0iZm9vdDEyNzIiPi4uLiBEYWVtb248L0E+PEEKICBocmVmPSJvcGVuc3NsLXJhbmQuaHRtbCN0ZXgyaHRtbDIiPjxTVVA+MjwvU1VQPjwvQT48L0RUPgogPEREPlNlZQogPGEgY2xhc3M9InVybCIgaHJlZj0iaHR0cDovL3d3dy5sb3RoYXIuY29tL3RlY2gvY3J5cHRvLyI+aHR0cDovL3d3dy5sb3RoYXIuY29tL3RlY2gvY3J5cHRvLzwvYT4KQEAgLTE3Myw3ICsxNzMsNyBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9InJldm9rZWQuaHRtbCI+My4xLjEyIFJldm9rZWQgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0icmV2b2tlZC5odG1sIj4zLjEuMTEgUmV2b2tlZCBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLmh0bWwiPjMgT3BlblNTTCAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtc3NsLmh0bWwiPjMuMyBTU0wgIDwvQT4KIDxocj4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtc3NsLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLXNzbC5odG1sCmluZGV4IGE2MDdlNDEuLmI1MWExNWIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtc3NsLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1zc2wuaHRtbApAQCAtNTUsMzkgKzU1LDM5IEBACiBDb250ZXh0LCBDb25uZWN0aW9uLgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyOCc+PHR0PlNTTHYyX01FVEhPRDwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyOSc+PHR0PlNTTHYyX01FVEhPRDwvdHQ+PC9hPjwvYj4KIDxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTQyJz48dHQ+U1NMdjNfTUVUSE9EPC90dD48L2E+PC9iPjxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTQzJz48dHQ+U1NMdjIzX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0NCc+PHR0PlRMU3YxX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nic+PHR0PlNTTHYzX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nyc+PHR0PlNTTHYyM19NRVRIT0Q8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xNDgnPjx0dD5UTFN2MV9NRVRIT0Q8L3R0PjwvYT48L2I+PGRkPgogVGhlc2UgY29uc3RhbnRzIHJlcHJlc2VudCB0aGUgZGlmZmVyZW50IFNTTCBtZXRob2RzIHRvIHVzZSB3aGVuIGNyZWF0aW5nIGEKIGNvbnRleHQgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjknPjx0dD5WRVJJRllfTk9ORTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMCc+PHR0PlZFUklGWV9OT05FPC90dD48L2E+PC9iPgogPGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xNDUnPjx0dD5WRVJJRllfUEVFUjwvdHQ+PC9hPjwvYj48ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nic+PHR0PlZFUklGWV9GQUlMX0lGX05PX1BFRVJfQ0VSVDwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0OSc+PHR0PlZFUklGWV9QRUVSPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTUwJz48dHQ+VkVSSUZZX0ZBSUxfSUZfTk9fUEVFUl9DRVJUPC90dD48L2E+PC9iPjxkZD4KIFRoZXNlIGNvbnN0YW50cyByZXByZXNlbnQgdGhlIHZlcmlmaWNhdGlvbiBtb2RlIHVzZWQgYnkgdGhlIENvbnRleHQKIG9iamVjdCdzIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfdmVyaWZ5PC90dD4gbWV0aG9kLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzAnPjx0dD5GSUxFVFlQRV9QRU08L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzEnPjx0dD5GSUxFVFlQRV9QRU08L3R0PjwvYT48L2I+CiA8ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nyc+PHR0PkZJTEVUWVBFX0FTTjE8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xNTEnPjx0dD5GSUxFVFlQRV9BU04xPC90dD48L2E+PC9iPjxkZD4KIEZpbGUgdHlwZSBjb25zdGFudHMgdXNlZCB3aXRoIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+dXNlX2NlcnRpZmljYXRlX2ZpbGU8L3R0PiBhbmQKIDx0dCBjbGFzcz0ibWV0aG9kIj51c2VfcHJpdmF0ZWtleV9maWxlPC90dD4gbWV0aG9kcyBvZiBDb250ZXh0IG9iamVjdHMuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMSc+PHR0Pk9QX1NJTkdMRV9ESF9VU0U8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzInPjx0dD5PUF9TSU5HTEVfREhfVVNFPC90dD48L2E+PC9iPgogPGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xNDgnPjx0dD5PUF9FUEhFTUVSQUxfUlNBPC90dD48L2E+PC9iPjxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTQ5Jz48dHQ+T1BfTk9fU1NMdjI8L3R0PjwvYT48L2I+PGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xNTAnPjx0dD5PUF9OT19TU0x2MzwvdHQ+PC9hPjwvYj48ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1MSc+PHR0Pk9QX05PX1RMU3YxPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTUyJz48dHQ+T1BfRVBIRU1FUkFMX1JTQTwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Myc+PHR0Pk9QX05PX1NTTHYyPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTU0Jz48dHQ+T1BfTk9fU1NMdjM8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xNTUnPjx0dD5PUF9OT19UTFN2MTwvdHQ+PC9hPjwvYj48ZGQ+CiBDb25zdGFudHMgdXNlZCB3aXRoIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfb3B0aW9uczwvdHQ+IG9mIENvbnRleHQgb2JqZWN0cy4KIDx0dCBjbGFzcz0iY29uc3RhbnQiPk9QX1NJTkdMRV9ESF9VU0U8L3R0PiBtZWFucyB0byBhbHdheXMgY3JlYXRlIGEgbmV3IGtleSB3aGVuIHVzaW5nIGVwaGVtZXJhbAogRGlmZmllLUhlbGxtYW4uIDx0dCBjbGFzcz0iY29uc3RhbnQiPk9QX0VQSEVNRVJBTF9SU0E8L3R0PiBtZWFucyB0byBhbHdheXMgdXNlIGVwaGVtZXJhbCBSU0Ega2V5cwpAQCAtOTgsMTMgKzk4LDQxIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMic+PHR0PkNvbnRleHRUeXBlPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMzJz48dHQ+U1NMRUFZX1ZFUlNJT048L3R0PjwvYT48L2I+Cis8ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Nic+PHR0PlNTTEVBWV9DRkxBR1M8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xNTcnPjx0dD5TU0xFQVlfQlVJTFRfT048L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xNTgnPjx0dD5TU0xFQVlfUExBVEZPUk08L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xNTknPjx0dD5TU0xFQVlfRElSPC90dD48L2E+PC9iPjxkZD4KK0NvbnN0YW50cyB1c2VkIHdpdGggPHR0IGNsYXNzPSJtZXRob2QiPlNTTGVheV92ZXJzaW9uPC90dD4gdG8gc3BlY2lmeSB3aGF0IE9wZW5TU0wgdmVyc2lvbgoraW5mb3JtYXRpb24gdG8gcmV0cmlldmUuICBTZWUgdGhlIG1hbiBwYWdlIGZvciB0aGUgPHR0IGNsYXNzPSJmdW5jdGlvbiI+U1NMZWF5X3ZlcnNpb248L3R0PiBDCitBUEkgZm9yIGRldGFpbHMuCis8L2RsPgorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNCc+PHR0Pk9QRU5TU0xfVkVSU0lPTl9OVU1CRVI8L3R0PjwvYT48L2I+Cis8ZGQ+CitBbiBpbnRlZ2VyIGdpdmluZyB0aGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIE9wZW5TU0wgbGlicmFyeSB1c2VkIHRvIGJ1aWxkIHRoaXMKK3ZlcnNpb24gb2YgcHlPcGVuU1NMLiAgU2VlIHRoZSBtYW4gcGFnZSBmb3IgdGhlIDx0dCBjbGFzcz0iZnVuY3Rpb24iPlNTTGVheV92ZXJzaW9uPC90dD4gQyBBUEkKK2ZvciBkZXRhaWxzLgorPC9kbD4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzUnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPlNTTGVheV92ZXJzaW9uPC90dD48L2E+PC9iPig8dmFyPnR5cGU8L3Zhcj4pCis8ZGQ+CitSZXRyaWV2ZSBhIHN0cmluZyBkZXNjcmliaW5nIHNvbWUgYXNwZWN0IG9mIHRoZSB1bmRlcmx5aW5nIE9wZW5TU0wgdmVyc2lvbi4gIFRoZQordHlwZSBwYXNzZWQgaW4gc2hvdWxkIGJlIG9uZSBvZiB0aGUgPHR0IGNsYXNzPSJjb25zdGFudCI+U1NMRUFZXyo8L3R0PiBjb25zdGFudHMgZGVmaW5lZCBpbgordGhpcyBtb2R1bGUuCis8L2RsPgorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNic+PHR0PkNvbnRleHRUeXBlPC90dD48L2E+PC9iPgogPGRkPgogU2VlIDx0dCBjbGFzcz0iY2xhc3MiPkNvbnRleHQ8L3R0Pi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5jbGFzcyA8YSBuYW1lPSdsMmgtMTMzJz48dHQgY2xhc3M9J2NsYXNzJz5Db250ZXh0PC90dD48L2E+PC9iPig8dmFyPm1ldGhvZDwvdmFyPikKKzxkbD48ZHQ+PGI+Y2xhc3MgPGEgbmFtZT0nbDJoLTEzNyc+PHR0IGNsYXNzPSdjbGFzcyc+Q29udGV4dDwvdHQ+PC9hPjwvYj4oPHZhcj5tZXRob2Q8L3Zhcj4pCiA8ZGQ+CiBBIGNsYXNzIHJlcHJlc2VudGluZyBTU0wgY29udGV4dHMuICBDb250ZXh0cyBkZWZpbmUgdGhlIHBhcmFtZXRlcnMgb2Ygb25lIG9yCiBtb3JlIFNTTCBjb25uZWN0aW9ucy4KQEAgLTExNSwyNyArMTQzLDI3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNCc+PHR0PkNvbm5lY3Rpb25UeXBlPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM4Jz48dHQ+Q29ubmVjdGlvblR5cGU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBTZWUgPHR0IGNsYXNzPSJjbGFzcyI+Q29ubmVjdGlvbjwvdHQ+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPmNsYXNzIDxhIG5hbWU9J2wyaC0xMzUnPjx0dCBjbGFzcz0nY2xhc3MnPkNvbm5lY3Rpb248L3R0PjwvYT48L2I+KDx2YXI+Y29udGV4dCwgc29ja2V0PC92YXI+KQorPGRsPjxkdD48Yj5jbGFzcyA8YSBuYW1lPSdsMmgtMTM5Jz48dHQgY2xhc3M9J2NsYXNzJz5Db25uZWN0aW9uPC90dD48L2E+PC9iPig8dmFyPmNvbnRleHQsIHNvY2tldDwvdmFyPikKIDxkZD4KIEEgY2xhc3MgcmVwcmVzZW50aW5nIFNTTCBjb25uZWN0aW9ucy4KIAogPFA+CiA8dmFyPmNvbnRleHQ8L3Zhcj4gc2hvdWxkIGJlIGFuIGluc3RhbmNlIG9mIDx0dCBjbGFzcz0iY2xhc3MiPkNvbnRleHQ8L3R0PiBhbmQgPHZhcj5zb2NrZXQ8L3Zhcj4KIHNob3VsZCBiZSBhIHNvY2tldCA8QSBOQU1FPSJ0ZXgyaHRtbDQiCi0gIEhSRUY9IiNmb290MTIzMSI+PFNVUD4zPC9TVVA+PC9BPiBvYmplY3QuICA8dmFyPnNvY2tldDwvdmFyPiBtYXkgYmUKKyAgSFJFRj0iI2Zvb3QxMjc2Ij48U1VQPjM8L1NVUD48L0E+IG9iamVjdC4gIDx2YXI+c29ja2V0PC92YXI+IG1heSBiZQogPHZhcj5Ob25lPC92YXI+OyBpbiB0aGlzIGNhc2UsIHRoZSBDb25uZWN0aW9uIGlzIGNyZWF0ZWQgd2l0aCBhIG1lbW9yeSBCSU86IHNlZQogdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5iaW9fcmVhZDwvdHQ+LCA8dHQgY2xhc3M9Im1ldGhvZCI+YmlvX3dyaXRlPC90dD4sIGFuZCA8dHQgY2xhc3M9Im1ldGhvZCI+YmlvX3NodXRkb3duPC90dD4KIG1ldGhvZHMuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMzYnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5FcnJvcjwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xNDAnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5FcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoaXMgZXhjZXB0aW9uIGlzIHVzZWQgYXMgYSBiYXNlIGNsYXNzIGZvciB0aGUgb3RoZXIgU1NMLXJlbGF0ZWQKIGV4Y2VwdGlvbnMsIGJ1dCBtYXkgYWxzbyBiZSByYWlzZWQgZGlyZWN0bHkuCkBAIC0xNDksNyArMTc3LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEzNyc+PHR0IGNsYXNzPSdleGNlcHRpb24nPlplcm9SZXR1cm5FcnJvcjwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xNDEnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5aZXJvUmV0dXJuRXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGlzIGV4Y2VwdGlvbiBtYXRjaGVzIHRoZSBlcnJvciByZXR1cm4gY29kZSA8Y29kZT5TU0xfRVJST1JfWkVST19SRVRVUk48L2NvZGU+LCBhbmQKIGlzIHJhaXNlZCB3aGVuIHRoZSBTU0wgQ29ubmVjdGlvbiBoYXMgYmVlbiBjbG9zZWQuIEluIFNTTCAzLjAgYW5kIFRMUyAxLjAsIHRoaXMKQEAgLTE2Myw3ICsxOTEsNyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTM4Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+V2FudFJlYWRFcnJvcjwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xNDInPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5XYW50UmVhZEVycm9yPC90dD48L2E+PC9iPgogPGRkPgogVGhlIG9wZXJhdGlvbiBkaWQgbm90IGNvbXBsZXRlOyB0aGUgc2FtZSBJL08gbWV0aG9kIHNob3VsZCBiZSBjYWxsZWQgYWdhaW4KIGxhdGVyLCB3aXRoIHRoZSBzYW1lIGFyZ3VtZW50cy4gQW55IEkvTyBtZXRob2QgY2FuIGxlYWQgdG8gdGhpcyBzaW5jZSBuZXcKQEAgLTE4MCwxNCArMjA4LDE0IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMzknPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5XYW50V3JpdGVFcnJvcjwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xNDMnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5XYW50V3JpdGVFcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFNlZSA8dHQgY2xhc3M9ImV4Y2VwdGlvbiI+V2FudFJlYWRFcnJvcjwvdHQ+LiAgVGhlIHNvY2tldCBzZW5kIGJ1ZmZlciBtYXkgYmUgdG9vIGZ1bGwgdG8KIHdyaXRlIG1vcmUgZGF0YS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTE0MCc+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRYNTA5TG9va3VwRXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTQ0Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+V2FudFg1MDlMb29rdXBFcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBvcGVyYXRpb24gZGlkIG5vdCBjb21wbGV0ZSBiZWNhdXNlIGFuIGFwcGxpY2F0aW9uIGNhbGxiYWNrIGhhcyBhc2tlZCB0byBiZQogY2FsbGVkIGFnYWluLiBUaGUgSS9PIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIGFnYWluIGxhdGVyLCB3aXRoIHRoZSBzYW1lCkBAIC0xOTYsNyArMjI0LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTE0MSc+PHR0IGNsYXNzPSdleGNlcHRpb24nPlN5c0NhbGxFcnJvcjwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xNDUnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5TeXNDYWxsRXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgPHR0IGNsYXNzPSJleGNlcHRpb24iPlN5c0NhbGxFcnJvcjwvdHQ+IG9jY3VycyB3aGVuIHRoZXJlJ3MgYW4gSS9PIGVycm9yIGFuZCBPcGVuU1NMJ3MKIGVycm9yIHF1ZXVlIGRvZXMgbm90IGNvbnRhaW4gYW55IGluZm9ybWF0aW9uLiBUaGlzIGNhbiBtZWFuIHR3byB0aGluZ3M6IEFuCkBAIC0yMDgsNyArMjM2LDcgQEAKIDxQPgogPEJSPjxIUj48SDQ+Rm9vdG5vdGVzPC9IND4KIDxETD4KLTxEVD48QSBOQU1FPSJmb290MTIzMSI+Li4uIHNvY2tldDwvQT48QQorPERUPjxBIE5BTUU9ImZvb3QxMjc2Ij4uLi4gc29ja2V0PC9BPjxBCiAgaHJlZj0ib3BlbnNzbC1zc2wuaHRtbCN0ZXgyaHRtbDQiPjxTVVA+MzwvU1VQPjwvQT48L0RUPgogPEREPkFjdHVhbGx5LCBhbGwgdGhhdCBpcyByZXF1aXJlZCBpcyBhbiBvYmplY3QKIHRoYXQgPGk+YmVoYXZlczwvaT4gbGlrZSBhIHNvY2tldCwgeW91IGNvdWxkIGV2ZW4gdXNlIGZpbGVzLCBldmVuIHRob3VnaApAQCAtMjIxLDkgKzI0OSw5IEBACiA8QSBOQU1FPSJDSElMRF9MSU5LUyI+PFNUUk9ORz5TdWJzZWN0aW9uczwvU1RST05HPjwvQT4KIAogPFVMIENMQVNTPSJDaGlsZExpbmtzIj4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDMwMyIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDI4OSIKICAgaHJlZj0ib3BlbnNzbC1jb250ZXh0Lmh0bWwiPjMuMy4xIENvbnRleHQgb2JqZWN0cyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzMDQiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwyOTAiCiAgIGhyZWY9Im9wZW5zc2wtY29ubmVjdGlvbi5odG1sIj4zLjMuMiBDb25uZWN0aW9uIG9iamVjdHMgPC9BPgogPC9VTD4KIDwhLS1FbmQgb2YgVGFibGUgb2YgQ2hpbGQtTGlua3MtLT4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5Lmh0bWwKaW5kZXggYWI4MTRhMy4uYjQwZjlhNSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5Lmh0bWwKQEAgLTEsMTQgKzEsMTQgQEAKIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgotPHRpdGxlPjMuMS4yIFg1MDkgb2JqZWN0cyA8L3RpdGxlPgotPE1FVEEgTkFNRT0iZGVzY3JpcHRpb24iIENPTlRFTlQ9IjMuMS4yIFg1MDkgb2JqZWN0cyAiPgorPHRpdGxlPjMuMS4xIFg1MDkgb2JqZWN0cyA8L3RpdGxlPgorPE1FVEEgTkFNRT0iZGVzY3JpcHRpb24iIENPTlRFTlQ9IjMuMS4xIFg1MDkgb2JqZWN0cyAiPgogPE1FVEEgTkFNRT0ia2V5d29yZHMiIENPTlRFTlQ9InB5T3BlblNTTCI+CiA8TUVUQSBOQU1FPSJyZXNvdXJjZS10eXBlIiBDT05URU5UPSJkb2N1bWVudCI+CiA8TUVUQSBOQU1FPSJkaXN0cmlidXRpb24iIENPTlRFTlQ9Imdsb2JhbCI+CiA8bGluayByZWw9IlNUWUxFU0hFRVQiIGhyZWY9InB5T3BlblNTTC5jc3MiPgogPExJTksgUkVMPSJuZXh0IiBocmVmPSJvcGVuc3NsLXg1MDluYW1lLmh0bWwiPgotPExJTksgUkVMPSJwcmV2aW91cyIgaHJlZj0ib3BlbnNzbC14NTA5ZXh0Lmh0bWwiPgorPExJTksgUkVMPSJwcmV2aW91cyIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+CiA8TElOSyBSRUw9InVwIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4KIDxMSU5LIFJFTD0ibmV4dCIgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4KIDwvaGVhZD4KQEAgLTE2LDcgKzE2LDcgQEAKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgogPHRhYmxlIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiPgogPHRyPgotPHRkPjxBIGhyZWY9Im9wZW5zc2wteDUwOWV4dC5odG1sIj48aW1nIHNyYz0icHJldmlvdXMuZ2lmIgorPHRkPjxBIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjxpbWcgc3JjPSJwcmV2aW91cy5naWYiCiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSJQcmV2aW91cyBQYWdlIiB3aWR0aD0iMzIiPjwvQT48L3RkPgogPHRkPjxBIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjxpbWcgc3JjPSJ1cC5naWYiCkBAIC0zNiw1MyArMzYsNjAgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+My4xLjEgWDUwOUV4dGVuc2lvbiBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDluYW1lLmh0bWwiPjMuMS4zIFg1MDlOYW1lIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMiBYNTA5TmFtZSBvYmplY3RzPC9BPgogPGJyPjxocj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKLTxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDEyMDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+Cis8SDM+PEEgTkFNRT0iU0VDVElPTjAwMDQxMTAwMDAwMDAwMDAwMDAwMCI+Jm5ic3A7PC9BPgogPEJSPgotMy4xLjIgWDUwOSBvYmplY3RzIAorMy4xLjEgWDUwOSBvYmplY3RzIAogPC9IMz4KIAogPFA+CiBYNTA5IG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfaXNzdWVyPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0zOSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9pc3N1ZXI8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBhbiBYNTA5TmFtZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBpc3N1ZXIgb2YgdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Mic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQwJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgUEtleSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBwdWJsaWMga2V5IG9mIHRoZSBjZXJ0aWZpY2F0ZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDMnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc2VyaWFsX251bWJlcjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc2VyaWFsX251bWJlcjwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIHRoZSBjZXJ0aWZpY2F0ZSBzZXJpYWwgbnVtYmVyLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00NCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zdWJqZWN0PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Mic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zaWduYXR1cmVfYWxnb3JpdGhtPC90dD48L2E+PC9iPigpCis8ZGQ+CitSZXR1cm4gdGhlIHNpZ25hdHVyZSBhbGdvcml0aG0gdXNlZCBpbiB0aGUgY2VydGlmaWNhdGUuICBJZiB0aGUgYWxnb3JpdGhtIGlzCit1bmRlZmluZWQsIHJhaXNlIDxjb2RlPlZhbHVlRXJyb3I8L2NvZGU+LgorPC9kbD4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Myc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zdWJqZWN0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gYW4gWDUwOU5hbWUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgc3ViamVjdCBvZiB0aGUgY2VydGlmaWNhdGUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ1Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgY2VydGlmaWNhdGUgdmVyc2lvbi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfbm90QmVmb3JlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00NSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9ub3RCZWZvcmU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBhIHN0cmluZyBnaXZpbmcgdGhlIHRpbWUgYmVmb3JlIHdoaWNoIHRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgdmFsaWQuICBUaGUKIHN0cmluZyBpcyBmb3JtYXR0ZWQgYXMgYW4gQVNOMSBHRU5FUkFMSVpFRFRJTUU6CkBAIC05NSw3ICsxMDIsNyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9ub3RBZnRlcjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfbm90QWZ0ZXI8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBhIHN0cmluZyBnaXZpbmcgdGhlIHRpbWUgYWZ0ZXIgd2hpY2ggdGhlIGNlcnRpZmljYXRlIGlzIG5vdCB2YWxpZC4gIFRoZQogc3RyaW5nIGlzIGZvcm1hdHRlZCBhcyBhbiBBU04xIEdFTkVSQUxJWkVEVElNRToKQEAgLTEwOCw3ICsxMTUsNyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00OCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9ub3RCZWZvcmU8L3R0PjwvYT48L2I+KDx2YXI+d2hlbjwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ3Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X25vdEJlZm9yZTwvdHQ+PC9hPjwvYj4oPHZhcj53aGVuPC92YXI+KQogPGRkPgogQ2hhbmdlIHRoZSB0aW1lIGJlZm9yZSB3aGljaCB0aGUgY2VydGlmaWNhdGUgaXMgbm90IHZhbGlkLiAgPHZhcj53aGVuPC92YXI+IGlzIGEKIHN0cmluZyBmb3JtYXR0ZWQgYXMgYW4gQVNOMSBHRU5FUkFMSVpFRFRJTUU6CkBAIC0xMjAsNyArMTI3LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDknPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfbm90QWZ0ZXI8L3R0PjwvYT48L2I+KDx2YXI+d2hlbjwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ4Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X25vdEFmdGVyPC90dD48L2E+PC9iPig8dmFyPndoZW48L3Zhcj4pCiA8ZGQ+CiBDaGFuZ2UgdGhlIHRpbWUgYWZ0ZXIgd2hpY2ggdGhlIGNlcnRpZmljYXRlIGlzIG5vdCB2YWxpZC4gIDx2YXI+d2hlbjwvdmFyPiBpcyBhCiBzdHJpbmcgZm9ybWF0dGVkIGFzIGFuIEFTTjEgR0VORVJBTElaRURUSU1FOgpAQCAtMTMyLDY5ICsxMzksNjkgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTAnPjx0dCBjbGFzcz0nbWV0aG9kJz5nbXRpbWVfYWRqX25vdEJlZm9yZTwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDknPjx0dCBjbGFzcz0nbWV0aG9kJz5nbXRpbWVfYWRqX25vdEJlZm9yZTwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQogPGRkPgogQWRqdXN0IHRoZSB0aW1lc3RhbXAgKGluIEdNVCkgd2hlbiB0aGUgY2VydGlmaWNhdGUgc3RhcnRzIGJlaW5nIHZhbGlkLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01MSc+PHR0IGNsYXNzPSdtZXRob2QnPmdtdGltZV9hZGpfbm90QWZ0ZXI8L3R0PjwvYT48L2I+KDx2YXI+dGltZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTUwJz48dHQgY2xhc3M9J21ldGhvZCc+Z210aW1lX2Fkal9ub3RBZnRlcjwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQogPGRkPgogQWRqdXN0IHRoZSB0aW1lc3RhbXAgKGluIEdNVCkgd2hlbiB0aGUgY2VydGlmaWNhdGUgc3RvcHMgYmVpbmcgdmFsaWQuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTUyJz48dHQgY2xhc3M9J21ldGhvZCc+aGFzX2V4cGlyZWQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTUxJz48dHQgY2xhc3M9J21ldGhvZCc+aGFzX2V4cGlyZWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyB0aGUgY2VydGlmaWNhdGUncyB0aW1lIHN0YW1wIGFnYWluc3QgY3VycmVudCB0aW1lLiBSZXR1cm5zIHRydWUgaWYgdGhlCiBjZXJ0aWZpY2F0ZSBoYXMgZXhwaXJlZCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9pc3N1ZXI8L3R0PjwvYT48L2I+KDx2YXI+aXNzdWVyPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTInPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfaXNzdWVyPC90dD48L2E+PC9iPig8dmFyPmlzc3VlcjwvdmFyPikKIDxkZD4KIFNldCB0aGUgaXNzdWVyIG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byA8dmFyPmlzc3VlcjwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTQnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcHVia2V5PC90dD48L2E+PC9iPig8dmFyPnBrZXk8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFNldCB0aGUgcHVibGljIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgdG8gPHZhcj5wa2V5PC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zZXJpYWxfbnVtYmVyPC90dD48L2E+PC9iPig8dmFyPnNlcmlhbG5vPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTQnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2VyaWFsX251bWJlcjwvdHQ+PC9hPjwvYj4oPHZhcj5zZXJpYWxubzwvdmFyPikKIDxkZD4KIFNldCB0aGUgc2VyaWFsIG51bWJlciBvZiB0aGUgY2VydGlmaWNhdGUgdG8gPHZhcj5zZXJpYWxubzwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc3ViamVjdDwvdHQ+PC9hPjwvYj4oPHZhcj5zdWJqZWN0PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTUnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc3ViamVjdDwvdHQ+PC9hPjwvYj4oPHZhcj5zdWJqZWN0PC92YXI+KQogPGRkPgogU2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byA8dmFyPnN1YmplY3Q8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU3Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KDx2YXI+dmVyc2lvbjwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KDx2YXI+dmVyc2lvbjwvdmFyPikKIDxkZD4KIFNldCB0aGUgY2VydGlmaWNhdGUgdmVyc2lvbiB0byA8dmFyPnZlcnNpb248L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU4Jz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5LCBkaWdlc3Q8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnNpZ248L3R0PjwvYT48L2I+KDx2YXI+cGtleSwgZGlnZXN0PC92YXI+KQogPGRkPgogU2lnbiB0aGUgY2VydGlmaWNhdGUsIHVzaW5nIHRoZSBrZXkgPHZhcj5wa2V5PC92YXI+IGFuZCB0aGUgbWVzc2FnZSBkaWdlc3QgYWxnb3JpdGhtCiBpZGVudGlmaWVkIGJ5IHRoZSBzdHJpbmcgPHZhcj5kaWdlc3Q8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU5Jz48dHQgY2xhc3M9J21ldGhvZCc+c3ViamVjdF9uYW1lX2hhc2g8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU4Jz48dHQgY2xhc3M9J21ldGhvZCc+c3ViamVjdF9uYW1lX2hhc2g8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgaGFzaCBvZiB0aGUgY2VydGlmaWNhdGUgc3ViamVjdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5kaWdlc3Q8L3R0PjwvYT48L2I+KDx2YXI+ZGlnZXN0X25hbWU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01OSc+PHR0IGNsYXNzPSdtZXRob2QnPmRpZ2VzdDwvdHQ+PC9hPjwvYj4oPHZhcj5kaWdlc3RfbmFtZTwvdmFyPikKIDxkZD4KIFJldHVybiBhIGRpZ2VzdCBvZiB0aGUgY2VydGlmaWNhdGUsIHVzaW5nIHRoZSA8dmFyPmRpZ2VzdF9uYW1lPC92YXI+IG1ldGhvZC4KIDx2YXI+ZGlnZXN0X25hbWU8L3Zhcj4gbXVzdCBiZSBhIHN0cmluZyBkZXNjcmliaW5nIGEgZGlnZXN0IGFsZ29yaXRobSBzdXBwb3J0ZWQKQEAgLTIwMywxMyArMjEwLDEzIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYxJz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2V4dGVuc2lvbnM8L3R0PjwvYT48L2I+KDx2YXI+ZXh0ZW5zaW9uczwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYwJz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2V4dGVuc2lvbnM8L3R0PjwvYT48L2I+KDx2YXI+ZXh0ZW5zaW9uczwvdmFyPikKIDxkZD4KIEFkZCB0aGUgZXh0ZW5zaW9ucyBpbiB0aGUgc2VxdWVuY2UgPHZhcj5leHRlbnNpb25zPC92YXI+IHRvIHRoZSBjZXJ0aWZpY2F0ZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfZXh0ZW5zaW9uX2NvdW50PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02MSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9leHRlbnNpb25fY291bnQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgbnVtYmVyIG9mIGV4dGVuc2lvbnMgb24gdGhpcyBjZXJ0aWZpY2F0ZS4KIApAQCAtMjE4LDcgKzIyNSw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYzJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2V4dGVuc2lvbjwvdHQ+PC9hPjwvYj4oPHZhcj5pbmRleDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYyJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2V4dGVuc2lvbjwvdHQ+PC9hPjwvYj4oPHZhcj5pbmRleDwvdmFyPikKIDxkZD4KIFJldHJpZXZlIHRoZSBleHRlbnNpb24gb24gdGhpcyBjZXJ0aWZpY2F0ZSBhdCB0aGUgZ2l2ZW4gaW5kZXguCiAKQEAgLTIzNyw3ICsyNDQsNyBAQAogPHA+PGhyPgogPHRhYmxlIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiPgogPHRyPgotPHRkPjxBIGhyZWY9Im9wZW5zc2wteDUwOWV4dC5odG1sIj48aW1nIHNyYz0icHJldmlvdXMuZ2lmIgorPHRkPjxBIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjxpbWcgc3JjPSJwcmV2aW91cy5naWYiCiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSJQcmV2aW91cyBQYWdlIiB3aWR0aD0iMzIiPjwvQT48L3RkPgogPHRkPjxBIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjxpbWcgc3JjPSJ1cC5naWYiCkBAIC0yNTcsOSArMjY0LDkgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+My4xLjEgWDUwOUV4dGVuc2lvbiBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDluYW1lLmh0bWwiPjMuMS4zIFg1MDlOYW1lIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMiBYNTA5TmFtZSBvYmplY3RzPC9BPgogPGhyPgogPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjEyLjwvc3Bhbj4KIDwvRElWPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5bmFtZS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5bmFtZS5odG1sCmluZGV4IGU1YmJkZWMuLjgzNjFhZTAgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wteDUwOW5hbWUuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDluYW1lLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KLTx0aXRsZT4zLjEuMyBYNTA5TmFtZSBvYmplY3RzIDwvdGl0bGU+Ci08TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjMgWDUwOU5hbWUgb2JqZWN0cyAiPgorPHRpdGxlPjMuMS4yIFg1MDlOYW1lIG9iamVjdHMgPC90aXRsZT4KKzxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuMiBYNTA5TmFtZSBvYmplY3RzICI+CiA8TUVUQSBOQU1FPSJrZXl3b3JkcyIgQ09OVEVOVD0icHlPcGVuU1NMIj4KIDxNRVRBIE5BTUU9InJlc291cmNlLXR5cGUiIENPTlRFTlQ9ImRvY3VtZW50Ij4KIDxNRVRBIE5BTUU9ImRpc3RyaWJ1dGlvbiIgQ09OVEVOVD0iZ2xvYmFsIj4KQEAgLTM2LDM2ICszNiwzNiBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4zLjEuMiBYNTA5IG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4zLjEuMSBYNTA5IG9iamVjdHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjQgWDUwOVJlcSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOXJlcS5odG1sIj4zLjEuMyBYNTA5UmVxIG9iamVjdHM8L0E+CiA8YnI+PGhyPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIAotPEgzPjxBIE5BTUU9IlNFQ1RJT04wMDA0MTMwMDAwMDAwMDAwMDAwMDAiPiZuYnNwOzwvQT4KKzxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDEyMDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+CiA8QlI+Ci0zLjEuMyBYNTA5TmFtZSBvYmplY3RzIAorMy4xLjIgWDUwOU5hbWUgb2JqZWN0cyAKIDwvSDM+CiAKIDxQPgogWDUwOU5hbWUgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02NCc+PHR0IGNsYXNzPSdtZXRob2QnPmhhc2g8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYzJz48dHQgY2xhc3M9J21ldGhvZCc+aGFzaDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGFuIGludGVnZXIgZ2l2aW5nIHRoZSBmaXJzdCBmb3VyIGJ5dGVzIG9mIHRoZSBNRDUgZGlnZXN0IG9mIHRoZSBERVIKIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBuYW1lLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02NSc+PHR0IGNsYXNzPSdtZXRob2QnPmRlcjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjQnPjx0dCBjbGFzcz0nbWV0aG9kJz5kZXI8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBhIHN0cmluZyBnaXZpbmcgdGhlIERFUiByZXByZXNlbnRhdGlvbiBvZiB0aGUgbmFtZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY29tcG9uZW50czwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY29tcG9uZW50czwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgbGlzdCBvZiB0d28tdHVwbGVzIG9mIHN0cmluZ3MgZ2l2aW5nIHRoZSBjb21wb25lbnRzIG9mIHRoZSBuYW1lLgogPC9kbD4KQEAgLTc0LDQ5ICs3NCw0OSBAQAogWDUwOU5hbWUgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWVtYmVyczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02Nyc+PHR0IGNsYXNzPSdtZW1iZXInPmNvdW50cnlOYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjYnPjx0dCBjbGFzcz0nbWVtYmVyJz5jb3VudHJ5TmFtZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBjb3VudHJ5IG9mIHRoZSBlbnRpdHkuIDxjb2RlPkM8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+Y291bnRyeU5hbWU8L2NvZGU+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02OCc+PHR0IGNsYXNzPSdtZW1iZXInPnN0YXRlT3JQcm92aW5jZU5hbWU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02Nyc+PHR0IGNsYXNzPSdtZW1iZXInPnN0YXRlT3JQcm92aW5jZU5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgc3RhdGUgb3IgcHJvdmluY2Ugb2YgdGhlIGVudGl0eS4gPGNvZGU+U1Q8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+c3RhdGVPclByb3ZpbmNlTmFtZTwvY29kZT63CiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY5Jz48dHQgY2xhc3M9J21lbWJlcic+bG9jYWxpdHlOYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjgnPjx0dCBjbGFzcz0nbWVtYmVyJz5sb2NhbGl0eU5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgbG9jYWxpdHkgb2YgdGhlIGVudGl0eS4gPGNvZGU+TDwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5sb2NhbGl0eU5hbWU8L2NvZGU+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03MCc+PHR0IGNsYXNzPSdtZW1iZXInPm9yZ2FuaXphdGlvbk5hbWU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02OSc+PHR0IGNsYXNzPSdtZW1iZXInPm9yZ2FuaXphdGlvbk5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgb3JnYW5pemF0aW9uIG5hbWUgb2YgdGhlIGVudGl0eS4gPGNvZGU+TzwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5vcmdhbml6YXRpb25OYW1lPC9jb2RlPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzEnPjx0dCBjbGFzcz0nbWVtYmVyJz5vcmdhbml6YXRpb25hbFVuaXROYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzAnPjx0dCBjbGFzcz0nbWVtYmVyJz5vcmdhbml6YXRpb25hbFVuaXROYW1lPC90dD48L2E+PC9iPgogPGRkPgogVGhlIG9yZ2FuaXphdGlvbmFsIHVuaXQgb2YgdGhlIGVudGl0eS4gPGNvZGU+T1U8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+b3JnYW5pemF0aW9uYWxVbml0TmFtZTwvY29kZT4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTcyJz48dHQgY2xhc3M9J21lbWJlcic+Y29tbW9uTmFtZTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTcxJz48dHQgY2xhc3M9J21lbWJlcic+Y29tbW9uTmFtZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBjb21tb24gbmFtZSBvZiB0aGUgZW50aXR5LiA8Y29kZT5DTjwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5jb21tb25OYW1lPC9jb2RlPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzMnPjx0dCBjbGFzcz0nbWVtYmVyJz5lbWFpbEFkZHJlc3M8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Mic+PHR0IGNsYXNzPSdtZW1iZXInPmVtYWlsQWRkcmVzczwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBlLW1haWwgYWRkcmVzcyBvZiB0aGUgZW50aXR5LgogPC9kbD4KQEAgLTE0Nyw5ICsxNDcsOSBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4zLjEuMiBYNTA5IG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4zLjEuMSBYNTA5IG9iamVjdHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSBjcnlwdG8gIDwvQT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjQgWDUwOVJlcSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOXJlcS5odG1sIj4zLjEuMyBYNTA5UmVxIG9iamVjdHM8L0E+CiA8aHI+CiA8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuMTIuPC9zcGFuPgogPC9ESVY+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlyZXEuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wteDUwOXJlcS5odG1sCmluZGV4IDM2MjVjMjcuLjM3YWMyNGYgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wteDUwOXJlcS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wteDUwOXJlcS5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08dGl0bGU+My4xLjQgWDUwOVJlcSBvYmplY3RzIDwvdGl0bGU+Ci08TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjQgWDUwOVJlcSBvYmplY3RzICI+Cis8dGl0bGU+My4xLjMgWDUwOVJlcSBvYmplY3RzIDwvdGl0bGU+Cis8TUVUQSBOQU1FPSJkZXNjcmlwdGlvbiIgQ09OVEVOVD0iMy4xLjMgWDUwOVJlcSBvYmplY3RzICI+CiA8TUVUQSBOQU1FPSJrZXl3b3JkcyIgQ09OVEVOVD0icHlPcGVuU1NMIj4KIDxNRVRBIE5BTUU9InJlc291cmNlLXR5cGUiIENPTlRFTlQ9ImRvY3VtZW50Ij4KIDxNRVRBIE5BTUU9ImRpc3RyaWJ1dGlvbiIgQ09OVEVOVD0iZ2xvYmFsIj4KQEAgLTM2LDYxICszNiw2MSBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOW5hbWUuaHRtbCI+My4xLjMgWDUwOU5hbWUgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMiBYNTA5TmFtZSBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjUgWDUwOVN0b3JlIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjQgWDUwOVN0b3JlIG9iamVjdHM8L0E+CiA8YnI+PGhyPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIAotPEgzPjxBIE5BTUU9IlNFQ1RJT04wMDA0MTQwMDAwMDAwMDAwMDAwMDAiPiZuYnNwOzwvQT4KKzxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDEzMDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+CiA8QlI+Ci0zLjEuNCBYNTA5UmVxIG9iamVjdHMgCiszLjEuMyBYNTA5UmVxIG9iamVjdHMgCiA8L0gzPgogCiA8UD4KIFg1MDlSZXEgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03NCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTczJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgUEtleSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBwdWJsaWMga2V5IG9mIHRoZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03NSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zdWJqZWN0PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03NCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zdWJqZWN0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gYW4gWDUwOU5hbWUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgc3ViamVjdCBvZiB0aGUgY2VydGlmaWNhdGUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzUnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcHVia2V5PC90dD48L2E+PC9iPig8dmFyPnBrZXk8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHB1YmxpYyBrZXkgb2YgdGhlIGNlcnRpZmljYXRlIHJlcXVlc3QgdG8gPHZhcj5wa2V5PC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnNpZ248L3R0PjwvYT48L2I+KDx2YXI+cGtleSwgZGlnZXN0PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaWduPC90dD48L2E+PC9iPig8dmFyPnBrZXksIGRpZ2VzdDwvdmFyPikKIDxkZD4KIFNpZ24gdGhlIGNlcnRpZmljYXRlIHJlcXVlc3QsIHVzaW5nIHRoZSBrZXkgPHZhcj5wa2V5PC92YXI+IGFuZCB0aGUgbWVzc2FnZSBkaWdlc3QKIGFsZ29yaXRobSBpZGVudGlmaWVkIGJ5IHRoZSBzdHJpbmcgPHZhcj5kaWdlc3Q8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc4Jz48dHQgY2xhc3M9J21ldGhvZCc+dmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPnBrZXk8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnZlcmlmeTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQogPGRkPgogVmVyaWZ5IGEgY2VydGlmaWNhdGUgcmVxdWVzdCB1c2luZyB0aGUgcHVibGljIGtleSA8dmFyPnBrZXk8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc5Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KDx2YXI+dmVyc2lvbjwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc4Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KDx2YXI+dmVyc2lvbjwvdmFyPikKIDxkZD4KIFNldCB0aGUgdmVyc2lvbiAoUkZDIDI0NTksIDQuMS4yLjEpIG9mIHRoZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IHRvCiA8dmFyPnZlcnNpb248L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgwJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KCkKIDxkZD4KIEdldCB0aGUgdmVyc2lvbiAoUkZDIDI0NTksIDQuMS4yLjEpIG9mIHRoZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0LgogPC9kbD4KQEAgLTEyMSw5ICsxMjEsOSBAQAogICBib3JkZXI9IjAiIGhlaWdodD0iMzIiCiAgIGFsdD0iIiB3aWR0aD0iMzIiPjwvdGQ+CiA8L3RyPjwvdGFibGU+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPlByZXZpb3VzOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOW5hbWUuaHRtbCI+My4xLjMgWDUwOU5hbWUgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMiBYNTA5TmFtZSBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjUgWDUwOVN0b3JlIG9iamVjdHM8L0E+Cis8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjQgWDUwOVN0b3JlIG9iamVjdHM8L0E+CiA8aHI+CiA8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuMTIuPC9zcGFuPgogPC9ESVY+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlzdG9yZS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5c3RvcmUuaHRtbAppbmRleCAwM2Q1ODllLi5lNzNkOWFlIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlzdG9yZS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wteDUwOXN0b3JlLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KLTx0aXRsZT4zLjEuNSBYNTA5U3RvcmUgb2JqZWN0cyA8L3RpdGxlPgotPE1FVEEgTkFNRT0iZGVzY3JpcHRpb24iIENPTlRFTlQ9IjMuMS41IFg1MDlTdG9yZSBvYmplY3RzICI+Cis8dGl0bGU+My4xLjQgWDUwOVN0b3JlIG9iamVjdHMgPC90aXRsZT4KKzxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuNCBYNTA5U3RvcmUgb2JqZWN0cyAiPgogPE1FVEEgTkFNRT0ia2V5d29yZHMiIENPTlRFTlQ9InB5T3BlblNTTCI+CiA8TUVUQSBOQU1FPSJyZXNvdXJjZS10eXBlIiBDT05URU5UPSJkb2N1bWVudCI+CiA8TUVUQSBOQU1FPSJkaXN0cmlidXRpb24iIENPTlRFTlQ9Imdsb2JhbCI+CkBAIC0zNiwyMyArMzYsMjMgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjQgWDUwOVJlcSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjMgWDUwOVJlcSBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2V5Lmh0bWwiPjMuMS42IFBLZXkgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrZXkuaHRtbCI+My4xLjUgUEtleSBvYmplY3RzPC9BPgogPGJyPjxocj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKLTxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDE1MDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+Cis8SDM+PEEgTkFNRT0iU0VDVElPTjAwMDQxNDAwMDAwMDAwMDAwMDAwMCI+Jm5ic3A7PC9BPgogPEJSPgotMy4xLjUgWDUwOVN0b3JlIG9iamVjdHMgCiszLjEuNCBYNTA5U3RvcmUgb2JqZWN0cyAKIDwvSDM+CiAKIDxQPgogVGhlIFg1MDlTdG9yZSBvYmplY3QgaGFzIGN1cnJlbnRseSBqdXN0IG9uZSBtZXRob2Q6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODEnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfY2VydDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODAnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfY2VydDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0PC92YXI+KQogPGRkPgogQWRkIHRoZSBjZXJ0aWZpY2F0ZSA8dmFyPmNlcnQ8L3Zhcj4gdG8gdGhlIGNlcnRpZmljYXRlIHN0b3JlLgogPC9kbD4KQEAgLTgzLDkgKzgzLDkgQEAKICAgYm9yZGVyPSIwIiBoZWlnaHQ9IjMyIgogICBhbHQ9IiIgd2lkdGg9IjMyIj48L3RkPgogPC90cj48L3RhYmxlPgotPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjQgWDUwOVJlcSBvYmplY3RzPC9BPgorPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXg1MDlyZXEuaHRtbCI+My4xLjMgWDUwOVJlcSBvYmplY3RzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+Ci08YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2V5Lmh0bWwiPjMuMS42IFBLZXkgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXBrZXkuaHRtbCI+My4xLjUgUEtleSBvYmplY3RzPC9BPgogPGhyPgogPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjEyLjwvc3Bhbj4KIDwvRElWPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC5odG1sCmluZGV4IDRlY2M0MzguLjE0YmZlZWUgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLmh0bWwKQEAgLTgwLDQzICs4MCw0MSBAQAogPEEgTkFNRT0iQ0hJTERfTElOS1MiPjxTVFJPTkc+U3Vic2VjdGlvbnM8L1NUUk9ORz48L0E+CiAKIDxVTCBDTEFTUz0iQ2hpbGRMaW5rcyI+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwxMTMiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwxMTIiCiAgIGhyZWY9Im9wZW5zc2wtY3J5cHRvLmh0bWwiPjMuMSA8dHQgY2xhc3M9Im1vZHVsZSI+Y3J5cHRvPC90dD4gLS0gR2VuZXJpYyBjcnlwdG9ncmFwaGljIG1vZHVsZSA8L0E+CiA8VUw+Cis8TEk+PEEgTkFNRT0idGV4Mmh0bWwxMTMiCisgIGhyZWY9Im9wZW5zc2wteDUwOS5odG1sIj4zLjEuMSBYNTA5IG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTE0IgotICBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+My4xLjEgWDUwOUV4dGVuc2lvbiBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMiBYNTA5TmFtZSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDExNSIKLSAgaHJlZj0ib3BlbnNzbC14NTA5Lmh0bWwiPjMuMS4yIFg1MDkgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wteDUwOXJlcS5odG1sIj4zLjEuMyBYNTA5UmVxIG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTE2IgotICBocmVmPSJvcGVuc3NsLXg1MDluYW1lLmh0bWwiPjMuMS4zIFg1MDlOYW1lIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXg1MDlzdG9yZS5odG1sIj4zLjEuNCBYNTA5U3RvcmUgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxMTciCi0gIGhyZWY9Im9wZW5zc2wteDUwOXJlcS5odG1sIj4zLjEuNCBYNTA5UmVxIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXBrZXkuaHRtbCI+My4xLjUgUEtleSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDExOCIKLSAgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjUgWDUwOVN0b3JlIG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXBrY3M3Lmh0bWwiPjMuMS42IFBLQ1M3IG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTE5IgotICBocmVmPSJvcGVuc3NsLXBrZXkuaHRtbCI+My4xLjYgUEtleSBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC1wa2NzMTIuaHRtbCI+My4xLjcgUEtDUzEyIG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTIwIgotICBocmVmPSJvcGVuc3NsLXBrY3M3Lmh0bWwiPjMuMS43IFBLQ1M3IG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLTUwOWV4dC5odG1sIj4zLjEuOCBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTIxIgotICBocmVmPSJvcGVuc3NsLXBrY3MxMi5odG1sIj4zLjEuOCBQS0NTMTIgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sIj4zLjEuOSBOZXRzY2FwZVNQS0kgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxMjIiCi0gIGhyZWY9Im9wZW5zc2wtNTA5ZXh0Lmh0bWwiPjMuMS45IFg1MDlFeHRlbnNpb24gb2JqZWN0cyA8L0E+CisgIGhyZWY9ImNybC5odG1sIj4zLjEuMTAgQ1JMIG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMTIzIgotICBocmVmPSJvcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCI+My4xLjEwIE5ldHNjYXBlU1BLSSBvYmplY3RzIDwvQT4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDEyNCIKLSAgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMSBDUkwgb2JqZWN0cyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwxMjUiCi0gIGhyZWY9InJldm9rZWQuaHRtbCI+My4xLjEyIFJldm9rZWQgb2JqZWN0cyA8L0E+CisgIGhyZWY9InJldm9rZWQuaHRtbCI+My4xLjExIFJldm9rZWQgb2JqZWN0cyA8L0E+CiA8L1VMPgogPEJSPgotPExJPjxBIE5BTUU9InRleDJodG1sMTI2IgorPExJPjxBIE5BTUU9InRleDJodG1sMTI0IgogICBocmVmPSJvcGVuc3NsLXJhbmQuaHRtbCI+My4yIDx0dCBjbGFzcz0ibW9kdWxlIj5yYW5kPC90dD4gLS0gQW4gaW50ZXJmYWNlIHRvIHRoZSBPcGVuU1NMIHBzZXVkbyByYW5kb20gbnVtYmVyIGdlbmVyYXRvciA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwxMjciCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwxMjUiCiAgIGhyZWY9Im9wZW5zc2wtc3NsLmh0bWwiPjMuMyA8dHQgY2xhc3M9Im1vZHVsZSI+U1NMPC90dD4gLS0gQW4gaW50ZXJmYWNlIHRvIHRoZSBTU0wtc3BlY2lmaWMgcGFydHMgb2YgT3BlblNTTCA8L0E+CiA8VUw+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwxMjgiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwxMjYiCiAgIGhyZWY9Im9wZW5zc2wtY29udGV4dC5odG1sIj4zLjMuMSBDb250ZXh0IG9iamVjdHMgPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sMTI5IgorPExJPjxBIE5BTUU9InRleDJodG1sMTI3IgogICBocmVmPSJvcGVuc3NsLWNvbm5lY3Rpb24uaHRtbCI+My4zLjIgQ29ubmVjdGlvbiBvYmplY3RzIDwvQT4KIDwvVUw+PC9VTD4KIDwhLS1FbmQgb2YgVGFibGUgb2YgQ2hpbGQtTGlua3MtLT4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL3B5T3BlblNTTC5ob3cgYi9kb2MvaHRtbC9weU9wZW5TU0wuaG93CmluZGV4IDI0NjQxOTIuLjNlMTIwOWIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL3B5T3BlblNTTC5ob3cKKysrIGIvZG9jL2h0bWwvcHlPcGVuU1NMLmhvdwpAQCAtMSArMSBAQAotKysrIHBlcmwgL2hvbWUvZXhhcmt1bi9Qcm9qZWN0cy9weU9wZW5TU0wvdHJ1bmsvZG9jL3Rvb2xzL25vZGUybGFiZWwucGwgKi5odG1sCisrKysgcGVybCAvaG9tZS9leGFya3VuL1Byb2plY3RzL3B5T3BlblNTTC9icmFuY2hlcy9yZWxlYXNlLTAuMTMvZG9jL3Rvb2xzL25vZGUybGFiZWwucGwgKi5odG1sCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9weU9wZW5TU0wuaHRtbCBiL2RvYy9odG1sL3B5T3BlblNTTC5odG1sCmluZGV4IGM1ZDdlN2EuLjQxYjY5MzkgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL3B5T3BlblNTTC5odG1sCisrKyBiL2RvYy9odG1sL3B5T3BlblNTTC5odG1sCkBAIC04Nyw1NCArODcsNTIgQEAKICAgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIDx0dCBjbGFzcz0ibW9kdWxlIj5jcnlwdG88L3R0PiAtLSBHZW5lcmljIGNyeXB0b2dyYXBoaWMgbW9kdWxlIDwvQT4KIDxVTD4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE1IgotICBocmVmPSJvcGVuc3NsLXg1MDlleHQuaHRtbCI+My4xLjEgWDUwOUV4dGVuc2lvbiBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC14NTA5Lmh0bWwiPjMuMS4xIFg1MDkgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNiIKLSAgaHJlZj0ib3BlbnNzbC14NTA5Lmh0bWwiPjMuMS4yIFg1MDkgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wteDUwOW5hbWUuaHRtbCI+My4xLjIgWDUwOU5hbWUgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxNyIKLSAgaHJlZj0ib3BlbnNzbC14NTA5bmFtZS5odG1sIj4zLjEuMyBYNTA5TmFtZSBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC14NTA5cmVxLmh0bWwiPjMuMS4zIFg1MDlSZXEgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwxOCIKLSAgaHJlZj0ib3BlbnNzbC14NTA5cmVxLmh0bWwiPjMuMS40IFg1MDlSZXEgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wteDUwOXN0b3JlLmh0bWwiPjMuMS40IFg1MDlTdG9yZSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDE5IgotICBocmVmPSJvcGVuc3NsLXg1MDlzdG9yZS5odG1sIj4zLjEuNSBYNTA5U3RvcmUgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtcGtleS5odG1sIj4zLjEuNSBQS2V5IG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMjAiCi0gIGhyZWY9Im9wZW5zc2wtcGtleS5odG1sIj4zLjEuNiBQS2V5IG9iamVjdHMgPC9BPgorICBocmVmPSJvcGVuc3NsLXBrY3M3Lmh0bWwiPjMuMS42IFBLQ1M3IG9iamVjdHMgPC9BPgogPExJPjxBIE5BTUU9InRleDJodG1sMjEiCi0gIGhyZWY9Im9wZW5zc2wtcGtjczcuaHRtbCI+My4xLjcgUEtDUzcgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtcGtjczEyLmh0bWwiPjMuMS43IFBLQ1MxMiBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDIyIgotICBocmVmPSJvcGVuc3NsLXBrY3MxMi5odG1sIj4zLjEuOCBQS0NTMTIgb2JqZWN0cyA8L0E+CisgIGhyZWY9Im9wZW5zc2wtNTA5ZXh0Lmh0bWwiPjMuMS44IFg1MDlFeHRlbnNpb24gb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwyMyIKLSAgaHJlZj0ib3BlbnNzbC01MDlleHQuaHRtbCI+My4xLjkgWDUwOUV4dGVuc2lvbiBvYmplY3RzIDwvQT4KKyAgaHJlZj0ib3BlbnNzbC1uZXRzY2FwZS1zcGtpLmh0bWwiPjMuMS45IE5ldHNjYXBlU1BLSSBvYmplY3RzIDwvQT4KIDxMST48QSBOQU1FPSJ0ZXgyaHRtbDI0IgotICBocmVmPSJvcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCI+My4xLjEwIE5ldHNjYXBlU1BLSSBvYmplY3RzIDwvQT4KKyAgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMCBDUkwgb2JqZWN0cyA8L0E+CiA8TEk+PEEgTkFNRT0idGV4Mmh0bWwyNSIKLSAgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMSBDUkwgb2JqZWN0cyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwyNiIKLSAgaHJlZj0icmV2b2tlZC5odG1sIj4zLjEuMTIgUmV2b2tlZCBvYmplY3RzIDwvQT4KKyAgaHJlZj0icmV2b2tlZC5odG1sIj4zLjEuMTEgUmV2b2tlZCBvYmplY3RzIDwvQT4KIDwvVUw+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwyNyIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDI2IgogICBocmVmPSJvcGVuc3NsLXJhbmQuaHRtbCI+My4yIDx0dCBjbGFzcz0ibW9kdWxlIj5yYW5kPC90dD4gLS0gQW4gaW50ZXJmYWNlIHRvIHRoZSBPcGVuU1NMIHBzZXVkbyByYW5kb20gbnVtYmVyIGdlbmVyYXRvciA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwyOCIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDI3IgogICBocmVmPSJvcGVuc3NsLXNzbC5odG1sIj4zLjMgPHR0IGNsYXNzPSJtb2R1bGUiPlNTTDwvdHQ+IC0tIEFuIGludGVyZmFjZSB0byB0aGUgU1NMLXNwZWNpZmljIHBhcnRzIG9mIE9wZW5TU0wgPC9BPgogPFVMPgotPExJPjxBIE5BTUU9InRleDJodG1sMjkiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwyOCIKICAgaHJlZj0ib3BlbnNzbC1jb250ZXh0Lmh0bWwiPjMuMy4xIENvbnRleHQgb2JqZWN0cyA8L0E+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzMCIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDI5IgogICBocmVmPSJvcGVuc3NsLWNvbm5lY3Rpb24uaHRtbCI+My4zLjIgQ29ubmVjdGlvbiBvYmplY3RzIDwvQT4KIDwvVUw+CiA8L1VMPgogPEJSPgotPExJPjxBIE5BTUU9InRleDJodG1sMzEiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwzMCIKICAgaHJlZj0iaW50ZXJuYWxzLmh0bWwiPjQgSW50ZXJuYWxzIDwvQT4KIDxVTD4KLTxMST48QSBOQU1FPSJ0ZXgyaHRtbDMyIgorPExJPjxBIE5BTUU9InRleDJodG1sMzEiCiAgIGhyZWY9ImV4Y2VwdGlvbnMuaHRtbCI+NC4xIEV4Y2VwdGlvbnMgPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sMzMiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwzMiIKICAgaHJlZj0iY2FsbGJhY2tzLmh0bWwiPjQuMiBDYWxsYmFja3MgPC9BPgotPExJPjxBIE5BTUU9InRleDJodG1sMzQiCis8TEk+PEEgTkFNRT0idGV4Mmh0bWwzMyIKICAgaHJlZj0ic29ja2V0LW1ldGhvZHMuaHRtbCI+NC4zIEFjZXNzaW5nIFNvY2tldCBNZXRob2RzIDwvQT4KIDwvVUw+CiA8QlI+Ci08TEk+PEEgTkFNRT0idGV4Mmh0bWwzNSIKKzxMST48QSBOQU1FPSJ0ZXgyaHRtbDM0IgogICBocmVmPSJhYm91dC5odG1sIj5BYm91dCB0aGlzIGRvY3VtZW50IC4uLjwvQT4KIDwvVUw+CiA8IS0tRW5kIG9mIFRhYmxlIG9mIENoaWxkLUxpbmtzLS0+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9yZXZva2VkLmh0bWwgYi9kb2MvaHRtbC9yZXZva2VkLmh0bWwKaW5kZXggZTJlNWQ5Zi4uODZlOWU3YSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvcmV2b2tlZC5odG1sCisrKyBiL2RvYy9odG1sL3Jldm9rZWQuaHRtbApAQCAtMSw4ICsxLDggQEAKIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgotPHRpdGxlPjMuMS4xMiBSZXZva2VkIG9iamVjdHMgPC90aXRsZT4KLTxNRVRBIE5BTUU9ImRlc2NyaXB0aW9uIiBDT05URU5UPSIzLjEuMTIgUmV2b2tlZCBvYmplY3RzICI+Cis8dGl0bGU+My4xLjExIFJldm9rZWQgb2JqZWN0cyA8L3RpdGxlPgorPE1FVEEgTkFNRT0iZGVzY3JpcHRpb24iIENPTlRFTlQ9IjMuMS4xMSBSZXZva2VkIG9iamVjdHMgIj4KIDxNRVRBIE5BTUU9ImtleXdvcmRzIiBDT05URU5UPSJweU9wZW5TU0wiPgogPE1FVEEgTkFNRT0icmVzb3VyY2UtdHlwZSIgQ09OVEVOVD0iZG9jdW1lbnQiPgogPE1FVEEgTkFNRT0iZGlzdHJpYnV0aW9uIiBDT05URU5UPSJnbG9iYWwiPgpAQCAtMzUsNDkgKzM1LDQ5IEBACiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSIiIHdpZHRoPSIzMiI+PC90ZD4KIDwvdHI+PC90YWJsZT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMSBDUkwgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMCBDUkwgb2JqZWN0czwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcmFuZC5odG1sIj4zLjIgcmFuZCAgPC9BPgogPGJyPjxocj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKLTxIMz48QSBOQU1FPSJTRUNUSU9OMDAwNDExMjAwMDAwMDAwMDAwMDAwMCI+Jm5ic3A7PC9BPgorPEgzPjxBIE5BTUU9IlNFQ1RJT04wMDA0MTExMDAwMDAwMDAwMDAwMDAwIj4mbmJzcDs8L0E+CiA8QlI+Ci0zLjEuMTIgUmV2b2tlZCBvYmplY3RzIAorMy4xLjExIFJldm9rZWQgb2JqZWN0cyAKIDwvSDM+CiAKIDxQPgogUmV2b2tlZCBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwOSc+PHR0IGNsYXNzPSdtZXRob2QnPmFsbF9yZWFzb25zPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTAnPjx0dCBjbGFzcz0nbWV0aG9kJz5hbGxfcmVhc29uczwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgbGlzdCBvZiBhbGwgc3VwcG9ydGVkIHJlYXNvbnMuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9yZWFzb248L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9yZWFzb248L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgcmV2b2NhdGlvbiByZWFzb24gYXMgYSBzdHIuICBDYW4gYmUKIE5vbmUsIHdoaWNoIGRpZmZlcnMgZnJvbSAiVW5zcGVjaWZpZWQiLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcmV2X2RhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9yZXZfZGF0ZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIHRoZSByZXZvY2F0aW9uIGRhdGUgYXMgYSBzdHIuCiBUaGUgc3RyaW5nIGlzIGZvcm1hdHRlZCBhcyBhbiBBU04xIEdFTkVSQUxJWkVEVElNRS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTEyJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3NlcmlhbDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTEzJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3NlcmlhbDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgc3RyIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyIG9mIHRoZSBzZXJpYWwgb2YgdGhlIHJldm9rZWQgY2VydGlmaWNhdGUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9yZWFzb248L3R0PjwvYT48L2I+KDx2YXI+cmVhc29uPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTE0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3JlYXNvbjwvdHQ+PC9hPjwvYj4oPHZhcj5yZWFzb248L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHJldm9jYXRpb24gcmVhc29uLiAgPHZhcj5yZWFzb248L3Zhcj4gbXVzdAogYmUgTm9uZSBvciBhIHN0cmluZywgYnV0IHRoZSB2YWx1ZXMgYXJlIGxpbWl0ZWQuICAKQEAgLTg1LDE0ICs4NSwxNCBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTQnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcmV2X2RhdGU8L3R0PjwvYT48L2I+KDx2YXI+ZGF0ZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9yZXZfZGF0ZTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRlPC92YXI+KQogPGRkPgogU2V0IHRoZSByZXZvY2F0aW9uIGRhdGUuCiBUaGUgc3RyaW5nIGlzIGZvcm1hdHRlZCBhcyBhbiBBU04xIEdFTkVSQUxJWkVEVElNRS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTE1Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3NlcmlhbDwvdHQ+PC9hPjwvYj4oPHZhcj5zZXJpYWw8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2VyaWFsPC90dD48L2E+PC9iPig8dmFyPnNlcmlhbDwvdmFyPikKIDxkZD4KIDx2YXI+c2VyaWFsPC92YXI+IGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyIG9mIHRoZSBzZXJpYWwgb2YgdGhlIHJldm9rZWQgY2VydGlmaWNhdGUuCiA8L2RsPgpAQCAtMTIzLDcgKzEyMyw3IEBACiAgIGJvcmRlcj0iMCIgaGVpZ2h0PSIzMiIKICAgYWx0PSIiIHdpZHRoPSIzMiI+PC90ZD4KIDwvdHI+PC90YWJsZT4KLTxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMSBDUkwgb2JqZWN0czwvQT4KKzxiIGNsYXNzPSJuYXZsYWJlbCI+UHJldmlvdXM6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iY3JsLmh0bWwiPjMuMS4xMCBDUkwgb2JqZWN0czwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcmFuZC5odG1sIj4zLjIgcmFuZCAgPC9BPgogPGhyPgpkaWZmIC0tZ2l0IGEvZG9jL3B5T3BlblNTTC5wcyBiL2RvYy9weU9wZW5TU0wucHMKaW5kZXggM2VlZjJjNi4uMTBhNDQwZSAxMDA2NDQKLS0tIGEvZG9jL3B5T3BlblNTTC5wcworKysgYi9kb2MvcHlPcGVuU1NMLnBzCkBAIC0xLDggKzEsOCBAQAogJSFQUy1BZG9iZS0yLjAKLSUlQ3JlYXRvcjogZHZpcHMoaykgNS45Ni4xIENvcHlyaWdodCAyMDA3IFJhZGljYWwgRXllIFNvZnR3YXJlCislJUNyZWF0b3I6IGR2aXBzKGspIDUuOTggQ29weXJpZ2h0IDIwMDkgUmFkaWNhbCBFeWUgU29mdHdhcmUKICUlVGl0bGU6IHB5T3BlblNTTC5kdmkKLSUlQ3JlYXRpb25EYXRlOiBNb24gQXByIDExIDE5OjU2OjQ1IDIwMTEKLSUlUGFnZXM6IDE4CislJUNyZWF0aW9uRGF0ZTogU3VuIEF1ZyAxNCAxODoxNjo0MiAyMDExCislJVBhZ2VzOiAxOQogJSVQYWdlT3JkZXI6IEFzY2VuZAogJSVCb3VuZGluZ0JveDogMCAwIDU5NiA4NDIKICUlRG9jdW1lbnRQYXBlclNpemVzOiBhNApAQCAtMTAsNyArMTAsNyBAQAogJURWSVBTV2ViUGFnZTogKHd3dy5yYWRpY2FsZXllLmNvbSkKICVEVklQU0NvbW1hbmRMaW5lOiBkdmlwcyAtTjAgLW8gcHlPcGVuU1NMLnBzIHB5T3BlblNTTAogJURWSVBTUGFyYW1ldGVyczogZHBpPTYwMAotJURWSVBTU291cmNlOiAgVGVYIG91dHB1dCAyMDExLjA0LjExOjE5NTYKKyVEVklQU1NvdXJjZTogIFRlWCBvdXRwdXQgMjAxMS4wOC4xNDoxODE2CiAlJUJlZ2luUHJvY1NldDogdGV4LnBybyAwIDAKICUhCiAvVGVYRGljdCAzMDAgZGljdCBkZWYgVGVYRGljdCBiZWdpbi9Oe2RlZn1kZWYvQntiaW5kIGRlZn1OL1N7ZXhjaH1OL1h7UwpAQCAtMjM5NiwxNDcgKzIzOTYsMTQ1IEBACiAxRTAwMDBGRkMwMDAzQzAwMDBGRkMwMDA3QzAwMDBGRkMwMDBGODAwMDBGRkMwMDBGRkZGRkZGRkZGODBGRkZGRkZGRkZGODAKIEZGRkZGRkZGRkY4MEZGRkZGRkZGRkY4MDAwMDAwMUZGQzAwMDAwMDAwMUZGQzAwMDAwMDAwMUZGQzAwMDAwMDAwMUZGQzAwMAogMDAwMDAxRkZDMDAwMDAwMDAxRkZDMDAwMDAwMDAxRkZDMDAwMDAwMDAxRkZDMDAwMDAwMDAxRkZDMDAwMDAwMDAxRkZDMDAwCi0wMDAzRkZGRkZGODAwMDAzRkZGRkZGODAwMDAzRkZGRkZGODAwMDAzRkZGRkZGODAyOTM2N0RCNTMwPkk8M0MwMDAwMDAwMAotMDAzRTAwMDAwMDAwMDAzRkUwMDAwMDAwMDAzRkZGRkZGRkZGODAzRkZGRkZGRkZGODAzRkZGRkZGRkZGODAzRkZGRkZGRkZGCi04MDNGRkZGRkZGRkYwMDdGRkZGRkZGRkUwMDdGRkZGRkZGRkMwMDdGRkZGRkZGRjgwMDdGRkZGRkZGRjAwMDdGRkZGRkZGRTAKLTAwN0ZGRkZGRkZFMDAwN0MwMDAwMEZDMDAwNzgwMDAwMUY4MDAwNzgwMDAwM0YwMDAwRjgwMDAwN0UwMDAwRjAwMDAwRkMwMAotMDBGMDAwMDBGODAwMDBGMDAwMDFGODAwMDBGMDAwMDNGMDAwMDAwMDAwMDdFMDAwMDAwMDAwMEZDMDAwMDAwMDAwMEZDMDAwCi0wMDAwMDAxRjgwMDAwMDAwMDAzRjgwMDAwMDAwMDA3RjAwMDAwMDAwMDA3RjAwMDAwMDAwMDBGRTAwMDAwMDAwMDBGRTAwMDAKLTAwMDAwMUZFMDAwMDAwMDAwMUZDMDAwMDAwMDAwM0ZDMDAwMDAwMDAwM0ZDMDAwMDAwMDAwN0ZDMDAwMDAwMDAwN0ZDMDAwMAotMDAwMDBGRkMwMDAwMDAwMDBGRjgwMDAwMDAwMDBGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwCi0wMDAwMUZGODAwMDAwMDAwMUZGODAwMDAwMDAwM0ZGODAwMDAwMDAwM0ZGODAwMDAwMDAwM0ZGODAwMDAwMDAwM0ZGODAwMDAKLTAwMDAzRkY4MDAwMDAwMDAzRkY4MDAwMDAwMDAzRkY4MDAwMDAwMDAzRkY4MDAwMDAwMDAzRkY4MDAwMDAwMDAxRkYwMDAwMAotMDAwMDBGRTAwMDAwMDAwMDA3QzAwMDAwMDAyOTM5N0JCNzMwPjU1IEQ8RkZGRkZGRkZGRkMwMDAwMEZGRkZGRkZGRkZGQzAwCi0wMEZGRkZGRkZGRkZGRjAwMDBGRkZGRkZGRkZGRkZDMDAwMDA3RkYwMDAwM0ZGRTAwMDAwN0ZGMDAwMDBGRkYwMDAwMDdGRjAKLTAwMDA3RkY4MDAwMDdGRjAwMDAwM0ZGQzAwMDA3RkYwMDAwMDFGRkMwMDAwN0ZGMDAwMDAxRkZFMDAwMDdGRjAwMDAwMUZGRQotMDAwMDdGRjAwMDAwMEZGRjAwMDA3RkYwMDAwMDBGRkYwMDAwN0ZGMDAwMDAwRkZGMDAwMDdGRjAwMDAwMEZGRjAwMDA3RkYwCi0wMDAwMEZGRjAwMDA3RkYwMDAwMDBGRkYwMDAwN0ZGMDAwMDAwRkZGMDAwMDdGRjAwMDAwMUZGRTAwMDA3RkYwMDAwMDFGRkUKLTAwMDA3RkYwMDAwMDFGRkMwMDAwN0ZGMDAwMDAzRkZDMDAwMDdGRjAwMDAwN0ZGODAwMDA3RkYwMDAwMEZGRjAwMDAwN0ZGMAotMDAwMUZGQzAwMDAwN0ZGMDAwMEZGRjgwMDAwMDdGRkZGRkZGRkMwMDAwMDA3RkZGRkZGRkZDMDAwMDAwN0ZGRkZGRkZGRjgwCi0wMDAwN0ZGMDAwMDBGRkYwMDAwMDdGRjAwMDAwM0ZGODAwMDA3RkYwMDAwMDFGRkMwMDAwN0ZGMDAwMDAwRkZFMDAwMDdGRjAKLTAwMDAwN0ZGMDAwMDdGRjAwMDAwMDdGRjgwMDA3RkYwMDAwMDAzRkZDMDAwN0ZGMDAwMDAwM0ZGQzAwMDdGRjAwMDAwMDNGRgotQzAwMDdGRjAwMDAwMDNGRkUwMDA3RkYwMDAwMDAzRkZFMDAwN0ZGMDAwMDAwM0ZGRTAwMDdGRjAwMDAwMDNGRkUwMDA3RkYwCi0wMDAwMDNGRkUwMDA3RkYwMDAwMDAzRkZFMDAwN0ZGMDAwMDAwM0ZGRTAwMDdGRjAwMDAwMDNGRkMwMDA3RkYwMDAwMDAzRkYKLUMwMDA3RkYwMDAwMDA3RkZDMDAwN0ZGMDAwMDAwRkZGODAwMDdGRjAwMDAwMEZGRjAwMDA3RkYwMDAwMDFGRkYwMDAwN0ZGMAotMDAwMDdGRkUwMDAwN0ZGMDAwMDFGRkZDMDBGRkZGRkZGRkZGRkZGMDAwRkZGRkZGRkZGRkZGQzAwMEZGRkZGRkZGRkZGRjAwCi0wMEZGRkZGRkZGRkZGMDAwMDAzQjM5N0RCODQ0PjY2IEQ8RkZGRkZGRkNGRkZGRkZGQ0ZGRkZGRkZDRkZGRkZGRkMwMDdGRjgKLTAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGOAotMDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4Ci0wMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgKLTAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGOAotMDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4Ci0wMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMEZGRkZGRkZDRkZGRkZGRkNGRkZGRkZGQ0ZGRkZGRkZDMUUzOTdEQjgyND43MwotRDxGRkZGRkZGRjAwMDAwMEZGRkZGRkZGMDAwMDAwRkZGRkZGRkYwMDAwMDBGRkZGRkZGRjAwMDAwMDAwN0ZGODAwMDAwMDAwCi0wMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDAKLTdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RgorMDAwM0ZGRkZGRjgwMDAwM0ZGRkZGRjgwMDAwM0ZGRkZGRjgwMDAwM0ZGRkZGRjgwMjkzNjdEQjUzMD5JPDAwMDFGRjgwMDAKKzAwMEZGRkYwMDAwMDNGRkZGQzAwMDBGRTAxRkYwMDAxRjgwMDdGODAwM0YwMDAzRkMwMDdFMDAwMUZFMDA3RTAwMDBGRTAwRgorQzAwMDBGRjAwRkMwMDAwN0YwMUZDMDAwMDdGMDFGQzAwMDA3RjAxRkUwMDAwN0YwMUZGMDAwMDdGMDFGRjgwMDA3RjAxRkZDCiswMDBGRjAxRkZGMDAwRkUwMUZGRkMwMEZFMDFGRkZFMDFGQzAwRkZGRjgzRkMwMEZGRkZFN0Y4MDA3RkZGRkZFMDAwN0ZGRkYKK0ZDMDAwM0ZGRkZGMDAwMDFGRkZGRkMwMDAwRkZGRkZGMDAwMDdGRkZGRjgwMDAzRkZGRkZDMDAwRkZGRkZGRTAwM0ZERkZGRgorRjAwN0YwN0ZGRkY4MEZFMDNGRkZGODFGQzAwRkZGRkMzRjgwMDNGRkZDN0Y4MDAwRkZGRTdGMDAwMDdGRkU3RjAwMDAxRkZFCitGRTAwMDAwN0ZFRkUwMDAwMDNGRUZFMDAwMDAxRkVGRTAwMDAwMUZFRkUwMDAwMDBGRUZFMDAwMDAwRkVGRTAwMDAwMEZDRkYKKzAwMDAwMEZDN0YwMDAwMDFGQzdGODAwMDAxRjgzRkMwMDAwM0Y4M0ZFMDAwMDdGMDFGRjAwMDBGRTAwRkZFMDA3RkMwMDNGRgorRkZGRjAwMDBGRkZGRkMwMDAwM0ZGRkYwMDAwMDAzRkY4MDAwMjczNzdDQjUzMD41NiBEPEZGRkZGRkZGRkZDMDAwMDBGRkZGCitGRkZGRkZGQzAwMDBGRkZGRkZGRkZGRkYwMDAwRkZGRkZGRkZGRkZGQzAwMDAwN0ZGMDAwMDNGRkUwMDAwMDdGRjAwMDAwRkYKK0YwMDAwMDdGRjAwMDAwN0ZGODAwMDA3RkYwMDAwMDNGRkMwMDAwN0ZGMDAwMDAxRkZDMDAwMDdGRjAwMDAwMUZGRTAwMDA3RgorRjAwMDAwMUZGRTAwMDA3RkYwMDAwMDBGRkYwMDAwN0ZGMDAwMDAwRkZGMDAwMDdGRjAwMDAwMEZGRjAwMDA3RkYwMDAwMDBGCitGRjAwMDA3RkYwMDAwMDBGRkYwMDAwN0ZGMDAwMDAwRkZGMDAwMDdGRjAwMDAwMEZGRjAwMDA3RkYwMDAwMDFGRkUwMDAwN0YKK0YwMDAwMDFGRkUwMDAwN0ZGMDAwMDAxRkZDMDAwMDdGRjAwMDAwM0ZGQzAwMDA3RkYwMDAwMDdGRjgwMDAwN0ZGMDAwMDBGRgorRjAwMDAwN0ZGMDAwMDFGRkMwMDAwMDdGRjAwMDBGRkY4MDAwMDA3RkZGRkZGRkZDMDAwMDAwN0ZGRkZGRkZGQzAwMDAwMDdGCitGRkZGRkZGRjgwMDAwMDdGRjAwMDAwRkZGMDAwMDA3RkYwMDAwMDNGRjgwMDAwN0ZGMDAwMDAxRkZDMDAwMDdGRjAwMDAwMEYKK0ZFMDAwMDdGRjAwMDAwMDdGRjAwMDA3RkYwMDAwMDA3RkY4MDAwN0ZGMDAwMDAwM0ZGQzAwMDdGRjAwMDAwMDNGRkMwMDA3RgorRjAwMDAwMDNGRkMwMDA3RkYwMDAwMDAzRkZFMDAwN0ZGMDAwMDAwM0ZGRTAwMDdGRjAwMDAwMDNGRkUwMDA3RkYwMDAwMDAzCitGRkUwMDA3RkYwMDAwMDAzRkZFMDAwN0ZGMDAwMDAwM0ZGRTAwMDdGRjAwMDAwMDNGRkUwMDA3RkYwMDAwMDAzRkZDMDAwN0YKK0YwMDAwMDAzRkZDMDAwN0ZGMDAwMDAwN0ZGQzAwMDdGRjAwMDAwMEZGRjgwMDA3RkYwMDAwMDBGRkYwMDAwN0ZGMDAwMDAxRgorRkYwMDAwN0ZGMDAwMDA3RkZFMDAwMDdGRjAwMDAxRkZGQzAwRkZGRkZGRkZGRkZGRjAwMEZGRkZGRkZGRkZGRkMwMDBGRkZGCitGRkZGRkZGRjAwMDBGRkZGRkZGRkZGRjAwMDAwM0IzOTdEQjg0ND42NiBEPEZGRkZGRkZDRkZGRkZGRkNGRkZGRkZGQ0ZGRkYKK0ZGRkMwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RgorRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGCitGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0YKK0Y4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RgorRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDAwMDdGCitGODAwMDA3RkY4MDAwMDdGRjgwMDAwN0ZGODAwMDA3RkY4MDBGRkZGRkZGQ0ZGRkZGRkZDRkZGRkZGRkNGRkZGRkZGQzFFMzkKKzdEQjgyND43MyBEPEZGRkZGRkZGMDAwMDAwRkZGRkZGRkYwMDAwMDBGRkZGRkZGRjAwMDAwMEZGRkZGRkZGMDAwMDAwMDA3RgogRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4CiAwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAKIDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMAotMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwNzgwMDA3RkY4MDAwMDA3Ci04MDAwN0ZGODAwMDAwNzgwMDA3RkY4MDAwMDA3ODAwMDdGRjgwMDAwMDc4MDAwN0ZGODAwMDAwRjgwMDA3RkY4MDAwMDBGMDAKLTAwN0ZGODAwMDAwRjAwMDA3RkY4MDAwMDBGMDAwMDdGRjgwMDAwMUYwMDAwN0ZGODAwMDAxRjAwMDA3RkY4MDAwMDNGMDAwMAotN0ZGODAwMDAzRjAwMDA3RkY4MDAwMDdGMDAwMDdGRjgwMDAwRkYwMDAwN0ZGODAwMDFGRjAwMDA3RkY4MDAwM0ZGMDAwMDdGCi1GODAwMEZGRTAwMDA3RkY4MDA3RkZFMDBGRkZGRkZGRkZGRkUwMEZGRkZGRkZGRkZGRTAwRkZGRkZGRkZGRkZFMDBGRkZGRkYKLUZGRkZGRTAwMzEzOTdEQjgzOT43NiBEPDAwMDAwMEZGRjgwMDAwMDAwMDAwMEZGRkZGODAwMDAwMDAwMDdGRkZGRkYwMDAwMAotMDAwMUZGQzAxRkZDMDAwMDAwMDdGRjAwMDdGRjAwMDAwMDFGRkMwMDAxRkZDMDAwMDAzRkYwMDAwMDdGRTAwMDAwN0ZFMDAwCi0wMDNGRjAwMDAwRkZDMDAwMDAxRkY4MDAwMUZGODAwMDAwMEZGQzAwMDNGRjgwMDAwMDBGRkUwMDA3RkYwMDAwMDAwN0ZGMDAKLTA3RkYwMDAwMDAwN0ZGMDAwRkZFMDAwMDAwMDNGRjgwMEZGRTAwMDAwMDAzRkY4MDFGRkMwMDAwMDAwMUZGQzAxRkZDMDAwMAotMDAwMUZGQzAzRkZDMDAwMDAwMDFGRkUwM0ZGQzAwMDAwMDAxRkZFMDNGRkMwMDAwMDAwMUZGRTA3RkY4MDAwMDAwMDBGRkYwCi03RkY4MDAwMDAwMDBGRkYwN0ZGODAwMDAwMDAwRkZGMDdGRjgwMDAwMDAwMEZGRjBGRkY4MDAwMDAwMDBGRkY4RkZGODAwMDAKLTAwMDBGRkY4RkZGODAwMDAwMDAwRkZGOEZGRjgwMDAwMDAwMEZGRjhGRkY4MDAwMDAwMDBGRkY4RkZGODAwMDAwMDAwRkZGOAotRkZGODAwMDAwMDAwRkZGOEZGRjgwMDAwMDAwMEZGRjhGRkY4MDAwMDAwMDBGRkY4RkZGODAwMDAwMDAwRkZGOEZGRjgwMDAwCi0wMDAwRkZGOEZGRjgwMDAwMDAwMEZGRjg3RkY4MDAwMDAwMDBGRkYwN0ZGQzAwMDAwMDAxRkZGMDdGRkMwMDAwMDAwMUZGRjAKLTdGRkMwMDAwMDAwMUZGRjAzRkZDMDAwMDAwMDFGRkUwM0ZGQzAwMDAwMDAxRkZFMDNGRkUwMDAwMDAwM0ZGRTAxRkZFMDAwMAotMDAwM0ZGQzAxRkZFMDAwMDAwMDNGRkMwMEZGRjAwMDAwMDA3RkY4MDA3RkYwMDAwMDAwN0ZGMDAwN0ZGODAwMDAwMEZGRjAwCi0wM0ZGQzAwMDAwMUZGRTAwMDFGRkMwMDAwMDFGRkMwMDAwRkZFMDAwMDAzRkY4MDAwMDdGRjAwMDAwN0ZGMDAwMDAzRkZDMDAKLTAxRkZFMDAwMDAxRkZGMDAwN0ZGQzAwMDAwMDdGRkMwMUZGRjAwMDAwMDAxRkZGRkZGRkMwMDAwMDAwMDdGRkZGRkYwMDAwMAotMDAwMDBGRkZGRjgwMDAwMDAwMDAwMEZGRjgwMDAwMDAzRDNCN0JCOTQ4Pjc5IEQ8RkZGRkZGRkZGRjAwMDBGRkZGRkZGRkZGCi1GMDAwRkZGRkZGRkZGRkZFMDBGRkZGRkZGRkZGRkY4MDAwN0ZGODAwMEZGRkMwMDA3RkY4MDAwMUZGRTAwMDdGRjgwMDAwRkYKLUYwMDA3RkY4MDAwMDdGRjgwMDdGRjgwMDAwM0ZGQzAwN0ZGODAwMDAzRkZDMDA3RkY4MDAwMDFGRkUwMDdGRjgwMDAwMUZGRQotMDA3RkY4MDAwMDFGRkYwMDdGRjgwMDAwMUZGRjAwN0ZGODAwMDAxRkZGMDA3RkY4MDAwMDFGRkYwMDdGRjgwMDAwMUZGRjAwCi03RkY4MDAwMDFGRkYwMDdGRjgwMDAwMUZGRjAwN0ZGODAwMDAxRkZGMDA3RkY4MDAwMDFGRkUwMDdGRjgwMDAwMUZGRTAwN0YKLUY4MDAwMDNGRkMwMDdGRjgwMDAwM0ZGQzAwN0ZGODAwMDA3RkY4MDA3RkY4MDAwMEZGRjAwMDdGRjgwMDAxRkZFMDAwN0ZGOAotMDAwRkZGQzAwMDdGRkZGRkZGRkYwMDAwN0ZGRkZGRkZGQzAwMDA3RkZGRkZGRkUwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwCi0wMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAKIDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMAogMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwCi0wMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwRkYKLUZGRkZGQzAwMDAwMEZGRkZGRkZDMDAwMDAwRkZGRkZGRkMwMDAwMDBGRkZGRkZGQzAwMDAwMDM4Mzk3REI4NDE+STwwMDA3Ci1GRjAwMEUwMDAwM0ZGRkUwMUUwMDAwRkZGRkY4M0UwMDAzRkZGRkZFN0UwMDA3RkMwMUZGRkUwMDBGRjAwMDFGRkUwMDFGRTAKLTAwMEZGRTAwM0ZDMDAwMDNGRTAwM0Y4MDAwMDFGRTAwN0Y4MDAwMDBGRTAwN0YwMDAwMDBGRTAwN0YwMDAwMDA3RTAwRkYwMAotMDAwMDdFMDBGRjAwMDAwMDNFMDBGRjAwMDAwMDNFMDBGRjgwMDAwMDNFMDBGRjgwMDAwMDFFMDBGRkMwMDAwMDFFMDBGRkUwCi0wMDAwMUUwMEZGRjAwMDAwMDAwMEZGRkMwMDAwMDAwMDdGRkZFMDAwMDAwMDdGRkZGRTAwMDAwMDdGRkZGRkYwMDAwMDNGRkYKLUZGRkUwMDAwM0ZGRkZGRkY4MDAwMUZGRkZGRkZDMDAwMEZGRkZGRkZGMDAwMDdGRkZGRkZGODAwMDNGRkZGRkZGQzAwMDBGRgotRkZGRkZFMDAwMDNGRkZGRkZFMDAwMDBGRkZGRkZGMDAwMDAxRkZGRkZGMDAwMDAwMEZGRkZGODAwMDAwMDA3RkZGODAwMDAwCi0wMDBGRkZDMDAwMDAwMDAzRkZDMDAwMDAwMDAxRkZDMDAwMDAwMDAwRkZDMEYwMDAwMDAwN0ZDMEYwMDAwMDAwN0ZDMEYwMDAKLTAwMDA3RkMwRjAwMDAwMDAzRkMwRjAwMDAwMDAzRkMwRjgwMDAwMDAzRkMwRjgwMDAwMDAzRjgwRkMwMDAwMDAzRjgwRkMwMAotMDAwMDdGODBGRTAwMDAwMDdGMDBGRjAwMDAwMDdGMDBGRjgwMDAwMEZFMDBGRkUwMDAwMUZDMDBGRkY4MDAwM0ZDMDBGRkZGCi04MDFGRjgwMEZDRkZGRkZGRTAwMEY4M0ZGRkZGQzAwMEYwMDdGRkZFMDAwMEUwMDA3RkYwMDAwMDJBM0I3QkI5MzU+ODMKLUQ8MDAzRkZFMDAwMDAwMDNGRkZGRTAwMDAwMEZGRkZGRjgwMDAwMUZGMDBGRkUwMDAwM0ZGMDAzRkYwMDAwM0ZGODAxRkY4MAotMDAzRkY4MDBGRkMwMDAzRkY4MDBGRkMwMDAzRkY4MDA3RkUwMDAzRkY4MDA3RkUwMDAxRkYwMDA3RkUwMDAwRkUwMDA3RkUwCi0wMDAzODAwMDdGRTAwMDAwMDAwMDdGRTAwMDAwMDAwMDdGRTAwMDAwMDAzRkZGRTAwMDAwMEZGRkZGRTAwMDAwN0ZGRkZGRTAKLTAwMDFGRkY4N0ZFMDAwMDdGRjgwN0ZFMDAwMEZGRTAwN0ZFMDAwM0ZGODAwN0ZFMDAwM0ZGMDAwN0ZFMDAwN0ZFMDAwN0ZFMAotMDBGRkUwMDA3RkUwMDBGRkMwMDA3RkUwMDBGRkMwMDA3RkUwMDBGRkMwMDA3RkUwMDBGRkMwMDA3RkUwMDBGRkMwMDBGRkUwCi0wMEZGRTAwMUZGRTAwMDdGRTAwMUZGRTAwMDNGRjAwN0ZGRjgwMDFGRkMxRkJGRkZDMDBGRkZGRTFGRkZDMDAzRkZGODBGRkYKLUMwMDAzRkUwMDNGRkMwMkEyNTdEQTQyRT45NyBEPDAwMDFGRkMwMDAwMDBGRkZGQzAwMDA3RkZGRkYwMDAwRkY4MEZGODAwMwotRkUwMEZGQzAwN0ZDMDFGRkMwMEZGODAxRkZDMDFGRjgwMUZGQzAxRkYwMDFGRkMwM0ZGMDAxRkZDMDNGRjAwMEZGODA3RkUwCi0wMDdGMDA3RkUwMDAxQzAwN0ZFMDAwMDAwMEZGRTAwMDAwMDBGRkUwMDAwMDAwRkZFMDAwMDAwMEZGRTAwMDAwMDBGRkUwMDAKLTAwMDBGRkUwMDAwMDAwRkZFMDAwMDAwMEZGRTAwMDAwMDBGRkUwMDAwMDAwN0ZFMDAwMDAwMDdGRTAwMDAwMDA3RkYwMDAwMAotMDAzRkYwMDAwMDAwM0ZGMDAwMDFFMDFGRjgwMDAxRTAxRkY4MDAwM0UwMEZGQzAwMDdDMDA3RkUwMDA3ODAwM0ZGMDAxRjgwCi0wMEZGQzA3RTAwMDA3RkZGRkMwMDAwMEZGRkYwMDAwMDAxRkY4MDAwMjMyNTdEQTQyQT45OQotRDwwMDAwMDAwMDdGODAwMDAwMDA3RkZGODAwMDAwMDA3RkZGODAwMDAwMDA3RkZGODAwMDAwMDA3RkZGODAwMDAwMDAwM0ZGCi04MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkYKLTgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRgotODAwMDAwMDAwMUZGODAwMDAwMDAwMUZGODAwMDAwMDAwMUZGODAwMDAxRkY4MUZGODAwMDBGRkZGMUZGODAwMDNGRkZGREZGCi04MDAwRkZDMDdGRkY4MDAzRkYwMDFGRkY4MDA3RkMwMDA3RkY4MDBGRkMwMDAzRkY4MDFGRjgwMDAxRkY4MDFGRjAwMDAxRkYKLTgwM0ZGMDAwMDFGRjgwM0ZGMDAwMDFGRjgwN0ZFMDAwMDFGRjgwN0ZFMDAwMDFGRjgwN0ZFMDAwMDFGRjgwRkZFMDAwMDFGRgotODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGCi04MEZGRTAwMDAxRkY4MEZGRTAwMDAxRkY4MEZGRTAwMDAxRkY4MDdGRTAwMDAxRkY4MDdGRTAwMDAxRkY4MDdGRjAwMDAxRkYKLTgwM0ZGMDAwMDFGRjgwM0ZGMDAwMDFGRjgwMUZGODAwMDNGRjgwMEZGODAwMDdGRjgwMDdGQzAwMEZGRjgwMDNGRTAwMUZGRgotQzAwMUZGODBGREZGRkUwMDdGRkZGOUZGRkUwMDFGRkZFMUZGRkUwMDAxRkYwMUZGRkUyRjNBN0RCOTM1Pkk8MDAwM0ZGODAKLTAwMDAxRkZGRjAwMDAwN0ZGRkZDMDAwMUZGODNGRTAwMDNGRTAwN0Y4MDA3RkMwMDNGODAwRkY4MDAzRkMwMUZGODAwMUZFMAotMUZGMDAwMUZFMDNGRjAwMDBGRjAzRkYwMDAwRkYwN0ZFMDAwMEZGMDdGRTAwMDBGRjg3RkUwMDAwN0Y4RkZFMDAwMDdGOEZGCi1FMDAwMDdGOEZGRkZGRkZGRjhGRkZGRkZGRkY4RkZGRkZGRkZGOEZGRTAwMDAwMDBGRkUwMDAwMDAwRkZFMDAwMDAwMEZGRTAKLTAwMDAwMDdGRTAwMDAwMDA3RkUwMDAwMDAwN0ZFMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDc4MUZGMDAwMDA3ODBGRjgwMAotMDBGODBGRkMwMDAwRjAwN0ZDMDAwM0YwMDFGRjAwMEZFMDAwRkZDMDdGQzAwMDdGRkZGRjAwMDAwRkZGRkMwMDAwMDFGRkUwCi0wMDI1MjU3REE0MkM+STwwMDAwMUZGMDAwMDAwMUZGRkMwMDAwMDdGRkZGMDAwMDFGRjg3RjgwMDAzRkUwRkY4MDAwRkZDMQotRkZDMDAwRkZDMUZGQzAwMUZGODFGRkMwMDFGRjgxRkZDMDAzRkYwMUZGQzAwM0ZGMDBGRjgwMDNGRjAwRkY4MDAzRkYwMDNFCi0wMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAKLTAzRkYwMDAwMDBGRkZGRkYwMDAwRkZGRkZGMDAwMEZGRkZGRjAwMDBGRkZGRkYwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwMwotRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGCi0wMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAKKzAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDA3ODAwMAorN0ZGODAwMDAwNzgwMDA3RkY4MDAwMDA3ODAwMDdGRjgwMDAwMDc4MDAwN0ZGODAwMDAwNzgwMDA3RkY4MDAwMDBGODAwMDdGCitGODAwMDAwRjAwMDA3RkY4MDAwMDBGMDAwMDdGRjgwMDAwMEYwMDAwN0ZGODAwMDAxRjAwMDA3RkY4MDAwMDFGMDAwMDdGRjgKKzAwMDAzRjAwMDA3RkY4MDAwMDNGMDAwMDdGRjgwMDAwN0YwMDAwN0ZGODAwMDBGRjAwMDA3RkY4MDAwMUZGMDAwMDdGRjgwMAorMDNGRjAwMDA3RkY4MDAwRkZFMDAwMDdGRjgwMDdGRkUwMEZGRkZGRkZGRkZGRTAwRkZGRkZGRkZGRkZFMDBGRkZGRkZGRkZGCitGRTAwRkZGRkZGRkZGRkZFMDAzMTM5N0RCODM5Pjc2IEQ8MDAwMDAwRkZGODAwMDAwMDAwMDAwRkZGRkY4MDAwMDAwMDAwN0YKK0ZGRkZGMDAwMDAwMDAxRkZDMDFGRkMwMDAwMDAwN0ZGMDAwN0ZGMDAwMDAwMUZGQzAwMDFGRkMwMDAwMDNGRjAwMDAwN0ZFMAorMDAwMDdGRTAwMDAwM0ZGMDAwMDBGRkMwMDAwMDFGRjgwMDAxRkY4MDAwMDAwRkZDMDAwM0ZGODAwMDAwMEZGRTAwMDdGRjAwCiswMDAwMDdGRjAwMDdGRjAwMDAwMDA3RkYwMDBGRkUwMDAwMDAwM0ZGODAwRkZFMDAwMDAwMDNGRjgwMUZGQzAwMDAwMDAxRkYKK0MwMUZGQzAwMDAwMDAxRkZDMDNGRkMwMDAwMDAwMUZGRTAzRkZDMDAwMDAwMDFGRkUwM0ZGQzAwMDAwMDAxRkZFMDdGRjgwMAorMDAwMDAwRkZGMDdGRjgwMDAwMDAwMEZGRjA3RkY4MDAwMDAwMDBGRkYwN0ZGODAwMDAwMDAwRkZGMEZGRjgwMDAwMDAwMEZGCitGOEZGRjgwMDAwMDAwMEZGRjhGRkY4MDAwMDAwMDBGRkY4RkZGODAwMDAwMDAwRkZGOEZGRjgwMDAwMDAwMEZGRjhGRkY4MDAKKzAwMDAwMEZGRjhGRkY4MDAwMDAwMDBGRkY4RkZGODAwMDAwMDAwRkZGOEZGRjgwMDAwMDAwMEZGRjhGRkY4MDAwMDAwMDBGRgorRjhGRkY4MDAwMDAwMDBGRkY4RkZGODAwMDAwMDAwRkZGODdGRjgwMDAwMDAwMEZGRjA3RkZDMDAwMDAwMDFGRkYwN0ZGQzAwCiswMDAwMDFGRkYwN0ZGQzAwMDAwMDAxRkZGMDNGRkMwMDAwMDAwMUZGRTAzRkZDMDAwMDAwMDFGRkUwM0ZGRTAwMDAwMDAzRkYKK0UwMUZGRTAwMDAwMDAzRkZDMDFGRkUwMDAwMDAwM0ZGQzAwRkZGMDAwMDAwMDdGRjgwMDdGRjAwMDAwMDA3RkYwMDA3RkY4MAorMDAwMDBGRkYwMDAzRkZDMDAwMDAxRkZFMDAwMUZGQzAwMDAwMUZGQzAwMDBGRkUwMDAwMDNGRjgwMDAwN0ZGMDAwMDA3RkYwCiswMDAwM0ZGQzAwMDFGRkUwMDAwMDFGRkYwMDA3RkZDMDAwMDAwN0ZGQzAxRkZGMDAwMDAwMDFGRkZGRkZGQzAwMDAwMDAwN0YKK0ZGRkZGMDAwMDAwMDAwMEZGRkZGODAwMDAwMDAwMDAwRkZGODAwMDAwMDNEM0I3QkI5NDg+NzkKK0Q8RkZGRkZGRkZGRjAwMDBGRkZGRkZGRkZGRjAwMEZGRkZGRkZGRkZGRTAwRkZGRkZGRkZGRkZGODAwMDdGRjgwMDBGRkZDMAorMDA3RkY4MDAwMUZGRTAwMDdGRjgwMDAwRkZGMDAwN0ZGODAwMDA3RkY4MDA3RkY4MDAwMDNGRkMwMDdGRjgwMDAwM0ZGQzAwCis3RkY4MDAwMDFGRkUwMDdGRjgwMDAwMUZGRTAwN0ZGODAwMDAxRkZGMDA3RkY4MDAwMDFGRkYwMDdGRjgwMDAwMUZGRjAwN0YKK0Y4MDAwMDFGRkYwMDdGRjgwMDAwMUZGRjAwN0ZGODAwMDAxRkZGMDA3RkY4MDAwMDFGRkYwMDdGRjgwMDAwMUZGRjAwN0ZGOAorMDAwMDFGRkUwMDdGRjgwMDAwMUZGRTAwN0ZGODAwMDAzRkZDMDA3RkY4MDAwMDNGRkMwMDdGRjgwMDAwN0ZGODAwN0ZGODAwCiswMEZGRjAwMDdGRjgwMDAxRkZFMDAwN0ZGODAwMEZGRkMwMDA3RkZGRkZGRkZGMDAwMDdGRkZGRkZGRkMwMDAwN0ZGRkZGRkYKK0UwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMAorMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwCiswMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDAKKzdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RkY4MDAwMDAwMDAwMDdGRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwMDA3RgorRjgwMDAwMDAwMDAwN0ZGODAwMDAwMDAwRkZGRkZGRkMwMDAwMDBGRkZGRkZGQzAwMDAwMEZGRkZGRkZDMDAwMDAwRkZGRkZGCitGQzAwMDAwMDM4Mzk3REI4NDE+STwwMDA3RkYwMDBFMDAwMDNGRkZFMDFFMDAwMEZGRkZGODNFMDAwM0ZGRkZGRTdFMDAwNworRkMwMUZGRkUwMDBGRjAwMDFGRkUwMDFGRTAwMDBGRkUwMDNGQzAwMDAzRkUwMDNGODAwMDAxRkUwMDdGODAwMDAwRkUwMDdGCiswMDAwMDBGRTAwN0YwMDAwMDA3RTAwRkYwMDAwMDA3RTAwRkYwMDAwMDAzRTAwRkYwMDAwMDAzRTAwRkY4MDAwMDAzRTAwRkYKKzgwMDAwMDFFMDBGRkMwMDAwMDFFMDBGRkUwMDAwMDFFMDBGRkYwMDAwMDAwMDBGRkZDMDAwMDAwMDA3RkZGRTAwMDAwMDA3RgorRkZGRTAwMDAwMDdGRkZGRkYwMDAwMDNGRkZGRkZFMDAwMDNGRkZGRkZGODAwMDFGRkZGRkZGQzAwMDBGRkZGRkZGRjAwMDA3CitGRkZGRkZGODAwMDNGRkZGRkZGQzAwMDBGRkZGRkZGRTAwMDAzRkZGRkZGRTAwMDAwRkZGRkZGRjAwMDAwMUZGRkZGRjAwMDAKKzAwMEZGRkZGODAwMDAwMDA3RkZGODAwMDAwMDAwRkZGQzAwMDAwMDAwM0ZGQzAwMDAwMDAwMUZGQzAwMDAwMDAwMEZGQzBGMAorMDAwMDAwN0ZDMEYwMDAwMDAwN0ZDMEYwMDAwMDAwN0ZDMEYwMDAwMDAwM0ZDMEYwMDAwMDAwM0ZDMEY4MDAwMDAwM0ZDMEY4CiswMDAwMDAzRjgwRkMwMDAwMDAzRjgwRkMwMDAwMDA3RjgwRkUwMDAwMDA3RjAwRkYwMDAwMDA3RjAwRkY4MDAwMDBGRTAwRkYKK0UwMDAwMUZDMDBGRkY4MDAwM0ZDMDBGRkZGODAxRkY4MDBGQ0ZGRkZGRkUwMDBGODNGRkZGRkMwMDBGMDA3RkZGRTAwMDBFMAorMDA3RkYwMDAwMDJBM0I3QkI5MzU+ODMgRDwwMDNGRkUwMDAwMDAwM0ZGRkZFMDAwMDAwRkZGRkZGODAwMDAxRkYwMEZGRTAwCiswMDNGRjAwM0ZGMDAwMDNGRjgwMUZGODAwMDNGRjgwMEZGQzAwMDNGRjgwMEZGQzAwMDNGRjgwMDdGRTAwMDNGRjgwMDdGRTAKKzAwMUZGMDAwN0ZFMDAwMEZFMDAwN0ZFMDAwMDM4MDAwN0ZFMDAwMDAwMDAwN0ZFMDAwMDAwMDAwN0ZFMDAwMDAwMDNGRkZFMAorMDAwMDBGRkZGRkUwMDAwMDdGRkZGRkUwMDAwMUZGRjg3RkUwMDAwN0ZGODA3RkUwMDAwRkZFMDA3RkUwMDAzRkY4MDA3RkUwCiswMDNGRjAwMDdGRTAwMDdGRTAwMDdGRTAwMEZGRTAwMDdGRTAwMEZGQzAwMDdGRTAwMEZGQzAwMDdGRTAwMEZGQzAwMDdGRTAKKzAwRkZDMDAwN0ZFMDAwRkZDMDAwRkZFMDAwRkZFMDAxRkZFMDAwN0ZFMDAxRkZFMDAwM0ZGMDA3RkZGODAwMUZGQzFGQkZGRgorQzAwRkZGRkUxRkZGQzAwM0ZGRjgwRkZGQzAwMDNGRTAwM0ZGQzAyQTI1N0RBNDJFPjk3IEQ8MDAwMUZGQzAwMDAwMEZGRkZDCiswMDAwN0ZGRkZGMDAwMEZGODBGRjgwMDNGRTAwRkZDMDA3RkMwMUZGQzAwRkY4MDFGRkMwMUZGODAxRkZDMDFGRjAwMUZGQzAKKzNGRjAwMUZGQzAzRkYwMDBGRjgwN0ZFMDAwN0YwMDdGRTAwMDFDMDA3RkUwMDAwMDAwRkZFMDAwMDAwMEZGRTAwMDAwMDBGRgorRTAwMDAwMDBGRkUwMDAwMDAwRkZFMDAwMDAwMEZGRTAwMDAwMDBGRkUwMDAwMDAwRkZFMDAwMDAwMEZGRTAwMDAwMDA3RkUwCiswMDAwMDA3RkUwMDAwMDAwN0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMUUwMUZGODAwMDFFMDFGRjgwMDAzRTAwRkZDMDAKKzA3QzAwN0ZFMDAwNzgwMDNGRjAwMUY4MDAwRkZDMDdFMDAwMDdGRkZGQzAwMDAwRkZGRjAwMDAwMDFGRjgwMDAyMzI1N0RBNAorMkE+OTkgRDwwMDAwMDAwMDdGODAwMDAwMDA3RkZGODAwMDAwMDA3RkZGODAwMDAwMDA3RkZGODAwMDAwMDA3RkZGODAwMDAwCiswMDAzRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAwMDAxRkY4MDAwMDAKKzAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMDAwMDFGRjgwMDAwMAorMDAwMUZGODAwMDAwMDAwMUZGODAwMDAwMDAwMUZGODAwMDAwMDAwMUZGODAwMDAxRkY4MUZGODAwMDBGRkZGMUZGODAwMDNGCitGRkZERkY4MDAwRkZDMDdGRkY4MDAzRkYwMDFGRkY4MDA3RkMwMDA3RkY4MDBGRkMwMDAzRkY4MDFGRjgwMDAxRkY4MDFGRjAKKzAwMDFGRjgwM0ZGMDAwMDFGRjgwM0ZGMDAwMDFGRjgwN0ZFMDAwMDFGRjgwN0ZFMDAwMDFGRjgwN0ZFMDAwMDFGRjgwRkZFMAorMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwMDAwMUZGODBGRkUwCiswMDAxRkY4MEZGRTAwMDAxRkY4MEZGRTAwMDAxRkY4MEZGRTAwMDAxRkY4MDdGRTAwMDAxRkY4MDdGRTAwMDAxRkY4MDdGRjAKKzAwMDFGRjgwM0ZGMDAwMDFGRjgwM0ZGMDAwMDFGRjgwMUZGODAwMDNGRjgwMEZGODAwMDdGRjgwMDdGQzAwMEZGRjgwMDNGRQorMDAxRkZGQzAwMUZGODBGREZGRkUwMDdGRkZGOUZGRkUwMDFGRkZFMUZGRkUwMDAxRkYwMUZGRkUyRjNBN0RCOTM1Pkk8MDAKKzAzRkY4MDAwMDAxRkZGRjAwMDAwN0ZGRkZDMDAwMUZGODNGRTAwMDNGRTAwN0Y4MDA3RkMwMDNGODAwRkY4MDAzRkMwMUZGOAorMDAxRkUwMUZGMDAwMUZFMDNGRjAwMDBGRjAzRkYwMDAwRkYwN0ZFMDAwMEZGMDdGRTAwMDBGRjg3RkUwMDAwN0Y4RkZFMDAwCiswN0Y4RkZFMDAwMDdGOEZGRkZGRkZGRjhGRkZGRkZGRkY4RkZGRkZGRkZGOEZGRTAwMDAwMDBGRkUwMDAwMDAwRkZFMDAwMDAKKzAwRkZFMDAwMDAwMDdGRTAwMDAwMDA3RkUwMDAwMDAwN0ZFMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDc4MUZGMDAwMDA3OAorMEZGODAwMDBGODBGRkMwMDAwRjAwN0ZDMDAwM0YwMDFGRjAwMEZFMDAwRkZDMDdGQzAwMDdGRkZGRjAwMDAwRkZGRkMwMDAwCiswMUZGRTAwMDI1MjU3REE0MkM+STwwMDAwMUZGMDAwMDAwMUZGRkMwMDAwMDdGRkZGMDAwMDFGRjg3RjgwMDAzRkUwRkY4MAorMDBGRkMxRkZDMDAwRkZDMUZGQzAwMUZGODFGRkMwMDFGRjgxRkZDMDAzRkYwMUZGQzAwM0ZGMDBGRjgwMDNGRjAwRkY4MDAzCitGRjAwM0UwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYKKzAwMDAwMDAzRkYwMDAwMDBGRkZGRkYwMDAwRkZGRkZGMDAwMEZGRkZGRjAwMDBGRkZGRkYwMDAwMDNGRjAwMDAwMDAzRkYwMAogMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwCi0wMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwRkZGRkZFMDAwMEZGRkZGRTAwMDAKLUZGRkZGRTAwMDBGRkZGRkUwMDAwMjIzQTdEQjkxRD5JPDAwMDAwMDAwMUYwMDAwMDdGRTAwRkZDMDAwN0ZGRkUzRkZDMDAxCi1GRkZGRkZFRkUwMDdGRTA3RkY4RkUwMEZGODAxRkYxRkUwMUZGMDAwRkY4RkUwM0ZGMDAwRkZDRkUwM0ZFMDAwN0ZDN0MwM0YKLUUwMDA3RkMwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RkUwMDA3RgotRTAwMDdGRTAwMDNGRTAwMDdGQzAwMDNGRTAwMDdGQzAwMDNGRjAwMEZGQzAwMDFGRjAwMEZGODAwMDBGRjgwMUZGMDAwMDA3Ci1GRTA3RkUwMDAwMEZGRkZGRjgwMDAwMEY3RkZGRTAwMDAwMUUwN0ZFMDAwMDAwMUUwMDAwMDAwMDAwMUUwMDAwMDAwMDAwM0UKLTAwMDAwMDAwMDAzRjAwMDAwMDAwMDAzRjgwMDAwMDAwMDAxRkMwMDAwMDAwMDAxRkZGRkZGODAwMDAxRkZGRkZGRjgwMDAxRgotRkZGRkZGRTAwMDBGRkZGRkZGRjgwMDA3RkZGRkZGRkMwMDAzRkZGRkZGRkUwMDA3RkZGRkZGRkUwMDFGRkZGRkZGRkYwMDNGCi1DMDAwMEZGRjAwN0YwMDAwMDBGRjgwRkYwMDAwMDA3RjgwRkUwMDAwMDA3RjgwRkUwMDAwMDAzRjgwRkUwMDAwMDAzRjgwRkUKLTAwMDAwMDNGODBGRjAwMDAwMDdGODA3RjAwMDAwMDdGMDA3RjgwMDAwMEZGMDAzRkMwMDAwMUZFMDAxRkYwMDAwN0ZDMDAwNwotRkUwMDNGRjAwMDAxRkZGRkZGQzAwMDAwN0ZGRkZGMDAwMDAwMDdGRkYwMDAwMDJCMzc3REE1MzA+STwwMEZGMDAwMDAwMDAKLUZGRkYwMDAwMDAwMEZGRkYwMDAwMDAwMEZGRkYwMDAwMDAwMEZGRkYwMDAwMDAwMDA3RkYwMDAwMDAwMDAzRkYwMDAwMDAwMAotMDNGRjAwMDAwMDAwMDNGRjAwMDAwMDAwMDNGRjAwMDAwMDAwMDNGRjAwMDAwMDAwMDNGRjAwMDAwMDAwMDNGRjAwMDAwMDAwCi0wM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAKLTAzRkYwMDAwMDAwMDAzRkYwMDAwMDAwMDAzRkYwMDdGQzAwMDAzRkYwM0ZGRjgwMDAzRkYwRkZGRkUwMDAzRkYxRjAzRkYwMAotMDNGRjNDMDFGRjgwMDNGRjc4MDFGRjgwMDNGRkYwMDBGRjgwMDNGRkUwMDBGRkMwMDNGRkMwMDBGRkMwMDNGRkMwMDBGRkMwCi0wM0ZGODAwMEZGQzAwM0ZGODAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAKLTAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMAotMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwCi0wM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzBGRkZGRkMzRkZGRkYKLUZGRkZGQzNGRkZGRkZGRkZGQzNGRkZGRkZGRkZGQzNGRkZGRjMwM0E3REI5MzU+STwwMUYwMDAwN0ZDMDAwRkZFMDAwRkZFCi0wMDFGRkYwMDFGRkYwMDFGRkYwMDFGRkYwMDFGRkYwMDBGRkUwMDBGRkUwMDA3RkMwMDAxRjAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRjAwN0ZGRjAwN0ZGRjAwN0ZGRjAwN0ZGRjAwMDdGRgorMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwCiswM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDMKK0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDAwM0ZGMDAwMDAwMDNGRjAwMDAwMDAzRkYwMDAwMDBGRkZGRkUwMDAwRkZGRgorRkUwMDAwRkZGRkZFMDAwMEZGRkZGRTAwMDAyMjNBN0RCOTFEPkk8MDAwMDAwMDAxRjAwMDAwN0ZFMDBGRkMwMDA3RkZGRTMKK0ZGQzAwMUZGRkZGRkVGRTAwN0ZFMDdGRjhGRTAwRkY4MDFGRjFGRTAxRkYwMDBGRjhGRTAzRkYwMDBGRkNGRTAzRkUwMDA3RgorQzdDMDNGRTAwMDdGQzAwMDdGRTAwMDdGRTAwMDdGRTAwMDdGRTAwMDdGRTAwMDdGRTAwMDdGRTAwMDdGRTAwMDdGRTAwMDdGCitFMDAwN0ZFMDAwN0ZFMDAwM0ZFMDAwN0ZDMDAwM0ZFMDAwN0ZDMDAwM0ZGMDAwRkZDMDAwMUZGMDAwRkY4MDAwMEZGODAxRkYKKzAwMDAwN0ZFMDdGRTAwMDAwRkZGRkZGODAwMDAwRjdGRkZFMDAwMDAxRTA3RkUwMDAwMDAxRTAwMDAwMDAwMDAxRTAwMDAwMAorMDAwMDNFMDAwMDAwMDAwMDNGMDAwMDAwMDAwMDNGODAwMDAwMDAwMDFGQzAwMDAwMDAwMDFGRkZGRkY4MDAwMDFGRkZGRkZGCis4MDAwMUZGRkZGRkZFMDAwMEZGRkZGRkZGODAwMDdGRkZGRkZGQzAwMDNGRkZGRkZGRTAwMDdGRkZGRkZGRTAwMUZGRkZGRkYKK0ZGMDAzRkMwMDAwRkZGMDA3RjAwMDAwMEZGODBGRjAwMDAwMDdGODBGRTAwMDAwMDdGODBGRTAwMDAwMDNGODBGRTAwMDAwMAorM0Y4MEZFMDAwMDAwM0Y4MEZGMDAwMDAwN0Y4MDdGMDAwMDAwN0YwMDdGODAwMDAwRkYwMDNGQzAwMDAxRkUwMDFGRjAwMDA3CitGQzAwMDdGRTAwM0ZGMDAwMDFGRkZGRkZDMDAwMDA3RkZGRkYwMDAwMDAwN0ZGRjAwMDAwMkIzNzdEQTUzMD5JPDAwRkYwMAorMDAwMDAwRkZGRjAwMDAwMDAwRkZGRjAwMDAwMDAwRkZGRjAwMDAwMDAwRkZGRjAwMDAwMDAwMDdGRjAwMDAwMDAwMDNGRjAwCiswMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAwMDAwMDAwM0ZGMDAKKzAwMDAwMDAzRkYwMDAwMDAwMDAzRkYwMDAwMDAwMDAzRkYwMDAwMDAwMDAzRkYwMDAwMDAwMDAzRkYwMDAwMDAwMDAzRkYwMAorMDAwMDAwMDNGRjAwMDAwMDAwMDNGRjAwMDAwMDAwMDNGRjAwN0ZDMDAwMDNGRjAzRkZGODAwMDNGRjBGRkZGRTAwMDNGRjFGCiswM0ZGMDAwM0ZGM0MwMUZGODAwM0ZGNzgwMUZGODAwM0ZGRjAwMEZGODAwM0ZGRTAwMEZGQzAwM0ZGQzAwMEZGQzAwM0ZGQzAKKzAwRkZDMDAzRkY4MDAwRkZDMDAzRkY4MDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMAorMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwCiswMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAwMEZGQzAwM0ZGMDAKKzAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMDAzRkYwMDAwRkZDMEZGRkZGQworM0ZGRkZGRkZGRkZDM0ZGRkZGRkZGRkZDM0ZGRkZGRkZGRkZDM0ZGRkZGMzAzQTdEQjkzNT5JPDAxRjAwMDA3RkMwMDBGRkUKKzAwMEZGRTAwMUZGRjAwMUZGRjAwMUZGRjAwMUZGRjAwMUZGRjAwMEZGRTAwMEZGRTAwMDdGQzAwMDFGMDAwMDAwMDAwMDAwMAorMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGMDA3RkZGMDA3RkZGMDA3RkZGMDA3RkZGCiswMDA3RkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYKIDAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRgotMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGCi0wMDAzRkYwMDAzRkYwMDAzRkYwMEZGRkZGOEZGRkZGOEZGRkZGOEZGRkZGODE1M0I3REJBMUI+STwwMEZGMDBGRkZGMDBGRgotRkYwMEZGRkYwMEZGRkYwMDA3RkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzCiswMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMEZGRkZGOEZGRkZGOEZGRkZGOEZGRkZGODE1M0I3REJBMUI+STwwMEZGMDBGRgorRkYwMEZGRkYwMEZGRkYwMEZGRkYwMDA3RkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzCiBGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDNGRjAwMDMKIEZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwMwogRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzRkYwMDAzCi1GRjAwMDNGRjAwMDNGRjAwMDNGRjAwRkZGRkZDRkZGRkZDRkZGRkZDRkZGRkZDMTYzQTdEQjkxQj4xMDgKK0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDAwM0ZGMDBGRkZGRkNGRkZGRkNGRkZGRkNGRkZGRkMxNjNBN0RCOTFCPjEwOAogRDwwMEZFMDA3RkMwMDBGRkZFMDNGRkY4MDBGRkZFMEZGRkZFMDBGRkZFMUYwM0ZGMDBGRkZFM0MwMUZGODAwN0ZFNzgwMUZGCiA4MDAzRkVGMDAwRkY4MDAzRkZFMDAwRkZDMDAzRkZDMDAwRkZDMDAzRkZDMDAwRkZDMDAzRkY4MDAwRkZDMDAzRkY4MDAwRkYKIEMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRkMwMDNGRjAwMDBGRgpAQCAtNDcwMiw5NCArNDcwMCw5MSBAQAogIGVuZAogJSVFbmRTZXR1cAogJSVQYWdlOiAxIDEKLVRlWERpY3QgYmVnaW4gMSAwIGJvcCAwIDgzIDM5MDEgOSB2IDE4OTAgNDMwIGEgRnQoUHl0aG9uKTY0Ci1iKE9wKTUgYihlblNTTCk2NCBiKE1hbnVhbCkzMzk0IDU5OSB5IEZzKFJlbGVhc2UpMzQgYigwLjEyKTI5MjcKLTk1MyB5IEZyKEplYW4tUCltKGF1bClpKENhbGRlcm9uZSkzMzg2IDEzMDcgeSBGcShBcHJpbCkyNwotYigxMSwpZygyMDExKTMwMTQgMTQ1NCB5IEZwKGV4YSluKHJrdW5AdCluKHdpc3RlZG1hdHJpeC5jb20pMTc4MQotMTY1MCB5IEZvKEFic3RyYWN0KTIwOCAxNzc5IHkgRm4oVGhpcykzMiBiKG1vKXIoZHVsZSlmKGlzKWgoYSlnKHJhdGhlcikKK1RlWERpY3QgYmVnaW4gMSAwIGJvcCAwIDgzIDM5MDEgOSB2IDE4OTAgNDUxIGEgRnQoUHl0aG9uKTY0CitiKE9wKTUgYihlblNTTCk2NCBiKE1hbnVhbCkzMzk0IDYxOSB5IEZzKFJlbGVhc2UpMzQgYigwLjEyKTI5MjcKKzk3NCB5IEZyKEplYW4tUCltKGF1bClpKENhbGRlcm9uZSkzMzEyIDEzMjggeSBGcShBdWd1c3QpMjcKK2IoMTQsKWcoMjAxMSkzMDE0IDE0NzUgeSBGcChleGEpbihya3VuQHQpbih3aXN0ZWRtYXRyaXguY29tKTE3ODEKKzE2OTcgeSBGbyhBYnN0cmFjdCkyMDggMTg0MSB5IEZuKFRoaXMpMzIgYihtbylyKGR1bGUpZihpcyloKGEpZyhyYXRoZXIpCiBnKHRoaW4pZih3cmFwcClyKGVyKWgoYXJvdW5kKWcoXChhKWcoc3Vic2V0KWYob2YpNiBiKFwpKTMyCiBiKHRoZSlnKE9wKXIoZW5TU0wpZShsaWJyYXJ5KS02IGIoLik1MiBiKFdpdGgpMzIgYih0aGluKWYod3JhcHApcihlcikKLTIwOCAxODcwIHkoSSlkKG1lYW4paCh0aGF0KWYoYSlpKGxvdClmKG9mKWgodGhlKWYob2IpdChqZWN0KWgobWV0aG8pcgorMjA4IDE5MzIgeShJKWQobWVhbiloKHRoYXQpZihhKWkobG90KWYob2YpaCh0aGUpZihvYil0KGplY3QpaChtZXRobylyCiAoZHMpZShkbyloKG5vdGhpbmcpZyhtb3JlKWcodGhhbilnKGNhbGxpbmcpaChhKWcoY29ycmVzcClyKG9uZGluZylnCi0oZnVuY3Rpb24pZihpbilnKHRoZSkyMDggMTk2MSB5KE9wKXIoZW5TU0wpMjQgYihsaWJyYXJ5KS02Ci1iKC4pMCAyMjMxIHkgRnIoQ29udGVudHMpMCAyNDE0IHkgRm0oMSk3NyBiKEluKW0odHJvKXMoZHVjdGlvbikzMjAxCi1iKDIpMCAyNTk2IHkoMik3NyBiKEJ1aWxkaW5nKTMwIGIoYW5kKWkoSW5zdGFsbGluZykyNzY1Ci1iKDIpMTI1IDI2OTYgeSBGcSgyLjEpODMgYihCdWlsZGluZykyOCBiKHRoZSlnKE1vKXIoZHVsZSlnKG9uKWYoYSlnCisoZnVuY3Rpb24pZihpbilnKHRoZSkyMDggMjAyNCB5KE9wKXIoZW5TU0wpMjQgYihsaWJyYXJ5KS02CitiKC4pMCAyMjk4IHkgRnIoQ29udGVudHMpMCAyNDgxIHkgRm0oMSk3NyBiKEluKW0odHJvKXMoZHVjdGlvbikzMjAxCitiKDIpMCAyNjYzIHkoMik3NyBiKEJ1aWxkaW5nKTMwIGIoYW5kKWkoSW5zdGFsbGluZykyNzY1CitiKDIpMTI1IDI3NjMgeSBGcSgyLjEpODMgYihCdWlsZGluZykyOCBiKHRoZSlnKE1vKXIoZHVsZSlnKG9uKWYoYSlnCiAoVW5peCloKFN5c3RlbSk4NyBiKC4pNDEgYiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmCiAoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKQotMTM0IGIoMikxMjUgMjc5NiB5KDIuMik4MyBiKEJ1aWxkaW5nKTI4IGIodGhlKWcoTW8pcihkdWxlKWcob24pZihhKWcKKzEzNCBiKDIpMTI1IDI4NjMgeSgyLjIpODMgYihCdWlsZGluZykyOCBiKHRoZSlnKE1vKXIoZHVsZSlnKG9uKWYoYSlnCiAoV2luZG8pbih3cylnKFN5c3RlbSk1OSBiKC4pNDEgYiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKQogaCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLikxMzQKLWIoMykwIDI5NzggeSBGbSgzKTc3IGIgRmwoT3BlblNTTCkyOCBiIEZtKFwwMjYpMzMgYihQeXRob24pZihpbiltCi0odGVyZmFjZSloKHRvKWUoT3ApcyhlblNTTCkyMDMwIGIoMykxMjUgMzA3OCB5IEZxKDMuMSk4MworYigzKTAgMzA0NSB5IEZtKDMpNzcgYiBGbChPcGVuU1NMKTI4IGIgRm0oXDAyNikzMyBiKFB5dGhvbilmKGluKW0KKyh0ZXJmYWNlKWgodG8pZShPcClzKGVuU1NMKTIwMzAgYigzKTEyNSAzMTQ1IHkgRnEoMy4xKTgzCiBiIEZsKGNyeXB0bykyNiBiIEZxKFwwMjYpaChHZW5lcmljKWcoY3J5cHRvZ3JhcGhpYylmKG1vKXIoZHVsZSk3OQogYiguKTQyIGIoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLikKIGgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTEzNCBiKDMpMzE1Ci0zMTc4IHkoWDUwOUV4dGVuc2lvbikyNyBiKG9iKTUgYihqZWN0cykxMDIgYiguKTQxIGIoLiloKC4pZiguKWgoLilmKC4paAotKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLikKLWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTEzNAotYig1KTMxNSAzMjc3IHkoWDUwOSkyNyBiKG9iKTUgYihqZWN0cyk3MyBiKC4pNDIgYiguKWYoLiloKC4pZiguKWgoLilnCi0oLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKQotaCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmCi0oLiloKC4pZiguKWgoLikxMzQgYig1KTMxNSAzMzc3IHkoWDUwOU5hbWUpMjcgYihvYik1Ci1iKGplY3RzKTU3IGIoLik0MSBiKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paAotKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLikKLWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLikxMzQgYig3KTMxNSAzNDc2Ci15KFg1MDlSZXEpMjcgYihvYik1IGIoamVjdHMpNjAgYiguKTQyIGIoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZgotKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLikKLWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLikxMzQKLWIoOCkzMTUgMzU3NiB5KFg1MDlTdG9yZSkyNiBiKG9iKTUgYihqZWN0cyk3OCBiKC4pNDEKKzMyNDQgeShYNTA5KTI3IGIob2IpNSBiKGplY3RzKTczIGIoLik0MiBiKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paAorKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLikKK2goLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZgorKC4paCguKTEzNCBiKDUpMzE1IDMzNDQgeShYNTA5TmFtZSkyNyBiKG9iKTUgYihqZWN0cyk1NworYiguKTQxIGIoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLikKK2YoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paAorKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTEzNCBiKDcpMzE1IDM0NDQgeShYNTA5UmVxKTI3CitiKG9iKTUgYihqZWN0cyk2MCBiKC4pNDIgYiguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloCisoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKQorZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTEzNAorYig3KTMxNSAzNTQzIHkoWDUwOVN0b3JlKTI2IGIob2IpNSBiKGplY3RzKTc4IGIoLik0MQogYiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloCiAoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKQotZiguKWgoLilmKC4paCguKWYoLiloKC4pMTM0IGIoOCkzMTUgMzY3NiB5KFBLZXkpMjggYihvYik1CitmKC4paCguKWYoLiloKC4pZiguKWgoLikxMzQgYig4KTMxNSAzNjQzIHkoUEtleSkyOCBiKG9iKTUKIGIoamVjdHMpNTggYiguKTQyIGIoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloCiAoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKQogZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTEzNAotYig4KTMxNSAzNzc1IHkoUEspbihDUzcpMjcgYihvYik1IGIoamVjdHMpNTkgYiguKTQxIGIoLiloKC4pZiguKWgoLilnCitiKDgpMzE1IDM3NDMgeShQSyluKENTNykyNyBiKG9iKTUgYihqZWN0cyk1OSBiKC4pNDEgYiguKWgoLilmKC4paCguKWcKICguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4pCiBoKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYKLSguKWgoLilmKC4paCguKTEzNCBiKDgpMzE1IDM4NzUgeShQSyluKENTMTIpMjcgYihvYik1CisoLiloKC4pZiguKWgoLikxMzQgYig4KTMxNSAzODQyIHkoUEspbihDUzEyKTI3IGIob2IpNQogYihqZWN0cyk4MSBiKC4pNDIgYiguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYKICguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pCiBmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTEzNCBiKDkpMzE1Ci0zOTc1IHkoWDUwOUV4dGVuc2lvbikyNyBiKG9iKTUgYihqZWN0cykxMDIgYiguKTQxIGIoLiloKC4pZiguKWgoLilmKC4paAorMzk0MiB5KFg1MDlFeHRlbnNpb24pMjcgYihvYik1IGIoamVjdHMpMTAyIGIoLik0MSBiKC4paCguKWYoLiloKC4pZiguKWgKICguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pCiBmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLikxMzQKLWIoOSkzMTUgNDA3NCB5KE5ldHNjYXApcihlU1BLSSkyOCBiKG9iKTUgYihqZWN0cyk1OCBiKC4pNDIKK2IoOSkzMTUgNDA0MSB5KE5ldHNjYXApcihlU1BLSSkyOCBiKG9iKTUgYihqZWN0cyk1OCBiKC4pNDIKIGIoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZgogKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLikKLWYoLiloKC4pZiguKWgoLik5MyBiKDEwKTMxNSA0MTc0IHkoQ1JMKTI4IGIob2IpNSBiKGplY3RzKTg3CitmKC4paCguKWYoLiloKC4pOTMgYigxMCkzMTUgNDE0MSB5KENSTCkyOCBiKG9iKTUgYihqZWN0cyk4NwogYiguKTQyIGIoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLikKIGgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZgogKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTkzIGIoMTApMzE1Ci00MjczIHkoUmV2KW4ob2spbihlZCkyNyBiKG9iKTUgYihqZWN0cyk4MyBiKC4pNDIgYiguKWYoLiloKC4pZyguKWYoLiloCis0MjQxIHkoUmV2KW4ob2spbihlZCkyNyBiKG9iKTUgYihqZWN0cyk4MyBiKC4pNDIgYiguKWYoLiloKC4pZyguKWYoLiloCiAoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKQogaCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmCi0oLiloKC4pOTMgYigxMCkxMjUgNDM3MyB5KDMuMik4MyBiIEZsKHJhbmQpMjYgYiBGcShcMDI2KWkoQW4pZyhpbiluCisoLiloKC4pOTMgYigxMCkxMjUgNDM0MCB5KDMuMik4MyBiIEZsKHJhbmQpMjYgYiBGcShcMDI2KWkoQW4pZyhpbiluCiAodGVyZmFjZSlmKHRvKWcodGhlKWgoT3ApcihlblNTTClnKHBzZXVkbylmKHJhbmRvbSlnKG4pbih1bSluKGIpcihlcilnCiAoZ2VuZXJhdG9yKTUwIGIoLik0MSBiKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTkzCi1iKDExKTEyNSA0NDczIHkoMy4zKTgzIGIgRmwoU1NMKTI3IGIgRnEoXDAyNilnKEFuKWkoaW4pbih0ZXJmYWNlKWQodG8paQorYigxMSkxMjUgNDQ0MCB5KDMuMyk4MyBiIEZsKFNTTCkyNyBiIEZxKFwwMjYpZyhBbilpKGluKW4odGVyZmFjZSlkKHRvKWkKICh0aGUpZyhTU0wtc3ApcihlY2lcMDM0YylmKHBhcnRzKWcob2YpaChPcClyKGVuU1NMKTY0CiBiKC4pNDIgYiguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKQotaCguKWYoLiloKC4pOTMgYigxMSkzMTUgNDU3MiB5KENvbiluKHRleHQpMjggYihvYik1IGIoamVjdHMpOTgKK2goLilmKC4paCguKTkzIGIoMTEpMzE1IDQ1NDAgeShDb24pbih0ZXh0KTI4IGIob2IpNSBiKGplY3RzKTk4CiBiKC4pNDIgYiguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKQogaCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmCi0oLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTkzIGIoMTMpMzE1IDQ2NzIgeShDb25uZWN0aW9uKTI3CisoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTkzIGIoMTMpMzE1IDQ2MzkgeShDb25uZWN0aW9uKTI3CiBiKG9iKTUgYihqZWN0cykxMDggYiguKTQyIGIoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZgogKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLikKIGYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pOTMgYigxNSkwCi00ODU1IHkgRm0oNCk3NyBiKEluKW0odGVybmFscykzMzEwIGIoMTcpMTI1IDQ5NTQgeSBGcSg0LjEpODMKKzQ4MjIgeSBGbSg0KTc3IGIoSW4pbSh0ZXJuYWxzKTMzMTAgYigxOCkxMjUgNDkyMSB5IEZxKDQuMSk4MwogYihFeGNlcHRpb25zKWkoLik0MSBiKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloCiAoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKQogZiguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pOTMKLWIoMTcpMTI1IDUwNTQgeSg0LjIpODMgYihDYWxsYmFjKW4oa3MpNjggYiguKTQyIGIoLilmKC4paCguKWYoLiloKC4pZgorYigxOCkxMjUgNTAyMSB5KDQuMik4MyBiKENhbGxiYWMpbihrcyk2OCBiKC4pNDIgYiguKWYoLiloKC4pZiguKWgoLilmCiAoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKQogZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmCi0oLiloKC4pZiguKWgoLilmKC4paCguKTkzIGIoMTgpMTI1IDUxNTQgeSg0LjMpODMgYihBKW4oY2Vzc2luZykyNworKC4paCguKWYoLiloKC4pZiguKWgoLik5MyBiKDE4KTEyNSA1MTIxIHkoNC4zKTgzIGIoQSluKGNlc3NpbmcpMjcKIGIoU28pcihjKW4oayluKGV0KWcoTWV0aG8pcihkcyk4MiBiKC4pNDIgYiguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcKICguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilnKC4pZiguKWgoLilmKC4pCi1oKC4pZiguKWgoLilmKC4paCguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLik5MyBiKDE4KXAKLTAgNTMwMCBWIGVvcCBlbmQKK2goLilmKC4paCguKWYoLiloKC4pZyguKWYoLiloKC4pZiguKWgoLilmKC4paCguKTkzIGIoMTkpcAorMCA1MjY4IFYgZW9wIGVuZAogJSVQYWdlOiAyIDIKIFRlWERpY3QgYmVnaW4gMiAxIGJvcCAwIDg1IGEgRnIoMSkxMTQgYihJbnRybylzKGR1Y3Rpb24pMAogMzE0IHkgRnEoVGhlKTQxIGIocmVhc29uKWUocCluKHlPcClyKGVuU1NMKWkodyluKGFzKWUoY3JlYXRlZCloKGlzKWgKQEAgLTUwMDUsMjI5ICs1MDAwLDIzNCBAQAogYiBGcShpbnN0YW5jZSkyNyBiKG5hbWluZylnKHRoZSlnKG1lc3NhZ2UpZShkaWdlc3QpaSh0KW4oeXApcihlKWcob2YpZwogKHRoZSloKHNpZ25hdHVyZSwpZShmb3IpZyhleGFtcGxlKWcgRmwoXDAyMHNoYTFcMDIxKXAKIEZxKC4pMjA4IDMxNzAgeShOZXcpaChpbiloKHYpbihlcnNpb24pZSgwLjExLikwIDM0MzMKLXkgRmYoWDUwOUV4dGVuc2lvbilmKG9iamVjdHMpMCAzNjM0IHkgRnEoWDUwOUV4dGVuc2lvbiloKG9iKTUKLWIoamVjdHMpMjcgYihoYSluKHYpbihlKWcodGhlKWgoZm9sbG8pbih3aW5nKWUobWV0aG8pcihkczopMAotMzc4MSB5IEZsKGdldF9zaG9ydF9uYW1lXChcKSkyMDggMzg4MCB5IEZxKFJldHJpZXYpbihlKWcodGhlKWkoc2hvcnQpZgotKGRlc2NyaXB0aXYpbihlKWcobmFtZSlnKGZvcilnKHRoaXMpaChleHRlbnNpb24uKTIwOAotNDAxMyB5KFRoZSlmKHJlc3VsdClnKGlzKWgoYSlmKGIpbih5dGUpaChzdHJpbmcpZShsaWspbihlKWkKLUZsKFwwMjBiYXNpY0NvbnN0cmFpbilvKHRzKW8oXDAyMSlwIEZxKC4pNjggYihOZXcpMjcKLWIoaW4paCh2KW4oZXJzaW9uKWUoMC4xMi4pMCA0MTYwIHkgRmwoZ2V0X2RhdGFcKFwpKTIwOAotNDI2MCB5IEZxKFJldHJpZXYpbihlKWcodGhlKWkoZGF0YSlmKGZvcilnKHRoaXMpaChleHRlbnNpb24uKTIwOAotNDM5MiB5KFRoZSlmKHJlc3VsdClnKGlzKWgodGhlKWcoQVNOLjEpZyhlbmNvKXIoZGVkKWYoZm9ybSlnKG9mKWgodGhlKWcKLShleHRlbnNpb24pZihkYXRhKWcoYXMpZyhhKWcoYiluKHl0ZSlnKHN0cmluZy4pNzQgYihOZXcpMjcKLWIoaW4paCh2KW4oZXJzaW9uKWUoMC4xMi4pMCA0NjU1IHkgRmYoWDUwOSloKG9iamVjdHMpMAotNDg1NiB5IEZxKFg1MDkpZihvYik1IGIoamVjdHMpMjcgYihoYSluKHYpbihlKWcodGhlKWgoZm9sbG8pbih3aW5nKWUKLShtZXRobylyKGRzOikwIDUwMDMgeSBGbChnZXRfaXNzdWVyXChcKSkyMDggNTEwMiB5IEZxKFJldHVybiloKGFuKWgKLShYNTA5TmFtZSllKG9iKTUgYihqZWN0KTI3IGIocmVwcmVzZW4pbih0aW5nKWYodGhlKWkoaXNzdWVyKWYob2YpZyh0aGUpCi1oKGNlcnRpXDAzNGNhdGUuKTAgNTI0OSB5IEZsKGdldF9wdWJrZXlcKFwpKTIwOCA1MzQ5Ci15IEZxKFJldHVybilmKGEpZyhQS2V5KWgob2IpNSBiKGplY3QpMjcgYihyZXByZXNlbiluKHRpbmcpZih0aGUpaQotKHB1YmxpYylnKGspbihleSlmKG9mKWcodGhlKWgoY2VydGlcMDM0Y2F0ZS4pcCAwIDU1NDkKLTM5MDEgNCB2IDAgNTY0OSBhIEZmKDMuMSk4MiBiIEZsKGNyeXB0bykyNSBiIEZmKFwwMjYpaihHZW5lcmljKWcKLShjcnlwdG9ncmFwaGljKWUobW8pcihkdWxlKTIyMzQgYig1KXAgZW9wIGVuZAoreSBGZihYNTA5KWgob2JqZWN0cykwIDM2MzQgeSBGcShYNTA5KWYob2IpNSBiKGplY3RzKTI3CitiKGhhKW4odiluKGUpZyh0aGUpaChmb2xsbyluKHdpbmcpZShtZXRobylyKGRzOikwIDM3ODEKK3kgRmwoZ2V0X2lzc3VlclwoXCkpMjA4IDM4ODAgeSBGcShSZXR1cm4paChhbiloKFg1MDlOYW1lKWUob2IpNQorYihqZWN0KTI3IGIocmVwcmVzZW4pbih0aW5nKWYodGhlKWkoaXNzdWVyKWYob2YpZyh0aGUpaChjZXJ0aVwwMzRjYXRlLikKKzAgNDAyNyB5IEZsKGdldF9wdWJrZXlcKFwpKTIwOCA0MTI3IHkgRnEoUmV0dXJuKWYoYSlnKFBLZXkpaChvYik1CitiKGplY3QpMjcgYihyZXByZXNlbiluKHRpbmcpZih0aGUpaShwdWJsaWMpZyhrKW4oZXkpZihvZilnKHRoZSloCisoY2VydGlcMDM0Y2F0ZS4pMCA0Mjc0IHkgRmwoZ2V0X3NlcmlhbF9udW1iZSlvKHJcKClvKFwpKTIwOAorNDM3MyB5IEZxKFJldHVybilmKHRoZSloKGNlcnRpXDAzNGNhdGUpZihzZXJpYWwpZyhuKW4odW0pbihiKXIoZXIuKTAKKzQ1MjAgeSBGbChnZXRfc2lnbmF0dXJlX2FsKW8oZ28pbyhyaXQpbyhobSlvKFwoXCkpMjA4Cis0NjIwIHkgRnEoUmV0dXJuKWModGhlKWcoc2lnbmF0dXJlKWYoYWxnb3JpdGhtKWcodXNlZCloKGluKWcodGhlKWgKKyhjZXJ0aVwwMzRjYXRlLikzNSBiKElmKTIzIGIodGhlKWgoYWxnb3JpdGhtKWUoaXMpaCh1bmRlXDAzNG5lZCwpaAorKHJhaXNlKWUgRmwoVmFsdWVFcnJvcilwIEZxKC4pMCA0NzY3IHkgRmwoZ2V0X3N1YmplY3RcKFwpKTIwOAorNDg2NiB5IEZxKFJldHVybikyNyBiKGFuKWgoWDUwOU5hbWUpZShvYik1IGIoamVjdCkyNworYihyZXByZXNlbiluKHRpbmcpZih0aGUpaShzdWIpNSBiKGplY3QpMjggYihvZilmKHRoZSloKGNlcnRpXDAzNGNhdGUuKTAKKzUwMTMgeSBGbChnZXRfdmVyc2lvblwoXCkpMjA4IDUxMTMgeSBGcShSZXR1cm4pZih0aGUpaChjZXJ0aVwwMzRjYXRlKWYKKyh2KW4oZXJzaW9uLikwIDUyNjAgeSBGbChnZXRfbm90QmVmb3JlXChcKSkyMDggNTM1OSB5CitGcShSZXR1cm4pZihhKWgoc3RyaW5nKWYoZ2l2aW5nKWYodGhlKWoodGltZSlmKGIpcihlZm9yZSlmKHdoaWMpbihoKWgKKyh0aGUpZyhjZXJ0aVwwMzRjYXRlKWYoaXMpZyhub3QpaCh2KS01IGIoYWxpZC4pMzcgYihUaGUpMjYKK2Ioc3RyaW5nKWcoaXMpaChmb3JtYXR0ZWQpZihhcylnKGFuKXAgMCA1NTQ5IDM5MDEgNCB2CiswIDU2NDkgYSBGZigzLjEpODIgYiBGbChjcnlwdG8pMjUgYiBGZihcMDI2KWooR2VuZXJpYylnKGNyeXB0b2dyYXBoaWMpZQorKG1vKXIoZHVsZSkyMjM0IGIoNSlwIGVvcCBlbmQKICUlUGFnZTogNiA2Ci1UZVhEaWN0IGJlZ2luIDYgNSBib3AgMCA4MyBhIEZsKGdldF9zZXJpYWxfbnVtYmUpbyhyXCgpbyhcKSkyMDgKLTE4MyB5IEZxKFJldHVybikyNyBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZihzZXJpYWwpZyhuKW4odW0pbihiKXIoZXIuKTAKLTMzMCB5IEZsKGdldF9zdWJqZWN0XChcKSkyMDggNDI5IHkgRnEoUmV0dXJuKWcoYW4paChYNTA5TmFtZSllKG9iKTUKLWIoamVjdCkyNyBiKHJlcHJlc2VuKW4odGluZylmKHRoZSlpKHN1Yik1IGIoamVjdCkyOCBiKG9mKWYodGhlKWgKLShjZXJ0aVwwMzRjYXRlLikwIDU3NiB5IEZsKGdldF92ZXJzaW9uXChcKSkyMDggNjc2IHkKLUZxKFJldHVybilmKHRoZSloKGNlcnRpXDAzNGNhdGUpZih2KW4oZXJzaW9uLikwIDgyMyB5Ci1GbChnZXRfbm90QmVmb3JlXChcKSkyMDggOTIyIHkgRnEoUmV0dXJuKWYoYSloKHN0cmluZylmKGdpdmluZylmKHRoZSlqCi0odGltZSlmKGIpcihlZm9yZSlmKHdoaWMpbihoKWgodGhlKWcoY2VydGlcMDM0Y2F0ZSlmKGlzKWcobm90KWgodiktNQotYihhbGlkLikzNyBiKFRoZSkyNiBiKHN0cmluZylnKGlzKWgoZm9ybWF0dGVkKWYoYXMpZyhhbikyMDgKLTEwMjIgeShBU04xKWgoR0VORVJBTElaRURUSU1FOikxMTEwIDEyNDYgeSBGaShZWVlZTU1ERGhobW1zc1opMTExMAotMTMzNyB5KFlZWVlNTUREaGhtbXNzK2hobW0pMTExMCAxNDI5IHkoWVlZWU1NRERoaG1tc3MtaGhtbSkyMDgKLTE1ODUgeSBGcShJZiloKG5vKWYodiktNSBiKGFsdWUpMjcgYihleGlzdHMpZyhmb3IpZyh0aGlzKWgoXDAzNGVsZCwpZwotRmwoTm9uZSllIEZxKGlzKWkocmV0dXJuZWQuKTAgMTczMiB5IEZsKGdldF9ub3RBZnRlclwoXCkpMjA4Ci0xODMyIHkgRnEoUmV0dXJuKWgoYSlnKHN0cmluZylnKGdpdmluZylnKHRoZSlnKHRpbWUpaChhZnRlcilmKHdoaWMpbihoKQotaCh0aGUpZyhjZXJ0aVwwMzRjYXRlKWUoaXMpaShub3QpZih2KS01IGIoYWxpZC4pNDMgYihUaGUpMjkKLWIoc3RyaW5nKWcoaXMpZyhmb3JtYXR0ZWQpaChhcyllKGFuKTIwOCAxOTMyIHkoQVNOMSlmKEdFTkVSQUxJWkVEVElNRTopCi0xMTEwIDIxNTYgeSBGaShZWVlZTU1ERGhobW1zc1opMTExMCAyMjQ3IHkoWVlZWU1NRERoaG1tc3MraGhtbSkxMTEwCi0yMzM4IHkoWVlZWU1NRERoaG1tc3MtaGhtbSkyMDggMjQ5NSB5IEZxKElmKWgobm8pZih2KS01CitUZVhEaWN0IGJlZ2luIDYgNSBib3AgMjA4IDgzIGEgRnEoQVNOMSkyNyBiKEdFTkVSQUxJWkVEVElNRTopMTExMAorMzA3IHkgRmkoWVlZWU1NRERoaG1tc3NaKTExMTAgMzk5IHkoWVlZWU1NRERoaG1tc3MraGhtbSkxMTEwCis0OTAgeShZWVlZTU1ERGhobW1zcy1oaG1tKTIwOCA2NDcgeSBGcShJZiloKG5vKWYodiktNQogYihhbHVlKTI3IGIoZXhpc3RzKWcoZm9yKWcodGhpcyloKFwwMzRlbGQsKWcgRmwoTm9uZSllCi1GcShpcylpKHJldHVybmVkLikwIDI2NDIgeSBGbChzZXRfbm90QmVmb3JlXCgpcCBGYyh3aGVuKTYKLWIgRmwoXCkpMjA4IDI3NDIgeSBGcShDaGFuZ2UpMzUgYih0aGUpaSh0aW1lKWYoYilyKGVmb3JlKWcod2hpYyluKGgpZworRnEoaXMpaShyZXR1cm5lZC4pMCA3OTQgeSBGbChnZXRfbm90QWZ0ZXJcKFwpKTIwOCA4OTMKK3kgRnEoUmV0dXJuKWgoYSlnKHN0cmluZylnKGdpdmluZylnKHRoZSlnKHRpbWUpaChhZnRlcilmKHdoaWMpbihoKWgKKyh0aGUpZyhjZXJ0aVwwMzRjYXRlKWUoaXMpaShub3QpZih2KS01IGIoYWxpZC4pNDMgYihUaGUpMjkKK2Ioc3RyaW5nKWcoaXMpZyhmb3JtYXR0ZWQpaChhcyllKGFuKTIwOCA5OTMgeShBU04xKWYoR0VORVJBTElaRURUSU1FOikKKzExMTAgMTIxNyB5IEZpKFlZWVlNTUREaGhtbXNzWikxMTEwIDEzMDggeShZWVlZTU1ERGhobW1zcytoaG1tKTExMTAKKzE0MDAgeShZWVlZTU1ERGhobW1zcy1oaG1tKTIwOCAxNTU2IHkgRnEoSWYpaChubylmKHYpLTUKK2IoYWx1ZSkyNyBiKGV4aXN0cylnKGZvcilnKHRoaXMpaChcMDM0ZWxkLClnIEZsKE5vbmUpZQorRnEoaXMpaShyZXR1cm5lZC4pMCAxNzAzIHkgRmwoc2V0X25vdEJlZm9yZVwoKXAgRmMod2hlbik2CitiIEZsKFwpKTIwOCAxODAzIHkgRnEoQ2hhbmdlKTM1IGIodGhlKWkodGltZSlmKGIpcihlZm9yZSlnKHdoaWMpbihoKWcKICh0aGUpaChjZXJ0aVwwMzRjYXRlKWYoaXMpZyhub3QpZyh2KS01IGIoYWxpZC4pNjMgYiBGYyh3aGVuKTQzCiBiIEZxKGlzKTM2IGIoYSlnKHN0cmluZylmKGZvcm1hdHRlZCloKGFzKWcoYW4pZyhBU04xKTIwOAotMjg0MSB5KEdFTkVSQUxJWkVEVElNRTopMTExMCAzMDY1IHkgRmkoWVlZWU1NRERoaG1tc3NaKTExMTAKLTMxNTcgeShZWVlZTU1ERGhobW1zcytoaG1tKTExMTAgMzI0OCB5KFlZWVlNTUREaGhtbXNzLWhobW0pMAotMzQ1MyB5IEZsKHNldF9ub3RBZnRlclwoKXAgRmMod2hlbik2IGIgRmwoXCkpMjA4IDM1NTIKKzE5MDIgeShHRU5FUkFMSVpFRFRJTUU6KTExMTAgMjEyNyB5IEZpKFlZWVlNTUREaGhtbXNzWikxMTEwCisyMjE4IHkoWVlZWU1NRERoaG1tc3MraGhtbSkxMTEwIDIzMDkgeShZWVlZTU1ERGhobW1zcy1oaG1tKTAKKzI1MTQgeSBGbChzZXRfbm90QWZ0ZXJcKClwIEZjKHdoZW4pNiBiIEZsKFwpKTIwOCAyNjEzCiB5IEZxKENoYW5nZSkzOCBiKHRoZSloKHRpbWUpaChhZnRlcillKHdoaWMpbihoKWgodGhlKWgoY2VydGlcMDM0Y2F0ZSllCiAoaXMpaChub3QpZyh2KS01IGIoYWxpZC4pNzEgYiBGYyh3aGVuKTQ2IGIgRnEoaXMpMzkgYihhKWcoc3RyaW5nKWYKLShmb3JtYXR0ZWQpaChhcylmKGFuKWgoQVNOMSkyMDggMzY1MiB5KEdFTkVSQUxJWkVEVElNRTopMTExMAotMzg3NiB5IEZpKFlZWVlNTUREaGhtbXNzWikxMTEwIDM5NjcgeShZWVlZTU1ERGhobW1zcytoaG1tKTExMTAKLTQwNTkgeShZWVlZTU1ERGhobW1zcy1oaG1tKTAgNDI2MyB5IEZsKGdtdGltZV9hZGpfbm90QmUpbyhmbylvKHJlXCgpbwotRmModGltZSk2IGIgRmwoXCkpMjA4IDQzNjMgeSBGcShBKW4oZGp1c3QpMjggYih0aGUpZyh0aW1lc3RhbXApZyhcKGluKWcKKyhmb3JtYXR0ZWQpaChhcylmKGFuKWgoQVNOMSkyMDggMjcxMyB5KEdFTkVSQUxJWkVEVElNRTopMTExMAorMjkzNyB5IEZpKFlZWVlNTUREaGhtbXNzWikxMTEwIDMwMjkgeShZWVlZTU1ERGhobW1zcytoaG1tKTExMTAKKzMxMjAgeShZWVlZTU1ERGhobW1zcy1oaG1tKTAgMzMyNCB5IEZsKGdtdGltZV9hZGpfbm90QmUpbyhmbylvKHJlXCgpbworRmModGltZSk2IGIgRmwoXCkpMjA4IDM0MjQgeSBGcShBKW4oZGp1c3QpMjggYih0aGUpZyh0aW1lc3RhbXApZyhcKGluKWcKIChHTVRcKSlnKHdoZW4pZyh0aGUpZihjZXJ0aVwwMzRjYXRlKWcoc3RhcnRzKWcoYilyKGVpbmcpaCh2KS01Ci1iKGFsaWQuKTAgNDUxMCB5IEZsKGdtdGltZV9hZGpfbm90QWYpbyh0ZSlvKHJcKClwIEZjKHQpbyhpbWUpNgotYiBGbChcKSkyMDggNDYwOSB5IEZxKEEpbihkanVzdCkyOCBiKHRoZSlnKHRpbWVzdGFtcClnKFwoaW4pZyhHTVRcKSlnCitiKGFsaWQuKTAgMzU3MSB5IEZsKGdtdGltZV9hZGpfbm90QWYpbyh0ZSlvKHJcKClwIEZjKHQpbyhpbWUpNgorYiBGbChcKSkyMDggMzY3MSB5IEZxKEEpbihkanVzdCkyOCBiKHRoZSlnKHRpbWVzdGFtcClnKFwoaW4pZyhHTVRcKSlnCiAod2hlbilnKHRoZSlmKGNlcnRpXDAzNGNhdGUpZyhzdG9wcylnKGIpcihlaW5nKWgodiktNQotYihhbGlkLikwIDQ3NTYgeSBGbChoYXNfZXhwaXJlZFwoXCkpMjA4IDQ4NTYgeSBGcShDaGVjKW4oa3MpMzIKK2IoYWxpZC4pMCAzODE3IHkgRmwoaGFzX2V4cGlyZWRcKFwpKTIwOCAzOTE3IHkgRnEoQ2hlYyluKGtzKTMyCiBiKHRoZSloKGNlcnRpXDAzNGNhdGUncylmKHRpbWUpaShzdGFtcClmKGFnYWluc3QpZihjdXJyZW4pbih0KWcodGltZS4pCiA1NCBiKFJldHVybnMpMzMgYih0cnVlKWcoaWYpZyh0aGUpaChjZXJ0aVwwMzRjYXRlKWUoaGFzKWgoZXhwaXJlZCkyMDgKLTQ5NTUgeShhbmQpMjcgYihmYWxzZSlnKG90aGVyd2lzZS4pMCA1MTAyIHkgRmwoc2V0X2lzc3VlclwoKXAKLUZjKGlzc3Vlcik5IGIgRmwoXCkpMjA4IDUyMDIgeSBGcShTZXQpMjggYih0aGUpZihpc3N1ZXIpZyhvZiloKHRoZSlnCi0oY2VydGlcMDM0Y2F0ZSlmKHRvKWcgRmMoaXNzdWVyKTkgYiBGcSguKTAgNTM0OSB5IEZsKHNldF9wdWJrZXlcKClwCi1GYyhwa2V5KWUgRmwoXCkpcCAwIDU1NDkgMzkwMSA0IHYgMCA1NjQ5IGEgRmYoNikyMjM5Cis0MDE3IHkoYW5kKTI3IGIoZmFsc2UpZyhvdGhlcndpc2UuKTAgNDE2NCB5IEZsKHNldF9pc3N1ZXJcKClwCitGYyhpc3N1ZXIpOSBiIEZsKFwpKTIwOCA0MjYzIHkgRnEoU2V0KTI4IGIodGhlKWYoaXNzdWVyKWcob2YpaCh0aGUpZworKGNlcnRpXDAzNGNhdGUpZih0bylnIEZjKGlzc3Vlcik5IGIgRnEoLikwIDQ0MTAgeSBGbChzZXRfcHVia2V5XCgpcAorRmMocGtleSllIEZsKFwpKTIwOCA0NTEwIHkgRnEoU2V0KTI4IGIodGhlKWYocHVibGljKWgoayluKGV5KWYob2YpaAorKHRoZSlnKGNlcnRpXDAzNGNhdGUpZih0bylnIEZjKHBrZXkpNyBiIEZxKC4pMCA0NjU2IHkKK0ZsKHNldF9zZXJpYWxfbnVtYmUpbyhyXCgpbyBGYyhzZXJpYWxubyllIEZsKFwpKTIwOCA0NzU2Cit5IEZxKFNldCkyOCBiKHRoZSlmKHNlcmlhbClnKG4pbih1bSluKGIpcihlcilnKG9mKWgodGhlKWcKKyhjZXJ0aVwwMzRjYXRlKWYodG8pZyBGYyhzZXJpYWxubyk1IGIgRnEoLikwIDQ5MDMgeSBGbChzZXRfc3ViamVjdFwoKXAKK0ZjKHN1YmplKWwoY3QpaiBGbChcKSkyMDggNTAwMyB5IEZxKFNldCkyOCBiKHRoZSlmKHN1Yik1CitiKGplY3QpMjggYihvZilnKHRoZSlnKGNlcnRpXDAzNGNhdGUpZih0bylnIEZjKHN1YmplKWwoY3QpOAorYiBGcSguKTAgNTE0OSB5IEZsKHNldF92ZXJzaW9uXCgpcCBGYyh2ZXJzaW9uKWUgRmwoXCkpMjA4Cis1MjQ5IHkgRnEoU2V0KTI4IGIodGhlKWYoY2VydGlcMDM0Y2F0ZSlnKHYpbihlcnNpb24pZih0bylpCitGYyh2ZXJzaW9uKTYgYiBGcSguKTAgNTM5NiB5IEZsKHNpZ25cKClwIEZjKHBrZXksKTI5CitiKGRpZ2VzdCk4IGIgRmwoXCkpcCAwIDU1NDkgMzkwMSA0IHYgMCA1NjQ5IGEgRmYoNikyMjM5CiBiKDMpODMgYiBGbChPcGVuU1NMKTI0IGIgRmYoXDAyNilrKFB5dGhvbilmKGludGVyZmFjZSloKHRvKWYoT3ApcgogKGVuU1NMKXAgZW9wIGVuZAogJSVQYWdlOiA3IDcKLVRlWERpY3QgYmVnaW4gNyA2IGJvcCAyMDggODMgYSBGcShTZXQpMjggYih0aGUpZihwdWJsaWMpaChrKW4oZXkpZihvZiloCi0odGhlKWcoY2VydGlcMDM0Y2F0ZSlmKHRvKWcgRmMocGtleSk3IGIgRnEoLikwIDIzMCB5Ci1GbChzZXRfc2VyaWFsX251bWJlKW8oclwoKW8gRmMoc2VyaWFsbm8pZSBGbChcKSkyMDggMzMwCi15IEZxKFNldCkyOCBiKHRoZSlmKHNlcmlhbClnKG4pbih1bSluKGIpcihlcilnKG9mKWgodGhlKWcKLShjZXJ0aVwwMzRjYXRlKWYodG8pZyBGYyhzZXJpYWxubyk1IGIgRnEoLikwIDQ3NiB5IEZsKHNldF9zdWJqZWN0XCgpcAotRmMoc3ViamUpbChjdClqIEZsKFwpKTIwOCA1NzYgeSBGcShTZXQpMjggYih0aGUpZihzdWIpNQotYihqZWN0KTI4IGIob2YpZyh0aGUpZyhjZXJ0aVwwMzRjYXRlKWYodG8pZyBGYyhzdWJqZSlsKGN0KTgKLWIgRnEoLikwIDcyMyB5IEZsKHNldF92ZXJzaW9uXCgpcCBGYyh2ZXJzaW9uKWUgRmwoXCkpMjA4Ci04MjMgeSBGcShTZXQpMjggYih0aGUpZihjZXJ0aVwwMzRjYXRlKWcodiluKGVyc2lvbilmKHRvKWkKLUZjKHZlcnNpb24pNiBiIEZxKC4pMCA5NjkgeSBGbChzaWduXCgpcCBGYyhwa2V5LCkyOSBiKGRpZ2VzdCk4Ci1iIEZsKFwpKTIwOCAxMDY5IHkgRnEoU2lnbikyMiBiKHRoZSloKGNlcnRpXDAzNGNhdGUsKWYodXNpbmcpZyh0aGUpaChrKQotbihleSlnIEZjKHBrZXkpMzEgYiBGcShhbmQpMjIgYih0aGUpaChtZXNzYWdlKWUoZGlnZXN0KWgoYWxnb3JpdGhtKWYKLShpZGVuKW4odGlcMDM0ZWQpaShiKW4oeSlmKHRoZSloKHN0cmluZylmIEZjKGRpZ2VzdCk4Ci1iIEZxKC4pMCAxMjE2IHkgRmwoc3ViamVjdF9uYW1lX2hhcylvKGhcKClvKFwpKTIwOCAxMzE2Ci15IEZxKFJldHVybikyNyBiKHRoZSloKGhhc2gpZihvZiloKHRoZSlnKGNlcnRpXDAzNGNhdGUpZihzdWIpNQotYihqZWN0LikwIDE0NjIgeSBGbChkaWdlc3RcKClwIEZjKGRpZ2VzdF9uYW1lKWggRmwoXCkpMjA4Ci0xNTYyIHkgRnEoUmV0dXJuKTM4IGIoYSlmKGRpZ2VzdCloKG9mKWcodGhlKWcoY2VydGlcMDM0Y2F0ZSwpaSh1c2luZyllCitUZVhEaWN0IGJlZ2luIDcgNiBib3AgMjA4IDgzIGEgRnEoU2lnbikyMiBiKHRoZSloKGNlcnRpXDAzNGNhdGUsKWYKKyh1c2luZylnKHRoZSloKGspbihleSlnIEZjKHBrZXkpMzEgYiBGcShhbmQpMjIgYih0aGUpaChtZXNzYWdlKWUKKyhkaWdlc3QpaChhbGdvcml0aG0pZihpZGVuKW4odGlcMDM0ZWQpaShiKW4oeSlmKHRoZSloKHN0cmluZylmCitGYyhkaWdlc3QpOCBiIEZxKC4pMCAyMzAgeSBGbChzdWJqZWN0X25hbWVfaGFzKW8oaFwoKW8oXCkpMjA4CiszMzAgeSBGcShSZXR1cm4pMjcgYih0aGUpaChoYXNoKWYob2YpaCh0aGUpZyhjZXJ0aVwwMzRjYXRlKWYoc3ViKTUKK2IoamVjdC4pMCA0NzYgeSBGbChkaWdlc3RcKClwIEZjKGRpZ2VzdF9uYW1lKWggRmwoXCkpMjA4Cis1NzYgeSBGcShSZXR1cm4pMzggYihhKWYoZGlnZXN0KWgob2YpZyh0aGUpZyhjZXJ0aVwwMzRjYXRlLClpKHVzaW5nKWUKICh0aGUpZyBGYyhkaWdlc3RfbmFtZSk0NSBiIEZxKG1ldGhvKXIoZC4pNjkgYiBGYyhkaWdlc3RfbmFtZSk0NQotYiBGcShtKW4odXN0KTM4IGIoYilyKGUpZyhhKWcoc3RyaW5nKTIwOCAxNjYyIHkoZGVzY3JpYmluZykyOAorYiBGcShtKW4odXN0KTM4IGIoYilyKGUpZyhhKWcoc3RyaW5nKTIwOCA2NzYgeShkZXNjcmliaW5nKTI4CiBiKGEpaShkaWdlc3QpZihhbGdvcml0aG0pZihzdXBwKXIob3J0ZWQpaShiKW4oeSlmKE9wKXIoZW5TU0wpaChcKGIpbih5KQogZyhFVlBfZ2V0X2RpZ2VzdGIpbih5bmFtZSwpZihzcClyKGVjaVwwMzRjYWxseVwpLik0MwotYihGKS03IGIob3IpMjA4IDE3NjEgeShleGFtcGxlLCkyNyBiIEZsKCJtZDUiKWUgRnEob3IpaQotRmwoInNoYTEiKXAgRnEoLikwIDE5MDggeSBGbChhZGRfZXh0ZW5zaW9uc1woKXAgRmMoZXgpbyh0ZW5zaW9ucyk3Ci1iIEZsKFwpKTIwOCAyMDA4IHkgRnEoQSluKGRkKTI3IGIodGhlKWgoZXh0ZW5zaW9ucylmKGluKWgodGhlKWcKK2IoRiktNyBiKG9yKTIwOCA3NzUgeShleGFtcGxlLCkyNyBiIEZsKCJtZDUiKWUgRnEob3IpaQorRmwoInNoYTEiKXAgRnEoLikwIDkyMiB5IEZsKGFkZF9leHRlbnNpb25zXCgpcCBGYyhleClvKHRlbnNpb25zKTcKK2IgRmwoXCkpMjA4IDEwMjIgeSBGcShBKW4oZGQpMjcgYih0aGUpaChleHRlbnNpb25zKWYoaW4paCh0aGUpZwogKHNlcXVlbmNlKWYgRmMoZXh0ZW5zaW9ucykzNCBiIEZxKHRvKTI3IGIodGhlKWgoY2VydGlcMDM0Y2F0ZS4pMAotMjE1NSB5IEZsKGdldF9leHRlbnNpb25fY28pbyh1bilvKHRcKFwpKTIwOCAyMjU0IHkgRnEoUmV0dXJuKWYodGhlKWgobikKKzExNjkgeSBGbChnZXRfZXh0ZW5zaW9uX2NvKW8odW4pbyh0XChcKSkyMDggMTI2OCB5IEZxKFJldHVybilmKHRoZSloKG4pCiBuKHVtKW4oYilyKGVyKWYob2YpaChleHRlbnNpb25zKWYob24pZyh0aGlzKWgoY2VydGlcMDM0Y2F0ZS4pNzMKLWIoTmV3KTI4IGIoaW4pZyh2KW4oZXJzaW9uKWUoMC4xMi4pMCAyNDAxIHkgRmwoZ2V0X2V4dGVuc2lvblwoKXAKLUZjKGluZGV4KTEwIGIgRmwoXCkpMjA4IDI1MDEgeSBGcShSZXRyaWV2KW4oZSkyNiBiKHRoZSlpKGV4dGVuc2lvbilmCitiKE5ldykyOCBiKGluKWcodiluKGVyc2lvbillKDAuMTIuKTAgMTQxNSB5IEZsKGdldF9leHRlbnNpb25cKClwCitGYyhpbmRleCkxMCBiIEZsKFwpKTIwOCAxNTE1IHkgRnEoUmV0cmlldiluKGUpMjYgYih0aGUpaShleHRlbnNpb24pZgogKG9uKWgodGhpcylmKGNlcnRpXDAzNGNhdGUpZyhhdCloKHRoZSlnKGdpdiluKGVuKWYoaW5kZXguKTIwOAotMjYzNCB5KEV4dGVuc2lvbnMpMzUgYihvbiloKGEpZihjZXJ0aVwwMzRjYXRlKWcoYXJlKWcoayluKGVwdCloKGluKWcKKzE2NDggeShFeHRlbnNpb25zKTM1IGIob24paChhKWYoY2VydGlcMDM0Y2F0ZSlnKGFyZSlnKGspbihlcHQpaChpbilnCiAob3JkZXIuKTYwIGIoVGhlKTM1IGIoaW5kZXgpaChwYXJhbWV0ZXIpZShzZWxlY3RzKWkod2hpYyluKGgpZgotKGV4dGVuc2lvbiloKHdpbGwpZyhiKXIoZSkyMDggMjczMyB5KHJldHVybmVkLilnKFRoZSkyOAorKGV4dGVuc2lvbiloKHdpbGwpZyhiKXIoZSkyMDggMTc0NyB5KHJldHVybmVkLilnKFRoZSkyOAogYihyZXR1cm5lZClmKG9iKTUgYihqZWN0KTI3IGIod2lsbCloKGIpcihlKWcoYW4pZihYNTA5RXh0ZW5zaW9uKWYKLShpbnN0YW5jZS4pNzQgYihOZXcpMjggYihpbilmKHYpbihlcnNpb24pZigwLjEyLikwIDI5OTYKLXkgRmYoWDUwOU5hbWUpZyhvYmplY3RzKTAgMzE5NyB5IEZxKFg1MDlOYW1lKWcob2IpNSBiKGplY3RzKTI3Ci1iKGhhKW4odiluKGUpZyh0aGUpaChmb2xsbyluKHdpbmcpZShtZXRobylyKGRzOikwIDMzNDQKLXkgRmwoaGFzaFwoXCkpMjA4IDM0NDMgeSBGcShSZXR1cm4pZShhbilnKGluKW4odGVnZXIpZihnaXZpbmcpZyh0aGUpaQorKGluc3RhbmNlLik3NCBiKE5ldykyOCBiKGluKWYodiluKGVyc2lvbilmKDAuMTIuKTAgMjAxMAoreSBGZihYNTA5TmFtZSlnKG9iamVjdHMpMCAyMjExIHkgRnEoWDUwOU5hbWUpZyhvYik1IGIoamVjdHMpMjcKK2IoaGEpbih2KW4oZSlnKHRoZSloKGZvbGxvKW4od2luZyllKG1ldGhvKXIoZHM6KTAgMjM1OAoreSBGbChoYXNoXChcKSkyMDggMjQ1NyB5IEZxKFJldHVybillKGFuKWcoaW4pbih0ZWdlcilmKGdpdmluZylnKHRoZSlpCiAoXDAzNHJzdClmKGZvdXIpZyhiKW4oeXRlcylmKG9mKWgodGhlKWgoTUQ1KWYoZGlnZXN0KWcob2YpZyh0aGUpaChERVIpZwotKHJlcHJlc2VuKW4odGF0aW9uKWUob2YpaCh0aGUpZyhuYW1lLikwIDM1OTAgeSBGbChkZXJcKFwpKTIwOAotMzY5MCB5IEZxKFJldHVybilqKGEpZyhzdHJpbmcpZyhnaXZpbmcpZyh0aGUpaChERVIpaChyZXByZXNlbiluKHRhdGlvbikKLWMob2Ypaih0aGUpZyhuYW1lLikwIDM4MzcgeSBGbChnZXRfY29tcG9uZW50c1woXCkpMjA4Ci0zOTM2IHkgRnEoUmV0dXJuKWYoYSlnKGxpc3QpaChvZilnKHQpbih3KW4oby10dXBsZXMpZShvZilpKHN0cmluZ3MpZQorKHJlcHJlc2VuKW4odGF0aW9uKWUob2YpaCh0aGUpZyhuYW1lLikwIDI2MDQgeSBGbChkZXJcKFwpKTIwOAorMjcwNCB5IEZxKFJldHVybilqKGEpZyhzdHJpbmcpZyhnaXZpbmcpZyh0aGUpaChERVIpaChyZXByZXNlbiluKHRhdGlvbikKK2Mob2Ypaih0aGUpZyhuYW1lLikwIDI4NTEgeSBGbChnZXRfY29tcG9uZW50c1woXCkpMjA4CisyOTUwIHkgRnEoUmV0dXJuKWYoYSlnKGxpc3QpaChvZilnKHQpbih3KW4oby10dXBsZXMpZShvZilpKHN0cmluZ3MpZQogKGdpdmluZyloKHRoZSloKGNvbXApcihvbmVuKW4odHMpZihvZiloKHRoZSlnKG5hbWUuKTAKLTQwODMgeShYNTA5TmFtZSllKG9iKTUgYihqZWN0cykyNyBiKGhhKW4odiluKGUpZyh0aGUpaChmb2xsbyluKHdpbmcpZQotKG1lbSluKGIpcihlcnM6KTAgNDIzMCB5IEZsKGNvdW50cnlOYW1lKTIwOCA0MzMwIHkgRnEoVGhlKWgoY291biluKHRyeSkKKzMwOTcgeShYNTA5TmFtZSllKG9iKTUgYihqZWN0cykyNyBiKGhhKW4odiluKGUpZyh0aGUpaChmb2xsbyluKHdpbmcpZQorKG1lbSluKGIpcihlcnM6KTAgMzI0NCB5IEZsKGNvdW50cnlOYW1lKTIwOCAzMzQ0IHkgRnEoVGhlKWgoY291biluKHRyeSkKIGcob2YpZyh0aGUpaChlbiluKHRpdCluKHkpLTcgYiguKTM3IGIgRmwoQykyNyBiIEZxKG1hKW4oeSlnKGIpcihlKWgKICh1c2VkKWcoYXMpZihhbilnKGFsaWFzKWYoZm9yKWggRmwoY291bnRyeU5hbWUpcCBGcSguKTAKLTQ0NzYgeSBGbChzdGF0ZU9yUHJvdmluY2VOKW8oYW0pbyhlKTIwOCA0NTc2IHkgRnEoVGhlKWcoc3RhdGUpaChvcillCiszNDkwIHkgRmwoc3RhdGVPclByb3ZpbmNlTilvKGFtKW8oZSkyMDggMzU5MCB5IEZxKFRoZSlnKHN0YXRlKWgob3IpZQogKHBybyluKHZpbmNlKWcob2YpaSh0aGUpZyhlbiluKHRpdCluKHkpLTcgYiguKTM3IGIgRmwoU1QpMjcKIGIgRnEobWEpbih5KWYoYilyKGUpaSh1c2VkKWcoYXMpZihhbilnKGFsaWFzKWcoZm9yKWcKLUZsKHN0YXRlT3JQcm92aW5jZSlvKE5hKW8obWUpcCBGcShcMjY3KTAgNDcyMyB5IEZsKGxvY2FsaXR5TmFtZSkyMDgKLTQ4MjMgeSBGcShUaGUpZyhsbylyKGNhbGl0KW4oeSlnKG9mKWgodGhlKWYoZW4pbih0aXQpbih5KS03CitGbChzdGF0ZU9yUHJvdmluY2UpbyhOYSlvKG1lKXAgRnEoXDI2NykwIDM3MzcgeSBGbChsb2NhbGl0eU5hbWUpMjA4CiszODM3IHkgRnEoVGhlKWcobG8pcihjYWxpdCluKHkpZyhvZiloKHRoZSlmKGVuKW4odGl0KW4oeSktNwogYiguKTM3IGIgRmwoTCkyOCBiIEZxKG1hKW4oeSllKGIpcihlKWkodXNlZClnKGFzKWYoYW4pZyhhbGlhcylnKGZvcilnCi1GbChsb2NhbGl0eU5hbWUpcCBGcSguKTAgNDk2OSB5IEZsKG9yZ2FuaXphdGlvbk5hbWUpMjA4Ci01MDY5IHkgRnEoVGhlKWcob3JnYW5pemF0aW9uKWUobmFtZSlqKG9mKWYodGhlKWgoZW4pbih0aXQpbih5KS03CitGbChsb2NhbGl0eU5hbWUpcCBGcSguKTAgMzk4MyB5IEZsKG9yZ2FuaXphdGlvbk5hbWUpMjA4Cis0MDgzIHkgRnEoVGhlKWcob3JnYW5pemF0aW9uKWUobmFtZSlqKG9mKWYodGhlKWgoZW4pbih0aXQpbih5KS03CiBiKC4pMzcgYiBGbChPKTI3IGIgRnEobWEpbih5KWcoYilyKGUpaCh1c2VkKWcoYXMpZShhbilpKGFsaWFzKWUoZm9yKWgKLUZsKG9yZ2FuaXphdGlvbk5hbWUpcCBGcSguKTAgNTIxNiB5IEZsKG9yZ2FuaXphdGlvbmFsVW4pbyhpdClvKE5hbSlvKGUpCi0yMDggNTMxNiB5IEZxKFRoZSlnKG9yZ2FuaXphdGlvbmFsKWUodW5pdClqKG9mKWcodGhlKWcoZW4pbih0aXQpbih5KS03CitGbChvcmdhbml6YXRpb25OYW1lKXAgRnEoLikwIDQyMzAgeSBGbChvcmdhbml6YXRpb25hbFVuKW8oaXQpbyhOYW0pbyhlKQorMjA4IDQzMzAgeSBGcShUaGUpZyhvcmdhbml6YXRpb25hbCllKHVuaXQpaihvZilnKHRoZSlnKGVuKW4odGl0KW4oeSktNwogYiguKTM2IGIgRmwoT1UpMjcgYiBGcShtYSluKHkpZyhiKXIoZSloKHVzZWQpZyhhcylmKGFuKWcoYWxpYXMpZihmb3IpaAotRmwob3JnYW5pemF0aW9uYWxVbmkpbyh0TilvKGFtKW8oZSlwIEZxKC4pcCAwIDU1NDkgMzkwMQotNCB2IDAgNTY0OSBhIEZmKDMuMSk4MiBiIEZsKGNyeXB0bykyNSBiIEZmKFwwMjYpaihHZW5lcmljKWcKK0ZsKG9yZ2FuaXphdGlvbmFsVW5pKW8odE4pbyhhbSlvKGUpcCBGcSguKTAgNDQ3NiB5IEZsKGNvbW1vbk5hbWUpMjA4Cis0NTc2IHkgRnEoVGhlKWcoY29tbW9uKWcobmFtZSloKG9mKWYodGhlKWgoZW4pbih0aXQpbih5KS03CitiKC4pMzcgYiBGbChDTikyNyBiIEZxKG1hKW4oeSlmKGIpcihlKWkodXNlZClnKGFzKWYoYW4pZyhhbGlhcylnKGZvcilnCitGbChjb21tb25OYW1lKXAgRnEoLikwIDQ3MjMgeSBGbChlbWFpbEFkZHJlc3MpMjA4IDQ4MjMKK3kgRnEoVGhlKWcoZS1tYWlsKWcoYWRkcmVzcylmKG9mKWkodGhlKWcoZW4pbih0aXQpbih5KS03CitiKC4pMCA1MDg2IHkgRmYoWDUwOVJlcSkyNiBiKG9iamVjdHMpMCA1Mjg2IHkgRnEoWDUwOVJlcSlnKG9iKTUKK2IoamVjdHMpMjcgYihoYSluKHYpbihlKWcodGhlKWgoZm9sbG8pbih3aW5nKWUobWV0aG8pcihkczopcAorMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZmKDMuMSk4MiBiIEZsKGNyeXB0bykyNSBiIEZmKFwwMjYpaihHZW5lcmljKWcKIChjcnlwdG9ncmFwaGljKWUobW8pcihkdWxlKTIyMzQgYig3KXAgZW9wIGVuZAogJSVQYWdlOiA4IDgKLVRlWERpY3QgYmVnaW4gOCA3IGJvcCAwIDgzIGEgRmwoY29tbW9uTmFtZSkyMDggMTgzIHkKLUZxKFRoZSkyNyBiKGNvbW1vbilnKG5hbWUpaChvZilmKHRoZSloKGVuKW4odGl0KW4oeSktNwotYiguKTM3IGIgRmwoQ04pMjcgYiBGcShtYSluKHkpZihiKXIoZSlpKHVzZWQpZyhhcylmKGFuKWcoYWxpYXMpZyhmb3IpZwotRmwoY29tbW9uTmFtZSlwIEZxKC4pMCAzMzAgeSBGbChlbWFpbEFkZHJlc3MpMjA4IDQyOQoteSBGcShUaGUpZyhlLW1haWwpZyhhZGRyZXNzKWYob2YpaSh0aGUpZyhlbiluKHRpdCluKHkpLTcKLWIoLikwIDY5MiB5IEZmKFg1MDlSZXEpMjYgYihvYmplY3RzKTAgODkzIHkgRnEoWDUwOVJlcSlnKG9iKTUKLWIoamVjdHMpMjcgYihoYSluKHYpbihlKWcodGhlKWgoZm9sbG8pbih3aW5nKWUobWV0aG8pcihkczopMAotMTA0MCB5IEZsKGdldF9wdWJrZXlcKFwpKTIwOCAxMTM5IHkgRnEoUmV0dXJuKWgoYSlnKFBLZXkpaChvYik1Ci1iKGplY3QpMjcgYihyZXByZXNlbiluKHRpbmcpZih0aGUpaShwdWJsaWMpZyhrKW4oZXkpZihvZilnKHRoZSloCi0oY2VydGlcMDM0Y2F0ZSlmKHJlcXVlc3QuKTAgMTI4NiB5IEZsKGdldF9zdWJqZWN0XChcKSkyMDgKLTEzODYgeSBGcShSZXR1cm4pZyhhbiloKFg1MDlOYW1lKWUob2IpNSBiKGplY3QpMjcgYihyZXByZXNlbiluKHRpbmcpZgotKHRoZSlpKHN1Yik1IGIoamVjdCkyOCBiKG9mKWYodGhlKWgoY2VydGlcMDM0Y2F0ZS4pMAotMTUzMiB5IEZsKHNldF9wdWJrZXlcKClwIEZjKHBrZXkpNyBiIEZsKFwpKTIwOCAxNjMyIHkKLUZxKFNldCkyOCBiKHRoZSlmKHB1YmxpYyloKGspbihleSlmKG9mKWgodGhlKWcoY2VydGlcMDM0Y2F0ZSlmKHJlcXVlc3QpCi1nKHRvKWcgRmMocGtleSk3IGIgRnEoLikwIDE3NzkgeSBGbChzaWduXCgpcCBGYyhwa2V5LCkyOQotYihkaWdlc3QpOCBiIEZsKFwpKTIwOCAxODc5IHkgRnEoU2lnbikzNiBiKHRoZSlnKGNlcnRpXDAzNGNhdGUpZwotKHJlcXVlc3QsKWgodXNpbmcpZih0aGUpZyhrKW4oZXkpaCBGYyhwa2V5KTQ1IGIgRnEoYW5kKTM2Ci1iKHRoZSlnKG1lc3NhZ2UpZihkaWdlc3QpZyhhbGdvcml0aG0pZyhpZGVuKW4odGlcMDM0ZWQpaShiKW4oeSlmKHRoZSkKLTIwOCAxOTc4IHkoc3RyaW5nKTI4IGIgRmMoZGlnZXN0KTggYiBGcSguKTAgMjEyNSB5IEZsKHZlcmlmeVwoKXAKLUZjKHBrZXkpZiBGbChcKSkyMDggMjIyNSB5IEZxKFYpLTcgYihlcmlmeSkyNyBiKGEpZyhjZXJ0aVwwMzRjYXRlKWcKLShyZXF1ZXN0KWcodXNpbmcpZyh0aGUpaChwdWJsaWMpZyhrKW4oZXkpZyBGYyhwa2V5KTcKLWIgRnEoLikwIDIzNzIgeSBGbChzZXRfdmVyc2lvblwoKXAgRmModmVyc2lvbilmIEZsKFwpKTIwOAotMjQ3MSB5IEZxKFNldCkyOCBiKHRoZSlmKHYpbihlcnNpb24pZihcKFJGKW4oQylpKDI0NTksKWUoNC4xLjIuMVwpKWcKLShvZilpKHRoZSlnKGNlcnRpXDAzNGNhdGUpZihyZXF1ZXN0KWYodG8paSBGYyh2ZXJzaW9uKTYKLWIgRnEoLikwIDI2MTggeSBGbChnZXRfdmVyc2lvblwoXCkpMjA4IDI3MTggeSBGcShHZXQpMjgKLWIodGhlKWYodiluKGVyc2lvbilmKFwoUkYpbihDKWkoMjQ1OSwpZSg0LjEuMi4xXCkpZyhvZilpKHRoZSlnCi0oY2VydGlcMDM0Y2F0ZSlmKHJlcXVlc3QuKTAgMjk4MSB5IEZmKFg1MDlTdG8pbihyZSlmKG9iamVjdHMpMAotMzE4MSB5IEZxKFRoZSlpKFg1MDlTdG9yZSlkKG9iKTUgYihqZWN0KTI4IGIoaGFzKWYoY3VycmVuKW4odGx5KWYoanVzdCkKLWkob25lKWcobWV0aG8pcihkOikwIDMzMjggeSBGbChhZGRfY2VydFwoKXAgRmMoYylsKGVydCk4Ci1iIEZsKFwpKTIwOCAzNDI4IHkgRnEoQSluKGRkKTI3IGIodGhlKWgoY2VydGlcMDM0Y2F0ZSlmCitUZVhEaWN0IGJlZ2luIDggNyBib3AgMCA4MyBhIEZsKGdldF9wdWJrZXlcKFwpKTIwOCAxODMKK3kgRnEoUmV0dXJuKTI3IGIoYSlnKFBLZXkpaChvYik1IGIoamVjdCkyNyBiKHJlcHJlc2VuKW4odGluZylmKHRoZSlpCisocHVibGljKWcoayluKGV5KWYob2YpZyh0aGUpaChjZXJ0aVwwMzRjYXRlKWYocmVxdWVzdC4pMAorMzMwIHkgRmwoZ2V0X3N1YmplY3RcKFwpKTIwOCA0MjkgeSBGcShSZXR1cm4pZyhhbiloKFg1MDlOYW1lKWUob2IpNQorYihqZWN0KTI3IGIocmVwcmVzZW4pbih0aW5nKWYodGhlKWkoc3ViKTUgYihqZWN0KTI4IGIob2YpZih0aGUpaAorKGNlcnRpXDAzNGNhdGUuKTAgNTc2IHkgRmwoc2V0X3B1YmtleVwoKXAgRmMocGtleSk3IGIKK0ZsKFwpKTIwOCA2NzYgeSBGcShTZXQpMjggYih0aGUpZihwdWJsaWMpaChrKW4oZXkpZihvZiloKHRoZSlnCisoY2VydGlcMDM0Y2F0ZSlmKHJlcXVlc3QpZyh0bylnIEZjKHBrZXkpNyBiIEZxKC4pMCA4MjMKK3kgRmwoc2lnblwoKXAgRmMocGtleSwpMjkgYihkaWdlc3QpOCBiIEZsKFwpKTIwOCA5MjIKK3kgRnEoU2lnbikzNiBiKHRoZSlnKGNlcnRpXDAzNGNhdGUpZyhyZXF1ZXN0LCloKHVzaW5nKWYodGhlKWcoayluKGV5KWgKK0ZjKHBrZXkpNDUgYiBGcShhbmQpMzYgYih0aGUpZyhtZXNzYWdlKWYoZGlnZXN0KWcoYWxnb3JpdGhtKWcoaWRlbiluCisodGlcMDM0ZWQpaShiKW4oeSlmKHRoZSkyMDggMTAyMiB5KHN0cmluZykyOCBiIEZjKGRpZ2VzdCk4CitiIEZxKC4pMCAxMTY5IHkgRmwodmVyaWZ5XCgpcCBGYyhwa2V5KWYgRmwoXCkpMjA4IDEyNjgKK3kgRnEoViktNyBiKGVyaWZ5KTI3IGIoYSlnKGNlcnRpXDAzNGNhdGUpZyhyZXF1ZXN0KWcodXNpbmcpZyh0aGUpaAorKHB1YmxpYylnKGspbihleSlnIEZjKHBrZXkpNyBiIEZxKC4pMCAxNDE1IHkgRmwoc2V0X3ZlcnNpb25cKClwCitGYyh2ZXJzaW9uKWYgRmwoXCkpMjA4IDE1MTUgeSBGcShTZXQpMjggYih0aGUpZih2KW4oZXJzaW9uKWYoXChSRiluKEMpaQorKDI0NTksKWUoNC4xLjIuMVwpKWcob2YpaSh0aGUpZyhjZXJ0aVwwMzRjYXRlKWYocmVxdWVzdClmKHRvKWkKK0ZjKHZlcnNpb24pNiBiIEZxKC4pMCAxNjYyIHkgRmwoZ2V0X3ZlcnNpb25cKFwpKTIwOCAxNzYxCit5IEZxKEdldCkyOCBiKHRoZSlmKHYpbihlcnNpb24pZihcKFJGKW4oQylpKDI0NTksKWUoNC4xLjIuMVwpKWcob2YpaQorKHRoZSlnKGNlcnRpXDAzNGNhdGUpZihyZXF1ZXN0LikwIDIwMjQgeSBGZihYNTA5U3RvKW4ocmUpZihvYmplY3RzKTAKKzIyMjUgeSBGcShUaGUpaShYNTA5U3RvcmUpZChvYik1IGIoamVjdCkyOCBiKGhhcylmKGN1cnJlbiluKHRseSlmKGp1c3QpCitpKG9uZSlnKG1ldGhvKXIoZDopMCAyMzcyIHkgRmwoYWRkX2NlcnRcKClwIEZjKGMpbChlcnQpOAorYiBGbChcKSkyMDggMjQ3MSB5IEZxKEEpbihkZCkyNyBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZgogRmMoYylsKGVydCkzNiBiIEZxKHRvKTI3IGIodGhlKWgoY2VydGlcMDM0Y2F0ZSlmKHN0b3JlLikwCi0zNjkxIHkgRmYoUEtleSlnKG9iamVjdHMpMCAzODkxIHkgRnEoVGhlKWgoUEtleSlmKG9iKTUKKzI3MzQgeSBGZihQS2V5KWcob2JqZWN0cykwIDI5MzUgeSBGcShUaGUpaChQS2V5KWYob2IpNQogYihqZWN0KTI3IGIoaGFzKWcodGhlKWgoZm9sbG8pbih3aW5nKWYobWV0aG8pcihkczopMAotNDAzOCB5IEZsKGJpdHNcKFwpKTIwOCA0MTM4IHkgRnEoUmV0dXJuKWcodGhlKWgobiluKHVtKW4oYilyKGVyKWYob2YpaAotKGJpdHMpZyhvZilmKHRoZSloKGspbihleSktNyBiKC4pMCA0Mjg1IHkgRmwoZ2VuZXJhdGVfa2V5XCgpcAotRmModHlwKWwoZSwpMjUgYihiaXRzKTcgYiBGbChcKSkyMDggNDM4NCB5IEZxKEdlbmVyYXRlKTIyCiszMDgyIHkgRmwoYml0c1woXCkpMjA4IDMxODEgeSBGcShSZXR1cm4pZyh0aGUpaChuKW4odW0pbihiKXIoZXIpZihvZiloCisoYml0cylnKG9mKWYodGhlKWgoayluKGV5KS03IGIoLikwIDMzMjggeSBGbChnZW5lcmF0ZV9rZXlcKClwCitGYyh0eXApbChlLCkyNSBiKGJpdHMpNyBiIEZsKFwpKTIwOCAzNDI4IHkgRnEoR2VuZXJhdGUpMjIKIGIoYSloKHB1YmxpYy9wcml2KS01IGIoYXRlKTIzIGIoayluKGV5KWYocGFpciloKG9mKWcodGhlKWgodCluKHlwKXIoZSlmCiBGYyh0eXApbChlKTMwIGIgRnEoXChvbmUpMjMgYihvZikzMCBiIEZsKFRZUEVfUlNBKTE5CiBiIEZxKGFuZCkyNCBiIEZsKFRZUEVfRFNBKXAgRnEoXCkpYyh3aXRoKWoodGhlKWgoc2l6ZSlmCi1GYyhiaXRzKTcgYiBGcSguKTAgNDUzMSB5IEZsKHR5cGVcKFwpKTIwOCA0NjMxIHkgRnEoUmV0dXJuKTI3Ci1iKHRoZSloKHQpbih5cClyKGUpZyhvZilmKHRoZSloKGspbihleSktNyBiKC4pMCA0ODk0Ci15IEZmKFBLKW4oQ1M3KTI3IGIob2JqZWN0cykwIDUwOTQgeSBGcShQSyluKENTNylnKG9iKTUKK0ZjKGJpdHMpNyBiIEZxKC4pMCAzNTc1IHkgRmwodHlwZVwoXCkpMjA4IDM2NzQgeSBGcShSZXR1cm4pMjcKK2IodGhlKWgodCluKHlwKXIoZSlnKG9mKWYodGhlKWgoayluKGV5KS03IGIoLikwIDM4MjEKK3kgRmwoY2hlY2tcKFwpKTIwOCAzOTIxIHkgRnEoQ2hlYyluKGspMjUgYih0aGUpaChjb25zaXN0ZW5jeSlmKG9mKWcKKyh0aGlzKWgoayluKGV5KS03IGIoLCkyNiBiKHJldHVybmluZylmKFQpLTcgYihydWUpMjUKK2IoaWYpaChpdCloKGlzKWUoY29uc2lzdGVuKW4odClnKGFuZCloKHJhaXNpbmcpZShhbilpKGV4Y2VwdGlvbilmCisob3RoZXJ3aXNlLikyMDggNDAyMCB5KFRoaXMpaShpcylnKG9ubHkpaCh2KS01IGIoYWxpZCkyNworYihmb3IpZyhSU0EpaChrKW4oZXlzLikzNiBiKFNlZSkyOCBiKHRoZSlnKE9wKXIoZW5TU0wpZihSU0FfYyluKGhlYyluCisoa19rKW4oZXkpZihtYW4paChwYWdlKWcoZm9yKWcoZnVydGhlcilnKGxpbWl0YXRpb25zLikwCis0MjgzIHkgRmYoUEspbihDUzcpZyhvYmplY3RzKTAgNDQ4NCB5IEZxKFBLKW4oQ1M3KWcob2IpNQogYihqZWN0cykyNyBiKGhhKW4odiluKGUpZih0aGUpaShmb2xsbyluKHdpbmcpZihtZXRobylyKGRzOikwCi01MjQxIHkgRmwodHlwZV9pc19zaWduZWRcKFwpKTIwOCA1MzQxIHkgRnEoRklYTUUpcCAwCi01NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZmKDgpMjIzOSBiKDMpODMgYiBGbChPcGVuU1NMKTI0Ci1iIEZmKFwwMjYpayhQeXRob24pZihpbnRlcmZhY2UpaCh0bylmKE9wKXIoZW5TU0wpcCBlb3AKLWVuZAorNDYzMSB5IEZsKHR5cGVfaXNfc2lnbmVkXChcKSkyMDggNDczMCB5IEZxKEZJWE1FKTAgNDg3NworeSBGbCh0eXBlX2lzX2VudmVsb3BlKW8oZFwoKW8oXCkpMjA4IDQ5NzcgeSBGcShGSVhNRSkwCis1MTI0IHkgRmwodHlwZV9pc19zaWduZWRBbilvKGRFKW8obnZlKW8obG8pbyhwZSlvKGRcKFwpKTIwOAorNTIyMyB5IEZxKEZJWE1FKXAgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZmKDgpMjIzOQorYigzKTgzIGIgRmwoT3BlblNTTCkyNCBiIEZmKFwwMjYpayhQeXRob24pZihpbnRlcmZhY2UpaCh0bylmKE9wKXIKKyhlblNTTClwIGVvcCBlbmQKICUlUGFnZTogOSA5Ci1UZVhEaWN0IGJlZ2luIDkgOCBib3AgMCA4MyBhIEZsKHR5cGVfaXNfZW52ZWxvcGUpbyhkXCgpbyhcKSkyMDgKLTE4MyB5IEZxKEZJWE1FKTAgMzMwIHkgRmwodHlwZV9pc19zaWduZWRBbilvKGRFKW8obnZlKW8obG8pbyhwZSlvCi0oZFwoXCkpMjA4IDQyOSB5IEZxKEZJWE1FKTAgNTc2IHkgRmwodHlwZV9pc19kYXRhXChcKSkyMDgKLTY3NiB5IEZxKEZJWE1FKTAgODIzIHkgRmwoZ2V0X3R5cGVfbmFtZVwoXCkpMjA4IDkyMiB5CitUZVhEaWN0IGJlZ2luIDkgOCBib3AgMCA4MyBhIEZsKHR5cGVfaXNfZGF0YVwoXCkpMjA4CisxODMgeSBGcShGSVhNRSkwIDMzMCB5IEZsKGdldF90eXBlX25hbWVcKFwpKTIwOCA0MjkgeQogRnEoR2V0KTI4IGIodGhlKWYodCluKHlwKXIoZSloKG5hbWUpZyhvZilmKHRoZSloKFBLKW4oQ1M3LikwCi0xMTg1IHkgRmYoUEspbihDUzEyKWUob2JqZWN0cykwIDEzODYgeSBGcShQSyluKENTMTIpZyhvYik1Cis2OTIgeSBGZihQSyluKENTMTIpZShvYmplY3RzKTAgODkzIHkgRnEoUEspbihDUzEyKWcob2IpNQogYihqZWN0cykyOCBiKGhhKW4odiluKGUpZSh0aGUpaShmb2xsbyluKHdpbmcpZShtZXRobylyKGRzOikwCi0xNTQ3IHkgRmwoZXhwb3J0XCgpcCBGYihbKXAgRmMocClsKGFzc3BocilsKGFzZT1Ob25lKTE2CisxMDU0IHkgRmwoZXhwb3J0XCgpcCBGYihbKXAgRmMocClsKGFzc3BocilsKGFzZT1Ob25lKTE2CiBiIEZiKF1bKXAgRmMoLCkyOSBiKGl0ZXI9MjA0OCljIEZiKF1bKXAgRmMoLClrKG1hY2l0ZXI9MSkyNAotYiBGYihdKXAgRmwoXCkpMjA4IDE2NDYgeSBGcShSZXR1cm5zKWooYSlnKFBLKW4oQ1MxMilnKG9iKTUKLWIoamVjdCkyNyBiKGFzKWcoYSlnKHN0cmluZy4pMjA4IDE3NzkgeShUaGUpZyhvcHRpb25hbClnCitiIEZiKF0pcCBGbChcKSkyMDggMTE1NCB5IEZxKFJldHVybnMpaihhKWcoUEspbihDUzEyKWcob2IpNQorYihqZWN0KTI3IGIoYXMpZyhhKWcoc3RyaW5nLikyMDggMTI4NiB5KFRoZSlnKG9wdGlvbmFsKWcKIEZjKHApbChhc3NwaHIpbChhc2UpMzUgYiBGcShtKW4odXN0KTI4IGIoYilyKGUpZyhhKWYoc3RyaW5nKWcobm90KWgoYSlmCi0oY2FsbGJhYyluKGsuKTIwOCAxOTEyIHkoU2VlKWcoYWxzbylnKHRoZSloKG1hbilmKHBhZ2UpZyhmb3IpZyh0aGUpaChDKQotZihmdW5jdGlvbiloIEZsKFBLQ1MxMl9jcmVhdGUpcCBGcSguKTAgMjA1OSB5IEZsKGdldF9jYV9jZXJ0aWZpY2Epbyh0ZSkKLW8oc1woXCkpMjA4IDIxNTkgeSBGcShSZXR1cm4paShDQSloKGNlcnRpXDAzNGNhdGVzKWYod2l0aGluKWgodGhlKWcoUEspCisoY2FsbGJhYyluKGsuKTIwOCAxNDE5IHkoU2VlKWcoYWxzbylnKHRoZSloKG1hbilmKHBhZ2UpZyhmb3IpZyh0aGUpaChDKQorZihmdW5jdGlvbiloIEZsKFBLQ1MxMl9jcmVhdGUpcCBGcSguKTAgMTU2NiB5IEZsKGdldF9jYV9jZXJ0aWZpY2Epbyh0ZSkKK28oc1woXCkpMjA4IDE2NjYgeSBGcShSZXR1cm4paShDQSloKGNlcnRpXDAzNGNhdGVzKWYod2l0aGluKWgodGhlKWcoUEspCiBuKENTMTIpZihvYik1IGIoamVjdCkzMCBiKGFzKWcoYSloKHR1cGxlLik0NiBiKFJldHVybnMpMzEKIGIgRmwoTm9uZSllIEZxKGlmKWkobm8pZihDQSloKGNlcnRpXDAzNGNhdGVzKWYoYXJlKTIwOAotMjI1OCB5KHByZXNlbiluKHQuKTAgMjQwNSB5IEZsKGdldF9jZXJ0aWZpY2F0ZVwoKW8oXCkpMjA4Ci0yNTA1IHkgRnEoUmV0dXJuKWQoY2VydGlcMDM0Y2F0ZSlnKHApcihvcnRpb24pZyhvZiloKHRoZSlnKFBLKW4oQ1MxMillCi0oc3RydWN0dXJlLikwIDI2NTIgeSBGbChnZXRfZnJpZW5kbHluYW1lKW8oXChcKSkyMDggMjc1MQorMTc2NSB5KHByZXNlbiluKHQuKTAgMTkxMiB5IEZsKGdldF9jZXJ0aWZpY2F0ZVwoKW8oXCkpMjA4CisyMDEyIHkgRnEoUmV0dXJuKWQoY2VydGlcMDM0Y2F0ZSlnKHApcihvcnRpb24pZyhvZiloKHRoZSlnKFBLKW4oQ1MxMillCisoc3RydWN0dXJlLikwIDIxNTkgeSBGbChnZXRfZnJpZW5kbHluYW1lKW8oXChcKSkyMDggMjI1OAogeSBGcShSZXR1cm4paChmcmllbmRseU5hbWUpaChwKXIob3J0aW9uKWYob2YpZyh0aGUpaChQSyluKENTMTIpZgotKHN0cnVjdHVyZS4pMCAyODk4IHkgRmwoZ2V0X3ByaXZhdGVrZXlcKFwpKTIwOCAyOTk4IHkKKyhzdHJ1Y3R1cmUuKTAgMjQwNSB5IEZsKGdldF9wcml2YXRla2V5XChcKSkyMDggMjUwNSB5CiBGcShSZXR1cm4pZyhwcml2KS01IGIoYXRlKTI3IGIoayluKGV5KWcocClyKG9ydGlvbilnKG9mKWgodGhlKWcoUEspbgotKENTMTIpZShzdHJ1Y3R1cmUpMCAzMTQ1IHkgRmwoc2V0X2NhX2NlcnRpZmljYSlvKHRlKW8oc1woKXAKLUZjKGMpLTUgYihhYylsKGVydHMpNyBiIEZsKFwpKTIwOCAzMjQ0IHkgRnEoUmVwbGFjZSkyNworKENTMTIpZShzdHJ1Y3R1cmUpMCAyNjUyIHkgRmwoc2V0X2NhX2NlcnRpZmljYSlvKHRlKW8oc1woKXAKK0ZjKGMpLTUgYihhYylsKGVydHMpNyBiIEZsKFwpKTIwOCAyNzUxIHkgRnEoUmVwbGFjZSkyNwogYihvcilmKHNldClpKHRoZSlnKENBKWcoY2VydGlcMDM0Y2F0ZXMpZSh3aXRoaW4paih0aGUpZihQSyluKENTMTIpZShvYikKIDUgYihqZWN0KTI3IGIod2l0aCloKHRoZSlnKHNlcXVlbmNlKWYgRmMoYylsKGFjKWwoZXJ0cyk3Ci1iIEZxKC4pMjA4IDMzNzcgeShTZXQpMjggYiBGYyhjKWwoYWMpbChlcnRzKTM0IGIgRnEodG8pMjcKK2IgRnEoLikyMDggMjg4NCB5KFNldCkyOCBiIEZjKGMpbChhYylsKGVydHMpMzQgYiBGcSh0bykyNwogYiBGbChOb25lKWYgRnEodG8paShyZW1vKW4odiluKGUpZShhbGwpaChDQSloKGNlcnRpXDAzNGNhdGVzLikwCi0zNTI0IHkgRmwoc2V0X2NlcnRpZmljYXRlXCgpbyBGYyhjKWwoZXJ0KTggYiBGbChcKSkyMDgKLTM2MjQgeSBGcShSZXBsYWNlKTI3IGIob3IpZihzZXQpaSh0aGUpZyhjZXJ0aVwwMzRjYXRlKWYocClyKG9ydGlvbilnCi0ob2YpZyh0aGUpaChQSyluKENTMTIpZihzdHJ1Y3R1cmUuKTAgMzc3MCB5IEZsKHNldF9mcmllbmRseW5hbWUpbyhcKClwCi1GYyhuKW8oYW1lKTYgYiBGbChcKSkyMDggMzg3MCB5IEZxKFJlcGxhY2UpMjcgYihvcilmKHNldClpKHRoZSlnCiszMDMxIHkgRmwoc2V0X2NlcnRpZmljYXRlXCgpbyBGYyhjKWwoZXJ0KTggYiBGbChcKSkyMDgKKzMxMzEgeSBGcShSZXBsYWNlKTI3IGIob3IpZihzZXQpaSh0aGUpZyhjZXJ0aVwwMzRjYXRlKWYocClyKG9ydGlvbilnCisob2YpZyh0aGUpaChQSyluKENTMTIpZihzdHJ1Y3R1cmUuKTAgMzI3NyB5IEZsKHNldF9mcmllbmRseW5hbWUpbyhcKClwCitGYyhuKW8oYW1lKTYgYiBGbChcKSkyMDggMzM3NyB5IEZxKFJlcGxhY2UpMjcgYihvcilmKHNldClpKHRoZSlnCiAoZnJpZW5kbHlOYW1lKWYocClyKG9ydGlvbilnKG9mKWgodGhlKWcoUEspbihDUzEyKWUoc3RydWN0dXJlLikwCi00MDE3IHkgRmwoc2V0X3ByaXZhdGVrZXlcKClwIEZjKHBrZXkpNyBiIEZsKFwpKTIwOCA0MTE3CiszNTI0IHkgRmwoc2V0X3ByaXZhdGVrZXlcKClwIEZjKHBrZXkpNyBiIEZsKFwpKTIwOCAzNjI0CiB5IEZxKFJlcGxhY2UpMjcgYihvcilmKHNldClpKHByaXYpLTUgYihhdGUpMjcgYihrKW4oZXkpZyhwKXIob3J0aW9uKWcKLShvZiloKHRoZSlnKFBLKW4oQ1MxMillKHN0cnVjdHVyZSkwIDQzODAgeSBGZihYNTA5RXh0ZW5zaW9uKWYob2JqZWN0cykwCi00NTgwIHkgRnEoWDUwOUV4dGVuc2lvbiloKG9iKTUgYihqZWN0cykyNyBiKGhhKW4odiluKGUpZyhzZXYpbihlcmFsKWYKLShtZXRobylyKGRzOikwIDQ3MjcgeSBGbChnZXRfY3JpdGljYWxcKFwpKTIwOCA0ODI3IHkKKyhvZiloKHRoZSlnKFBLKW4oQ1MxMillKHN0cnVjdHVyZSkwIDM4ODcgeSBGZihYNTA5RXh0ZW5zaW9uKWYob2JqZWN0cykwCis0MDg3IHkgRnEoWDUwOUV4dGVuc2lvbiloKG9iKTUgYihqZWN0cykyNyBiKGhhKW4odiluKGUpZyhzZXYpbihlcmFsKWYKKyhtZXRobylyKGRzOikwIDQyMzQgeSBGbChnZXRfY3JpdGljYWxcKFwpKTIwOCA0MzM0IHkKIEZxKFJldHVybiloKHRoZSloKGNyaXRpY2FsKWYoXDAzNGVsZCloKG9mKWYodGhlKWgoZXh0ZW5zaW9uKWYob2IpNQotYihqZWN0LikwIDQ5NzMgeSBGbChnZXRfc2hvcnRfbmFtZVwoXCkpMjA4IDUwNzMgeSBGcShSZXR1cm4pMjcKLWIodGhlKWgoc2hvcnQpZih0KW4oeXApcihlKWgobmFtZSlmKG9mKWgodGhlKWcoZXh0ZW5zaW9uKWYob2IpNQotYihqZWN0LilwIDAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZigzLjEpODIgYiBGbChjcnlwdG8pMjUKLWIgRmYoXDAyNilqKEdlbmVyaWMpZyhjcnlwdG9ncmFwaGljKWUobW8pcihkdWxlKTIyMzQKLWIoOSlwIGVvcCBlbmQKK2IoamVjdC4pMCA0NDgwIHkgRmwoZ2V0X3Nob3J0X25hbWVcKFwpKTIwOCA0NTgwIHkgRnEoUmV0cmlldiluKGUpMjYKK2IodGhlKWkoc2hvcnQpZihkZXNjcmlwdGl2KW4oZSlnKG5hbWUpZyhmb3IpZyh0aGlzKWgoZXh0ZW5zaW9uLikyMDgKKzQ3MTMgeShUaGUpZihyZXN1bHQpZyhpcyloKGEpZihiKW4oeXRlKWgoc3RyaW5nKWUobGlrKW4oZSlpCitGbChcMDIwYmFzaWNDb25zdHJhaW4pbyh0cylvKFwwMjEpcCBGcSguKTY4IGIoTmV3KTI3CitiKGluKWgodiluKGVyc2lvbillKDAuMTIuKTAgNDg2MCB5IEZsKGdldF9kYXRhXChcKSkyMDgKKzQ5NTkgeSBGcShSZXRyaWV2KW4oZSlnKHRoZSlpKGRhdGEpZihmb3IpZyh0aGlzKWgoZXh0ZW5zaW9uLikyMDgKKzUwOTIgeShUaGUpZihyZXN1bHQpZyhpcyloKHRoZSlnKEFTTi4xKWcoZW5jbylyKGRlZClmKGZvcm0pZyhvZiloKHRoZSlnCisoZXh0ZW5zaW9uKWYoZGF0YSlnKGFzKWcoYSlnKGIpbih5dGUpZyhzdHJpbmcuKTc0IGIoTmV3KTI3CitiKGluKWgodiluKGVyc2lvbillKDAuMTIuKXAgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhCitGZigzLjEpODIgYiBGbChjcnlwdG8pMjUgYiBGZihcMDI2KWooR2VuZXJpYylnKGNyeXB0b2dyYXBoaWMpZShtbylyCisoZHVsZSkyMjM0IGIoOSlwIGVvcCBlbmQKICUlUGFnZTogMTAgMTAKIFRlWERpY3QgYmVnaW4gMTAgOSBib3AgMCA4MyBhIEZmKE5ldHNjYXApcihlU1BLSSkyNyBiKG9iamVjdHMpMAogMjgzIHkgRnEoTmV0c2NhcClyKGVTUEtJKWgob2IpNSBiKGplY3RzKTI3IGIoaGEpbih2KW4oZSlmKHRoZSlpKGZvbGxvKW4KQEAgLTUzODIsNTY2ICs1MzgyLDYwOCBAQAogYihpcylnKGluKW4odGVyZXN0aW5nKWcoaWYpZyh5KW4ob3UncmUpZih1c2luZylnKGUuZy4pNDEKIGIgRmwoU1NMdjIzX01FVEhPRCkyNCBiIEZxKHRvKTI5IGIoZ2V0KWcoYW4pZihTU0x2Mi1jb21wYXRpYmxlKTIwOAogMTY3MiB5KGhhbmRzaGFrKW4oZSwpZShidXQpaShkb24ndClnKHcpbihhbiluKHQpZih0bylnKHVzZSloKFNTTHYyLikwCi0xODE5IHkgRmwoQ29udGV4dFR5cGUpMjA4IDE5MTggeSBGcShTZWUpZiBGbChDb250ZXh0KXAKLUZxKC4pMCAyMDY1IHkgRm0oY2xhc3MpayBGbChDb250ZXh0XCgpcCBGYyhtZXRobylsKGQpOQotYiBGbChcKSkyMDggMjE2NSB5IEZxKEEpMjcgYihjbGFzcylnKHJlcHJlc2VuKW4odGluZylmKFNTTClpKGNvbiluCi0odGV4dHMuKTM2IGIoQ29uKW4odGV4dHMpMjcgYihkZVwwMzRuZSloKHRoZSlnKHBhcmFtZXRlcnMpZChvZilqKG9uZSlmCi0ob3IpZyhtb3JlKWYoU1NMKWkoY29ubmVjdGlvbnMuKTIwOCAyMjk4IHkgRmMobWV0aG8pbChkKTM2Ci1iIEZxKHNob3VsZCkyOCBiKGIpcihlKWcgRmwoU1NMdjJfTUVUSE9EKXAgRnEoLCkyMiBiCi1GbChTU0x2M19NRVRIT0QpcCBGcSgsKWggRmwoU1NMdjIzX01FVEhPRClmIEZxKG9yKTI3Ci1iIEZsKFRMU3YxX01FVEhPRClwIEZxKC4pMCAyNDQ1IHkgRmwoQ29ubmVjdGlvblR5cGUpMjA4Ci0yNTQ0IHkgRnEoU2VlKWcgRmwoQ29ubmVjdGlvbilwIEZxKC4pMCAyNjkxIHkgRm0oY2xhc3MpawotRmwoQ29ubmVjdGlvblwoKXAgRmMoYylsKG9udGV4dCwpMjUgYihzbylsKGNrZXQpOCBiIEZsKFwpKTIwOAotMjc5MSB5IEZxKEEpMjcgYihjbGFzcylnKHJlcHJlc2VuKW4odGluZylmKFNTTClpKGNvbm5lY3Rpb25zLikyMDgKLTI5MjQgeSBGYyhjKWwob250ZXh0KTQ0IGIgRnEoc2hvdWxkKTM3IGIoYilyKGUpZyhhbilnKGluc3RhbmNlKWcob2YpNDQKLWIgRmwoQ29udGV4dCkzNCBiIEZxKGFuZClqIEZjKHNvKWwoY2tldCk0NiBiIEZxKHNob3VsZCkzNwotYihiKXIoZSlnKGEpZyhzbylyKGMpbihrKW4oZXQpMjk3OCAyODkzIHkgRmsoMykzMDUzIDI5MjQKLXkgRnEob2IpNSBiKGplY3QuKTY2IGIgRmMoc28pbChja2V0KTQ1IGIgRnEobWEpbih5KTM3Ci1iKGIpcihlKTIwOCAzMDIzIHkgRmMoTm9uZSk2IGIgRnEoOykyNyBiKGluKWgodGhpcylnKGNhc2UsKWUodGhlKWkKLShDb25uZWN0aW9uKWYoaXMpZyhjcmVhdGVkKWcod2l0aCloKGEpZihtZW1vcnkpZyhCSU86KWYoc2VlKWgodGhlKWgKLUZsKGJpb19yZWFkKXAgRnEoLCljIEZsKGJpb193cml0ZSlwIEZxKCwpZyhhbmQpMjA4IDMxMjMKLXkgRmwoYmlvX3NodXRkb3duKWUgRnEobWV0aG8pcihkcy4pMCAzMjcwIHkgRm0oZXhjZXB0aW9uKTMyCi1iIEZsKEVycm9yKTIwOCAzMzY5IHkgRnEoVGhpcylpKGV4Y2VwdGlvbilnKGlzKWgodXNlZClmKGFzKWcoYSloKGJhc2UpZQotKGNsYXNzKWgoZm9yKWcodGhlKWgob3RoZXIpZihTU0wtcmVsYXRlZClnKGV4Y2VwdGlvbnMsKWkoYnV0KWYobWEpbih5KWYKLShhbHNvKWYoYilyKGUpaShyYWlzZWQpMjA4IDM0NjkgeShkaXJlY3RseSktNyBiKC4pMjA4Ci0zNjAyIHkoV2hlbmV2KW4oZXIpMzYgYih0aGlzKWgoZXhjZXB0aW9uKWcoaXMpZyhyYWlzZWQpZihkaXJlY3RseSktNwotYigsKTQwIGIoaXQpZChoYXMpZyhhKWYobGlzdClpKG9mKWYoZXJyb3IpZShtZXNzYWdlcylnKGZyb20paSh0aGUpaChPcCkKLXIoZW5TU0wpZihlcnJvcikyMDggMzcwMSB5KHF1ZXVlLClrKHdoZXJlKWQoZWFjKW4oaClmKGl0ZW0paShpcylnKGEpZgotKHR1cGxlKWggRmwoXCgpcCBGYyhsaWIpNSBiIEZsKCwpNDQgYiBGYyhmdW5jdGlvbik2IGIKLUZsKCwpNDMgYiBGYyhyKWwoZSlsKGFzb24pNiBiIEZsKFwpKXAgRnEoLik3MCBiKEhlcmUpMzgKLWIgRmMobGliKTUgYiBGcSgsKTQzIGIgRmMoZnVuY3Rpb24paCBGcShhbmQpMzkgYiBGYyhyKWwoZSlsKGFzb24pNDUKLWIgRnEoYXJlKTM3IGIoYWxsKTIwOCAzODAxIHkoc3RyaW5ncywpMjYgYihkZXNjcmliaW5nKWgod2hlcmUpZyhhbmQpZwotKHdoYXQpaCh0aGUpZyhwcm9ibGVtKWYoaXMuKTM2IGIoU2VlKTI4IGIgRmMoZXJyKXAgRnEoXCgzXCkpZyhmb3IpZgotKG1vcmUpZyhpbmZvcm1hdGlvbi4pMCAzOTQ4IHkgRm0oZXhjZXB0aW9uKTMyIGIgRmwoWmVyb1JldHVybkVycm9yKTIwOAotNDA0OCB5IEZxKFRoaXMpZyhleGNlcHRpb24pZyhtYXRjKW4oaGVzKWcodGhlKWgoZXJyb3IpZChyZXR1cm4paShjbylyCi0oZGUpaCBGbChTU0xfRVJST1JfWkVST18pbyhSRSlvKFRVUilvKE4pcCBGcSgsKTI2IGIoYW5kKTMzCi1iKGlzKWYocmFpc2VkKWYod2hlbilpKHRoZSlnKFNTTCkyMDggNDE0NyB5KENvbm5lY3Rpb24pYyhoYXMpZyhiKXIoZWVuKQotaChjbG9zZWQuKTQzIGIoSW4pMjkgYihTU0wpaCgzLjApZihhbmQpaChUTFMpZygxLjAsKWYodGhpcyloKG9ubHkpZihvKXIKLShjY3VycylnKGlmKWgoYSlnKGNsb3N1cmUpZShhbGVydCloKGhhcylnKG8pcihjY3VycmVkKTIwOAotNDI0NyB5KGluKWcodGhlKWcocHJvdG8pcihjb2wsKWYoaS5lLik0MSBiKHRoZSkyOSBiKGNvbm5lY3Rpb24pZihoYXMpZwotKGIpcihlZW4paShjbG9zZWQpZShjbGVhbmx5KS03IGIoLik0MCBiKE5vdGUpMjkgYih0aGF0KWcodGhpcylnKGRvKXIKLShlcylmKG5vdCloKG5lY2Vzc2FyaWx5KWUobWVhbikyMDggNDM0NiB5KHRoYXQpZyh0aGUpaCh0cmFuc3ApcihvcnQpZgotKGxhKW4oeSluKGVyKWYoXChlLmcuKTM2IGIoYSkyOCBiKHNvKXIoYyluKGspbihldFwpKWUoaGFzKWgoYilyKGVlbiloCi0oY2xvc2VkLikyMDggNDQ3OSB5KEl0KWsobWEpbih5KWYoc2VlbSloKGEpZihsaXR0bGUpaShzdHJhbmdlKWUodGhhdCloCi0odGhpcylnKGlzKWcoYW4pZyhleGNlcHRpb24sKWcoYnV0KWgoaXQpZihkbylyKGVzKWcobWF0YyluKGgpZyhhbilmCi1GbChTU0xfRVJST1IpZSBGcShjbylyKGRlLClqKGFuZClnKGlzKTIwOCA0NTc5IHkodiluKGVyeSkyNgotYihjb24pbih2KW4oZW5pZW4pbih0LikwIDQ3MjYgeSBGbShleGNlcHRpb24pMzIgYiBGbChXYW50UmVhZEVycm9yKTIwOAotNDgyNSB5IEZxKFRoZSlpKG9wKXIoZXJhdGlvbillKGRpZClqKG5vdClmKGNvbXBsZXRlOylqKHRoZSlkKHNhbWUpZwotKEkvTylmKG1ldGhvKXIoZCloKHNob3VsZClnKGIpcihlKWcoY2FsbGVkKWcoYWdhaW4pZihsYXRlciwpaSh3aXRoKWYKLSh0aGUpaChzYW1lKTIwOCA0OTI1IHkoYXJndW1lbiluKHRzLilnKEFuKW4oeSkyOCBiKEkvTyllKG1ldGhvKXIoZClpCi0oY2FuKWYobGVhZCloKHRvKWYodGhpcyloKHNpbmNlKWYobmV3KWgoaGFuZHNoYWspbihlcyllKGNhbiloKG8pcihjY3VyKQotZyhhdClnKGFuKW4oeSlnKHRpbWUuKTIwOCA1MDU4IHkoVGhlKTQ0IGIodyluKGFuKW4odGVkKWgocmVhZClmKGlzKWcKLShmb3IpaCBGYyhkaXJ0eSlnIEZxKGRhdGEpZyhzZW4pbih0KWYobyluKHYpbihlcilmKHRoZSlqKG5ldCluKHcpbgotKG9yaywpaChub3QpZSh0aGUpaCBGYyhjbGUpbChhbilmIEZxKGRhdGEpZihpbnNpZGUpaCh0aGUpZyh0dW5uZWwuKTIwOAotNTE1NyB5KEYpLTcgYihvcikzOSBiKGEpaShzbylyKGMpbihrKW4oZXQpZShiYXNlZCloKFNTTCloKGNvbm5lY3Rpb24sKWkKLUZjKHIpbChlKWwoYWQpZSBGcShtZWFucylmKGRhdGEpZyhjb21pbmcpZyhhdClnKHVzKWgobyluKHYpbihlcillKHRoZSlpCi0obmV0KW4odyluKG9yay4pNzQgYihVbiluKHRpbCk0MSBiKHRoYXQpcCAwIDUyMjcgMTU2MAotNCB2IDkyIDUyODAgYSBGaCgzKTEyNyA1MzA0IHkgRmcoQSluKGN0dWFsbHkpLTYgYigsKTI1Ci1iKGFsbCllKHRoYXQpaihpcylkKHJlcXVpcmVkKWooaXMpZShhbilnKG9iKXQoamVjdCloKHRoYXQpaAotRmEoYilsKGVoYXZlcyllIEZnKGxpayluKGUpZyhhKWgoc28pcihjKW4oayluKGV0LClnKHkpbihvdSlnKGNvdWxkKWcKLShldiluKGVuKWcodXNlKWYoXDAzNGxlcywpZyhldiluKGVuKWkodGhvdWdoKWYoaXQnZClmKGIpcihlKWgodHJpYyluCi0oa3kpZyh0bykwIDUzODMgeShnZXQpZyh0aGUpZihoYW5kc2hhayluKGVzKWgocmlnaCluKHQhKXAKLTAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZigxMikyMTk3IGIoMyk4MyBiIEZsKE9wZW5TU0wpMjQKKzE4MTkgeSBGbChTU0xFQVlfVkVSU0lPTikwIDE5MTggeShTU0xFQVlfQ0ZMQUdTKTAgMjAxOAoreShTU0xFQVlfQlVJTFRfT04pMCAyMTE4IHkoU1NMRUFZX1BMQVRGT1JNKTAgMjIxNyB5KFNTTEVBWV9ESVIpMjA4CisyMzE3IHkgRnEoQ29uc3RhbiluKHRzKWkodXNlZCloKHdpdGgpZyBGbChTU0xlYXlfdmVyc2lvbikyNQorYiBGcSh0bykzMSBiKHNwKXIoZWNpZnkpZyh3aGF0KWcoT3ApcihlblNTTCloKHYpbihlcnNpb24pZChpbmZvcm1hdGlvbikKK2godG8paChyZXRyaWV2KW4oZS4pNDYgYihTZWUpMjA4IDI0MTcgeSh0aGUpMjggYihtYW4pZihwYWdlKWcoZm9yKWcKKyh0aGUpaCBGbChTU0xlYXlfdmVyc2lvbikyMSBiIEZxKEMpMjggYihBUEkpZyhmb3IpZihkZXRhaWxzLikwCisyNTYzIHkgRmwoT1BFTlNTTF9WRVJTSU9OXylvKE5VKW8oTUJFKW8oUikyMDggMjY2MyB5CitGcShBbilkKGluKW4odGVnZXIpZihnaXZpbmcpZyh0aGUpaCh2KW4oZXJzaW9uKWUobiluKHVtKW4oYilyKGVyKWkob2YpZgorKHRoZSlpKE9wKXIoZW5TU0wpZihsaWJyYXJ5KWUodXNlZClpKHRvKWcoYnVpbGQpZyh0aGlzKWcodiluKGVyc2lvbillCisob2YpaShwKW4oeU9wKXIoZW5TU0wuKTIwOCAyNzYzIHkoU2VlKWoodGhlKWgobWFuKWcocGFnZSllKGZvciloKHRoZSloCitGbChTU0xlYXlfdmVyc2lvbikyMiBiIEZxKEMpMjggYihBUEkpZyhmb3IpZihkZXRhaWxzLikwCisyOTEwIHkgRmwoU1NMZWF5X3ZlcnNpb25cKClwIEZjKHQpbyh5cClsKGUpNiBiIEZsKFwpKTIwOAorMzAwOSB5IEZxKFJldHJpZXYpbihlKTIwIGIoYSlpKHN0cmluZylmKGRlc2NyaWJpbmcpZihzb21lKWkoYXNwKXIoZWN0KWYKKyhvZiloKHRoZSlnKHVuZGVybHlpbmcpZihPcClyKGVuU1NMKWgodiluKGVyc2lvbi4pMzMKK2IoVGhlKTIyIGIodCluKHlwKXIoZSlnKHBhc3NlZCllKGluKWkoc2hvdWxkKTIwOCAzMTA5Cit5KGIpcihlKTI4IGIob25lKWYob2YpZyh0aGUpaCBGbChTU0xFQVlfKiljIEZxKGNvbnN0YW4pbih0cylqCisoZGVcMDM0bmVkKWgoaW4pZyh0aGlzKWcobW8pcihkdWxlLikwIDMyNTYgeSBGbChDb250ZXh0VHlwZSkyMDgKKzMzNTUgeSBGcShTZWUpZiBGbChDb250ZXh0KXAgRnEoLikwIDM1MDIgeSBGbShjbGFzcylrCitGbChDb250ZXh0XCgpcCBGYyhtZXRobylsKGQpOSBiIEZsKFwpKTIwOCAzNjAyIHkgRnEoQSkyNworYihjbGFzcylnKHJlcHJlc2VuKW4odGluZylmKFNTTClpKGNvbiluKHRleHRzLikzNiBiKENvbiluKHRleHRzKTI3CitiKGRlXDAzNG5lKWgodGhlKWcocGFyYW1ldGVycylkKG9mKWoob25lKWYob3IpZyhtb3JlKWYoU1NMKWkKKyhjb25uZWN0aW9ucy4pMjA4IDM3MzUgeSBGYyhtZXRobylsKGQpMzYgYiBGcShzaG91bGQpMjgKK2IoYilyKGUpZyBGbChTU0x2Ml9NRVRIT0QpcCBGcSgsKTIyIGIgRmwoU1NMdjNfTUVUSE9EKXAKK0ZxKCwpaCBGbChTU0x2MjNfTUVUSE9EKWYgRnEob3IpMjcgYiBGbChUTFN2MV9NRVRIT0QpcAorRnEoLikwIDM4ODEgeSBGbChDb25uZWN0aW9uVHlwZSkyMDggMzk4MSB5IEZxKFNlZSlnIEZsKENvbm5lY3Rpb24pcAorRnEoLikwIDQxMjggeSBGbShjbGFzcylrIEZsKENvbm5lY3Rpb25cKClwIEZjKGMpbChvbnRleHQsKTI1CitiKHNvKWwoY2tldCk4IGIgRmwoXCkpMjA4IDQyMjggeSBGcShBKTI3IGIoY2xhc3MpZyhyZXByZXNlbiluKHRpbmcpZgorKFNTTClpKGNvbm5lY3Rpb25zLikyMDggNDM2MCB5IEZjKGMpbChvbnRleHQpNDQgYiBGcShzaG91bGQpMzcKK2IoYilyKGUpZyhhbilnKGluc3RhbmNlKWcob2YpNDQgYiBGbChDb250ZXh0KTM0IGIgRnEoYW5kKWoKK0ZjKHNvKWwoY2tldCk0NiBiIEZxKHNob3VsZCkzNyBiKGIpcihlKWcoYSlnKHNvKXIoYyluKGspbihldCkyOTc4Cis0MzMwIHkgRmsoMykzMDUzIDQzNjAgeSBGcShvYik1IGIoamVjdC4pNjYgYiBGYyhzbylsKGNrZXQpNDUKK2IgRnEobWEpbih5KTM3IGIoYilyKGUpMjA4IDQ0NjAgeSBGYyhOb25lKTYgYiBGcSg7KTI3CitiKGluKWgodGhpcylnKGNhc2UsKWUodGhlKWkoQ29ubmVjdGlvbilmKGlzKWcoY3JlYXRlZClnKHdpdGgpaChhKWYKKyhtZW1vcnkpZyhCSU86KWYoc2VlKWgodGhlKWggRmwoYmlvX3JlYWQpcCBGcSgsKWMgRmwoYmlvX3dyaXRlKXAKK0ZxKCwpZyhhbmQpMjA4IDQ1NjAgeSBGbChiaW9fc2h1dGRvd24pZSBGcShtZXRobylyKGRzLikwCis0NzA3IHkgRm0oZXhjZXB0aW9uKTMyIGIgRmwoRXJyb3IpMjA4IDQ4MDYgeSBGcShUaGlzKWkoZXhjZXB0aW9uKWcoaXMpaAorKHVzZWQpZihhcylnKGEpaChiYXNlKWUoY2xhc3MpaChmb3IpZyh0aGUpaChvdGhlcilmKFNTTC1yZWxhdGVkKWcKKyhleGNlcHRpb25zLClpKGJ1dClmKG1hKW4oeSlmKGFsc28pZihiKXIoZSlpKHJhaXNlZCkyMDgKKzQ5MDYgeShkaXJlY3RseSktNyBiKC4pMjA4IDUwMzkgeShXaGVuZXYpbihlcikzNiBiKHRoaXMpaChleGNlcHRpb24pZworKGlzKWcocmFpc2VkKWYoZGlyZWN0bHkpLTcgYigsKTQwIGIoaXQpZChoYXMpZyhhKWYobGlzdClpKG9mKWYoZXJyb3IpZQorKG1lc3NhZ2VzKWcoZnJvbSlpKHRoZSloKE9wKXIoZW5TU0wpZihlcnJvcikyMDggNTEzOAoreShxdWV1ZSwpayh3aGVyZSlkKGVhYyluKGgpZihpdGVtKWkoaXMpZyhhKWYodHVwbGUpaAorRmwoXCgpcCBGYyhsaWIpNSBiIEZsKCwpNDQgYiBGYyhmdW5jdGlvbik2IGIgRmwoLCk0MworYiBGYyhyKWwoZSlsKGFzb24pNiBiIEZsKFwpKXAgRnEoLik3MCBiKEhlcmUpMzggYiBGYyhsaWIpNQorYiBGcSgsKTQzIGIgRmMoZnVuY3Rpb24paCBGcShhbmQpMzkgYiBGYyhyKWwoZSlsKGFzb24pNDUKK2IgRnEoYXJlKTM3IGIoYWxsKXAgMCA1MjA4IDE1NjAgNCB2IDkyIDUyNjEgYSBGaCgzKTEyNworNTI4NSB5IEZnKEEpbihjdHVhbGx5KS02IGIoLCkyNSBiKGFsbCllKHRoYXQpaihpcylkKHJlcXVpcmVkKWooaXMpZShhbikKK2cob2IpdChqZWN0KWgodGhhdCloIEZhKGIpbChlaGF2ZXMpZSBGZyhsaWspbihlKWcoYSloKHNvKXIoYyluKGspbihldCwpCitnKHkpbihvdSlnKGNvdWxkKWcoZXYpbihlbilnKHVzZSlmKFwwMzRsZXMsKWcoZXYpbihlbilpKHRob3VnaClmKGl0J2QpZgorKGIpcihlKWgodHJpYyluKGt5KWcodG8pMCA1MzYzIHkoZ2V0KWcodGhlKWYoaGFuZHNoYWspbihlcyloKHJpZ2gpbih0ISkKK3AgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZmKDEyKTIxOTcgYigzKTgzIGIgRmwoT3BlblNTTCkyNAogYiBGZihcMDI2KWsoUHl0aG9uKWYoaW50ZXJmYWNlKWgodG8pZihPcClyKGVuU1NMKXAgZW9wCiBlbmQKICUlUGFnZTogMTMgMTMKLVRlWERpY3QgYmVnaW4gMTMgMTIgYm9wIDIwOCA4MyBhIEZxKHJlYWQpMzggYihzdWNjZWVkcywpayh0aGUpZAotKGF0dGVtcHRlZCloIEZsKE9wZW5TU0wuU1NMLkNvbm4pbyhlY3QpbyhpbylvKG4uKW8ocmVjKW8odilwCitUZVhEaWN0IGJlZ2luIDEzIDEyIGJvcCAyMDggODMgYSBGcShzdHJpbmdzLCkyNiBiKGRlc2NyaWJpbmcpaCh3aGVyZSlnCisoYW5kKWcod2hhdCloKHRoZSlnKHByb2JsZW0pZihpcy4pMzYgYihTZWUpMjggYiBGYyhlcnIpcAorRnEoXCgzXCkpZyhmb3IpZihtb3JlKWcoaW5mb3JtYXRpb24uKTAgMjMwIHkgRm0oZXhjZXB0aW9uKTMyCitiIEZsKFplcm9SZXR1cm5FcnJvcikyMDggMzMwIHkgRnEoVGhpcylnKGV4Y2VwdGlvbilnKG1hdGMpbihoZXMpZyh0aGUpaAorKGVycm9yKWQocmV0dXJuKWkoY28pcihkZSloIEZsKFNTTF9FUlJPUl9aRVJPXylvKFJFKW8oVFVSKW8oTilwCitGcSgsKTI2IGIoYW5kKTMzIGIoaXMpZihyYWlzZWQpZih3aGVuKWkodGhlKWcoU1NMKTIwOAorNDI5IHkoQ29ubmVjdGlvbiljKGhhcylnKGIpcihlZW4paChjbG9zZWQuKTQzIGIoSW4pMjkKK2IoU1NMKWgoMy4wKWYoYW5kKWgoVExTKWcoMS4wLClmKHRoaXMpaChvbmx5KWYobylyKGNjdXJzKWcoaWYpaChhKWcKKyhjbG9zdXJlKWUoYWxlcnQpaChoYXMpZyhvKXIoY2N1cnJlZCkyMDggNTI5IHkoaW4pZyh0aGUpZyhwcm90bylyKGNvbCwpCitmKGkuZS4pNDEgYih0aGUpMjkgYihjb25uZWN0aW9uKWYoaGFzKWcoYilyKGVlbilpKGNsb3NlZCllKGNsZWFubHkpLTcKK2IoLik0MCBiKE5vdGUpMjkgYih0aGF0KWcodGhpcylnKGRvKXIoZXMpZihub3QpaChuZWNlc3NhcmlseSllKG1lYW4pMjA4Cis2MjggeSh0aGF0KWcodGhlKWgodHJhbnNwKXIob3J0KWYobGEpbih5KW4oZXIpZihcKGUuZy4pMzYKK2IoYSkyOCBiKHNvKXIoYyluKGspbihldFwpKWUoaGFzKWgoYilyKGVlbiloKGNsb3NlZC4pMjA4Cis3NTggeShJdClrKG1hKW4oeSlmKHNlZW0paChhKWYobGl0dGxlKWkoc3RyYW5nZSllKHRoYXQpaCh0aGlzKWcoaXMpZworKGFuKWcoZXhjZXB0aW9uLClnKGJ1dCloKGl0KWYoZG8pcihlcylnKG1hdGMpbihoKWcoYW4pZgorRmwoU1NMX0VSUk9SKWUgRnEoY28pcihkZSwpaihhbmQpZyhpcykyMDggODU4IHkodiluKGVyeSkyNgorYihjb24pbih2KW4oZW5pZW4pbih0LikwIDEwMDUgeSBGbShleGNlcHRpb24pMzIgYiBGbChXYW50UmVhZEVycm9yKTIwOAorMTEwNCB5IEZxKFRoZSlpKG9wKXIoZXJhdGlvbillKGRpZClqKG5vdClmKGNvbXBsZXRlOylqKHRoZSlkKHNhbWUpZworKEkvTylmKG1ldGhvKXIoZCloKHNob3VsZClnKGIpcihlKWcoY2FsbGVkKWcoYWdhaW4pZihsYXRlciwpaSh3aXRoKWYKKyh0aGUpaChzYW1lKTIwOCAxMjA0IHkoYXJndW1lbiluKHRzLilnKEFuKW4oeSkyOCBiKEkvTyllKG1ldGhvKXIoZClpCisoY2FuKWYobGVhZCloKHRvKWYodGhpcyloKHNpbmNlKWYobmV3KWgoaGFuZHNoYWspbihlcyllKGNhbiloKG8pcihjY3VyKQorZyhhdClnKGFuKW4oeSlnKHRpbWUuKTIwOCAxMzM0IHkoVGhlKTQ0IGIodyluKGFuKW4odGVkKWgocmVhZClmKGlzKWcKKyhmb3IpaCBGYyhkaXJ0eSlnIEZxKGRhdGEpZyhzZW4pbih0KWYobyluKHYpbihlcilmKHRoZSlqKG5ldCluKHcpbgorKG9yaywpaChub3QpZSh0aGUpaCBGYyhjbGUpbChhbilmIEZxKGRhdGEpZihpbnNpZGUpaCh0aGUpZyh0dW5uZWwuKTIwOAorMTQzMyB5KEYpLTcgYihvcikzOSBiKGEpaShzbylyKGMpbihrKW4oZXQpZShiYXNlZCloKFNTTCloKGNvbm5lY3Rpb24sKWkKK0ZjKHIpbChlKWwoYWQpZSBGcShtZWFucylmKGRhdGEpZyhjb21pbmcpZyhhdClnKHVzKWgobyluKHYpbihlcillKHRoZSlpCisobmV0KW4odyluKG9yay4pNzQgYihVbiluKHRpbCk0MSBiKHRoYXQpMjA4IDE1MzMgeShyZWFkKWQoc3VjY2VlZHMsKWsKKyh0aGUpZChhdHRlbXB0ZWQpaCBGbChPcGVuU1NMLlNTTC5Db25uKW8oZWN0KW8oaW8pbyhuLilvKHJlYylvKHYpcAogRnEoLCljIEZsKE9wZW5TU0wuU1NMLkNvbm4pbyhlYylvKHRpbylvKG4uKW8oc2UpbyhuZClwCi1GcSgsKWcob3IpMjA4IDE4MyB5IEZsKE9wZW5TU0wuU1NMLkNvbilvKG5lKW8oY3Qpbyhpb24pbyguZClvKG9faClvKGFuKQotbyhkcylvKGhhaylvKGUpMTUgYiBGcShpcykyMiBiKHByZXYpbihlbiluKHRlZCllKG9yKWgoaW5jb21wbGV0ZS4pMzUKLWIoWSktNyBiKG91KTIyIGIocHJvYmFibHkpZSh3KW4oYW4pbih0KWgodG8pZyBGbChzZWxlY3RcKFwpKTIwOAotMjgyIHkgRnEob24pMjcgYih0aGUpaChzbylyKGMpbihrKW4oZXQpZShiKXIoZWZvcmUpaCh0cnlpbmcpZyhhZ2Fpbi4pMAotNDI5IHkgRm0oZXhjZXB0aW9uKTMyIGIgRmwoV2FudFdyaXRlRXJyb3IpMjA4IDUyOSB5IEZxKFNlZSkyNwotYiBGbChXYW50UmVhZEVycm9yKXAgRnEoLikzMiBiKFRoZSkyNyBiKHNvKXIoYyluKGspbihldClnKHNlbmQpZwotKGJ1XDAzM2VyKWgobWEpbih5KWYoYilyKGUpaCh0bylyKG8pZihmdWxsKWgodG8pZyh3cml0ZSlmKG1vcmUpZyhkYXRhLikKLTAgNjc2IHkgRm0oZXhjZXB0aW9uKTMyIGIgRmwoV2FudFg1MDlMb29rdXBFKW8ocnIpbyhvcikyMDgKLTc3NSB5IEZxKFRoZSkyNCBiKG9wKXIoZXJhdGlvbilnKGRpZCloKG5vdClnKGNvbXBsZXRlKWYoYilyKGVjYXVzZSlnCitGcSgsKWcob3IpMjA4IDE2MzIgeSBGbChPcGVuU1NMLlNTTC5Db24pbyhuZSlvKGN0KW8oaW9uKW8oLmQpbyhvX2gpbworKGFuKW8oZHMpbyhoYWspbyhlKTE1IGIgRnEoaXMpMjIgYihwcmV2KW4oZW4pbih0ZWQpZShvciloKGluY29tcGxldGUuKQorMzUgYihZKS03IGIob3UpMjIgYihwcm9iYWJseSllKHcpbihhbiluKHQpaCh0bylnIEZsKHNlbGVjdFwoXCkpMjA4CisxNzMyIHkgRnEob24pMjcgYih0aGUpaChzbylyKGMpbihrKW4oZXQpZShiKXIoZWZvcmUpaCh0cnlpbmcpZyhhZ2Fpbi4pMAorMTg3OSB5IEZtKGV4Y2VwdGlvbikzMiBiIEZsKFdhbnRXcml0ZUVycm9yKTIwOCAxOTc5IHkKK0ZxKFNlZSkyNyBiIEZsKFdhbnRSZWFkRXJyb3IpcCBGcSguKTMyIGIoVGhlKTI3IGIoc28pcihjKW4oayluKGV0KWcKKyhzZW5kKWcoYnVcMDMzZXIpaChtYSluKHkpZihiKXIoZSloKHRvKXIobylmKGZ1bGwpaCh0bylnKHdyaXRlKWYobW9yZSlnCisoZGF0YS4pMCAyMTI1IHkgRm0oZXhjZXB0aW9uKTMyIGIgRmwoV2FudFg1MDlMb29rdXBFKW8ocnIpbyhvcikyMDgKKzIyMjUgeSBGcShUaGUpMjQgYihvcClyKGVyYXRpb24pZyhkaWQpaChub3QpZyhjb21wbGV0ZSlmKGIpcihlY2F1c2UpZwogKGFuKWgoYXBwbGljYXRpb24pZihjYWxsYmFjKW4oaylmKGhhcyloKGFzayluKGVkKWcodG8pZyhiKXIoZSloKGNhbGxlZCkKLWcoYWdhaW4uKTM0IGIoVGhlKTI1IGIoSS9PKTIwOCA4NzUgeShtZXRobylyKGQpZihzaG91bGQpaChiKXIoZSlmCitnKGFnYWluLikzNCBiKFRoZSkyNSBiKEkvTykyMDggMjMyNSB5KG1ldGhvKXIoZClmKHNob3VsZCloKGIpcihlKWYKIChjYWxsZWQpZyhhZ2FpbilnKGxhdGVyLClnKHdpdGgpaCh0aGUpZyhzYW1lKWUoYXJndW1lbiluKHRzLikzNQogYihOb3RlOilnKFRoaXMpMjQgYih3KW4ob24ndCloKG8pcihjY3VyKWUoaW4paSh0aGlzKWcodiluKGVyc2lvbiwpMjA4Ci05NzUgeShhcyloKHRoZXJlKWkoYXJlKWUobm8paShzdWMpbihoKWYoY2FsbGJhYyluKGtzKWYoaW4paSh0aGlzKWYodiluCi0oZXJzaW9uLikwIDExMjEgeSBGbShleGNlcHRpb24pMzIgYiBGbChTeXNDYWxsRXJyb3IpMjA4Ci0xMjIxIHkgRnEoVGhlKTI1IGIgRmwoU3lzQ2FsbEVycm9yKTIwIGIgRnEobylyKGNjdXJzKWsod2hlbilpKHRoZXJlJ3MpZQorMjQyNCB5KGFzKWgodGhlcmUpaShhcmUpZShubylpKHN1YyluKGgpZihjYWxsYmFjKW4oa3MpZihpbilpKHRoaXMpZih2KW4KKyhlcnNpb24uKTAgMjU3MSB5IEZtKGV4Y2VwdGlvbikzMiBiIEZsKFN5c0NhbGxFcnJvcikyMDgKKzI2NzEgeSBGcShUaGUpMjUgYiBGbChTeXNDYWxsRXJyb3IpMjAgYiBGcShvKXIoY2N1cnMpayh3aGVuKWkodGhlcmUncyllCiAoYW4paChJL08pZyhlcnJvcillKGFuZClpKE9wKXIoZW5TU0wncylnKGVycm9yKWUocXVldWUpaShkbylyKGVzKWcobm90KQotZyhjb24pbih0YWluKWcoYW4pbih5KTIwOCAxMzIxIHkoaW5mb3JtYXRpb24uKTU5IGIoVGhpcykzNgorZyhjb24pbih0YWluKWcoYW4pbih5KTIwOCAyNzcwIHkoaW5mb3JtYXRpb24uKTU5IGIoVGhpcykzNgogYihjYW4pZihtZWFuKWcodCluKHcpbihvKWcodGhpbmdzOik1MiBiKEFuKTM2IGIoZXJyb3IpZChpbilqKHRoZSlnCiAodHJhbnNwKXIob3J0KWUocHJvdG8pcihjb2wsKWkob3IpZihhbilnKGVuZCloKG9mKWYoXDAzNGxlKWgodGhhdCkyMDgKLTE0MjAgeSh2aW9sYXRlcykyNiBiKHRoZSlpKHByb3RvKXIoY29sLikzNiBiKFRoZSkyNyBiKHBhcmFtZXRlcilmKHRvKWkKKzI4NzAgeSh2aW9sYXRlcykyNiBiKHRoZSlpKHByb3RvKXIoY29sLikzNiBiKFRoZSkyNyBiKHBhcmFtZXRlcilmKHRvKWkKICh0aGUpZyhleGNlcHRpb24pZihpcylnKGFsdyluKGEpbih5cylmKGEpaChwYWlyKWcgRmwoXCgpcAogRmMoZXJybnVtKTYgYiBGbCgsKTQyIGIgRmMoZXJyc3RyKTkgYiBGbChcKSlwIEZxKC4pMAotMTY4MyB5IEZmKENvbnRleHQpMjcgYihvYmplY3RzKTAgMTg4NCB5IEZxKENvbiluKHRleHQpZyhvYik1CiszMTMwIHkgRmYoQ29udGV4dCkyNyBiKG9iamVjdHMpMCAzMzMxIHkgRnEoQ29uKW4odGV4dClnKG9iKTUKIGIoamVjdHMpMjcgYihoYSluKHYpbihlKWcodGhlKWgoZm9sbG8pbih3aW5nKWUobWV0aG8pcihkczopMAotMjAzMSB5IEZsKGNoZWNrX3ByaXZhdGVrZXkpbyhcKFwpKTIwOCAyMTQ3IHkgRnEoQ2hlYyluKGspayhpZilpKHRoZSlnCiszNDc4IHkgRmwoY2hlY2tfcHJpdmF0ZWtleSlvKFwoXCkpMjA4IDM1OTQgeSBGcShDaGVjKW4oaylrKGlmKWkodGhlKWcKIChwcml2KS01IGIoYXRlKTMxIGIoayluKGV5KWYoXChsb2FkZWQpaCh3aXRoKWggRmwodXNlX3ByaXZhdGVrZXkpcAogRmIoWylwIEZsKF8pbyhmaSlvKGxlKTExIGIgRmIoXSlwIEZxKFwpKTI2IGIobWF0YyluKGhlcylrKHRoZSlpCi0oY2VydGlcMDM0Y2F0ZSlmKFwobG9hZGVkKWcod2l0aCkyMDggMjI3NSB5IEZsKHVzZV9jZXJ0aWZpY2F0ZSlvCisoY2VydGlcMDM0Y2F0ZSlmKFwobG9hZGVkKWcod2l0aCkyMDggMzcyMiB5IEZsKHVzZV9jZXJ0aWZpY2F0ZSlvCiBGYihbKXAgRmwoXylvKGZpbClvKGUpMTEgYiBGYihdKXAgRnEoXCkuKTMxIGIoUmV0dXJucylkCiBGbChOb25lKWUgRnEoaWYpaSh0aGV5KWYobWF0YyluKGgsKWgocmFpc2VzKWUgRmwoRXJyb3IpZwotRnEob3RoZXJ3aXNlLikwIDI0MjEgeSBGbChnZXRfYXBwX2RhdGFcKFwpKTIwOCAyNTIxIHkKK0ZxKG90aGVyd2lzZS4pMCAzODY5IHkgRmwoZ2V0X2FwcF9kYXRhXChcKSkyMDggMzk2OCB5CiBGcShSZXRyaWV2KW4oZSlnKGFwcGxpY2F0aW9uKWgoZGF0YSlnKGFzKWcoc2V0KWgoYiluKHkpZwotRmwoc2V0X2FwcF9kYXRhKXAgRnEoLikwIDI2NjggeSBGbChnZXRfY2VydF9zdG9yZVwoXCkpMjA4Ci0yNzY4IHkgRnEoUmV0cmlldiluKGUpMzQgYih0aGUpaShjZXJ0aVwwMzRjYXRlKWYoc3RvcmUpZihcKGEpaAorRmwoc2V0X2FwcF9kYXRhKXAgRnEoLikwIDQxMTUgeSBGbChnZXRfY2VydF9zdG9yZVwoXCkpMjA4Cis0MjE1IHkgRnEoUmV0cmlldiluKGUpMzQgYih0aGUpaShjZXJ0aVwwMzRjYXRlKWYoc3RvcmUpZihcKGEpaAogKFg1MDlTdG9yZSlmKG9iKTUgYihqZWN0XCkpMzUgYih0aGF0KWgodGhlKWYoY29uKW4odGV4dClnKHVzZXMuKTYwCi1iKFRoaXMpMzUgYihjYW4pZyhiKXIoZSloKHVzZWQpZih0bylnKGFkZCkyMDggMjg2NyB5KCJ0cnVzdGVkIikyNgorYihUaGlzKTM1IGIoY2FuKWcoYilyKGUpaCh1c2VkKWYodG8pZyhhZGQpMjA4IDQzMTQgeSgidHJ1c3RlZCIpMjYKIGIoY2VydGlcMDM0Y2F0ZXMpaCh3aXRob3V0KWgodXNpbmcpZih0aGUuKTM3IGIgRmwobG9hZF92ZXJpZnlfbG9jYSlvCi0odGlvKW8obnMpbyhcKFwpKTIxIGIgRnEobWV0aG8pcihkLikwIDMwMTQgeSBGbChnZXRfdGltZW91dFwoXCkpMjA4Ci0zMTE0IHkgRnEoUmV0cmlldiluKGUpMjYgYihzZXNzaW9uKWgodGltZW91dCwpaChhcylmKHNldClnKGIpbih5KWkKKyh0aW8pbyhucylvKFwoXCkpMjEgYiBGcShtZXRobylyKGQuKTAgNDQ2MSB5IEZsKGdldF90aW1lb3V0XChcKSkyMDgKKzQ1NjEgeSBGcShSZXRyaWV2KW4oZSkyNiBiKHNlc3Npb24paCh0aW1lb3V0LCloKGFzKWYoc2V0KWcoYiluKHkpaQogRmwoc2V0X3RpbWVvdXQpcCBGcSguKWooVGhlKWMoZGVmYXVsdClnKGlzKWYoMzAwKWYoc2Vjb25kcy4pMAotMzI2MSB5IEZsKGdldF92ZXJpZnlfZGVwdGgpbyhcKFwpKTIwOCAzMzYwIHkgRnEoUmV0cmlldiluKGUpZyh0aGUpaQorNDcwOCB5IEZsKGdldF92ZXJpZnlfZGVwdGgpbyhcKFwpKTIwOCA0ODA3IHkgRnEoUmV0cmlldiluKGUpZyh0aGUpaQogKENvbiluKHRleHQpZihvYik1IGIoamVjdCdzKTI4IGIodiluKGVyaWZ5KWUoZGVwdGgsKWooYXMpZChzZXQpaShiKW4oeSkKLWcgRmwoc2V0X3ZlcmlmeV9kZXB0aClwIEZxKC4pMCAzNTA3IHkgRmwoZ2V0X3ZlcmlmeV9tb2RlXCgpbyhcKSkyMDgKLTM2MDcgeSBGcShSZXRyaWV2KW4oZSllKHRoZSlpKENvbiluKHRleHQpZihvYik1IGIoamVjdCdzKTI4CitnIEZsKHNldF92ZXJpZnlfZGVwdGgpcCBGcSguKTAgNDk1NCB5IEZsKGdldF92ZXJpZnlfbW9kZVwoKW8oXCkpMjA4Cis1MDU0IHkgRnEoUmV0cmlldiluKGUpZSh0aGUpaShDb24pbih0ZXh0KWYob2IpNSBiKGplY3QncykyOAogYih2KW4oZXJpZnkpZShtbylyKGRlLClpKGFzKWYoc2V0KWgoYiluKHkpZyBGbChzZXRfdmVyaWZ5KXAKLUZxKC4pMCAzNzU0IHkgRmwobG9hZF9jbGllbnRfY2FcKClwIEZjKHApbChlbVwwMzRsZSk2Ci1iIEZsKFwpKTIwOCAzODUzIHkgRnEoUmVhZCkzMyBiKGEpZyhcMDM0bGUpaCh3aXRoKWcoUEVNLWZvcm1hdHRlZClnCitGcSguKTAgNTIwMSB5IEZsKGxvYWRfY2xpZW50X2NhXCgpcCBGYyhwKWwoZW1cMDM0bGUpNgorYiBGbChcKSkyMDggNTMwMCB5IEZxKFJlYWQpMzMgYihhKWcoXDAzNGxlKWgod2l0aClnKFBFTS1mb3JtYXR0ZWQpZwogKGNlcnRpXDAzNGNhdGVzKWYodGhhdCloKHdpbGwpZyhiKXIoZSlnKHNlbiluKHQpZih0byloKHRoZSlnKGNsaWVuKW4odCkKLWYod2hlbiloKHJlcXVlc3RpbmcpZihhKWcoY2xpZW4pbih0KTIwOCAzOTUzIHkoY2VydGlcMDM0Y2F0ZS4pMAotNDEwMCB5IEZsKHNldF9jbGllbnRfY2FfbGkpbyhzdClvKFwoKXAgRmMoYylsKGVydGlcMDM0YylsKGF0ZV9hdSlvCi0odGhvcml0aWVzKTcgYiBGbChcKSkyMDggNDE5OSB5IEZxKFJlcGxhY2UpMjMgYih0aGUpaChjdXJyZW4pbih0KWcKLShsaXN0KWcob2YpZyhwcmVmZXJyZWQpZihjZXJ0aVwwMzRjYXRlKWcoc2lnbmVycylnKHRoYXQpaCh3KW4ob3VsZClmKGIpCi1yKGUpaShzZW4pbih0KWYodG8pZyh0aGUpZyhjbGllbiluKHQpZyh3aGVuKWcocmVxdWVzdGluZykyMDgKLTQyOTkgeShhKWooY2xpZW4pbih0KWcoY2VydGlcMDM0Y2F0ZSlnKHdpdGgpaCh0aGUpZyBGYyhjKWwoZXJ0aVwwMzRjKWwKLShhdGVfYXV0aG9yaXRpZXMpMzUgYiBGcShzZXF1ZW5jZSkyNyBiKG9mKTM0IGIgRmwoT3BlblNTTC5jcnlwdG8uWDUpbwotKDA5KW8oTmEpbyhtZSlwIEZxKHMpbyguKTIwOCA0NDMyIHkoTmV3KTI3IGIoaW4paCh2KW4oZXJzaW9uKWUoMC4xMC4pMAotNDU3OSB5IEZsKGFkZF9jbGllbnRfY2FcKClwIEZjKGMpbChlcnRpXDAzNGMpbChhdGVfYXV0KW8oaG9yaXR5KTcKLWIgRmwoXCkpMjA4IDQ2NzggeSBGcShFeHRyYWN0KTIyIGIoYSlnIEZsKE9wZW5TU0wuY3J5cHRvLlgpbyg1MClvKDlOYSlvCitmKHdoZW4paChyZXF1ZXN0aW5nKWYoYSlnKGNsaWVuKW4odCkyMDggNTQwMCB5KGNlcnRpXDAzNGNhdGUuKXAKKzAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZigzLjMpODIgYiBGbChTU0wpMjYgYiBGZihcMDI2KWkoQW4pZworKGludGVyZmFjZSlnKHRvKWYodGhlKWcoU1NMLXNwKXIoZWNpXDAzNGMpaChwYSluKHJ0cylmKG9mKWgoT3ApcihlblNTTCkKKzE2MTEgYigxMylwIGVvcCBlbmQKKyUlUGFnZTogMTQgMTQKK1RlWERpY3QgYmVnaW4gMTQgMTMgYm9wIDAgODMgYSBGbChzZXRfY2xpZW50X2NhX2xpKW8oc3QpbyhcKClwCitGYyhjKWwoZXJ0aVwwMzRjKWwoYXRlX2F1KW8odGhvcml0aWVzKTcgYiBGbChcKSkyMDggMTgzCit5IEZxKFJlcGxhY2UpMjMgYih0aGUpaChjdXJyZW4pbih0KWcobGlzdClnKG9mKWcocHJlZmVycmVkKWYKKyhjZXJ0aVwwMzRjYXRlKWcoc2lnbmVycylnKHRoYXQpaCh3KW4ob3VsZClmKGIpcihlKWkoc2VuKW4odClmKHRvKWcKKyh0aGUpZyhjbGllbiluKHQpZyh3aGVuKWcocmVxdWVzdGluZykyMDggMjgyIHkoYSlqKGNsaWVuKW4odClnCisoY2VydGlcMDM0Y2F0ZSlnKHdpdGgpaCh0aGUpZyBGYyhjKWwoZXJ0aVwwMzRjKWwoYXRlX2F1dGhvcml0aWVzKTM1CitiIEZxKHNlcXVlbmNlKTI3IGIob2YpMzQgYiBGbChPcGVuU1NMLmNyeXB0by5YNSlvKDA5KW8oTmEpbyhtZSlwCitGcShzKW8oLikyMDggNDE1IHkoTmV3KTI3IGIoaW4paCh2KW4oZXJzaW9uKWUoMC4xMC4pMAorNTYyIHkgRmwoYWRkX2NsaWVudF9jYVwoKXAgRmMoYylsKGVydGlcMDM0YylsKGF0ZV9hdXQpbyhob3JpdHkpNworYiBGbChcKSkyMDggNjYyIHkgRnEoRXh0cmFjdCkyMiBiKGEpZyBGbChPcGVuU1NMLmNyeXB0by5YKW8oNTApbyg5TmEpbwogKG1lKTE2IGIgRnEoZnJvbSkyMiBiKHRoZSloIEZjKGMpbChlcnRpXDAzNGMpbChhdGVfYXV0aG9yaXR5KTMwCiBiIEZsKE9wZW5TU0wuY3J5cHRvLlgpbyg1MDkpMTYgYiBGcShjZXJ0aVwwMzRjYXRlKTIwOAotNDc3OCB5KGFuZClrKGFkZClnKGl0KWgodG8pZih0aGUpaChsaXN0KWYob2YpaChwcmVmZXJyZWQpZQorNzYxIHkoYW5kKWsoYWRkKWcoaXQpaCh0bylmKHRoZSloKGxpc3QpZihvZiloKHByZWZlcnJlZCllCiAoY2VydGlcMDM0Y2F0ZSloKHNpZ25lcnMpZihzZW4pbih0KWgodG8pZyh0aGUpaChjbGllbiluKHQpZih3aGVuKWgKLShyZXF1ZXN0aW5nKWUoYSloKGNsaWVuKW4odCloKGNlcnRpXDAzNGNhdGUuKTIwOCA0OTExCi15KE5ldykyNyBiKGluKWgodiluKGVyc2lvbillKDAuMTAuKTAgNTA1OCB5IEZsKGxvYWRfdmVyaWZ5X2xvY2Epbyh0aSlvCisocmVxdWVzdGluZyllKGEpaChjbGllbiluKHQpaChjZXJ0aVwwMzRjYXRlLikyMDggODk0Cit5KE5ldykyNyBiKGluKWgodiluKGVyc2lvbillKDAuMTAuKTAgMTA0MSB5IEZsKGxvYWRfdmVyaWZ5X2xvY2Epbyh0aSlvCiAob25zKW8oXCgpcCBGYyhwKWwoZW1cMDM0bGUsKWUoYylsKGFwKWwoYXRoKTYgYiBGbChcKSkyMDgKLTUxNTcgeSBGcShTcClyKGVjaWZ5KTI0IGIod2hlcmUpZihDQSlnKGNlcnRpXDAzNGNhdGVzKWcoZm9yKWcodiluCisxMTQxIHkgRnEoU3ApcihlY2lmeSkyNCBiKHdoZXJlKWYoQ0EpZyhjZXJ0aVwwMzRjYXRlcylnKGZvcilnKHYpbgogKGVyaVwwMzRjYXRpb24pZihwdXJwKXIob3NlcyloKGFyZSlmKGxvKXIoY2F0ZWQuKTM1IGIoVGhlc2UpMjMKLWIoYXJlKWcodHJ1c3RlZClnKGNlcnRpXDAzNGNhdGVzLikzNSBiKE5vdGUpMjA4IDUyNTcKK2IoYXJlKWcodHJ1c3RlZClnKGNlcnRpXDAzNGNhdGVzLikzNSBiKE5vdGUpMjA4IDEyNDAKIHkodGhhdCljKHRoZSlnKGNlcnRpXDAzNGNhdGVzKWYoaGEpbih2KW4oZSlmKHRvKWkoYilyKGUpZyhpbilnKFBFTSloCiAoZm9ybWF0Lik0NiBiKElmKTMxIGIoY2FwYXRoKWYoaXMpaChwYXNzZWQsKWYoaXQpaShtKW4odXN0KWUoYilyKGUpaShhKQotZShkaXJlY3RvcnkpZihwcmVwYXJlZCkyMDggNTM1NiB5KHVzaW5nKWkodGhlKWggRmwoY19yZWhhc2gpYworZShkaXJlY3RvcnkpZihwcmVwYXJlZCkyMDggMTM0MCB5KHVzaW5nKWkodGhlKWggRmwoY19yZWhhc2gpYwogRnEodG8pcihvbClqKGluY2x1ZGVkKWgod2l0aClnKE9wKXIoZW5TU0wuKWcoRWl0aGVyLCloKGJ1dClmKG5vdClnKGIpcgogKG90aCwpaChvZikzOCBiIEZjKHApbChlbVwwMzRsZSlnIEZxKG9yKTMxIGIgRmMoYylsKGFwKWwoYXRoKTM5Ci1iIEZxKG1hKW4oeSkzMSBiKGIpcihlKXAgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZmKDMuMyk4MgotYiBGbChTU0wpMjYgYiBGZihcMDI2KWkoQW4pZyhpbnRlcmZhY2UpZyh0bylmKHRoZSlnKFNTTC1zcClyKGVjaVwwMzRjKWgKLShwYSluKHJ0cylmKG9mKWgoT3ApcihlblNTTCkxNjExIGIoMTMpcCBlb3AgZW5kCi0lJVBhZ2U6IDE0IDE0Ci1UZVhEaWN0IGJlZ2luIDE0IDEzIGJvcCAyMDggODMgYSBGbChOb25lKXAgRnEoLikwIDIzMAorYiBGcShtYSluKHkpMzEgYihiKXIoZSkyMDggMTQzOSB5IEZsKE5vbmUpcCBGcSguKTAgMTU4NgogeSBGbChzZXRfZGVmYXVsdF92ZXJpKW8oZnkpbyhfcGEpbyh0aClvKHNcKClvKFwpKTIwOAotMzMwIHkgRnEoU3ApcihlY2lmeSkyMCBiKHRoYXQpaCh0aGUpZyhwbGF0Zm9ybSlmKHBybyluKHZpZGVkKWYoQ0EpaAorMTY4NiB5IEZxKFNwKXIoZWNpZnkpMjAgYih0aGF0KWgodGhlKWcocGxhdGZvcm0pZihwcm8pbih2aWRlZClmKENBKWgKIChjZXJ0aVwwMzRjYXRlcylnKGFyZSlmKHRvKWgoYilyKGUpaCh1c2VkKWYoZm9yKWcodiluKGVyaVwwMzRjYXRpb24pZgotKHB1cnApcihvc2VzLikzMyBiKFRoaXMpMjEgYihtZXRobylyKGQpMjA4IDQyOSB5KG1hKW4oeSkyNgotYihub3QpaSh3KW4ob3JrKWUocHJvcClyKGVybHkpaChvbilnKE9TKWcoWC4pMCA1NzYgeQotRmwobG9hZF90bXBfZGhcKClwIEZjKGRoXDAzNGxlKTYgYiBGbChcKSkyMDggNjc2IHkgRnEoTG9hZCkyNgorKHB1cnApcihvc2VzLikzMyBiKFRoaXMpMjEgYihtZXRobylyKGQpMjA4IDE3ODYgeShtYSluKHkpMjYKK2Iobm90KWkodyluKG9yayllKHByb3Apcihlcmx5KWgob24pZyhPUylnKFguKTAgMTkzMiB5CitGbChsb2FkX3RtcF9kaFwoKXAgRmMoZGhcMDM0bGUpNiBiIEZsKFwpKTIwOCAyMDMyIHkgRnEoTG9hZCkyNgogYihwYXJhbWV0ZXJzKWcoZm9yKWgoRXBoZW1lcmFsKWcoRGlcMDM2ZS1IZWxsbWFuKWgoZnJvbSlnCi1GYyhkaFwwMzRsZSk2IGIgRnEoLikwIDgyMyB5IEZsKHNldF9hcHBfZGF0YVwoKXAgRmMoZGF0YSlnCi1GbChcKSkyMDggOTIyIHkgRnEoQXNzbylyKGNpYXRlKTI1IGIgRmMoZGF0YSkzMyBiIEZxKHdpdGgpMjcKK0ZjKGRoXDAzNGxlKTYgYiBGcSguKTAgMjE3OSB5IEZsKHNldF9hcHBfZGF0YVwoKXAgRmMoZGF0YSlnCitGbChcKSkyMDggMjI3OSB5IEZxKEFzc28pcihjaWF0ZSkyNSBiIEZjKGRhdGEpMzMgYiBGcSh3aXRoKTI3CiBiKHRoaXMpZihDb24pbih0ZXh0KWYob2IpNSBiKGplY3QuKTM2IGIgRmMoZGF0YSllIEZxKGNhbikyNQogYihiKXIoZSlpKHJldHJpZXYpbihlZClkKGxhdGVyKWkodXNpbmcpZih0aGUpaSBGbChnZXRfYXBwX2RhdGEpMjEKLWIgRnEobWV0aG8pcihkLikwIDEwNjkgeSBGbChzZXRfY2lwaGVyX2xpc3RcKClvIEZjKGNpcGhlcnMpNwotYiBGbChcKSkyMDggMTE2OSB5IEZxKFNldCkyOCBiKHRoZSlnKGxpc3QpaChvZilmKGNpcGhlcnMpZih0byloKGIpcihlKWcKK2IgRnEobWV0aG8pcihkLikwIDI0MjUgeSBGbChzZXRfY2lwaGVyX2xpc3RcKClvIEZjKGNpcGhlcnMpNworYiBGbChcKSkyMDggMjUyNSB5IEZxKFNldCkyOCBiKHRoZSlnKGxpc3QpaChvZilmKGNpcGhlcnMpZih0byloKGIpcihlKWcKICh1c2VkKWcoaW4pZyh0aGlzKWgoY29uKW4odGV4dC4pMzcgYihTZWUpMjggYih0aGUpaChPcClyKGVuU1NMKWYobWFuKW4KLSh1YWwpZihmb3IpaChtb3JlKWYoaW5mb3JtYXRpb24pZyhcKGUuZy4pMjA4IDEyNjggeShjaXBoZXJzXCgxXClcKSkwCi0xNDE1IHkgRmwoc2V0X2luZm9fY2FsbGJhYylvKGtcKClvIEZjKGMpbChhbCl0KGxiKWwoYWNrKTkKLWIgRmwoXCkpMjA4IDE1MTUgeSBGcShTZXQpMzMgYih0aGUpZihpbmZvcm1hdGlvbilnKGNhbGxiYWMpbihrKWYodG8paQorKHVhbClmKGZvciloKG1vcmUpZihpbmZvcm1hdGlvbilnKFwoZS5nLikyMDggMjYyNSB5KGNpcGhlcnNcKDFcKVwpKTAKKzI3NzIgeSBGbChzZXRfaW5mb19jYWxsYmFjKW8oa1woKW8gRmMoYylsKGFsKXQobGIpbChhY2spOQorYiBGbChcKSkyMDggMjg3MSB5IEZxKFNldCkzMyBiKHRoZSlmKGluZm9ybWF0aW9uKWcoY2FsbGJhYyluKGspZih0bylpCiBGYyhjKWwoYWwpdChsYilsKGFjayk5IGIgRnEoLik1NCBiKFRoaXMpMzIgYihmdW5jdGlvbiloKHdpbGwpZyhiKXIoZSlnCiAoY2FsbGVkKWYoZnJvbSlnKHRpbWUpaCh0bylnKHRpbWUpZyhkdXJpbmcpZihTU0wpMjA4Ci0xNjE0IHkoaGFuZHNoYWspbihlcy4pNDkgYiBGYyhjKWwoYWwpdChsYilsKGFjayk0MyBiCisyOTcxIHkoaGFuZHNoYWspbihlcy4pNDkgYiBGYyhjKWwoYWwpdChsYilsKGFjayk0MyBiCiBGcShzaG91bGQpMzIgYih0YWspbihlKWcodGhyZWUpZyhhcmd1bWVuKW4odHM6KTQ1IGIoYSkzMgogYihDb25uZWN0aW9uKWcob2IpNSBiKGplY3QpMzIgYihhbmQpZyh0KW4odyluKG8pZyhpbiluKHRlZ2Vycy4pNTAKLWIoVGhlKTMyIGIoXDAzNHJzdCkyMDggMTcxNCB5KGluKW4odGVnZXIpZihzcClyKGVjaVwwMzRlcylnKHdoZXJlKWgoaW4pCitiKFRoZSkzMiBiKFwwMzRyc3QpMjA4IDMwNzAgeShpbiluKHRlZ2VyKWYoc3ApcihlY2lcMDM0ZXMpZyh3aGVyZSloKGluKQogZyh0aGUpZyhTU0wpZyhoYW5kc2hhayluKGUpZih0aGUpaChmdW5jdGlvbiloKHcpbihhcyllKGNhbGxlZCwpaChhbmQpZwotKHRoZSlnKG90aGVyKWcodGhlKWcocmV0dXJuKWYoY28pcihkZSkyMDggMTgxNCB5KGZyb20pYyhhKWcoXChwKXIKKyh0aGUpZyhvdGhlcilnKHRoZSlnKHJldHVybilmKGNvKXIoZGUpMjA4IDMxNzAgeShmcm9tKWMoYSlnKFwocClyCiAob3NzaWJseSlnKGZhaWxlZFwpKWgoaW4pbih0ZXJuYWwpZihmdW5jdGlvbiloKGNhbGwuKTAKLTE5NjEgeSBGbChzZXRfb3B0aW9uc1woKXAgRmMob3B0aW9ucyk3IGIgRmwoXCkpMjA4IDIwNjAKKzMzMTcgeSBGbChzZXRfb3B0aW9uc1woKXAgRmMob3B0aW9ucyk3IGIgRmwoXCkpMjA4IDM0MTcKIHkgRnEoQSluKGRkKTI4IGIoU1NMKWgob3B0aW9ucy4pMzggYihPcHRpb25zKTI4IGIoeSluKG91KWYoaGEpbih2KW4oZSlnCiAoc2V0KWkoYilyKGVmb3JlKWYoYXJlKWYobm90KWgoY2xlYXJlZCEpMzggYihUaGlzKTI4CiBiKG1ldGhvKXIoZCloKHNob3VsZClmKGIpcihlKWgodXNlZClmKHdpdGgpaCh0aGUpMjA4Ci0yMTYwIHkgRmwoT1BfKilkIEZxKGNvbnN0YW4pbih0cy4pMCAyMzA3IHkgRmwoc2V0X3Bhc3N3ZF9jYlwoKXAKKzM1MTYgeSBGbChPUF8qKWQgRnEoY29uc3RhbiluKHRzLikwIDM2NjMgeSBGbChzZXRfcGFzc3dkX2NiXCgpcAogRmMoYylsKGFsKXQobGIpbChhY2spOSBiIEZiKFspcCBGYygsKTI1IGIodXNlcilsKGRhdGEpMTkKLWIgRmIoXSlwIEZsKFwpKTIwOCAyNDA2IHkgRnEoU2V0KTQyIGIodGhlKWcocGFzc3BocmFzZSlmKGNhbGxiYWMpbihrKWYKK2IgRmIoXSlwIEZsKFwpKTIwOCAzNzYzIHkgRnEoU2V0KTQyIGIodGhlKWcocGFzc3BocmFzZSlmKGNhbGxiYWMpbihrKWYKICh0bylpIEZjKGMpbChhbCl0KGxiKWwoYWNrKTkgYiBGcSguKTgyIGIoVGhpcyk0MiBiKGZ1bmN0aW9uKWgod2lsbClmKGIpCiByKGUpZyhjYWxsZWQpZyh3aGVuKWcoYSlnKHByaXYpLTUgYihhdGUpNDIgYihrKW4oZXkpZih3aXRoKWgoYSkyMDgKLTI1MDYgeShwYXNzcGhyYXNlKTMyIGIoaXMpaShsb2FkZWQuKTU2IGIgRmMoYylsKGFsKXQobGIpbChhY2spNDUKKzM4NjIgeShwYXNzcGhyYXNlKTMyIGIoaXMpaShsb2FkZWQuKTU2IGIgRmMoYylsKGFsKXQobGIpbChhY2spNDUKIGIgRnEobSluKHVzdCkzNCBiKGFjY2VwdClnKHRocmVlKWcocClyKG9zaXRpb25hbClmKGFyZ3VtZW4pbih0cy4pNTYKLWIoRmlyc3QsKTM1IGIoYW4pZihpbiluKHRlZ2VyKWYoZ2l2aW5nKWgodGhlKTIwOCAyNjA2CitiKEZpcnN0LCkzNSBiKGFuKWYoaW4pbih0ZWdlcilmKGdpdmluZyloKHRoZSkyMDggMzk2MgogeShtYXhpbSluKHVtKWUobGVuZ3RoKWkob2YpZih0aGUpZyhwYXNzcGhyYXNlKWYoaXQpaChtYSluKHkpZyhyZXR1cm4uKQogNTMgYihJZikzMyBiKHRoZSloKHJldHVybmVkKWUocGFzc3BocmFzZSlnKGlzKWgobG9uZ2VyKWYodGhhbiloKHRoaXMsKWkKLShpdCkyMDggMjcwNSB5KHdpbGwpMjkgYihiKXIoZSloKHRydW5jYXRlZC4pNDMgYihTZWNvbmQsKTMwCisoaXQpMjA4IDQwNjIgeSh3aWxsKTI5IGIoYilyKGUpaCh0cnVuY2F0ZWQuKTQzIGIoU2Vjb25kLCkzMAogYihhKWYoYilyKG8pcihvbGVhbilnKHYpLTUgYihhbHVlKTI5IGIod2hpYyluKGgpaCh3aWxsKWcoYilyKGUpZyh0cnVlKWYKIChpZiloKHRoZSlnKHVzZXIpZihzaG91bGQpZyhiKXIoZSloKHByb21wdGVkKWcoZm9yKWYodGhlKTIwOAotMjgwNSB5KHBhc3NwaHJhc2Upayh0KW4od2ljZSloKGFuZCloKHRoZSlnKGNhbGxiYWMpbihrKWYoc2hvdWxkKWcodiluCis0MTYxIHkocGFzc3BocmFzZSlrKHQpbih3aWNlKWgoYW5kKWgodGhlKWcoY2FsbGJhYyluKGspZihzaG91bGQpZyh2KW4KIChlcmlmeSloKHRoYXQpZyh0aGUpZyh0KW4odyluKG8pZih2KS01IGIoYWx1ZXMpMzUgYihzdXBwbGllZClnKGFyZSlmCi0oZXF1YWwuKTU4IGIoVGhpcmQsKTM3IGIodGhlKTIwOCAyOTA0IHkodiktNSBiKGFsdWUpMjcKKyhlcXVhbC4pNTggYihUaGlyZCwpMzcgYih0aGUpMjA4IDQyNjEgeSh2KS01IGIoYWx1ZSkyNwogYihnaXYpbihlbilnKGFzKWcodGhlKWggRmModXNlcilsKGRhdGEpMzUgYiBGcShwYXJhbWV0ZXIpMjYKIGIodG8paCBGbChzZXRfcGFzc3dkX2NiKXAgRnEoLikzMiBiKElmKWMoYW4pZyhlcnJvcilkKG8pcihjY3VycywpaQogRmMoYylsKGFsKXQobGIpbChhY2spMzkgYiBGcShzaG91bGQpMjcgYihyZXR1cm4pZyhhKTIwOAotMzAwNCB5KGZhbHNlKWcodiktNSBiKGFsdWUpMjcgYihcKGUuZy4pMzcgYihhbikyNyBiKGVtcHQpbih5KWgKLShzdHJpbmdcKS4pMCAzMTUxIHkgRmwoc2V0X3Nlc3Npb25faWRcKClwIEZjKG4pbyhhbWUpNgotYiBGbChcKSkyMDggMzI1MSB5IEZxKFNldCkzMyBiKHRoZSloKGNvbiluKHRleHQpZiBGYyhuYW1lKTM5Cis0MzYwIHkoZmFsc2UpZyh2KS01IGIoYWx1ZSkyNyBiKFwoZS5nLikzNyBiKGFuKTI3IGIoZW1wdCluKHkpaAorKHN0cmluZ1wpLikwIDQ1MDcgeSBGbChzZXRfc2Vzc2lvbl9pZFwoKXAgRmMobilvKGFtZSk2CitiIEZsKFwpKTIwOCA0NjA3IHkgRnEoU2V0KTMzIGIodGhlKWgoY29uKW4odGV4dClmIEZjKG5hbWUpMzkKIGIgRnEod2l0aGluKTM0IGIod2hpYyluKGgpZihhKWcoc2Vzc2lvbilmKGNhbiloKGIpcihlKWgocmV1c2VkKWUoZm9yKWgKICh0aGlzKWcoQ29uKW4odGV4dClnKG9iKTUgYihqZWN0Lik1NCBiKFRoaXMpMzMgYihpcylnKG5lZWRlZCkyMDgKLTMzNTAgeSh3aGVuKWUoZG9pbmcpZyhzZXNzaW9uKWcocmVzdW1wdGlvbiwpaChiKXIoZWNhdXNlKWcodGhlcmUpZihpcyloCis0NzA3IHkod2hlbillKGRvaW5nKWcoc2Vzc2lvbilnKHJlc3VtcHRpb24sKWgoYilyKGVjYXVzZSlnKHRoZXJlKWYoaXMpaAogKG5vKWYodyluKGEpbih5KWcoZm9yKWcoYSlnKHN0b3JlZClnKHNlc3Npb24pZih0bylpKGtubyluKHcpZih3aGljKW4oaCkKLWcoQ29uKW4odGV4dCkyMDggMzQ1MCB5KG9iKTUgYihqZWN0KTI3IGIoaXQpaChpcylmKGFzc28pcihjaWF0ZWQpZworZyhDb24pbih0ZXh0KTIwOCA0ODA2IHkob2IpNSBiKGplY3QpMjcgYihpdCloKGlzKWYoYXNzbylyKGNpYXRlZClnCiAod2l0aC4pMzcgYiBGYyhuYW1lKWQgRnEobWEpbih5KTI3IGIoYilyKGUpaChhbiluKHkpZShiaW5hcnkpaChkYXRhLikwCi0zNTk3IHkgRmwoc2V0X3RpbWVvdXRcKClwIEZjKHRpbWUpbChvdXQpOCBiIEZsKFwpKTIwOAotMzY5NiB5IEZxKFNldCkyOSBiKHRoZSlnKHRpbWVvdXQpaChmb3IpZShuZXdseSloKGNyZWF0ZWQpZihzZXNzaW9ucylnCis0OTUzIHkgRmwoc2V0X3RpbWVvdXRcKClwIEZjKHRpbWUpbChvdXQpOCBiIEZsKFwpKTIwOAorNTA1MyB5IEZxKFNldCkyOSBiKHRoZSlnKHRpbWVvdXQpaChmb3IpZShuZXdseSloKGNyZWF0ZWQpZihzZXNzaW9ucylnCiAoZm9yKWgodGhpcylnKENvbiluKHRleHQpZyhvYik1IGIoamVjdCkyOCBiKHRvKWggRmModGltZSlsKG91dCk4CiBiIEZxKC4pNDEgYiBGYyh0aW1lKWwob3V0KTM2IGIgRnEobSluKHVzdCkyOSBiKGIpcihlKWgoZ2l2KW4oZW4pMjA4Ci0zNzk2IHkoaW4pZihcKHdob2xlXCkpZihzZWNvbmRzLik0MCBiKFRoZSkyOSBiKGRlZmF1bHQpZyh2KS01Cis1MTUyIHkoaW4pZihcKHdob2xlXCkpZihzZWNvbmRzLik0MCBiKFRoZSkyOSBiKGRlZmF1bHQpZyh2KS01CiBiKGFsdWUpMjggYihpcyloKDMwMCllKHNlY29uZHMuKTQwIGIoU2VlKTI5IGIodGhlKWcoT3ApcihlblNTTClnKG1hbiluCi0odWFsKWYoZm9yKWcobW9yZSlnKGluZm9ybWF0aW9uKTIwOCAzODk2IHkoXChlLmcuKTM2Ci1iKFNTTF9DVFhfc2V0X3RpbWVvdXRcKDNcKVwpLikwIDQwNDIgeSBGbChzZXRfdmVyaWZ5XCgpcAotRmMobW8pbChkZSwpMjYgYihjKWwoYWwpdChsYilsKGFjayk5IGIgRmwoXCkpMjA4IDQxNDIKLXkgRnEoU2V0KTM2IGIodGhlKWgodiluKGVyaVwwMzRjYXRpb24pZShcMDM1YWdzKWcoZm9yKWgodGhpcyloKENvbiluCi0odGV4dClmKG9iKTUgYihqZWN0KTM2IGIodG8pZyBGYyhtbylsKGRlKTQ0IGIgRnEoYW5kKTM2Ci1iKHNwKXIoZWNpZnkpZyh0aGF0KWggRmMoYylsKGFsKXQobGIpbChhY2spNDcgYiBGcShzaG91bGQpMzYKLWIoYilyKGUpaCh1c2VkKTIwOCA0MjQyIHkoZm9yKTMwIGIodiluKGVyaVwwMzRjYXRpb24pZyhjYWxsYmFjKW4oa3MuKTQ1Ci1iIEZjKG1vKWwoZGUpMzggYiBGcShzaG91bGQpMzEgYihiKXIoZSloKG9uZSllKG9mKTM4CisodWFsKWYoZm9yKWcobW9yZSlnKGluZm9ybWF0aW9uKTIwOCA1MjUyIHkoXChlLmcuKTM2CitiKFNTTF9DVFhfc2V0X3RpbWVvdXRcKDNcKVwpLikwIDUzOTkgeSBGbChzZXRfdmVyaWZ5XCgpcAorRmMobW8pbChkZSwpMjYgYihjKWwoYWwpdChsYilsKGFjayk5IGIgRmwoXCkpcCAwIDU1NDkKKzM5MDEgNCB2IDAgNTY0OSBhIEZmKDE0KTIxOTcgYigzKTgzIGIgRmwoT3BlblNTTCkyNCBiCitGZihcMDI2KWsoUHl0aG9uKWYoaW50ZXJmYWNlKWgodG8pZihPcClyKGVuU1NMKXAgZW9wCitlbmQKKyUlUGFnZTogMTUgMTUKK1RlWERpY3QgYmVnaW4gMTUgMTQgYm9wIDIwOCA4MyBhIEZxKFNldCkzNiBiKHRoZSloKHYpbihlcmlcMDM0Y2F0aW9uKWUKKyhcMDM1YWdzKWcoZm9yKWgodGhpcyloKENvbiluKHRleHQpZihvYik1IGIoamVjdCkzNiBiKHRvKWcKK0ZjKG1vKWwoZGUpNDQgYiBGcShhbmQpMzYgYihzcClyKGVjaWZ5KWcodGhhdCloIEZjKGMpbChhbCl0KGxiKWwoYWNrKTQ3CitiIEZxKHNob3VsZCkzNiBiKGIpcihlKWgodXNlZCkyMDggMTgzIHkoZm9yKTMwIGIodiluKGVyaVwwMzRjYXRpb24pZworKGNhbGxiYWMpbihrcy4pNDUgYiBGYyhtbylsKGRlKTM4IGIgRnEoc2hvdWxkKTMxIGIoYilyKGUpaChvbmUpZShvZikzOAogYiBGbChWRVJJRllfTk9ORSkyNiBiIEZxKGFuZCkzMSBiIEZsKFZFUklGWV9QRUVSKXAgRnEoLiljKElmKTM4Ci1iIEZsKFZFUklGWV9QRUVSKTI2IGIgRnEoaXMpMjA4IDQzNDEgeSh1c2VkLClqIEZjKG1vKWwoZGUpMzYKK2IgRmwoVkVSSUZZX1BFRVIpMjYgYiBGcShpcykyMDggMjgyIHkodXNlZCwpaiBGYyhtbylsKGRlKTM2CiBiIEZxKGNhbikyOSBiKGIpcihlKWcoT1I6ZWQpZyh3aXRoKWcgRmwoVkVSSUZZX0ZBSUxfSUZfTk8pbyhfUClvKEVFKW8KIChSX0MpbyhFUilvKFQpMjMgYiBGcShhbmQpMjkgYiBGbChWRVJJRllfQ0xJRU5UX08pbyhOQ0UpMjIKLWIgRnEodG8pMjkgYihmdXJ0aGVyKTIwOCA0NDQxIHkoY29uKW4odHJvbCkyMyBiKHRoZSlqKGIpcihlaGEpbih2aW91ci4pCitiIEZxKHRvKTI5IGIoZnVydGhlcikyMDggMzgyIHkoY29uKW4odHJvbCkyMyBiKHRoZSlqKGIpcihlaGEpbih2aW91ci4pCiAzNCBiIEZjKGMpbChhbCl0KGxiKWwoYWNrKWkgRnEoc2hvdWxkKTI1IGIodGFrKW4oZSlmKFwwMzR2KW4oZSloCiAoYXJndW1lbiluKHRzOikzNCBiKEEpMjUgYihDb25uZWN0aW9uKWcob2IpNSBiKGplY3QsKTI1Ci1iKGFuKWcoWDUwOSlmKG9iKTUgYihqZWN0LCkyNSBiKGFuZCkyMDggNDU0MSB5KHRocmVlKWUoaW4pbih0ZWdlcilnKHYpCi0tNSBiKGFyaWFibGVzLCkyMyBiKHdoaWMpbihoKWgoYXJlKWYoaW4paCh0dXJuKWcocClyKG90ZW4pbih0aWFsKWcKLShlcnJvcilkKG4pbih1bSluKGIpcihlciwpayhlcnJvciljKGRlcHRoKWsoYW5kKWYocmV0dXJuKWYoY28pcihkZS4pMzUKLWIgRmMoYylsKGFsKXQobGIpbChhY2spMjA4IDQ2NDAgeSBGcShzaG91bGQpMjcgYihyZXR1cm4pZyh0cnVlKWcoaWYpaAotKHYpbihlcmlcMDM0Y2F0aW9uKWYocGFzc2VzKWYoYW5kKWgoZmFsc2UpaChvdGhlcndpc2UuKTAKLTQ3ODcgeSBGbChzZXRfdmVyaWZ5X2RlcHRoKW8oXCgpcCBGYyhkZXB0aCk2IGIgRmwoXCkpMjA4Ci00ODg3IHkgRnEoU2V0KTM2IGIodGhlKWcobWF4aW0pbih1bSlmKGRlcHRoKWgoZm9yKWcodGhlKWcKLShjZXJ0aVwwMzRjYXRlKWYoYyluKGhhaW4pZyh2KW4oZXJpXDAzNGNhdGlvbilmKHRoYXQpaShzaGFsbClmKGIpcihlKWgKLShhbGxvKW4odyluKGVkKWUoZm9yKWkodGhpcylmKENvbiluKHRleHQpMjA4IDQ5ODYgeShvYik1Ci1iKGplY3QuKTAgNTEzMyB5IEZsKHVzZV9jZXJ0aWZpY2F0ZVwoKW8gRmMoYylsKGVydClqCi1GbChcKSkyMDggNTIzMyB5IEZxKFVzZSkyNyBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZiBGYyhjKWwoZXJ0KTM1Ci1iIEZxKHdoaWMpbihoKTI4IGIoaGFzKWYodG8pZyhiKXIoZSloKGEpZihYNTA5KWcob2IpNQotYihqZWN0LikwIDUzODAgeSBGbChhZGRfZXh0cmFfY2hhaW5fKW8oY2UpbyhydFwoKW8gRmMoYylsKGVydClqCi1GbChcKSlwIDAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZigxNCkyMTk3IGIoMyk4MyBiCi1GbChPcGVuU1NMKTI0IGIgRmYoXDAyNilrKFB5dGhvbilmKGludGVyZmFjZSloKHRvKWYoT3ApcihlblNTTClwCi1lb3AgZW5kCi0lJVBhZ2U6IDE1IDE1Ci1UZVhEaWN0IGJlZ2luIDE1IDE0IGJvcCAyMDggODMgYSBGcShBKW4oZGRzKTMyIGIodGhlKWgoY2VydGlcMDM0Y2F0ZSlmCi1GYyhjKWwoZXJ0KTggYiBGcSgsKTM0IGIod2hpYyluKGgpZihoYXMpZih0bylnKGIpcihlKWkoYSllKFg1MDkpZihvYik1CitiKGFuKWcoWDUwOSlmKG9iKTUgYihqZWN0LCkyNSBiKGFuZCkyMDggNDgyIHkodGhyZWUpZShpbiluKHRlZ2VyKWcodiktNQorYihhcmlhYmxlcywpMjMgYih3aGljKW4oaCloKGFyZSlmKGluKWgodHVybilnKHApcihvdGVuKW4odGlhbClnKGVycm9yKWQKKyhuKW4odW0pbihiKXIoZXIsKWsoZXJyb3IpYyhkZXB0aClrKGFuZClmKHJldHVybilmKGNvKXIoZGUuKTM1CitiIEZjKGMpbChhbCl0KGxiKWwoYWNrKTIwOCA1ODEgeSBGcShzaG91bGQpMjcgYihyZXR1cm4pZyh0cnVlKWcoaWYpaCh2KQorbihlcmlcMDM0Y2F0aW9uKWYocGFzc2VzKWYoYW5kKWgoZmFsc2UpaChvdGhlcndpc2UuKTAKKzcyOCB5IEZsKHNldF92ZXJpZnlfZGVwdGgpbyhcKClwIEZjKGRlcHRoKTYgYiBGbChcKSkyMDgKKzgyOCB5IEZxKFNldCkzNiBiKHRoZSlnKG1heGltKW4odW0pZihkZXB0aCloKGZvcilnKHRoZSlnKGNlcnRpXDAzNGNhdGUpCitmKGMpbihoYWluKWcodiluKGVyaVwwMzRjYXRpb24pZih0aGF0KWkoc2hhbGwpZihiKXIoZSloKGFsbG8pbih3KW4oZWQpZQorKGZvcilpKHRoaXMpZihDb24pbih0ZXh0KTIwOCA5MjcgeShvYik1IGIoamVjdC4pMCAxMDc0Cit5IEZsKHVzZV9jZXJ0aWZpY2F0ZVwoKW8gRmMoYylsKGVydClqIEZsKFwpKTIwOCAxMTc0Cit5IEZxKFVzZSkyNyBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZiBGYyhjKWwoZXJ0KTM1IGIgRnEod2hpYyluKGgpMjgKK2IoaGFzKWYodG8pZyhiKXIoZSloKGEpZihYNTA5KWcob2IpNSBiKGplY3QuKTAgMTMyMSB5CitGbChhZGRfZXh0cmFfY2hhaW5fKW8oY2UpbyhydFwoKW8gRmMoYylsKGVydClqIEZsKFwpKTIwOAorMTQyMCB5IEZxKEEpbihkZHMpMzIgYih0aGUpaChjZXJ0aVwwMzRjYXRlKWYgRmMoYylsKGVydCk4CitiIEZxKCwpMzQgYih3aGljKW4oaClmKGhhcylmKHRvKWcoYilyKGUpaShhKWUoWDUwOSlmKG9iKTUKIGIoamVjdCwpMzQgYih0bylmKHRoZSlnKGNlcnRpXDAzNGNhdGUpZihjKW4oaGFpbilnKHByZXNlbiluKHRlZClnCi0odG9nZXRoZXIpMjA4IDE4MyB5KHdpdGgpYyh0aGUpZyhjZXJ0aVwwMzRjYXRlLikwIDMzMAorKHRvZ2V0aGVyKTIwOCAxNTIwIHkod2l0aCljKHRoZSlnKGNlcnRpXDAzNGNhdGUuKTAgMTY2NwogeSBGbCh1c2VfY2VydGlmaWNhdGVfKW8oY2gpbyhhaW4pbyhfZilvKGlsKW8oZVwoKXAgRmMoXDAzNClvKGxlKTYKLWIgRmwoXCkpMjA4IDQyOSB5IEZxKExvYWQpMjYgYihhKWgoY2VydGlcMDM0Y2F0ZSlnKGMpbihoYWluKWcoZnJvbSloCitiIEZsKFwpKTIwOCAxNzY2IHkgRnEoTG9hZCkyNiBiKGEpaChjZXJ0aVwwMzRjYXRlKWcoYyluKGhhaW4pZyhmcm9tKWgKIEZjKFwwMzRsZSkzNCBiIEZxKHdoaWMpbihoKTI3IGIobSluKHVzdCloKGIpcihlKWcoUEVNKWcoZW5jbylyKGRlZC4pMAotNTc2IHkgRmwodXNlX3ByaXZhdGVrZXlcKClwIEZjKHBrZXkpNyBiIEZsKFwpKTIwOCA2NzYKKzE5MTMgeSBGbCh1c2VfcHJpdmF0ZWtleVwoKXAgRmMocGtleSk3IGIgRmwoXCkpMjA4IDIwMTMKIHkgRnEoVXNlKTI3IGIodGhlKWgocHJpdiktNSBiKGF0ZSkyNyBiKGspbihleSloIEZjKHBrZXkpMzYKIGIgRnEod2hpYyluKGgpMjggYihoYXMpZih0bylnKGIpcihlKWgoYSlmKFBLZXkpaChvYik1Ci1iKGplY3QuKTAgODM3IHkgRmwodXNlX2NlcnRpZmljYXRlXylvKGZpKW8obGVcKClvIEZjKFwwMzRsZSloCi1GYihbKXAgRmMoLCkyNCBiKGZvcm1hdClkIEZiKF0pcCBGbChcKSkyMDggOTM3IHkgRnEoTG9hZClpKHRoZSloCitiKGplY3QuKTAgMjE3NCB5IEZsKHVzZV9jZXJ0aWZpY2F0ZV8pbyhmaSlvKGxlXCgpbyBGYyhcMDM0bGUpaAorRmIoWylwIEZjKCwpMjQgYihmb3JtYXQpZCBGYihdKXAgRmwoXCkpMjA4IDIyNzQgeSBGcShMb2FkKWkodGhlKWgKIChcMDM0cnN0KWcoY2VydGlcMDM0Y2F0ZSlmKGZvdW5kKWgoaW4paCBGYyhcMDM0bGUpNiBiCiBGcSguKTM2IGIoVGhlKTI0IGIoY2VydGlcMDM0Y2F0ZSlmKG0pbih1c3QpaChiKXIoZSloKGluKWYodGhlKWcoZm9ybWF0KQogZyhzcClyKGVjaVwwMzRlZClnKGIpbih5KWggRmMoZm9ybWF0KTggYiBGcSgsKTI1IGIod2hpYyluKGgpMjA4Ci0xMDM2IHkoaXMpaShlaXRoZXIpZyBGbChGSUxFVFlQRV9QRU0pYyBGcShvcilrIEZsKEZJTEVUWVBFX0FTTjEpcAorMjM3MyB5KGlzKWkoZWl0aGVyKWcgRmwoRklMRVRZUEVfUEVNKWMgRnEob3IpayBGbChGSUxFVFlQRV9BU04xKXAKIEZxKC4payhUaGUpZChkZWZhdWx0KWcoaXMpZiBGbChGSUxFVFlQRV9QRU0pcCBGcSguKTAKLTExODMgeSBGbCh1c2VfcHJpdmF0ZWtleV9mKW8oaWwpbyhlXCgpcCBGYyhcMDM0KW8obGUpNgotYiBGYihbKXAgRmMoLCkyNSBiKGZvcm1hdCkyMCBiIEZiKF0pcCBGbChcKSkyMDggMTI4MworMjUyMCB5IEZsKHVzZV9wcml2YXRla2V5X2YpbyhpbClvKGVcKClwIEZjKFwwMzQpbyhsZSk2CitiIEZiKFspcCBGYygsKTI1IGIoZm9ybWF0KTIwIGIgRmIoXSlwIEZsKFwpKTIwOCAyNjIwCiB5IEZxKExvYWQpMzEgYih0aGUpaChcMDM0cnN0KWcocHJpdiktNSBiKGF0ZSkzMSBiKGspbihleSlnKGZvdW5kKWkoaW4pZgogRmMoXDAzNGxlKTYgYiBGcSguKTUwIGIoVGhlKTMyIGIocHJpdiktNSBiKGF0ZSkzMiBiKGspbihleSlmKG0pbih1c3QpaAogKGIpcihlKWcoaW4paCh0aGUpZihmb3JtYXQpZihzcClyKGVjaVwwMzRlZClpKGIpbih5KWYKLUZjKGZvcm1hdCk4IGIgRnEoLCkyMDggMTM4MiB5KHdoaWMpbihoKTI3IGIoaXMpZyhlaXRoZXIpaAorRmMoZm9ybWF0KTggYiBGcSgsKTIwOCAyNzIwIHkod2hpYyluKGgpMjcgYihpcylnKGVpdGhlciloCiBGbChGSUxFVFlQRV9QRU0pMjIgYiBGcShvcikyNyBiIEZsKEZJTEVUWVBFX0FTTjEpcCBGcSguKTMyCi1iKFRoZSkyNyBiKGRlZmF1bHQpaChpcylnIEZsKEZJTEVUWVBFX1BFTSlwIEZxKC4pMCAxNjQ1Ci15IEZmKENvbm5lY3Rpb24pZShvYmplY3RzKTAgMTg0NiB5IEZxKENvbm5lY3Rpb24paChvYik1CitiKFRoZSkyNyBiKGRlZmF1bHQpaChpcylnIEZsKEZJTEVUWVBFX1BFTSlwIEZxKC4pMCAyODY2Cit5IEZsKHNldF90bHNleHRfc2VydmUpbyhybilvKGFtZSlvKF9jKW8oYWwpbyhsYmEpbyhjaylvKFwoKXAKK0ZjKGMpbChhbCl0KGxiKWwoYWNrKTkgYiBGbChcKSkyMDggMjk2NiB5IEZxKFNwKXIoZWNpZnkpMjUKK2IoYSlmKG9uZS1hcmd1bWVuKW4odClmKGNhbGxhYmxlKWgodG8pZyh1c2UpaChhcylmKHRoZSloKFRMUylmCisoZXh0ZW5zaW9uKWgoc2VydiluKGVyKWQobmFtZSlqKGNhbGxiYWMpbihrLikzNCBiKFdoZW4pMjUKK2IoYSlnKGNvbm5lY3Rpb24pMjA4IDMwNjYgeSh1c2luZykzNyBiKHRoZSloKHNlcnYpbihlcillKG5hbWUpaAorKGV4dGVuc2lvbilnKGlzKWgobWFkZSlmKHVzaW5nKWcodGhpcyloKGNvbiluKHRleHQsKWkodGhlKWUoY2FsbGJhYyluCisoaylmKHdpbGwpZyhiKXIoZSloKGluKW4odiluKG9rKW4oZWQpZih3aXRoKWgodGhlKTIwOAorMzE2NSB5IEZsKENvbm5lY3Rpb24pMjMgYiBGcShpbnN0YW5jZS4pNzMgYihOZXcpMjggYihpbilnKHYpbihlcnNpb24pZQorKDAuMTMuKTAgMzQyOCB5IEZmKENvbm5lY3Rpb24pZyhvYmplY3RzKTAgMzYyOSB5IEZxKENvbm5lY3Rpb24paChvYik1CiBiKGplY3RzKTI3IGIoaGEpbih2KW4oZSlmKHRoZSlpKGZvbGxvKW4od2luZylmKG1ldGhvKXIoZHM6KTAKLTE5OTMgeSBGbChhY2NlcHRcKFwpKTIwOCAyMDkyIHkgRnEoQ2FsbCkzMyBiKHRoZSlnIEZsKGFjY2VwdCllCiszNzc2IHkgRmwoYWNjZXB0XChcKSkyMDggMzg3NSB5IEZxKENhbGwpMzMgYih0aGUpZyBGbChhY2NlcHQpZQogRnEobWV0aG8pcihkKWoob2YpZih0aGUpaCh1bmRlcmx5aW5nKWYoc28pcihjKW4oayluKGV0KWYoYW5kKWgoc2V0KWgKICh1cClnKFNTTClmKG9uKWcodGhlKWgocmV0dXJuZWQpZihzbylyKGMpbihrKW4oZXQsKWgodXNpbmcpZih0aGUpMjA4Ci0yMTkyIHkoQ29uKW4odGV4dCkyMiBiKG9iKTUgYihqZWN0KTIyIGIoc3VwcGxpZWQpaCh0bylmKHRoaXMpaAorMzk3NSB5KENvbiluKHRleHQpMjIgYihvYik1IGIoamVjdCkyMiBiKHN1cHBsaWVkKWgodG8pZih0aGlzKWgKIChDb25uZWN0aW9uKWYob2IpNSBiKGplY3QpMjIgYihhdCloKGNyZWF0aW9uLikzNCBiKFJldHVybnMpMjIKIGIoYSlnKHBhaXIpZyBGbChcKClwIEZjKGMpbChvbm4pNiBiIEZsKCwpNDMgYiBGYyhhZGRyKWwoZXNzKTcKLWIgRmwoXCkpcCBGcSguKTM2IGIod2hlcmUpMjA4IDIyOTIgeSBGYyhjKWwob25uKWQgRnEoaXMpMjgKK2IgRmwoXCkpcCBGcSguKTM2IGIod2hlcmUpMjA4IDQwNzQgeSBGYyhjKWwob25uKWQgRnEoaXMpMjgKIGIodGhlKWcobmV3KWYoQ29ubmVjdGlvbilnKG9iKTUgYihqZWN0KTI4IGIoY3JlYXRlZCwpZShhbmQpaQogRmMoYWRkcilsKGVzcykzNSBiIEZxKGlzKTI4IGIoYXMpZihyZXR1cm5lZClnKGIpbih5KWcodGhlKWgoc28pcihjKW4oaykKLW4oZXQncyllIEZsKGFjY2VwdClwIEZxKC4pMCAyNDM4IHkgRmwoYmluZFwoKXAgRmMoYWRkcilsKGVzcyk3Ci1iIEZsKFwpKTIwOCAyNTM4IHkgRnEoQ2FsbCkyNyBiKHRoZSloIEZsKGJpbmQpZSBGcShtZXRobylyKGQpaShvZilmCi0odGhlKWgodW5kZXJseWluZylmKHNvKXIoYyluKGspbihldC4pMCAyNjg1IHkgRmwoY2xvc2VcKFwpKTIwOAotMjc4NCB5IEZxKENhbGwpaSh0aGUpaCBGbChjbG9zZSllIEZxKG1ldGhvKXIoZClpKG9mKWcodGhlKWcodW5kZXJseWluZykKK24oZXQncyllIEZsKGFjY2VwdClwIEZxKC4pMCA0MjIxIHkgRmwoYmluZFwoKXAgRmMoYWRkcilsKGVzcyk3CitiIEZsKFwpKTIwOCA0MzIxIHkgRnEoQ2FsbCkyNyBiKHRoZSloIEZsKGJpbmQpZSBGcShtZXRobylyKGQpaShvZilmCisodGhlKWgodW5kZXJseWluZylmKHNvKXIoYyluKGspbihldC4pMCA0NDY4IHkgRmwoY2xvc2VcKFwpKTIwOAorNDU2NyB5IEZxKENhbGwpaSh0aGUpaCBGbChjbG9zZSllIEZxKG1ldGhvKXIoZClpKG9mKWcodGhlKWcodW5kZXJseWluZykKIGYoc28pcihjKW4oayluKGV0Lik0MyBiKE5vdGU6KWUoSWYpMzEgYih5KW4ob3UpZSh3KW4oYW4pbih0KWcoY29ycmVjdClmCi0oU1NMKWkoY2xvc3VyZSwpZih5KW4ob3UpZyhuZWVkKWgodG8pMjA4IDI4ODQgeShjYWxsKWQodGhlKWgKLUZsKHNodXRkb3duKWMgRnEobWV0aG8pcihkKWsoXDAzNHJzdC4pMCAzMDMxIHkgRmwoY29ubmVjdFwoKXAKLUZjKGFkZHIpbChlc3MpNyBiIEZsKFwpKTIwOCAzMTMxIHkgRnEoQ2FsbCkzMSBiKHRoZSloCisoU1NMKWkoY2xvc3VyZSwpZih5KW4ob3UpZyhuZWVkKWgodG8pMjA4IDQ2NjcgeShjYWxsKWQodGhlKWgKK0ZsKHNodXRkb3duKWMgRnEobWV0aG8pcihkKWsoXDAzNHJzdC4pMCA0ODE0IHkgRmwoY29ubmVjdFwoKXAKK0ZjKGFkZHIpbChlc3MpNyBiIEZsKFwpKTIwOCA0OTE0IHkgRnEoQ2FsbCkzMSBiKHRoZSloCiBGbChjb25uZWN0KWUgRnEobWV0aG8pcihkKWkob2YpZyh0aGUpZyh1bmRlcmx5aW5nKWcoc28pcihjKW4oayluKGV0KWUKIChhbmQpaShzZXQpZyh1cClnKFNTTCloKG9uKWUodGhlKWkoc28pcihjKW4oayluKGV0LClmKHVzaW5nKWYodGhlKWgKLShDb24pbih0ZXh0KTIwOCAzMjMwIHkob2IpNSBiKGplY3QpMjcgYihzdXBwbGllZCloKHRvKWYodGhpcyloCi0oQ29ubmVjdGlvbilmKG9iKTUgYihqZWN0KTI3IGIoYXQpaChjcmVhdGlvbi4pMCAzMzc3Ci15IEZsKGNvbm5lY3RfZXhcKClwIEZjKGFkZHIpbChlc3MpNyBiIEZsKFwpKTIwOCAzNDc3CisoQ29uKW4odGV4dCkyMDggNTAxMyB5KG9iKTUgYihqZWN0KTI3IGIoc3VwcGxpZWQpaCh0bylmKHRoaXMpaAorKENvbm5lY3Rpb24pZihvYik1IGIoamVjdCkyNyBiKGF0KWgoY3JlYXRpb24uKTAgNTE2MAoreSBGbChjb25uZWN0X2V4XCgpcCBGYyhhZGRyKWwoZXNzKTcgYiBGbChcKSkyMDggNTI2MAogeSBGcShDYWxsKTI0IGIodGhlKWcgRmwoY29ubmVjdF9leCljIEZxKG1ldGhvKXIoZCkyNQogYihvZilmKHRoZSloKHVuZGVybHlpbmcpZihzbylyKGMpbihrKW4oZXQpZihhbmQpaChzZXQpZyh1cCloKFNTTClmKG9uKWcKICh0aGUpaChzbylyKGMpbihrKW4oZXQsKWYodXNpbmcpZyh0aGUpZyhDb24pbih0ZXh0KTIwOAotMzU3NiB5KG9iKTUgYihqZWN0KTM1IGIoc3VwcGxpZWQpZyh0byloKHRoaXMpZihDb25uZWN0aW9uKWcob2IpNQorNTM1OSB5KG9iKTUgYihqZWN0KTM1IGIoc3VwcGxpZWQpZyh0byloKHRoaXMpZihDb25uZWN0aW9uKWcob2IpNQogYihqZWN0KTM2IGIoYXQpZihjcmVhdGlvbi4pNTkgYihOb3RlKTM2IGIodGhhdClmKGlmKWgodGhlKWcKLUZsKGNvbm5lY3RfZXgpMzEgYiBGcShtZXRobylyKGQpMzYgYihvZilnKHRoZSkyMDggMzY3NgoteShzbylyKGMpbihrKW4oZXQpMjYgYihkbylyKGVzbid0KWkocmV0dXJuKWYoMCwpZyhTU0wpaCh3KW4ob24ndClmKGIpcgotKGUpaChpbml0aWFsaXplZC4pMCAzODIzIHkgRmwoZG9faGFuZHNoYWtlXChcKSkyMDggMzkyMgoteSBGcShQKW4oZXJmb3JtKTQ5IGIoYW4paChTU0wpZyhoYW5kc2hhayluKGUpZihcKHVzdWFsbHkpaChjYWxsZWQpZwotKGFmdGVyKWYgRmwocmVuZWdvdGlhdGUpZCBGcShvcilqKG9uZSloKG9mKTU3IGIgRmwoc2V0X2FjY2VwdF9zdGF0KW8oZSkKLTQ0IGIgRnEob3IpMjA4IDQwMjIgeSBGbChzZXRfYWNjZXB0X3N0YXQpbyhlKXAgRnEoXCkuKTMxCi1iKFRoaXMpZChjYW4pZihyYWlzZSlmKHRoZSlpKHNhbWUpZihleGNlcHRpb25zKWcoYXMpZwotRmwoc2VuZClmIEZxKGFuZCloIEZsKHJlY3YpcCBGcSguKTAgNDE2OSB5IEZsKGZpbGVub1woXCkpMjA4Ci00MjY5IHkgRnEoUmV0cmlldiluKGUpZih0aGUpaShcMDM0bGUpZyhkZXNjcmlwdG9yKWUobiluKHVtKW4oYilyKGVyKWkKLShmb3IpZih0aGUpaCh1bmRlcmx5aW5nKWUoc28pcihjKW4oayluKGV0LikwIDQ0MTUgeSBGbChsaXN0ZW5cKClwCi1GYyhiKWwoYWNrbG8pbChnKTcgYiBGbChcKSkyMDggNDUxNSB5IEZxKENhbGwpMjcgYih0aGUpaAotRmwobGlzdGVuKWQgRnEobWV0aG8pcihkKWoob2YpZih0aGUpaCh1bmRlcmx5aW5nKWYoc28pcihjKW4oayluKGV0LikwCi00NjYyIHkgRmwoZ2V0X2FwcF9kYXRhXChcKSkyMDggNDc2MiB5IEZxKFJldHJpZXYpbihlKWYoYXBwbGljYXRpb24paAotKGRhdGEpZyhhcylnKHNldCloKGIpbih5KWcgRmwoc2V0X2FwcF9kYXRhKXAgRnEoLikwIDQ5MDgKLXkgRmwoZ2V0X2NpcGhlcl9saXN0XCgpbyhcKSkyMDggNTAwOCB5IEZxKFJldHJpZXYpbihlKTIzCi1iKHRoZSloKGxpc3QpZyhvZilnKGNpcGhlcnMpZyh1c2VkKWcoYiluKHkpZih0aGUpaShDb25uZWN0aW9uKWUob2IpNQotYihqZWN0LikzNiBiKFcpLTkgYihBUk5JTkc6KTI1IGIoVGhpcylmKEFQSSloKGhhcyllKGMpbihoYW5nZWQuKTM1Ci1iKEl0KTI0IGIodXNlZCkyMDggNTEwOCB5KHRvKWoodGFrKW4oZSlnKGFuKWcob3B0aW9uYWwpZyhwYXJhbWV0ZXIpZgotKGFuZCloKGp1c3QpaChyZXR1cm4pZyhhKWYoc3RyaW5nLClnKGJ1dCloKG5vdClmKGl0KWgocmV0dXJucylmKHRoZSloCi0oZW4pbih0aXJlKWYobGlzdCloKGluKWcob25lKWYoZ28uKTAgNTI1NSB5IEZsKGdldF9jbGllbnRfY2FfbGkpbyhzdClvCi0oXChcKSkyMDggNTM1NCB5IEZxKFJldHJpZXYpbihlKWUodGhlKWkobGlzdClnKG9mKWYocHJlZmVycmVkKWcoY2xpZW4pbgotKHQpZyhjZXJ0aVwwMzRjYXRlKWcoaXNzdWVycylnKHNlbiluKHQpZyhiKW4oeSlnKHRoZSloKHNlcnYpbihlcillKGFzKWgKLUZsKE9wZW5TU0wuY3J5cHRvLilvKFg1MClvKDlOKW8oYW0pbyhlKXAgMCA1NTQ5IDM5MDEKLTQgdiAwIDU2NDkgYSBGZigzLjMpODIgYiBGbChTU0wpMjYgYiBGZihcMDI2KWkoQW4pZyhpbnRlcmZhY2UpZyh0bylmCi0odGhlKWcoU1NMLXNwKXIoZWNpXDAzNGMpaChwYSluKHJ0cylmKG9mKWgoT3ApcihlblNTTCkxNjExCitGbChjb25uZWN0X2V4KTMxIGIgRnEobWV0aG8pcihkKTM2IGIob2YpZyh0aGUpcCAwIDU1NDkKKzM5MDEgNCB2IDAgNTY0OSBhIEZmKDMuMyk4MiBiIEZsKFNTTCkyNiBiIEZmKFwwMjYpaShBbilnKGludGVyZmFjZSlnCisodG8pZih0aGUpZyhTU0wtc3ApcihlY2lcMDM0YyloKHBhKW4ocnRzKWYob2YpaChPcClyKGVuU1NMKTE2MTEKIGIoMTUpcCBlb3AgZW5kCiAlJVBhZ2U6IDE2IDE2Ci1UZVhEaWN0IGJlZ2luIDE2IDE1IGJvcCAyMDggODMgYSBGcShvYik1IGIoamVjdHMuKTIwOAotMjE2IHkoSWYpMjUgYih0aGlzKWcoaXMpZihhKWgoY2xpZW4pbih0KWYgRmwoQ29ubmVjdGlvbilwCi1GcSgsKWUodGhlKWoobGlzdClnKHdpbGwpZyhiKXIoZSlnKGVtcHQpbih5KWYodW4pbih0aWwpaCh0aGUpaAotKGNvbm5lY3Rpb24pZSh3aXRoKWgodGhlKWcoc2VydiluKGVyKWUoaXMpaChlc3RhYmxpc2hlZC4pMjA4Ci0zNDkgeShJZikzMyBiKHRoaXMpZyhpcylnKGEpZihzZXJ2KW4oZXIpZyBGbChDb25uZWN0aW9uKXAKK1RlWERpY3QgYmVnaW4gMTYgMTUgYm9wIDIwOCA4MyBhIEZxKHNvKXIoYyluKGspbihldCkyNgorYihkbylyKGVzbid0KWkocmV0dXJuKWYoMCwpZyhTU0wpaCh3KW4ob24ndClmKGIpcihlKWgoaW5pdGlhbGl6ZWQuKTAKKzIzMCB5IEZsKGRvX2hhbmRzaGFrZVwoXCkpMjA4IDMzMCB5IEZxKFApbihlcmZvcm0pNDkKK2IoYW4paChTU0wpZyhoYW5kc2hhayluKGUpZihcKHVzdWFsbHkpaChjYWxsZWQpZyhhZnRlcilmCitGbChyZW5lZ290aWF0ZSlkIEZxKG9yKWoob25lKWgob2YpNTcgYiBGbChzZXRfYWNjZXB0X3N0YXQpbyhlKTQ0CitiIEZxKG9yKTIwOCA0MjkgeSBGbChzZXRfYWNjZXB0X3N0YXQpbyhlKXAgRnEoXCkuKTMxCitiKFRoaXMpZChjYW4pZihyYWlzZSlmKHRoZSlpKHNhbWUpZihleGNlcHRpb25zKWcoYXMpZworRmwoc2VuZClmIEZxKGFuZCloIEZsKHJlY3YpcCBGcSguKTAgNTc2IHkgRmwoZmlsZW5vXChcKSkyMDgKKzY3NiB5IEZxKFJldHJpZXYpbihlKWYodGhlKWkoXDAzNGxlKWcoZGVzY3JpcHRvcillKG4pbih1bSluKGIpcihlcilpCisoZm9yKWYodGhlKWgodW5kZXJseWluZyllKHNvKXIoYyluKGspbihldC4pMCA4MjMgeSBGbChsaXN0ZW5cKClwCitGYyhiKWwoYWNrbG8pbChnKTcgYiBGbChcKSkyMDggOTIyIHkgRnEoQ2FsbCkyNyBiKHRoZSloCitGbChsaXN0ZW4pZCBGcShtZXRobylyKGQpaihvZilmKHRoZSloKHVuZGVybHlpbmcpZihzbylyKGMpbihrKW4oZXQuKTAKKzEwNjkgeSBGbChnZXRfYXBwX2RhdGFcKFwpKTIwOCAxMTY5IHkgRnEoUmV0cmlldiluKGUpZihhcHBsaWNhdGlvbiloCisoZGF0YSlnKGFzKWcoc2V0KWgoYiluKHkpZyBGbChzZXRfYXBwX2RhdGEpcCBGcSguKTAgMTMxNgoreSBGbChnZXRfY2lwaGVyX2xpc3RcKClvKFwpKTIwOCAxNDE1IHkgRnEoUmV0cmlldiluKGUpMjMKK2IodGhlKWgobGlzdClnKG9mKWcoY2lwaGVycylnKHVzZWQpZyhiKW4oeSlmKHRoZSlpKENvbm5lY3Rpb24pZShvYik1CitiKGplY3QuKTM2IGIoVyktOSBiKEFSTklORzopMjUgYihUaGlzKWYoQVBJKWgoaGFzKWUoYyluKGhhbmdlZC4pMzUKK2IoSXQpMjQgYih1c2VkKTIwOCAxNTE1IHkodG8paih0YWspbihlKWcoYW4pZyhvcHRpb25hbClnKHBhcmFtZXRlcilmCisoYW5kKWgoanVzdCloKHJldHVybilnKGEpZihzdHJpbmcsKWcoYnV0KWgobm90KWYoaXQpaChyZXR1cm5zKWYodGhlKWgKKyhlbiluKHRpcmUpZihsaXN0KWgoaW4pZyhvbmUpZihnby4pMCAxNjYyIHkgRmwoZ2V0X2NsaWVudF9jYV9saSlvKHN0KW8KKyhcKFwpKTIwOCAxNzYxIHkgRnEoUmV0cmlldiluKGUpZSh0aGUpaShsaXN0KWcob2YpZihwcmVmZXJyZWQpZyhjbGllbiluCisodClnKGNlcnRpXDAzNGNhdGUpZyhpc3N1ZXJzKWcoc2VuKW4odClnKGIpbih5KWcodGhlKWgoc2VydiluKGVyKWUoYXMpaAorRmwoT3BlblNTTC5jcnlwdG8uKW8oWDUwKW8oOU4pbyhhbSlvKGUpMjA4IDE4NjEgeSBGcShvYik1CitiKGplY3RzLikyMDggMTk5NCB5KElmKTI1IGIodGhpcylnKGlzKWYoYSloKGNsaWVuKW4odClmCitGbChDb25uZWN0aW9uKXAgRnEoLCllKHRoZSlqKGxpc3QpZyh3aWxsKWcoYilyKGUpZyhlbXB0KW4oeSlmKHVuKW4odGlsKQoraCh0aGUpaChjb25uZWN0aW9uKWUod2l0aCloKHRoZSlnKHNlcnYpbihlcillKGlzKWgoZXN0YWJsaXNoZWQuKTIwOAorMjEyNyB5KElmKTMzIGIodGhpcylnKGlzKWcoYSlmKHNlcnYpbihlcilnIEZsKENvbm5lY3Rpb24pcAogRnEoLCllKHJldHVybilpKHRoZSloKGxpc3QpaChvZillKGNlcnRpXDAzNGNhdGUpaChhdXRob3JpdGllcylmKHRoYXQpaAotKHdpbGwpZyhiKXIoZSloKHNlbiluKHQpZShvcilnKGhhcyloKGIpcihlZW4pMjA4IDQ0OAorKHdpbGwpZyhiKXIoZSloKHNlbiluKHQpZShvcilnKGhhcyloKGIpcihlZW4pMjA4IDIyMjYKIHkoc2VuKW4odCkyNyBiKHRvKWcodGhlKWgoY2xpZW4pbih0LClnKGFzKWYoY29uKW4odHJvbGxlZClmKGIpbih5KWgKICh0aGlzKWggRmwoQ29ubmVjdGlvbilwIEZxKCdzKWMgRmwoQ29udGV4dClwIEZxKC4pMjA4Ci01ODEgeShOZXcpaihpbiloKHYpbihlcnNpb24pZSgwLjEwLikwIDcyOCB5IEZsKGdldF9jb250ZXh0XChcKSkyMDgKLTgyOCB5IEZxKFJldHJpZXYpbihlKWcodGhlKWkoQ29uKW4odGV4dClmKG9iKTUgYihqZWN0KTI4Ci1iKGFzc28pcihjaWF0ZWQpZSh3aXRoKWkodGhpcylnKENvbm5lY3Rpb24uKTAgOTc1IHkgRmwKLShnZXRfcGVlcl9jZXJ0aWZpKW8oY2Epbyh0ZVwoKW8oXCkpMjA4IDEwNzQgeSBGcShSZXRyaWV2KW4oZSllKHRoZSlpCi0ob3RoZXIpZihzaWRlJ3MpZyhjZXJ0aVwwMzRjYXRlKWcoXChpZilpKGFuKW4oeVwpKTAgMTIyMQoteSBGbChnZXRwZWVybmFtZVwoXCkpMjA4IDEzMjEgeSBGcShDYWxsKWUodGhlKWggRmwoZ2V0cGVlcm5hbWUpMjMKLWIgRnEobWV0aG8pcihkKTI4IGIob2YpZih0aGUpaCh1bmRlcmx5aW5nKWYoc28pcihjKW4oayluKGV0LikwCi0xNDY4IHkgRmwoZ2V0c29ja25hbWVcKFwpKTIwOCAxNTY3IHkgRnEoQ2FsbClnKHRoZSloCisyMzU5IHkoTmV3KWooaW4paCh2KW4oZXJzaW9uKWUoMC4xMC4pMCAyNTA2IHkgRmwoZ2V0X2NvbnRleHRcKFwpKTIwOAorMjYwNiB5IEZxKFJldHJpZXYpbihlKWcodGhlKWkoQ29uKW4odGV4dClmKG9iKTUgYihqZWN0KTI4CitiKGFzc28pcihjaWF0ZWQpZSh3aXRoKWkodGhpcylnKENvbm5lY3Rpb24uKTAgMjc1MiB5CitGbChzZXRfY29udGV4dFwoKXAgRmMoYylsKG9udGV4dCk4IGIgRmwoXCkpMjA4IDI4NTIgeQorRnEoU3ApcihlY2lmeSkyOCBiKGEpZihyZXBsYWNlbWVuKW4odClnKENvbiluKHRleHQpZyhvYik1CitiKGplY3QpMjcgYihmb3IpZyh0aGlzKWgoQ29ubmVjdGlvbi4pMCAyOTk5IHkgRmwoZ2V0X3BlZXJfY2VydGlmaSlvKGNhKQorbyh0ZVwoKW8oXCkpMjA4IDMwOTkgeSBGcShSZXRyaWV2KW4oZSllKHRoZSlpKG90aGVyKWYoc2lkZSdzKWcKKyhjZXJ0aVwwMzRjYXRlKWcoXChpZilpKGFuKW4oeVwpKTAgMzI0NSB5IEZsKGdldF9wZWVyX2NlcnRfY2gpbyhhaSlvCisoblwoXCkpMjA4IDMzNDUgeSBGcShSZXRyaWV2KW4oZSlkKHRoZSlpKHR1cGxlKWcob2YpZyh0aGUpZyhvdGhlcilmCisoc2lkZSdzKWcoY2VydGlcMDM0Y2F0ZSlnKGMpbihoYWluKWcoXChpZiloKGFuKW4oeVwpKTAKKzM0OTIgeSBGbChnZXRwZWVybmFtZVwoXCkpMjA4IDM1OTEgeSBGcShDYWxsKWYodGhlKWgKK0ZsKGdldHBlZXJuYW1lKTIzIGIgRnEobWV0aG8pcihkKTI4IGIob2YpZih0aGUpaCh1bmRlcmx5aW5nKWYoc28pcihjKW4KKyhrKW4oZXQuKTAgMzczOCB5IEZsKGdldHNvY2tuYW1lXChcKSkyMDggMzgzOCB5IEZxKENhbGwpZyh0aGUpaAogRmwoZ2V0c29ja25hbWUpMjMgYiBGcShtZXRobylyKGQpMjggYihvZilmKHRoZSloKHVuZGVybHlpbmcpZihzbylyKGMpbgotKGspbihldC4pMCAxNzMxIHkgRmwoZ2V0c29ja29wdFwoKXAgRmMobGV2ZWwsKWYob3B0bmFtZSk2Ci1iIEZiKFspcCBGYygsKTMxIGIoYnVcMDM1ZW4pMTggYiBGYihdKXAgRmwoXCkpMjA4IDE4MzAKKyhrKW4oZXQuKTAgNDAwMiB5IEZsKGdldHNvY2tvcHRcKClwIEZjKGxldmVsLClmKG9wdG5hbWUpNgorYiBGYihbKXAgRmMoLCkzMSBiKGJ1XDAzNWVuKTE4IGIgRmIoXSlwIEZsKFwpKTIwOCA0MTAxCiB5IEZxKENhbGwpMjcgYih0aGUpaCBGbChnZXRzb2Nrb3B0KTIzIGIgRnEobWV0aG8pcihkKTI4Ci1iKG9mKWcodGhlKWcodW5kZXJseWluZylmKHNvKXIoYyluKGspbihldC4pMCAxOTc3IHkgRmwocGVuZGluZ1woXCkpMjA4Ci0yMDc3IHkgRnEoUmV0cmlldiluKGUpMjIgYih0aGUpaChuKW4odW0pbihiKXIoZXIpZyhvZilnKGIpbih5dGVzKWcKK2Iob2YpZyh0aGUpZyh1bmRlcmx5aW5nKWYoc28pcihjKW4oayluKGV0LikwIDQyNDggeSBGbChwZW5kaW5nXChcKSkyMDgKKzQzNDggeSBGcShSZXRyaWV2KW4oZSkyMiBiKHRoZSloKG4pbih1bSluKGIpcihlcilnKG9mKWcoYiluKHl0ZXMpZwogKHRoYXQpaChjYW4pZShiKXIoZSlpKHNhZmVseSlmKHJlYWQpZihmcm9tKWgodGhlKWcoU1NMKWgoYnVcMDMzZXIpZihcKCkKLXAgRmMobm90KWcgRnEodGhlKWgodW5kZXJseWluZyllKHRyYW5zcClyKG9ydCkyMDggMjE3NgoteShidVwwMzNlclwpLikwIDIzMjMgeSBGbChyZWN2XCgpcCBGYyhidWZzaXplKTYgYiBGbChcKSkyMDgKLTI0MjMgeSBGcShSZWNlaXYpbihlKTMwIGIoZGF0YSloKGZyb20pZyh0aGUpaChDb25uZWN0aW9uLik0NworcCBGYyhub3QpZyBGcSh0aGUpaCh1bmRlcmx5aW5nKWUodHJhbnNwKXIob3J0KTIwOCA0NDQ3Cit5KGJ1XDAzM2VyXCkuKTAgNDU5NCB5IEZsKHJlY3ZcKClwIEZjKGJ1ZnNpemUpNiBiIEZsKFwpKTIwOAorNDY5NCB5IEZxKFJlY2VpdiluKGUpMzAgYihkYXRhKWgoZnJvbSlnKHRoZSloKENvbm5lY3Rpb24uKTQ3CiBiKFRoZSkzMSBiKHJldHVybilnKHYpLTUgYihhbHVlKTMxIGIoaXMpaChhKWUoc3RyaW5nKWgocmVwcmVzZW4pbih0aW5nKQotZih0aGUpaChkYXRhKWcocmVjZWl2KW4oZWQuKTQ3IGIoVGhlKTIwOCAyNTIzIHkobWF4aW0pbih1bSkyNworZih0aGUpaChkYXRhKWcocmVjZWl2KW4oZWQuKTQ3IGIoVGhlKTIwOCA0NzkzIHkobWF4aW0pbih1bSkyNwogYihhbW91biluKHQpZyhvZilnKGRhdGEpaCh0bylmKGIpcihlKWgocmVjZWl2KW4oZWQpZShhdClpKG9uY2UsKWYoaXMpZwotKHNwKXIoZWNpXDAzNGVkKWgoYiluKHkpaCBGYyhidWZzaXplKTYgYiBGcSguKTAgMjY2OQoteSBGbChiaW9fd3JpdGVcKClwIEZjKGJ5dGVzKWggRmwoXCkpMjA4IDI3NjkgeSBGcShJZikyNworKHNwKXIoZWNpXDAzNGVkKWgoYiluKHkpaCBGYyhidWZzaXplKTYgYiBGcSguKTAgNDk0MAoreSBGbChiaW9fd3JpdGVcKClwIEZjKGJ5dGVzKWggRmwoXCkpMjA4IDUwNDAgeSBGcShJZikyNwogYih0aGUpaChDb25uZWN0aW9uKWYodyluKGFzKWYoY3JlYXRlZCloKHdpdGgpZyhhKWcobWVtb3J5KWcoQklPLClnCiAodGhpcylnKG1ldGhvKXIoZCloKGNhbilmKGIpcihlKWgodXNlZClmKHRvKWcoYWRkKWcoYiluKHl0ZXMpZyh0bylnCi0odGhlKWgocmVhZCkyMDggMjg2OSB5KGVuZClnKG9mKWcodGhhdClnKG1lbW9yeSlmKEJJTy4pZyhUaGUpaAorKHRoZSloKHJlYWQpMjA4IDUxNDAgeShlbmQpZyhvZilnKHRoYXQpZyhtZW1vcnkpZihCSU8uKWcoVGhlKWgKIChDb25uZWN0aW9uKWcoY2FuKWYodGhlbilpKHJlYWQpZSh0aGUpaChiKW4oeXRlcylnKFwoZm9yKWYoZXhhbXBsZSwpaAotKGluKWcocmVzcClyKG9uc2UpZih0byloKGEpZihjYWxsKTIwOCAyOTY4IHkodG8pZyBGbChyZWN2KXAKLUZxKFwpLikwIDMxMTUgeSBGbChyZW5lZ290aWF0ZVwoXCkpMjA4IDMyMTUgeSBGcShSZW5lZ290aWF0ZSlmKHRoZSlpCi0oU1NMKWcoc2Vzc2lvbi4pMzYgYihDYWxsKTI3IGIodGhpcyloKGlmKWcoeSluKG91KWYod2lzaClnKHRvKWgoYyluCi0oaGFuZ2UpZShjaXBoZXIpaChzdWl0ZXMpaChvcillKGFuKW4oeXRoaW5nKWgobGlrKW4oZSlnKHRoYXQuKTAKLTMzNjIgeSBGbChzZW5kXCgpcCBGYyhzdHJpbmcpNyBiIEZsKFwpKTIwOCAzNDYxIHkgRnEoU2VuZCkyNwotYih0aGUpaCBGYyhzdHJpbmcpMzUgYiBGcShkYXRhKTI3IGIodG8paCh0aGUpZyhDb25uZWN0aW9uLikwCi0zNjA4IHkgRmwoYmlvX3JlYWRcKClwIEZjKGJ1ZnNpemUpNiBiIEZsKFwpKTIwOCAzNzA4Ci15IEZxKElmKTMxIGIodGhlKWcoQ29ubmVjdGlvbilnKHcpbihhcylmKGNyZWF0ZWQpZyh3aXRoKWkoYSllKG1lbW9yeSlnCi0oQklPLCloKHRoaXMpZyhtZXRobylyKGQpZyhjYW4pZyhiKXIoZSloKHVzZWQpZSh0byloKHJlYWQpZihiKW4oeXRlcyloCi0oZnJvbSlnKHRoZSkyMDggMzgwNyB5KHdyaXRlKWQoZW5kKWcob2YpZyh0aGF0KWgobWVtb3J5KWUoQklPLiloKE1hbiluCi0oeSlmKENvbm5lY3Rpb24paChtZXRobylyKGRzKWgod2lsbClmKGFkZClnKGIpbih5dGVzKWcod2hpYyluKGgpZyhtKW4KLSh1c3QpZyhiKXIoZSloKHJlYWQpZShpbilpKHRoaXMpMjA4IDM5MDcgeShtYW5uZXIpYyhvciloKHRoZSlnCi0oYnVcMDMzZXIpaCh3aWxsKWYoZXYpbihlbiluKHR1YWxseSlmKFwwMzRsbClpKHVwKWcoYW5kKWYodGhlKWcKLShDb25uZWN0aW9uKWcod2lsbClnKGIpcihlKWgoYWJsZSlmKHRvKWcodGFrKW4oZSlnKG5vKWcoZnVydGhlcilnCi0oYWN0aW9ucy4pMCA0MDU0IHkgRmwoc2VuZGFsbFwoKXAgRmMoc3RyaW5nKTcgYiBGbChcKSkyMDgKLTQxNTQgeSBGcShTZW5kKTMwIGIoYWxsKWYob2YpaCh0aGUpZyBGYyhzdHJpbmcpMzcgYiBGcShkYXRhKTI5Ci1iKHRvKWcodGhlKWgoQ29ubmVjdGlvbi4pNDMgYihUaGlzKTMwIGIoY2FsbHMpZiBGbChzZW5kKWYKLUZxKHJlcClyKGVhdGVkbHkpaCh1biluKHRpbCloKGFsbClmKGRhdGEpaChpcylmKHNlbiluKHQuKTQzCi1iKElmKTMwIGIoYW4pMjA4IDQyNTMgeShlcnJvcikyNSBiKG8pcihjY3VycywpaShpdCdzKWgoaW1wKXIob3NzaWJsZSlmCi0odG8pZyh0ZWxsKWgoaG8pbih3KWYobSluKHVjKW4oaCloKGRhdGEpZihoYXMpZyhiKXIoZWVuKWgoc2VuKW4odC4pMAotNDQwMCB5IEZsKHNldF9hY2NlcHRfc3RhdGUpbyhcKFwpKTIwOCA0NTAwIHkgRnEoU2V0KTIwCi1iKHRoZSlnKGNvbm5lY3Rpb24pZih0byloKHcpbihvcmspZShpbilpKHNlcnYpbihlcillKG1vKXIoZGUuKTM0Ci1iKFRoZSkyMCBiKGhhbmRzaGFrKW4oZSlmKHdpbGwpaChiKXIoZSlnKGhhbmRsZWQpZyhhdXRvbWF0aWNhbGx5KWUoYiluCi0oeSlpKHJlYWQvd3JpdGUuKTAgNDY0NyB5IEZsKHNldF9hcHBfZGF0YVwoKXAgRmMoZGF0YSk2Ci1iIEZsKFwpKTIwOCA0NzQ2IHkgRnEoQXNzbylyKGNpYXRlKTM5IGIgRmMoZGF0YSk0NyBiCi1GcSh3aXRoKTQwIGIodGhpcylnKENvbm5lY3Rpb24pZyhvYik1IGIoamVjdC4pNzMgYiBGYyhkYXRhKTQ3Ci1iIEZxKGNhbikzOSBiKGIpcihlKWkocmV0cmlldiluKGVkKWQobGF0ZXIpaCh1c2luZyloKHRoZSlnCi1GbChnZXRfYXBwX2RhdGEpMjA4IDQ4NDYgeSBGcShtZXRobylyKGQuKTAgNDk5MyB5IEZsKHNldF9jb25uZWN0X3N0YXQpbwotKGVcKClvKFwpKTIwOCA1MDkyIHkgRnEoU2V0KTIxIGIodGhlKWcoY29ubmVjdGlvbilnKHRvKWcodyluKG9yayllKGluKWkKLShjbGllbiluKHQpZyhtbylyKGRlLikzNSBiKFRoZSkyMSBiKGhhbmRzaGFrKW4oZSlmKHdpbGwpaChiKXIoZSlnCi0oaGFuZGxlZClnKGF1dG9tYXRpY2FsbHkpZihiKW4oeSloKHJlYWQvd3JpdGUuKTAgNTIzOQoteSBGbChzZXRibG9ja2luZ1woKXAgRmMoXDAzNWFnKTcgYiBGbChcKSkyMDggNTMzOSB5IEZxKENhbGwpMjcKLWIodGhlKWggRmwoc2V0YmxvY2tpbmcpMjMgYiBGcShtZXRobylyKGQpMjggYihvZilmKHRoZSloKHVuZGVybHlpbmcpZgotKHNvKXIoYyluKGspbihldC4pcCAwIDU1NDkgMzkwMSA0IHYgMCA1NjQ5IGEgRmYoMTYpMjE5NwotYigzKTgzIGIgRmwoT3BlblNTTCkyNCBiIEZmKFwwMjYpayhQeXRob24pZihpbnRlcmZhY2UpaCh0bylmKE9wKXIKLShlblNTTClwIGVvcCBlbmQKKyhpbilnKHJlc3ApcihvbnNlKWYodG8paChhKWYoY2FsbCkyMDggNTIzOSB5KHRvKWcgRmwocmVjdilwCitGcShcKS4pMCA1Mzg2IHkgRmwocmVuZWdvdGlhdGVcKFwpKXAgMCA1NTQ5IDM5MDEgNCB2CiswIDU2NDkgYSBGZigxNikyMTk3IGIoMyk4MyBiIEZsKE9wZW5TU0wpMjQgYiBGZihcMDI2KWsoUHl0aG9uKWYKKyhpbnRlcmZhY2UpaCh0bylmKE9wKXIoZW5TU0wpcCBlb3AgZW5kCiAlJVBhZ2U6IDE3IDE3Ci1UZVhEaWN0IGJlZ2luIDE3IDE2IGJvcCAwIDgzIGEgRmwoc2V0c29ja29wdFwoKXAgRmMobGV2ZWwsKTI2Ci1iKG9wdG5hbWUsKTMxIGIodmFsdWUpNiBiIEZsKFwpKTIwOCAxODMgeSBGcShDYWxsKTI3Ci1iKHRoZSloIEZsKHNldHNvY2tvcHQpMjMgYiBGcShtZXRobylyKGQpMjggYihvZilnKHRoZSlnKHVuZGVybHlpbmcpZgotKHNvKXIoYyluKGspbihldC4pMCAzMzAgeSBGbChzaHV0ZG93blwoXCkpMjA4IDQyOSB5IEZxKFNlbmQpMzUKLWIodGhlKWgoc2gpbih1dGRvKW4od24pZihtZXNzYWdlKWYodG8paCh0aGUpaChDb25uZWN0aW9uLik2MAotYihSZXR1cm5zKTM1IGIodHJ1ZSlnKGlmKWgodGhlKWcoc2gpbih1dGRvKW4od24pZShtZXNzYWdlKWcoZXhjKW4KLShoYW5nZSlnKGlzKTIwOCA1MjkgeShjb21wbGV0ZWQpMjUgYihhbmQpZyhmYWxzZSloKG90aGVyd2lzZSllKFwoaW4paQotKHdoaWMpbihoKWcoY2FzZSllKHkpbihvdSloKGNhbGwpZyBGbChyZWN2XChcKSllIEZxKG9yKWkKLUZsKHNlbmRcKFwpKWUgRnEod2hlbilqKHRoZSlnKGNvbm5lY3Rpb24pZihiKXIoZWNvbWVzKTIwOAotNjI4IHkocmVhZGFibGUvd3JpdGVhYmxlLikwIDc3NSB5IEZsKGdldF9zaHV0ZG93blwoXCkpMjA4Ci04NzUgeSBGcShHZXQpNzAgYih0aGUpZyhzaCluKHV0ZG8pbih3bilmKHN0YXRlKWcob2YpaCh0aGUpZwotKENvbm5lY3Rpb24uKTE2MiBiKFJldHVybnMpNjkgYihhKWgoYml0diluKGVjdG9yKWUob2YpaShlaXRoZXIpZihvcilnCi0oYilyKG90aCloKG9mKTIwOCA5NzUgeSBGYyhTRU5UX1NIVVRETyluKFdOKTM5IGIgRnEoYW5kKTI3Ci1iIEZjKFJFQ0VJVkVEX1NIVVRETyluKFdOKTE0IGIgRnEoLikwIDExMjEgeSBGbChzZXRfc2h1dGRvd25cKClwCi1GYyhzdGF0ZSk2IGIgRmwoXCkpMjA4IDEyMjEgeSBGcShTZXQpMjEgYih0aGUpZyhzaCluKHV0ZG8pbih3bilnKHN0YXRlKQotZyhvZilnKHRoZSlnKENvbm5lY3Rpb24uKTM0IGIgRmMoc3RhdGUpMjcgYiBGcShpcykyMQotYihhKWcoYml0diluKGVjdG9yKWYob2YpaChlaXRoZXIpZyhvcilmKGIpcihvdGgpaShvZikyNwotYiBGYyhTRU5UX1NIVVRETyluKFdOKTIwOCAxMzIxIHkgRnEoYW5kKWcgRmMoUkVDRUlWRURfU0hVVERPKW4oV04pMTQKLWIgRnEoLikwIDE0NjggeSBGbChzb2NrX3NodXRkb3duXCgpcCBGYyhob3cpOSBiIEZsKFwpKTIwOAotMTU2NyB5IEZxKENhbGwpMjcgYih0aGUpaCBGbChzaHV0ZG93biljIEZxKG1ldGhvKXIoZClrKG9mKWcodGhlKWcKLSh1bmRlcmx5aW5nKWUoc28pcihjKW4oayluKGV0LikwIDE3MTQgeSBGbChiaW9fc2h1dGRvd25cKFwpKTIwOAotMTgxNCB5IEZxKElmKWoodGhlKWgoQ29ubmVjdGlvbilmKHcpbihhcylmKGNyZWF0ZWQpZyh3aXRoKWkoYSlmKG1lbW9yeSkKLWYoQklPLCloKHRoaXMpaChtZXRobylyKGQpZihjYW4pZyhiKXIoZSloKHVzZWQpZih0bylnKGluZGljYXRlKWcodGhhdCloCi0oXDAyMGVuZClmKG9mKTIwOCAxOTEzIHkoXDAzNGxlXDAyMSkzNCBiKGhhcykyNyBiKGIpcihlZW4paChyZWFjKW4oaGVkKQotZShvbiloKHRoZSloKHJlYWQpZihlbmQpaChvZilmKHRoYXQpaChtZW1vcnkpZihCSU8uKTAKLTIwNjAgeSBGbChzdGF0ZV9zdHJpbmdcKFwpKTIwOCAyMTYwIHkgRnEoUmV0cmlldiluKGUpZihhKWkodiluKGVyYilyCi0ob3NlKWUoc3RyaW5nKWcoZGV0YWlsaW5nKWkodGhlKWcoc3RhdGUpZihvZiloKHRoZSlmKENvbm5lY3Rpb24uKTAKLTIzMDcgeSBGbChjbGllbnRfcmFuZG9tXChcKSkyMDggMjQwNiB5IEZxKFJldHJpZXYpbihlKWYodGhlKWkocmFuZG9tKWYKLSh2KS01IGIoYWx1ZSkyNyBiKHVzZWQpaCh3aXRoKWcodGhlKWcoY2xpZW4pbih0KWYoaGVsbG8paChtZXNzYWdlLikwCi0yNTUzIHkgRmwoc2VydmVyX3JhbmRvbVwoXCkpMjA4IDI2NTMgeSBGcShSZXRyaWV2KW4oZSllKHRoZSlpKHJhbmRvbSlmCitUZVhEaWN0IGJlZ2luIDE3IDE2IGJvcCAyMDggODMgYSBGcShSZW5lZ290aWF0ZSkyNiBiKHRoZSlpKFNTTClnCisoc2Vzc2lvbi4pMzYgYihDYWxsKTI3IGIodGhpcyloKGlmKWcoeSluKG91KWYod2lzaClnKHRvKWgoYyluKGhhbmdlKWUKKyhjaXBoZXIpaChzdWl0ZXMpaChvcillKGFuKW4oeXRoaW5nKWgobGlrKW4oZSlnKHRoYXQuKTAKKzIzMCB5IEZsKHNlbmRcKClwIEZjKHN0cmluZyk3IGIgRmwoXCkpMjA4IDMzMCB5IEZxKFNlbmQpMjcKK2IodGhlKWggRmMoc3RyaW5nKTM1IGIgRnEoZGF0YSkyNyBiKHRvKWgodGhlKWcoQ29ubmVjdGlvbi4pMAorNDc2IHkgRmwoYmlvX3JlYWRcKClwIEZjKGJ1ZnNpemUpNiBiIEZsKFwpKTIwOCA1NzYgeQorRnEoSWYpMzEgYih0aGUpZyhDb25uZWN0aW9uKWcodyluKGFzKWYoY3JlYXRlZClnKHdpdGgpaShhKWUobWVtb3J5KWcKKyhCSU8sKWgodGhpcylnKG1ldGhvKXIoZClnKGNhbilnKGIpcihlKWgodXNlZCllKHRvKWgocmVhZClmKGIpbih5dGVzKWgKKyhmcm9tKWcodGhlKTIwOCA2NzYgeSh3cml0ZSlkKGVuZClnKG9mKWcodGhhdCloKG1lbW9yeSllKEJJTy4paChNYW4pbgorKHkpZihDb25uZWN0aW9uKWgobWV0aG8pcihkcyloKHdpbGwpZihhZGQpZyhiKW4oeXRlcylnKHdoaWMpbihoKWcobSluCisodXN0KWcoYilyKGUpaChyZWFkKWUoaW4paSh0aGlzKTIwOCA3NzUgeShtYW5uZXIpYyhvciloKHRoZSlnKGJ1XDAzM2VyKQoraCh3aWxsKWYoZXYpbihlbiluKHR1YWxseSlmKFwwMzRsbClpKHVwKWcoYW5kKWYodGhlKWcoQ29ubmVjdGlvbilnCisod2lsbClnKGIpcihlKWgoYWJsZSlmKHRvKWcodGFrKW4oZSlnKG5vKWcoZnVydGhlcilnKGFjdGlvbnMuKTAKKzkyMiB5IEZsKHNlbmRhbGxcKClwIEZjKHN0cmluZyk3IGIgRmwoXCkpMjA4IDEwMjIgeSBGcShTZW5kKTMwCitiKGFsbClmKG9mKWgodGhlKWcgRmMoc3RyaW5nKTM3IGIgRnEoZGF0YSkyOSBiKHRvKWcodGhlKWgoQ29ubmVjdGlvbi4pCis0MyBiKFRoaXMpMzAgYihjYWxscylmIEZsKHNlbmQpZiBGcShyZXApcihlYXRlZGx5KWgodW4pbih0aWwpaChhbGwpZgorKGRhdGEpaChpcylmKHNlbiluKHQuKTQzIGIoSWYpMzAgYihhbikyMDggMTEyMSB5KGVycm9yKTI1CitiKG8pcihjY3VycywpaShpdCdzKWgoaW1wKXIob3NzaWJsZSlmKHRvKWcodGVsbCloKGhvKW4odylmKG0pbih1YyluKGgpaAorKGRhdGEpZihoYXMpZyhiKXIoZWVuKWgoc2VuKW4odC4pMCAxMjY4IHkgRmwoc2V0X2FjY2VwdF9zdGF0ZSlvKFwoXCkpCisyMDggMTM2OCB5IEZxKFNldCkyMCBiKHRoZSlnKGNvbm5lY3Rpb24pZih0byloKHcpbihvcmspZShpbilpKHNlcnYpbgorKGVyKWUobW8pcihkZS4pMzQgYihUaGUpMjAgYihoYW5kc2hhayluKGUpZih3aWxsKWgoYilyKGUpZyhoYW5kbGVkKWcKKyhhdXRvbWF0aWNhbGx5KWUoYiluKHkpaShyZWFkL3dyaXRlLikwIDE1MTUgeSBGbChzZXRfYXBwX2RhdGFcKClwCitGYyhkYXRhKTYgYiBGbChcKSkyMDggMTYxNCB5IEZxKEFzc28pcihjaWF0ZSkzOSBiIEZjKGRhdGEpNDcKK2IgRnEod2l0aCk0MCBiKHRoaXMpZyhDb25uZWN0aW9uKWcob2IpNSBiKGplY3QuKTczIGIKK0ZjKGRhdGEpNDcgYiBGcShjYW4pMzkgYihiKXIoZSlpKHJldHJpZXYpbihlZClkKGxhdGVyKWgodXNpbmcpaCh0aGUpZworRmwoZ2V0X2FwcF9kYXRhKTIwOCAxNzE0IHkgRnEobWV0aG8pcihkLikwIDE4NjEgeSBGbChzZXRfY29ubmVjdF9zdGF0KW8KKyhlXCgpbyhcKSkyMDggMTk2MSB5IEZxKFNldCkyMSBiKHRoZSlnKGNvbm5lY3Rpb24pZyh0bylnKHcpbihvcmspZShpbilpCisoY2xpZW4pbih0KWcobW8pcihkZS4pMzUgYihUaGUpMjEgYihoYW5kc2hhayluKGUpZih3aWxsKWgoYilyKGUpZworKGhhbmRsZWQpZyhhdXRvbWF0aWNhbGx5KWYoYiluKHkpaChyZWFkL3dyaXRlLikwIDIxMDcKK3kgRmwoc2V0YmxvY2tpbmdcKClwIEZjKFwwMzVhZyk3IGIgRmwoXCkpMjA4IDIyMDcgeSBGcShDYWxsKTI3CitiKHRoZSloIEZsKHNldGJsb2NraW5nKTIzIGIgRnEobWV0aG8pcihkKTI4IGIob2YpZih0aGUpaCh1bmRlcmx5aW5nKWYKKyhzbylyKGMpbihrKW4oZXQuKTAgMjM1NCB5IEZsKHNldHNvY2tvcHRcKClwIEZjKGxldmVsLClmKG9wdG5hbWUsKTMxCitiKHZhbHVlKTYgYiBGbChcKSkyMDggMjQ1NCB5IEZxKENhbGwpMjcgYih0aGUpaCBGbChzZXRzb2Nrb3B0KTIzCitiIEZxKG1ldGhvKXIoZCkyOCBiKG9mKWcodGhlKWcodW5kZXJseWluZylmKHNvKXIoYyluKGspbihldC4pMAorMjYwMCB5IEZsKHNodXRkb3duXChcKSkyMDggMjcwMCB5IEZxKFNlbmQpMzUgYih0aGUpaChzaCluKHV0ZG8pbih3bilmCisobWVzc2FnZSlmKHRvKWgodGhlKWgoQ29ubmVjdGlvbi4pNjAgYihSZXR1cm5zKTM1IGIodHJ1ZSlnKGlmKWgodGhlKWcKKyhzaCluKHV0ZG8pbih3billKG1lc3NhZ2UpZyhleGMpbihoYW5nZSlnKGlzKTIwOCAyODAwCit5KGNvbXBsZXRlZCkyNSBiKGFuZClnKGZhbHNlKWgob3RoZXJ3aXNlKWUoXChpbilpKHdoaWMpbihoKWcoY2FzZSllKHkpbgorKG91KWgoY2FsbClnIEZsKHJlY3ZcKFwpKWUgRnEob3IpaSBGbChzZW5kXChcKSllIEZxKHdoZW4paih0aGUpZworKGNvbm5lY3Rpb24pZihiKXIoZWNvbWVzKTIwOCAyODk5IHkocmVhZGFibGUvd3JpdGVhYmxlLikwCiszMDQ2IHkgRmwoZ2V0X3NodXRkb3duXChcKSkyMDggMzE0NiB5IEZxKEdldCk3MCBiKHRoZSlnKHNoKW4odXRkbyluKHduKQorZihzdGF0ZSlnKG9mKWgodGhlKWcoQ29ubmVjdGlvbi4pMTYyIGIoUmV0dXJucyk2OSBiKGEpaChiaXR2KW4oZWN0b3IpZQorKG9mKWkoZWl0aGVyKWYob3IpZyhiKXIob3RoKWgob2YpMjA4IDMyNDUgeSBGYyhTRU5UX1NIVVRETyluKFdOKTM5CitiIEZxKGFuZCkyNyBiIEZjKFJFQ0VJVkVEX1NIVVRETyluKFdOKTE0IGIgRnEoLikwIDMzOTIKK3kgRmwoc2V0X3NodXRkb3duXCgpcCBGYyhzdGF0ZSk2IGIgRmwoXCkpMjA4IDM0OTIgeSBGcShTZXQpMjEKK2IodGhlKWcoc2gpbih1dGRvKW4od24pZyhzdGF0ZSlnKG9mKWcodGhlKWcoQ29ubmVjdGlvbi4pMzQKK2IgRmMoc3RhdGUpMjcgYiBGcShpcykyMSBiKGEpZyhiaXR2KW4oZWN0b3IpZihvZiloKGVpdGhlcilnKG9yKWYoYilyCisob3RoKWkob2YpMjcgYiBGYyhTRU5UX1NIVVRETyluKFdOKTIwOCAzNTkxIHkgRnEoYW5kKWcKK0ZjKFJFQ0VJVkVEX1NIVVRETyluKFdOKTE0IGIgRnEoLikwIDM3MzggeSBGbChzb2NrX3NodXRkb3duXCgpcAorRmMoaG93KTkgYiBGbChcKSkyMDggMzgzOCB5IEZxKENhbGwpMjcgYih0aGUpaCBGbChzaHV0ZG93biljCitGcShtZXRobylyKGQpayhvZilnKHRoZSlnKHVuZGVybHlpbmcpZShzbylyKGMpbihrKW4oZXQuKTAKKzM5ODUgeSBGbChiaW9fc2h1dGRvd25cKFwpKTIwOCA0MDg0IHkgRnEoSWYpaih0aGUpaChDb25uZWN0aW9uKWYodyluCisoYXMpZihjcmVhdGVkKWcod2l0aClpKGEpZihtZW1vcnkpZihCSU8sKWgodGhpcyloKG1ldGhvKXIoZClmKGNhbilnKGIpcgorKGUpaCh1c2VkKWYodG8pZyhpbmRpY2F0ZSlnKHRoYXQpaChcMDIwZW5kKWYob2YpMjA4IDQxODQKK3koXDAzNGxlXDAyMSkzNCBiKGhhcykyNyBiKGIpcihlZW4paChyZWFjKW4oaGVkKWUob24paCh0aGUpaChyZWFkKWYKKyhlbmQpaChvZilmKHRoYXQpaChtZW1vcnkpZihCSU8uKTAgNDMzMSB5IEZsKHN0YXRlX3N0cmluZ1woXCkpMjA4Cis0NDMxIHkgRnEoUmV0cmlldiluKGUpZihhKWkodiluKGVyYilyKG9zZSllKHN0cmluZylnKGRldGFpbGluZylpKHRoZSlnCisoc3RhdGUpZihvZiloKHRoZSlmKENvbm5lY3Rpb24uKTAgNDU3NyB5IEZsKGNsaWVudF9yYW5kb21cKFwpKTIwOAorNDY3NyB5IEZxKFJldHJpZXYpbihlKWYodGhlKWkocmFuZG9tKWYodiktNSBiKGFsdWUpMjcKK2IodXNlZCloKHdpdGgpZyh0aGUpZyhjbGllbiluKHQpZihoZWxsbyloKG1lc3NhZ2UuKTAKKzQ4MjQgeSBGbChzZXJ2ZXJfcmFuZG9tXChcKSkyMDggNDkyNCB5IEZxKFJldHJpZXYpbihlKWUodGhlKWkocmFuZG9tKWYKICh2KS01IGIoYWx1ZSkyNyBiKHVzZWQpaCh3aXRoKWcodGhlKWcoc2VydiluKGVyKWUoaGVsbG8paChtZXNzYWdlLikwCi0yODAwIHkgRmwobWFzdGVyX2tleVwoXCkpMjA4IDI4OTkgeSBGcShSZXRyaWV2KW4oZSlmKHRoZSlpKHYpLTUKKzUwNzAgeSBGbChtYXN0ZXJfa2V5XChcKSkyMDggNTE3MCB5IEZxKFJldHJpZXYpbihlKWYodGhlKWkodiktNQogYihhbHVlKTI4IGIob2YpZih0aGUpaChtYXN0ZXIpZihrKW4oZXkpZyhmb3IpZyh0aGlzKWgoc2Vzc2lvbi4pMAotMzA0NiB5IEZsKHdhbnRfcmVhZFwoXCkpMjA4IDMxNDYgeSBGcShDaGVjKW4oa3MpZShpZilpKG1vcmUpZihkYXRhKWcKKzUzMTcgeSBGbCh3YW50X3JlYWRcKFwpKXAgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZmKDMuMyk4MgorYiBGbChTU0wpMjYgYiBGZihcMDI2KWkoQW4pZyhpbnRlcmZhY2UpZyh0bylmKHRoZSlnKFNTTC1zcClyKGVjaVwwMzRjKWgKKyhwYSluKHJ0cylmKG9mKWgoT3ApcihlblNTTCkxNjExIGIoMTcpcCBlb3AgZW5kCislJVBhZ2U6IDE4IDE4CitUZVhEaWN0IGJlZ2luIDE4IDE3IGJvcCAyMDggODMgYSBGcShDaGVjKW4oa3MpMjYgYihpZilpKG1vcmUpZihkYXRhKWcKIChoYXMpZyh0byloKGIpcihlKWcocmVhZCllKGZyb20paSh0aGUpZih0cmFuc3ApcihvcnQpZyhsYSluKHkpbihlcilmCi0odG8paChjb21wbGV0ZSloKGFuKWYob3ApcihlcmF0aW9uLikwIDMyOTMgeSBGbCh3YW50X3dyaXRlXChcKSkyMDgKLTMzOTIgeSBGcShDaGVjKW4oa3MpZihpZilpKHRoZXJlKWcoaXMpZihkYXRhKWcodG8paCh3cml0ZSlmKHRvKWcodGhlKWgKKyh0byloKGNvbXBsZXRlKWgoYW4pZihvcClyKGVyYXRpb24uKTAgMjMwIHkgRmwod2FudF93cml0ZVwoXCkpMjA4CiszMzAgeSBGcShDaGVjKW4oa3MpZihpZilpKHRoZXJlKWcoaXMpZihkYXRhKWcodG8paCh3cml0ZSlmKHRvKWcodGhlKWgKICh0cmFuc3ApcihvcnQpZihsYSluKHkpbihlcilmKHRvKWgoY29tcGxldGUpaChhbilmKG9wKXIoZXJhdGlvbi4pMAotMzcxNCB5IEZyKDQpMTE0IGIoSW50ZXJuYWxzKTAgMzk0MyB5IEZxKFcpLTcgYihlKTI1IGIocmFuKWcoaW4pbih0bylmCi0odGhyZWUpaChtYWluKWcocHJvYmxlbXMpZihkZXYpbihlbG9waW5nKWcodGhpczopMzYgYihFeGNlcHRpb25zLCkyNQorNDc2IHkgRmwoc2V0X3Rsc2V4dF9ob3N0XylvKG5hKW8obWVcKClvIEZjKG5hbWUpNiBiIEZsKFwpKTIwOAorNTc2IHkgRnEoU3ApcihlY2lmeSkyOCBiKHRoZSlnKGIpbih5dGUpZihzdHJpbmcpZyh0bylnKHNlbmQpaChhcylmKHRoZSkKK2goc2VydiluKGVyKWUobmFtZSloKGluKWgodGhlKWcoY2xpZW4pbih0KWYoaGVsbG8paChtZXNzYWdlLik3MgorYihOZXcpMjggYihpbilmKHYpbihlcnNpb24pZigwLjEzLikwIDcyMyB5IEZsKGdldF9zZXJ2ZXJuYW1lXChcKSkyMDgKKzgyMyB5IEZxKEdldClpKHRoZSlmKHYpLTUgYihhbHVlKTI4IGIob2YpZih0aGUpaChzZXJ2KW4oZXIpZShuYW1lKWgKKyhyZWNlaXYpbihlZClnKGluKWgodGhlKWcoY2xpZW4pbih0KWYoaGVsbG8paChtZXNzYWdlLik3MgorYihOZXcpMjggYihpbilmKHYpbihlcnNpb24pZigwLjEzLikwIDExNDQgeSBGcig0KTExNAorYihJbnRlcm5hbHMpMCAxMzczIHkgRnEoVyktNyBiKGUpMjUgYihyYW4pZyhpbiluKHRvKWYodGhyZWUpaChtYWluKWcKKyhwcm9ibGVtcylmKGRldiluKGVsb3BpbmcpZyh0aGlzOikzNiBiKEV4Y2VwdGlvbnMsKTI1CiBiKGNhbGxiYWMpbihrcylmKGFuZCloKGFjY2Vzc2luZyllKHNvKXIoYyluKGspbihldCloKG1ldGhvKXIoZHMuKTM2Ci1iKFRoaXMpMCA0MDQzIHkoaXMpMjcgYih3aGF0KWgodGhpcylnKGMpbihoYXB0ZXIpZShpcylpKGFiKXIob3V0LikwCi00MzIyIHkgRmooNC4xKTk3IGIoRXhjZXB0aW9ucykwIDQ1MjMgeSBGcShXKS03IGIoZSk1MgorYihUaGlzKTAgMTQ3MyB5KGlzKTI3IGIod2hhdCloKHRoaXMpZyhjKW4oaGFwdGVyKWUoaXMpaShhYilyKG91dC4pMAorMTc1MyB5IEZqKDQuMSk5NyBiKEV4Y2VwdGlvbnMpMCAxOTUzIHkgRnEoVyktNyBiKGUpNTIKIGIocmVhbGl6ZWQpZihlYXJseSlnKHRoYXQpaChtb3N0KWcob2YpZyh0aGUpZyhleGNlcHRpb25zKWYodyluKG91bGQpaAogKGIpcihlKWcocmFpc2VkKWYoYiluKHkpaCh0aGUpZyhJL08pZihmdW5jdGlvbnMpaChvZilnKE9wKXIoZW5TU0wsKTAKLTQ2MjIgeShzbylkKGl0KWkoZmVsdClmKG5hdHVyYWwpZih0byloKG1pbWljKWcoT3ApcihlblNTTCdzKWcoZXJyb3IpZQorMjA1MyB5KHNvKWQoaXQpaShmZWx0KWYobmF0dXJhbClmKHRvKWgobWltaWMpZyhPcClyKGVuU1NMJ3MpZyhlcnJvcillCiAoY28pcihkZSlpKHN5c3RlbSwpNTUgYih0cmFuc2xhdGluZyk0OCBiKHRoZW0paihpbiluKHRvKWUoUHl0aG9uKWkKLShleGNlcHRpb25zLikwIDQ3MjIgeShUaGlzKTMwIGIobmF0dXJhbGx5KWUoZ2l2KW4oZXMpaCh1cyloKHRoZSlnCisoZXhjZXB0aW9ucy4pMCAyMTUyIHkoVGhpcykzMCBiKG5hdHVyYWxseSllKGdpdiluKGVzKWgodXMpaCh0aGUpZwogKGV4Y2VwdGlvbnMpZiBGbChTU0wuWmVyb1JldHVybkVyKW8ocm8pbyhyKXAgRnEoLCkyNAogYiBGbChTU0wuV2FudFJlYWRFcnJvcilvIEZxKCwpaCBGbChTU0wuV2FudFdyaXRlRXIpbyhybylvKHIpcAotRnEoLCkwIDQ4MjIgeSBGbChTU0wuV2FudFg1MDlMb29rKW8odXApbyhFcnIpbyhvciljIEZxKGFuZCkyNwotYiBGbChTU0wuU3lzQ2FsbEVycm9yKXAgRnEoLikwIDQ5NjkgeShGKS03IGIob3IpMjcgYihtb3JlKWcKLShpbmZvcm1hdGlvbilnKGFiKXIob3V0KWcodGhpcywpaChzZWUpZihzZWN0aW9uKWcoMy4zLilwCi0wIDU1NDkgMzkwMSA0IHYgMzgxNyA1NjQ5IGEgRmYoMTcpcCBlb3AgZW5kCi0lJVBhZ2U6IDE4IDE4Ci1UZVhEaWN0IGJlZ2luIDE4IDE3IGJvcCAwIDgzIGEgRmooNC4yKTk3IGIoQ2FsbGJhY2tzKTAKLTI4MyB5IEZxKFRoZXJlKTM0IGIoYXJlKWYoYSloKG4pbih1bSluKGIpcihlcilnKG9mKWgocHJvYmxlbXMpZSh3aXRoKWkKLShjYWxsYmFjKW4oa3MuKTU2IGIoRmlyc3QpMzQgYihvZilnKGFsbCwpaShPcClyKGVuU1NMKWYoaXMpZih3cml0dGVuKWgKLShhcyllKGEpaChDKWgobGlicmFyeSktNyBiKCwpMzQgYihpdCdzKWgobm90KTAgMzgzIHkobWVhbiluKHQpMjYKLWIodG8pZyhoYSluKHYpbihlKWUoUHl0aG9uKWooY2FsbGJhYyluKGtzLClkKHNvKWkoYSlmKHcpbihhKW4oeSlnCi0oYXJvdW5kKWcodGhhdCloKGlzKWcobmVlZGVkLikzNiBiKEFub3RoZXIpMjYgYihwcm9ibGVtKWYoaXMpaCh0aHJlYWQpZwotKHN1cHApcihvcnQuKTM2IGIoQSkyNiBiKGxvdCkwIDQ4MyB5KG9mKWgodGhlKWcoT3ApcihlblNTTClnKEkvTyllCi0oZnVuY3Rpb25zKWkoY2FuKWcoYmxvKXIoYyluKGspZihpZiloKHRoZSlnKHNvKXIoYyluKGspbihldClmKGlzKWcoaW4paAotKGJsbylyKGMpbihraW5nKWYobW8pcihkZSwpaChhbmQpZyh0aGVuKWcoeSluKG91KWYodyluKGFuKW4odClnKG90aGVyKWcKLShQeXRob24pMCA1ODIgeSh0aHJlYWRzKWkodG8pZyhiKXIoZSloKGFibGUpZyh0bylmKGRvKWgob3RoZXIpZgotKHRoaW5ncy4pNDAgYihUaGUpMjggYihyZWFsKWcodHJvdWJsZSlnKGlzKWgoaWYpZyh5KW4ob3UndiluKGUpZQotKHJlbGVhc2VkKWgodGhlKWgoZ2xvYmFsKWUoQ1B5dGhvbilpKGluKW4odGVycHJldGVyKTAKLTY4MiB5KGxvKXIoYyluKGspZSh0byloKGRvKWYoYSloKHApcihvdGVuKW4odGlhbGx5KWYoYmxvKXIoYyluKGtpbmcpZwotKG9wKXIoZXJhdGlvbiwpZyhhbmQpaCh0aGUpZyhvcClyKGVyYXRpb24pZihjYWxscylnKGEpZyhjYWxsYmFjKW4oay4pMzYKLWIoVGhlbikyOCBiKHcpbihlKWcobSluKHVzdClnKHRhayluKGUpZih0aGUpaChHSUwpMCA3ODIKLXkoYmFjKW4oaywpZihzaW5jZSlnKGNhbGxpbmcpZyhQeXRob24paChBUElzKWcod2l0aG91dClnKGhvbGRpbmcpZihpdCloCi0oaXMpZyhub3QpZihhbGxvKW4odyluKGVkLikwIDkyOSB5KFRoZXJlKWQoYXJlKWYodCluKHcpbihvKWcoc29sdXRpb25zKQotaCh0bylnKHRoZSloKFwwMzRyc3QpZihwcm9ibGVtLClnKGIpcihvdGgpaChvZilmKHdoaWMpbihoKWcoYXJlKWYKLShuZWNlc3NhcnkpLTcgYiguKTM0IGIoVGhlKTI1IGIoXDAzNHJzdClmKHNvbHV0aW9uKWYodG8paCh1c2UpaChpcylmCi0oaWYpZyh0aGUpaChDKTAgMTAyOCB5KGNhbGxiYWMpbihrKWkoYWxsbyluKHdzKWYoXDAyMXVzZXJkYXRhXDAyMSkzMworRnEoLCkwIDIyNTIgeSBGbChTU0wuV2FudFg1MDlMb29rKW8odXApbyhFcnIpbyhvciljIEZxKGFuZCkyNworYiBGbChTU0wuU3lzQ2FsbEVycm9yKXAgRnEoLikwIDIzOTkgeShGKS03IGIob3IpMjcgYihtb3JlKWcKKyhpbmZvcm1hdGlvbilnKGFiKXIob3V0KWcodGhpcywpaChzZWUpZihzZWN0aW9uKWcoMy4zLikwCisyNjc4IHkgRmooNC4yKTk3IGIoQ2FsbGJhY2tzKTAgMjg3OSB5IEZxKFRoZXJlKTM0IGIoYXJlKWYoYSloKG4pbih1bSluCisoYilyKGVyKWcob2YpaChwcm9ibGVtcyllKHdpdGgpaShjYWxsYmFjKW4oa3MuKTU2IGIoRmlyc3QpMzQKK2Iob2YpZyhhbGwsKWkoT3ApcihlblNTTClmKGlzKWYod3JpdHRlbiloKGFzKWUoYSloKEMpaChsaWJyYXJ5KS03CitiKCwpMzQgYihpdCdzKWgobm90KTAgMjk3OSB5KG1lYW4pbih0KTI2IGIodG8pZyhoYSluKHYpbihlKWUoUHl0aG9uKWoKKyhjYWxsYmFjKW4oa3MsKWQoc28paShhKWYodyluKGEpbih5KWcoYXJvdW5kKWcodGhhdCloKGlzKWcobmVlZGVkLikzNgorYihBbm90aGVyKTI2IGIocHJvYmxlbSlmKGlzKWgodGhyZWFkKWcoc3VwcClyKG9ydC4pMzYKK2IoQSkyNiBiKGxvdCkwIDMwNzggeShvZiloKHRoZSlnKE9wKXIoZW5TU0wpZyhJL08pZShmdW5jdGlvbnMpaShjYW4pZworKGJsbylyKGMpbihrKWYoaWYpaCh0aGUpZyhzbylyKGMpbihrKW4oZXQpZihpcylnKGluKWgoYmxvKXIoYyluKGtpbmcpZgorKG1vKXIoZGUsKWgoYW5kKWcodGhlbilnKHkpbihvdSlmKHcpbihhbiluKHQpZyhvdGhlcilnKFB5dGhvbikwCiszMTc4IHkodGhyZWFkcylpKHRvKWcoYilyKGUpaChhYmxlKWcodG8pZihkbyloKG90aGVyKWYodGhpbmdzLik0MAorYihUaGUpMjggYihyZWFsKWcodHJvdWJsZSlnKGlzKWgoaWYpZyh5KW4ob3UndiluKGUpZShyZWxlYXNlZCloKHRoZSloCisoZ2xvYmFsKWUoQ1B5dGhvbilpKGluKW4odGVycHJldGVyKTAgMzI3NyB5KGxvKXIoYyluKGspZSh0byloKGRvKWYoYSloCisocClyKG90ZW4pbih0aWFsbHkpZihibG8pcihjKW4oa2luZylnKG9wKXIoZXJhdGlvbiwpZyhhbmQpaCh0aGUpZyhvcClyCisoZXJhdGlvbilmKGNhbGxzKWcoYSlnKGNhbGxiYWMpbihrLikzNiBiKFRoZW4pMjggYih3KW4oZSlnKG0pbih1c3QpZworKHRhayluKGUpZih0aGUpaChHSUwpMCAzMzc3IHkoYmFjKW4oaywpZihzaW5jZSlnKGNhbGxpbmcpZyhQeXRob24paAorKEFQSXMpZyh3aXRob3V0KWcoaG9sZGluZylmKGl0KWgoaXMpZyhub3QpZihhbGxvKW4odyluKGVkLikwCiszNTI0IHkoVGhlcmUpZChhcmUpZih0KW4odyluKG8pZyhzb2x1dGlvbnMpaCh0bylnKHRoZSloKFwwMzRyc3QpZgorKHByb2JsZW0sKWcoYilyKG90aCloKG9mKWYod2hpYyluKGgpZyhhcmUpZihuZWNlc3NhcnkpLTcKK2IoLikzNCBiKFRoZSkyNSBiKFwwMzRyc3QpZihzb2x1dGlvbilmKHRvKWgodXNlKWgoaXMpZihpZilnKHRoZSloKEMpMAorMzYyNCB5KGNhbGxiYWMpbihrKWkoYWxsbyluKHdzKWYoXDAyMXVzZXJkYXRhXDAyMSkzMwogYih0bykyOCBiKGIpcihlKWgocGFzc2VkKWUodG8paChpdClnKFwoYW4pZyhhcmJpdHJhcnkpZShwKXIob2luKW4odGVyKWkKIChub3JtYWxseVwpLikzNyBiKFRoaXMpMjggYihpcylnKGdyZWF0ISkzNyBiKFcpLTcgYihlKTI4Ci1iKGNhbilnKHNldClnKG91cikwIDExMjggeShQeXRob24paShmdW5jdGlvbilnKG9iKTUgYihqZWN0KTI5CitiKGNhbilnKHNldClnKG91cikwIDM3MjMgeShQeXRob24paShmdW5jdGlvbilnKG9iKTUgYihqZWN0KTI5CiBiKGFzKWYodGhlKWkocmVhbClmKHVzZXJkYXRhKWYoYW5kKWgoZW0pbih1bGF0ZSlnKHVzZXJkYXRhKWYoZm9yKWgodGhlKQogaChQeXRob24pZihmdW5jdGlvbiloKGluKWcoYW5vdGhlcillKHcpbihhKW4oeSktNyBiKC4pMAotMTIyNyB5KFRoZSkyNCBiKG90aGVyKWcoc29sdXRpb24pZyhjYW4pZyhiKXIoZSloKHVzZWQpZyhpZilnKGFuKWYob2IpNQorMzgyMyB5KFRoZSkyNCBiKG90aGVyKWcoc29sdXRpb24pZyhjYW4pZyhiKXIoZSloKHVzZWQpZyhpZilnKGFuKWYob2IpNQogYihqZWN0KTI0IGIod2l0aCloKGFuKWYoXDAyMWFwcF9kYXRhXDAyMSkyOSBiKHN5c3RlbSljKGFsdyluKGEpbih5cylkCiAoaXMpaihwYXNzZWQpZSh0byloKHRoZSloKGNhbGxiYWMpbihrLikzNSBiKEYpLTcgYihvcikwCi0xMzI3IHkoZXhhbXBsZSwpMjYgYih0aGUpaChTU0wpZihvYik1IGIoamVjdCkyNiBiKGluKWgoT3ApcihlblNTTClmCiszOTIyIHkoZXhhbXBsZSwpMjYgYih0aGUpaChTU0wpZihvYik1IGIoamVjdCkyNiBiKGluKWgoT3ApcihlblNTTClmCiAoaGFzKWcoYXBwX2RhdGEpZihmdW5jdGlvbnMpaShhbmQpZihpbiloKGUuZy4pMzYgYih0aGUpMjYKIGIodiluKGVyaVwwMzRjYXRpb24pZihjYWxsYmFjKW4oa3MsKWcoeSluKG91KWcoY2FuKTAKLTE0MjcgeShyZXRyaWV2KW4oZSlpKHRoZSlpKHJlbGF0ZWQpZihTU0wpaChvYik1IGIoamVjdC4pMzkKKzQwMjIgeShyZXRyaWV2KW4oZSlpKHRoZSlpKHJlbGF0ZWQpZihTU0wpaChvYik1IGIoamVjdC4pMzkKIGIoV2hhdCkyOSBiKHcpbihlKWcoZG8pZihpcylnKHRvKWgoc2V0KWYob3VyKWcod3JhcHApcihlcilnCiBGbChDb25uZWN0aW9uKWMgRnEob2IpNSBiKGplY3QpMjggYihhcylnKGFwcF9kYXRhKWcoZm9yKWcodGhlKTAKLTE1MjYgeShTU0wpZyhvYik1IGIoamVjdCwpMjcgYihhbmQpaCh3KW4oZSlmKGNhbilnKGVhc2lseSlnKFwwMzRuZCloCi0odGhlKWcoUHl0aG9uKWcoY2FsbGJhYyluKGsuKTAgMTY3MyB5KFRoZSkyMyBiKG90aGVyKWcocHJvYmxlbSlnKGlzKWcKKzQxMjIgeShTU0wpZyhvYik1IGIoamVjdCwpMjcgYihhbmQpaCh3KW4oZSlmKGNhbilnKGVhc2lseSlnKFwwMzRuZCloCisodGhlKWcoUHl0aG9uKWcoY2FsbGJhYyluKGsuKTAgNDI2OSB5KFRoZSkyMyBiKG90aGVyKWcocHJvYmxlbSlnKGlzKWcKIChzb2x2KW4oZWQpZih1c2luZyloKHRocmVhZClnKGxvKXIoY2FsKWcodiktNSBiKGFyaWFibGVzLikzNAogYihXaGVuZXYpbihlcikyMiBiKHRoZSlpKEdJTClnKGlzKWYocmVsZWFzZWQpZihiKXIoZWZvcmUpaChjYWxsaW5nKWYKLShpbiluKHRvKWgoYW4pMCAxNzczIHkoT3ApcihlblNTTClqKEFQSSwpZyh0aGUpZyhQeVRocmVhZFN0YXRlKWYocClyCisoaW4pbih0byloKGFuKTAgNDM2OCB5KE9wKXIoZW5TU0wpaihBUEksKWcodGhlKWcoUHlUaHJlYWRTdGF0ZSlmKHApcgogKG9pbiluKHRlcilnKHJldHVybmVkKWcoYiluKHkpaCBGbChQeUV2YWxfU2F2ZVN0YXRlKTE5CiBiIEZxKGlzKTI1IGIoc3RvcmVkKWcoaW4pZyhhKWcoZ2xvYmFsKWcodGhyZWFkKWcobG8pcihjYWwpMAotMTg3MiB5KHYpLTUgYihhcmlhYmxlKTI3IGIoXCh1c2luZylnKFB5dGhvbidzKWgobyluKHduKWYoVExTKWgoQVBJLClnCis0NDY4IHkodiktNSBiKGFyaWFibGUpMjcgYihcKHVzaW5nKWcoUHl0aG9uJ3MpaChvKW4od24pZihUTFMpaChBUEksKWcKIEZsKFB5VGhyZWFkX3NldF9rZXlfKW8odmEpbyhsdWUpbyBGcShcKS4payhXaGVuKWMoaXQpZyhpcylnKG5lY2Vzc2FyeSllCi0odG8paChyZS1hY3F1aXJlKWYodGhlKTAgMTk3MiB5KEdJTCwpYyhlaXRoZXIpZyhhZnRlcilnKHRoZSloKE9wKXIKKyh0byloKHJlLWFjcXVpcmUpZih0aGUpMCA0NTY3IHkoR0lMLCljKGVpdGhlcilnKGFmdGVyKWcodGhlKWgoT3ApcgogKGVuU1NMKWYoQVBJKWgocmV0dXJucyllKG9yKWgoaW4pZyhhKWcoQylnKGNhbGxiYWMpbihrKWYoaW4pbih2KW4ob2spbgogKGVkKWYoYiluKHkpaSh0aGF0KWgoT3ApcihlblNTTClmKEFQSSwpaCh0aGUpZyh2KS01IGIoYWx1ZSkyMgotYihvZilnKHRoZSkwIDIwNzIgeSh0aHJlYWQpMzIgYihsbylyKGNhbClmKHYpLTUgYihhcmlhYmxlKTMyCitiKG9mKWcodGhlKTAgNDY2NyB5KHRocmVhZCkzMiBiKGxvKXIoY2FsKWYodiktNSBiKGFyaWFibGUpMzIKIGIoaXMpZyhyZXRyaWV2KW4oZWQpZihcKClwIEZsKFB5VGhyZWFkX2dldF9rZXkpbyhfdmEpbyhsdSlvKGUpcAogRnEoXCkpMjYgYihhbmQpMzMgYih1c2VkKWYodG8pZyhyZS1hY3F1aXJlKWUodGhlKWooR0lMLilmKFRoaXMpaChhbGxvKW4KLSh3cykwIDIxNzEgeShQeXRob24pZih0aHJlYWRzKWUodG8paChleGVjdXRlKWgod2hpbGUpZihPcClyKGVuU1NMKWcKKyh3cykwIDQ3NjcgeShQeXRob24pZih0aHJlYWRzKWUodG8paChleGVjdXRlKWgod2hpbGUpZihPcClyKGVuU1NMKWcKIChBUElzKWgoYXJlKWYocnVubmluZylmKGFuZClpKGFsbG8pbih3cyllKHVzZSloKG9mKWcoYW4pbih5KWYKLShwYXJ0aWN1bGFyKWcocCluKHlPcClyKGVuU1NMKTAgMjI3MSB5KG9iKTUgYihqZWN0KTI5CisocGFydGljdWxhcilnKHApbih5T3ApcihlblNTTCkwIDQ4NjYgeShvYik1IGIoamVjdCkyOQogYihmcm9tKWYoYW4pbih5KWcoUHl0aG9uKWkodGhyZWFkLCllKHNpbmNlKWgodGhlcmUpZyhpcylnKG5vKWYocClyCiAoZXItdGhyZWFkKWcoc3RhdGUpaChhc3NvKXIoY2lhdGVkKWYod2l0aCloKGFuKW4oeSlmKG9mKWgodGhlc2UpZyhvYik1Ci1iKGplY3RzKTI4IGIoYW5kKTAgMjM3MSB5KHNpbmNlKWYoT3ApcihlblNTTCloKGlzKWcodGhyZWFkc2FmZSllKFwoYXMpaAorYihqZWN0cykyOCBiKGFuZCkwIDQ5NjYgeShzaW5jZSlmKE9wKXIoZW5TU0wpaChpcylnKHRocmVhZHNhZmUpZShcKGFzKWgKIChsb25nKWcoYXMpZyhwcm9wKXIoZXJseSlnKGluaXRpYWxpemVkLClnKGFzKWcocCluKHlPcClyKGVuU1NMKWgKLShpbml0aWFsaXplcylmKGl0XCkuKTAgMjY1MCB5IEZqKDQuMyk5NyBiKEEpbShjZXNzaW5nKTM1Ci1iKFNvKXMoY2spbShldCllKE1ldGhvKXMoZHMpMCAyODUxIHkgRnEoVyktNyBiKGUpMjcgYihxdWljKW4oa2x5KWUoc2EpbgorKGluaXRpYWxpemVzKWYoaXRcKS4pcCAwIDU1NDkgMzkwMSA0IHYgMCA1NjQ5IGEgRmYoMTgpMzM2OAorYig0KTgzIGIoSW50ZXJuYWxzKXAgZW9wIGVuZAorJSVQYWdlOiAxOSAxOQorVGVYRGljdCBiZWdpbiAxOSAxOCBib3AgMCA4MyBhIEZqKDQuMyk5NyBiKEEpbShjZXNzaW5nKTM1CitiKFNvKXMoY2spbShldCllKE1ldGhvKXMoZHMpMCAyODMgeSBGcShXKS03IGIoZSkyNyBiKHF1aWMpbihrbHkpZShzYSluCiAodyloKHRoZSlnKGIpcihlbmVcMDM0dCloKG9mKWcod3JhcHBpbmcpZShzbylyKGMpbihrKW4oZXQpZyhtZXRobylyKGRzKQogaChpbiloKHRoZSlnIEZsKFNTTC5Db25uZWN0aW9uKTIwIGIgRnEoY2xhc3MsKTI2IGIoZm9yKWcoYW4pZyhlYXN5KWYKLSh0cmFuc2l0aW9uKTAgMjk1MCB5KGluKW4odG8pZSh1c2luZylmKFNTTC4paChUaGUpZyhwcm9ibGVtKWYoaGVyZSloCi0oaXMpZih0aGF0KWgodGhlKWggRmwoc29ja2V0KWMgRnEobW8pcihkdWxlKWoobGFjKW4oa3MpZihhKWcoQyloKEFQSSwpaAotKGFuZCllKGFsbCloKHRoZSlnKG1ldGhvKXIoZHMpZyhhcmUpZihkZWNsYXJlZCkwIDMwNTAKKyh0cmFuc2l0aW9uKTAgMzgzIHkoaW4pbih0byllKHVzaW5nKWYoU1NMLiloKFRoZSlnKHByb2JsZW0pZihoZXJlKWgoaXMpCitmKHRoYXQpaCh0aGUpaCBGbChzb2NrZXQpYyBGcShtbylyKGR1bGUpaihsYWMpbihrcylmKGEpZyhDKWgoQVBJLCloCisoYW5kKWUoYWxsKWgodGhlKWcobWV0aG8pcihkcylnKGFyZSlmKGRlY2xhcmVkKTAgNDgzCiB5KHN0YXRpYy4pMzYgYihPbmUpMjcgYihhcHByb2FjKW4oaClkKHcpbihvdWxkKWkoYilyKGUpaCh0bylmKGhhKW4odiluCiAoZSlnIEZsKE9wZW5TU0wpZCBGcShhcylqKGEpZyhzdWJtbylyKGR1bGUpaCh0bylmKHRoZSloCiBGbChzb2NrZXQpZCBGcShtbylyKGR1bGUsKWoocGxhY2luZylmKGFsbClnKHRoZSloKGNvKXIoZGUpMAotMzE0OSB5KGluKWooYClwIEZwKHNvKXIoY2spbihldG1vKXIoZHVsZS5jKXAgRnEoJywpaChidXQpZih0aGlzKWcoaXMpZworNTgyIHkoaW4paihgKXAgRnAoc28pcihjayluKGV0bW8pcihkdWxlLmMpcCBGcSgnLCloKGJ1dClmKHRoaXMpZyhpcylnCiAob2Ipbih2aW91c2x5KWUobm90KWkoYSlmKGdvKXIobylyKGQpZyhzb2x1dGlvbiwpaChzaW5jZSlnKHkpbihvdSlmCiAobWlnaCluKHQpZyhub3QpaCh3KW4oYW4pbih0KWYodG8paChpbXApcihvcnQpZyh0b25uZXMpZihvZikwCi0zMjQ5IHkoZXh0cmEpZihzdHVcMDMzKWgoeSluKG91J3JlKWUobm90KWkoZ29pbmcpZSh0bylpKHVzZSlmKHdoZW4paAorNjgyIHkoZXh0cmEpZihzdHVcMDMzKWgoeSluKG91J3JlKWUobm90KWkoZ29pbmcpZSh0bylpKHVzZSlmKHdoZW4paAogKGltcClyKG9ydGluZylmKHRoZSlpIEZsKHNvY2tldCljIEZxKG1vKXIoZHVsZS4pNDAgYihUaGUpMjkKLWIob3RoZXIpZihhcHByb2FjKW4oaCllKGlzKWoodG8pZihzb21laG8pbih3KTAgMzM0OSB5KGdldCkzMworYihvdGhlcilmKGFwcHJvYWMpbihoKWUoaXMpaih0bylmKHNvbWVobyluKHcpMCA3ODIgeShnZXQpMzMKIGIoYSlnKHApcihvaW4pbih0ZXIpZyh0byloKHRoZSlmKG1ldGhvKXIoZCloKHRvKWcoYilyKGUpZihjYWxsZWQsKWkKIChlaXRoZXIpZSh0aGUpaChDKWcoZnVuY3Rpb24sKWgob3IpZShhKWcoY2FsbGFibGUpZihQeXRob24paShvYik1Ci1iKGplY3QuKTU0IGIoVGhpcykzNCBiKGlzKWYobm90KTAgMzQ0OCB5KHJlYWxseSkyNiBiKGEpaShnbylyKG8pcihkKWYKK2IoamVjdC4pNTQgYihUaGlzKTM0IGIoaXMpZihub3QpMCA4ODEgeShyZWFsbHkpMjYgYihhKWkoZ28pcihvKXIoZClmCiAoc29sdXRpb24pZyhlaXRoZXIsKWcoc2luY2UpZyh0aGVyZSdzKWgoYSlmKGxvdClnKG9mKWgobG8pcihva3VwcylmKGluKQotbih2KW4ob2x2KW4oZWQuKTAgMzU5NSB5KFRoZSloKHcpbihhKW4oeSlmKGl0KWgodyluKG9ya3MpZShpcylpKHRoYXQpaAorbih2KW4ob2x2KW4oZWQuKTAgMTAyOCB5KFRoZSloKHcpbihhKW4oeSlmKGl0KWgodyluKG9ya3MpZShpcylpKHRoYXQpaAogKHkpbihvdSllKGhhKW4odiluKGUpZyh0bylnKHN1cHBseSloKGEpZyhcMDIwKTcgYiBGbChzb2NrZXQpcAogRnEoLWxpayluKGVcMDIxKTMxIGIodHJhbnNwKXIob3J0KWMob2IpNSBiKGplY3QpMjggYih0bylmKHRoZSlpCi1GbChTU0wuQ29ubmVjdGlvbilwIEZxKC4paihUaGUpMCAzNjk1IHkob25seSkyNCBiKHJlcXVpcmVtZW4pbih0KWYob2YpaQorRmwoU1NMLkNvbm5lY3Rpb24pcCBGcSguKWooVGhlKTAgMTEyOCB5KG9ubHkpMjQgYihyZXF1aXJlbWVuKW4odClmKG9mKWkKICh0aGlzKWYob2IpNSBiKGplY3QpMjQgYihpcyloKHRoYXQpZihpdCloKGhhcylmKGEpZyBGbChmaWxlbm9cKFwpKWQKIEZxKG1ldGhvKXIoZClrKHRoYXQpZihyZXR1cm5zKWcoYSlnKFwwMzRsZSlnKGRlc2NyaXB0b3IpZih0aGF0J3MpaSh2KS01Ci1iKGFsaWQpMjQgYihhdCkwIDM3OTQgeSh0aGUpZyhDKWcobGV2KW4oZWwpZihcKGkuZS4pMzYKK2IoYWxpZCkyNCBiKGF0KTAgMTIyNyB5KHRoZSlnKEMpZyhsZXYpbihlbClmKFwoaS5lLikzNgogYih5KW4ob3UpMjMgYihjYW4paCh1c2UpZih0aGUpaShzeXN0ZW0pZShjYWxscylnKHJlYWQpZyhhbmQpaCh3cml0ZVwpLikKIDM1IGIoSWYpMjUgYih5KW4ob3UpZSh3KW4oYW4pbih0KWcodG8paCh1c2UpZih0aGUpaCBGbChjb25uZWN0XChcKSljCi1GcShvcilqIEZsKGFjY2VwdFwoXCkpMCAzODk0IHkgRnEobWV0aG8pcihkcykyOSBiKG9mKWgodGhlKWYKK0ZxKG9yKWogRmwoYWNjZXB0XChcKSkwIDEzMjcgeSBGcShtZXRobylyKGRzKTI5IGIob2YpaCh0aGUpZgogRmwoU1NMLkNvbm5lY3Rpb24pMjQgYiBGcShvYik1IGIoamVjdCwpMjkgYih0aGUpaCh0cmFuc3ApcihvcnQpZShvYik1CiBiKGplY3QpMjkgYihoYXMpZih0byloKHN1cHBseSloKHN1YyluKGgpZihtZXRobylyKGRzKWcodG8pcihvLik0MQotYihBcGFydCkyOSBiKGZyb20pMCAzOTk0IHkodGhlbSwpYyhhbiluKHkpZShtZXRobylyKGQpaChsbylyKG9rdXBzKWYKK2IoQXBhcnQpMjkgYihmcm9tKTAgMTQyNyB5KHRoZW0sKWMoYW4pbih5KWUobWV0aG8pcihkKWgobG8pcihva3VwcylmCiAoaW4paCh0aGUpZiBGbChTU0wuQ29ubmVjdGlvbikxOCBiIEZxKG9iKTUgYihqZWN0KTI0CiBiKHRoYXQpZihmYWlsKWgoYXJlKWYocGFzc2VkKWYob24paSh0bylmKHRoZSloKHVuZGVybHlpbmcpZih0cmFuc3ApcgotKG9ydCkwIDQwOTMgeShvYik1IGIoamVjdC4pMCA0MjQwIHkoRiktNyBiKHV0dXJlKTI1IGIoYyluKGhhbmdlcylmCisob3J0KTAgMTUyNiB5KG9iKTUgYihqZWN0LikwIDE2NzMgeShGKS03IGIodXR1cmUpMjUgYihjKW4oaGFuZ2VzKWYKIChtaWdoKW4odCloKGIpcihlKWcodG8pZyhhbGxvKW4odylmKFB5dGhvbi1sZXYpbihlbClnKHRyYW5zcClyKG9ydClnCiAob2IpNSBiKGplY3RzLCkyNSBiKHRoYXQpZyhpbnN0ZWFkKWcob2YpZyhoYSluKHZpbmcpZwotRmwoZmlsZW5vXChcKSlkIEZxKG1ldGhvKXIoZHMsKTAgNDM0MCB5KGhhKW4odiluKGUpaAorRmwoZmlsZW5vXChcKSlkIEZxKG1ldGhvKXIoZHMsKTAgMTc3MyB5KGhhKW4odiluKGUpaAogRmwocmVhZFwoXCkpZyBGcShhbmQpaCBGbCh3cml0ZVwoXCkpZSBGcShtZXRobylyKGRzLClrKHNvKWUobW9yZSlmKGFkdikKIC01IGIoYW5jZWQpMjQgYihmZWF0dXJlcyloKG9mKWYoUHl0aG9uKWgoY2FuKWcoYilyKGUpZyh1c2VkLikzNQotYihUaGlzKTI1IGIodyluKG91bGQpZihwcm9iYWJseSkwIDQ0MzkgeShlbiluKHRhaWwpMzYKK2IoVGhpcykyNSBiKHcpbihvdWxkKWYocHJvYmFibHkpMCAxODcyIHkoZW4pbih0YWlsKTM2CiBiKHNvbWUpZyhzb3J0KWcob2YpZyhPcClyKGVuU1NMKWgoXDAyMEJJT3NcMDIxLClnKGJ1dClnKGNvbiluKHYpbgogKGVydGluZyllKFB5dGhvbilpKHN0cmluZ3MpZShiYWMpbihrKWgoYW5kKWcoZm9ydGgpZyhpcyloKGV4cClyKGVuc2l2KW4KLShlLCloKHNvKWUodGhpcykwIDQ1MzkgeShzaG91bGRuJ3QpZihiKXIoZSloKHVzZWQpZih1bmxlc3MpZyhuZWNlc3NhcnkpCisoZSwpaChzbyllKHRoaXMpMCAxOTcyIHkoc2hvdWxkbid0KWYoYilyKGUpaCh1c2VkKWYodW5sZXNzKWcobmVjZXNzYXJ5KQogLTcgYiguKTU3IGIoT3RoZXIpMzUgYihuaWNlKWcodGhpbmdzKWcodyluKG91bGQpZyhiKXIoZSlnKHRvKWcoYilyKGUpaAogKGFibGUpZSh0byloKHBhc3MpZyhpbilnKGRpXDAzM2VyZW4pbih0KWcodHJhbnNwKXIob3J0KTAKLTQ2MzkgeShvYik1IGIoamVjdHMpNDEgYihmb3IpZyhyZWFkaW5nKWYoYW5kKWgod3JpdGluZywpaihidXQpZSh0aGVuKWcKKzIwNzIgeShvYik1IGIoamVjdHMpNDEgYihmb3IpZyhyZWFkaW5nKWYoYW5kKWgod3JpdGluZywpaihidXQpZSh0aGVuKWcKICh0aGUpZyBGbChmaWxlbm9cKFwpKWMgRnEobWV0aG8pcihkKWsob2YpNDcgYiBGbChTU0wuQ29ubmVjdGlvbikzNgotYiBGcShiKXIoZWNvbWVzKTQxIGIodmlydHVhbGx5KTAgNDczOCB5KHVzZWxlc3MuKTM2IGIoQWxzbywpMjcKK2IgRnEoYilyKGVjb21lcyk0MSBiKHZpcnR1YWxseSkwIDIxNzEgeSh1c2VsZXNzLikzNiBiKEFsc28sKTI3CiBiKHNob3VsZCloKHRoZSlnKG1ldGhvKXIoZClnKHJlc29sdXRpb24pZShiKXIoZSlpKHVzZWQpZyhvbilmKHRoZSloCiAocmVhZC10cmFuc3ApcihvcnQpZChvcilpKHRoZSloKHdyaXRlLXRyYW5zcClyKG9ydD8pcAotMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZmKDE4KTMzNjggYig0KTgzIGIoSW50ZXJuYWxzKXAKLWVvcCBlbmQKKzAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZig0LjMpODIgYihBKW4oY2Vzc2luZykyNiBiKFNvKXIoY2spbihldCloCisoTWV0aG8pcihkcykyNzQ0IGIoMTkpcCBlb3AgZW5kCiAlJVRyYWlsZXIKIAogdXNlcmRpY3QgL2VuZC1ob29rIGtub3due2VuZC1ob29rfWlmCmRpZmYgLS1naXQgYS9kb2MvcHlPcGVuU1NMLnR4dCBiL2RvYy9weU9wZW5TU0wudHh0CmluZGV4IDZlNWFjZWUuLjFjMjJiZTMgMTAwNjQ0Ci0tLSBhL2RvYy9weU9wZW5TU0wudHh0CisrKyBiL2RvYy9weU9wZW5TU0wudHh0CkBAIC0yNjgsMjQgKzI2OCw3IEBACiAgICAgICAgICAgYGBzaGExJycuIE5ldyBpbiB2ZXJzaW9uIDAuMTEuCiAKIAotICAzLjEuMSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMKLQotICAgWDUwOUV4dGVuc2lvbiBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgotCi0gICBnZXRfc2hvcnRfbmFtZSgpCi0gICAgICAgICAgUmV0cmlldmUgdGhlIHNob3J0IGRlc2NyaXB0aXZlIG5hbWUgZm9yIHRoaXMgZXh0ZW5zaW9uLgotCi0gICAgICAgICAgVGhlIHJlc3VsdCBpcyBhIGJ5dGUgc3RyaW5nIGxpa2UgYGBiYXNpY0NvbnN0cmFpbnRzJycuIE5ldyBpbgotICAgICAgICAgIHZlcnNpb24gMC4xMi4KLQotICAgZ2V0X2RhdGEoKQotICAgICAgICAgIFJldHJpZXZlIHRoZSBkYXRhIGZvciB0aGlzIGV4dGVuc2lvbi4KLQotICAgICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIEFTTi4xIGVuY29kZWQgZm9ybSBvZiB0aGUgZXh0ZW5zaW9uIGRhdGEgYXMgYQotICAgICAgICAgIGJ5dGUgc3RyaW5nLiBOZXcgaW4gdmVyc2lvbiAwLjEyLgotCi0KLSAgMy4xLjIgWDUwOSBvYmplY3RzCisgIDMuMS4xIFg1MDkgb2JqZWN0cwogCiAgICBYNTA5IG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKQEAgLTMwMCw2ICsyODMsMTAgQEAKICAgIGdldF9zZXJpYWxfbnVtYmVyKCkKICAgICAgICAgICBSZXR1cm4gdGhlIGNlcnRpZmljYXRlIHNlcmlhbCBudW1iZXIuCiAKKyAgIGdldF9zaWduYXR1cmVfYWxnb3JpdGhtKCkKKyAgICAgICAgICBSZXR1cm4gdGhlIHNpZ25hdHVyZSBhbGdvcml0aG0gdXNlZCBpbiB0aGUgY2VydGlmaWNhdGUuIElmIHRoZQorICAgICAgICAgIGFsZ29yaXRobSBpcyB1bmRlZmluZWQsIHJhaXNlIFZhbHVlRXJyb3IuCisKICAgIGdldF9zdWJqZWN0KCkKICAgICAgICAgICBSZXR1cm4gYW4gWDUwOU5hbWUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgc3ViamVjdCBvZiB0aGUKICAgICAgICAgICBjZXJ0aWZpY2F0ZS4KQEAgLTM5OSw3ICszODYsNyBAQAogICAgICAgICAgIG9iamVjdCB3aWxsIGJlIGFuIFg1MDlFeHRlbnNpb24gaW5zdGFuY2UuIE5ldyBpbiB2ZXJzaW9uIDAuMTIuCiAKIAotICAzLjEuMyBYNTA5TmFtZSBvYmplY3RzCisgIDMuMS4yIFg1MDlOYW1lIG9iamVjdHMKIAogICAgWDUwOU5hbWUgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIApAQCAtNDIyLDcgKzQwOSw3IEBACiAKICAgIHN0YXRlT3JQcm92aW5jZU5hbWUKICAgICAgICAgICBUaGUgc3RhdGUgb3IgcHJvdmluY2Ugb2YgdGhlIGVudGl0eS4gU1QgbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMKLSAgICAgICAgICBmb3Igc3RhdGVPclByb3ZpbmNlTmFtZbcKKyAgICAgICAgICBmb3Igc3RhdGVPclByb3ZpbmNlTmFtZcK3CiAKICAgIGxvY2FsaXR5TmFtZQogICAgICAgICAgIFRoZSBsb2NhbGl0eSBvZiB0aGUgZW50aXR5LiBMIG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgpAQCAtNDQ0LDcgKzQzMSw3IEBACiAgICAgICAgICAgVGhlIGUtbWFpbCBhZGRyZXNzIG9mIHRoZSBlbnRpdHkuCiAKIAotICAzLjEuNCBYNTA5UmVxIG9iamVjdHMKKyAgMy4xLjMgWDUwOVJlcSBvYmplY3RzCiAKICAgIFg1MDlSZXEgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIApAQCAtNDc0LDcgKzQ2MSw3IEBACiAgICAgICAgICAgR2V0IHRoZSB2ZXJzaW9uIChSRkMgMjQ1OSwgNC4xLjIuMSkgb2YgdGhlIGNlcnRpZmljYXRlIHJlcXVlc3QuCiAKIAotICAzLjEuNSBYNTA5U3RvcmUgb2JqZWN0cworICAzLjEuNCBYNTA5U3RvcmUgb2JqZWN0cwogCiAgICBUaGUgWDUwOVN0b3JlIG9iamVjdCBoYXMgY3VycmVudGx5IGp1c3Qgb25lIG1ldGhvZDoKIApAQCAtNDgyLDcgKzQ2OSw3IEBACiAgICAgICAgICAgQWRkIHRoZSBjZXJ0aWZpY2F0ZSBjZXJ0IHRvIHRoZSBjZXJ0aWZpY2F0ZSBzdG9yZS4KIAogCi0gIDMuMS42IFBLZXkgb2JqZWN0cworICAzLjEuNSBQS2V5IG9iamVjdHMKIAogICAgVGhlIFBLZXkgb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKQEAgLTQ5Niw4ICs0ODMsMTQgQEAKICAgIHR5cGUoKQogICAgICAgICAgIFJldHVybiB0aGUgdHlwZSBvZiB0aGUga2V5LgogCisgICBjaGVjaygpCisgICAgICAgICAgQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIHRoaXMga2V5LCByZXR1cm5pbmcgVHJ1ZSBpZiBpdCBpcworICAgICAgICAgIGNvbnNpc3RlbnQgYW5kIHJhaXNpbmcgYW4gZXhjZXB0aW9uIG90aGVyd2lzZS4gVGhpcyBpcyBvbmx5CisgICAgICAgICAgdmFsaWQgZm9yIFJTQSBrZXlzLiBTZWUgdGhlIE9wZW5TU0wgUlNBX2NoZWNrX2tleSBtYW4gcGFnZSBmb3IKKyAgICAgICAgICBmdXJ0aGVyIGxpbWl0YXRpb25zLgogCi0gIDMuMS43IFBLQ1M3IG9iamVjdHMKKworICAzLjEuNiBQS0NTNyBvYmplY3RzCiAKICAgIFBLQ1M3IG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKQEAgLTUxNyw3ICs1MTAsNyBAQAogICAgICAgICAgIEdldCB0aGUgdHlwZSBuYW1lIG9mIHRoZSBQS0NTNy4KIAogCi0gIDMuMS44IFBLQ1MxMiBvYmplY3RzCisgIDMuMS43IFBLQ1MxMiBvYmplY3RzCiAKICAgIFBLQ1MxMiBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCkBAIC01NTcsNyArNTUwLDcgQEAKICAgICAgICAgICBSZXBsYWNlIG9yIHNldCBwcml2YXRlIGtleSBwb3J0aW9uIG9mIHRoZSBQS0NTMTIgc3RydWN0dXJlCiAKIAotICAzLjEuOSBYNTA5RXh0ZW5zaW9uIG9iamVjdHMKKyAgMy4xLjggWDUwOUV4dGVuc2lvbiBvYmplY3RzCiAKICAgIFg1MDlFeHRlbnNpb24gb2JqZWN0cyBoYXZlIHNldmVyYWwgbWV0aG9kczoKIApAQCAtNTY1LDEwICs1NTgsMTkgQEAKICAgICAgICAgICBSZXR1cm4gdGhlIGNyaXRpY2FsIGZpZWxkIG9mIHRoZSBleHRlbnNpb24gb2JqZWN0LgogCiAgICBnZXRfc2hvcnRfbmFtZSgpCi0gICAgICAgICAgUmV0dXJuIHRoZSBzaG9ydCB0eXBlIG5hbWUgb2YgdGhlIGV4dGVuc2lvbiBvYmplY3QuCisgICAgICAgICAgUmV0cmlldmUgdGhlIHNob3J0IGRlc2NyaXB0aXZlIG5hbWUgZm9yIHRoaXMgZXh0ZW5zaW9uLgorCisgICAgICAgICAgVGhlIHJlc3VsdCBpcyBhIGJ5dGUgc3RyaW5nIGxpa2UgYGBiYXNpY0NvbnN0cmFpbnRzJycuIE5ldyBpbgorICAgICAgICAgIHZlcnNpb24gMC4xMi4KKworICAgZ2V0X2RhdGEoKQorICAgICAgICAgIFJldHJpZXZlIHRoZSBkYXRhIGZvciB0aGlzIGV4dGVuc2lvbi4KKworICAgICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIEFTTi4xIGVuY29kZWQgZm9ybSBvZiB0aGUgZXh0ZW5zaW9uIGRhdGEgYXMgYQorICAgICAgICAgIGJ5dGUgc3RyaW5nLiBOZXcgaW4gdmVyc2lvbiAwLjEyLgogCiAKLSAgMy4xLjEwIE5ldHNjYXBlU1BLSSBvYmplY3RzCisgIDMuMS45IE5ldHNjYXBlU1BLSSBvYmplY3RzCiAKICAgIE5ldHNjYXBlU1BLSSBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCkBAIC01OTEsNyArNTkzLDcgQEAKICAgICAgICAgICBWZXJpZnkgdGhlIE5ldHNjYXBlU1BLSSBvYmplY3QgdXNpbmcgdGhlIGdpdmVuIGtleS4KIAogCi0gIDMuMS4xMSBDUkwgb2JqZWN0cworICAzLjEuMTAgQ1JMIG9iamVjdHMKIAogICAgQ1JMIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKQEAgLTYwNiw3ICs2MDgsNyBAQAogICAgICAgICAgIFJldHVybiBhIHR1cGxlIG9mIFJldm9rZWQgb2JqZWN0cywgYnkgdmFsdWUgbm90IHJlZmVyZW5jZS4KIAogCi0gIDMuMS4xMiBSZXZva2VkIG9iamVjdHMKKyAgMy4xLjExIFJldm9rZWQgb2JqZWN0cwogCiAgICBSZXZva2VkIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKQEAgLTc0Niw2ICs3NDgsMjkgQEAKICAgICAgICAgICBTU0x2MjNfTUVUSE9EIHRvIGdldCBhbiBTU0x2Mi1jb21wYXRpYmxlIGhhbmRzaGFrZSwgYnV0IGRvbid0CiAgICAgICAgICAgd2FudCB0byB1c2UgU1NMdjIuCiAKKyAgIFNTTEVBWV9WRVJTSU9OCisKKyAgIFNTTEVBWV9DRkxBR1MKKworICAgU1NMRUFZX0JVSUxUX09OCisKKyAgIFNTTEVBWV9QTEFURk9STQorCisgICBTU0xFQVlfRElSCisgICAgICAgICAgQ29uc3RhbnRzIHVzZWQgd2l0aCBTU0xlYXlfdmVyc2lvbiB0byBzcGVjaWZ5IHdoYXQgT3BlblNTTAorICAgICAgICAgIHZlcnNpb24gaW5mb3JtYXRpb24gdG8gcmV0cmlldmUuIFNlZSB0aGUgbWFuIHBhZ2UgZm9yIHRoZQorICAgICAgICAgIFNTTGVheV92ZXJzaW9uIEMgQVBJIGZvciBkZXRhaWxzLgorCisgICBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSCisgICAgICAgICAgQW4gaW50ZWdlciBnaXZpbmcgdGhlIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBPcGVuU1NMIGxpYnJhcnkgdXNlZAorICAgICAgICAgIHRvIGJ1aWxkIHRoaXMgdmVyc2lvbiBvZiBweU9wZW5TU0wuIFNlZSB0aGUgbWFuIHBhZ2UgZm9yIHRoZQorICAgICAgICAgIFNTTGVheV92ZXJzaW9uIEMgQVBJIGZvciBkZXRhaWxzLgorCisgICBTU0xlYXlfdmVyc2lvbih0eXBlKQorICAgICAgICAgIFJldHJpZXZlIGEgc3RyaW5nIGRlc2NyaWJpbmcgc29tZSBhc3BlY3Qgb2YgdGhlIHVuZGVybHlpbmcKKyAgICAgICAgICBPcGVuU1NMIHZlcnNpb24uIFRoZSB0eXBlIHBhc3NlZCBpbiBzaG91bGQgYmUgb25lIG9mIHRoZQorICAgICAgICAgIFNTTEVBWV8qIGNvbnN0YW50cyBkZWZpbmVkIGluIHRoaXMgbW9kdWxlLgorCiAgICBDb250ZXh0VHlwZQogICAgICAgICAgIFNlZSBDb250ZXh0LgogCkBAIC05NjcsNiArOTkyLDEyIEBACiAgICAgICAgICAgYmUgaW4gdGhlIGZvcm1hdCBzcGVjaWZpZWQgYnkgZm9ybWF0LCB3aGljaCBpcyBlaXRoZXIKICAgICAgICAgICBGSUxFVFlQRV9QRU0gb3IgRklMRVRZUEVfQVNOMS4gVGhlIGRlZmF1bHQgaXMgRklMRVRZUEVfUEVNLgogCisgICBzZXRfdGxzZXh0X3NlcnZlcm5hbWVfY2FsbGJhY2soY2FsbGJhY2spCisgICAgICAgICAgU3BlY2lmeSBhIG9uZS1hcmd1bWVudCBjYWxsYWJsZSB0byB1c2UgYXMgdGhlIFRMUyBleHRlbnNpb24KKyAgICAgICAgICBzZXJ2ZXIgbmFtZSBjYWxsYmFjay4gV2hlbiBhIGNvbm5lY3Rpb24gdXNpbmcgdGhlIHNlcnZlciBuYW1lCisgICAgICAgICAgZXh0ZW5zaW9uIGlzIG1hZGUgdXNpbmcgdGhpcyBjb250ZXh0LCB0aGUgY2FsbGJhY2sgd2lsbCBiZQorICAgICAgICAgIGludm9rZWQgd2l0aCB0aGUgQ29ubmVjdGlvbiBpbnN0YW5jZS4gTmV3IGluIHZlcnNpb24gMC4xMy4KKwogCiAgIDMuMy4yIENvbm5lY3Rpb24gb2JqZWN0cwogCkBAIC0xMDM0LDkgKzEwNjUsMTYgQEAKICAgIGdldF9jb250ZXh0KCkKICAgICAgICAgICBSZXRyaWV2ZSB0aGUgQ29udGV4dCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ29ubmVjdGlvbi4KIAorICAgc2V0X2NvbnRleHQoY29udGV4dCkKKyAgICAgICAgICBTcGVjaWZ5IGEgcmVwbGFjZW1lbnQgQ29udGV4dCBvYmplY3QgZm9yIHRoaXMgQ29ubmVjdGlvbi4KKwogICAgZ2V0X3BlZXJfY2VydGlmaWNhdGUoKQogICAgICAgICAgIFJldHJpZXZlIHRoZSBvdGhlciBzaWRlJ3MgY2VydGlmaWNhdGUgKGlmIGFueSkKIAorICAgZ2V0X3BlZXJfY2VydF9jaGFpbigpCisgICAgICAgICAgUmV0cmlldmUgdGhlIHR1cGxlIG9mIHRoZSBvdGhlciBzaWRlJ3MgY2VydGlmaWNhdGUgY2hhaW4gKGlmCisgICAgICAgICAgYW55KQorCiAgICBnZXRwZWVybmFtZSgpCiAgICAgICAgICAgQ2FsbCB0aGUgZ2V0cGVlcm5hbWUgbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIApAQCAtMTE0MCw2ICsxMTc4LDE0IEBACiAgICAgICAgICAgQ2hlY2tzIGlmIHRoZXJlIGlzIGRhdGEgdG8gd3JpdGUgdG8gdGhlIHRyYW5zcG9ydCBsYXllciB0bwogICAgICAgICAgIGNvbXBsZXRlIGFuIG9wZXJhdGlvbi4KIAorICAgc2V0X3Rsc2V4dF9ob3N0X25hbWUobmFtZSkKKyAgICAgICAgICBTcGVjaWZ5IHRoZSBieXRlIHN0cmluZyB0byBzZW5kIGFzIHRoZSBzZXJ2ZXIgbmFtZSBpbiB0aGUgY2xpZW50CisgICAgICAgICAgaGVsbG8gbWVzc2FnZS4gTmV3IGluIHZlcnNpb24gMC4xMy4KKworICAgZ2V0X3NlcnZlcm5hbWUoKQorICAgICAgICAgIEdldCB0aGUgdmFsdWUgb2YgdGhlIHNlcnZlciBuYW1lIHJlY2VpdmVkIGluIHRoZSBjbGllbnQgaGVsbG8KKyAgICAgICAgICBtZXNzYWdlLiBOZXcgaW4gdmVyc2lvbiAwLjEzLgorCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0IEludGVybmFscwogCkBAIC0xMjM1LDggKzEyODEsOCBAQAogCiAgICBUaGlzIGRvY3VtZW50IHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIExhVGVYMkhUTUwgdHJhbnNsYXRvci4KIAotICAgTGFUZVgySFRNTCBpcyBDb3B5cmlnaHQgqSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk3LCBOaWtvcyBEcmFrb3MsCi0gICBDb21wdXRlciBCYXNlZCBMZWFybmluZyBVbml0LCBVbml2ZXJzaXR5IG9mIExlZWRzLCBhbmQgQ29weXJpZ2h0IKkKKyAgIExhVGVYMkhUTUwgaXMgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsIE5pa29zIERyYWtvcywKKyAgIENvbXB1dGVyIEJhc2VkIExlYXJuaW5nIFVuaXQsIFVuaXZlcnNpdHkgb2YgTGVlZHMsIGFuZCBDb3B5cmlnaHQgwqkKICAgIDE5OTcsIDE5OTgsIFJvc3MgTW9vcmUsIE1hdGhlbWF0aWNzIERlcGFydG1lbnQsIE1hY3F1YXJpZSBVbml2ZXJzaXR5LAogICAgU3lkbmV5LgogCg==