LyoKICogVHVya2lzaCBSZXNvdXJjZXMgZm9yIFdvcmRwYWQKICoKICogQ29weXJpZ2h0IDIwMDYgRmF0aWggQf79Y/0gPGZhc2ljaUBsaW51eC1zZXZlbmxlci5vcmc+CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfVFVSS0lTSCwgU1VCTEFOR19ERUZBVUxUCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZEb3N5YSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZZZW5pLi4uXHRDdHJsK04iLCAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gIiZB5y4uLlx0Q3RybCtPIiwgICAgICAgIElEX0ZJTEVfT1BFTgogICAgICAgIE1FTlVJVEVNICImS2F5ZGV0XHRDdHJsK1MiLCAgICAgICBJRF9GSUxFX1NBVkUKICAgICAgICBNRU5VSVRFTSAiJkZhcmts/SBLYXlkZXQuLi4iLCAgICAgSURfRklMRV9TQVZFQVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlByaW50Li4uXHRDdHJsK1AiLCAgICAgSURfUFJJTlQKICAgICAgICBNRU5VSVRFTSAiUHJpbnQgcHJldmllJncuLi4iLCAgICAgSURfUFJFVklFVwogICAgICAgIE1FTlVJVEVNICJQYWcmZSBzZXR1cC4uLiIsICAgICAgICBJRF9QUklOVFNFVFVQCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIibH/WsiLCAgICAgICAgICBJRF9GSUxFX0VYSVQKICAgIEVORAogICAgUE9QVVAgIiZE/HplbiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZHZXJpIEFsXHRDdHJsK1oiLCAgICAgICAgICAgIElEX0VESVRfVU5ETwogICAgICAgIE1FTlVJVEVNICImWWluZWxlXHRDdHJsK1kiLCAgICAgICAgICAgICBJRF9FRElUX1JFRE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS2Umc1x0Q3RybCtYIiwgICAgICAgICAgICAgICAgSURfRURJVF9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcHlhbGFcdEN0cmwrQyIsICAgICAgICAgICAgSURfRURJVF9DT1BZCiAgICAgICAgTUVOVUlURU0gIllhJnD9/nT9clx0Q3RybCtWIiwgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJlNpbFx0RGVsIiwgICAgICAgICAgICAgICAgICAgSURfRURJVF9DTEVBUgogICAgICAgIE1FTlVJVEVNICImVPxt/G78IHNl51x0Q3RybCtBIiwgICAgICAgICBJRF9FRElUX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRmluZC4uLlx0Q3J0bCtGIiwgICAgICAgICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIkZpbmQgJm5leHRcdEYzIiwgICAgICAgICAgICAgIElEX0ZJTkRfTkVYVAogICAgICAgIE1FTlVJVEVNICImUmVwbGFjZS4uLlx0Q3RybCtIIiwgICAgICAgICBJRF9SRVBMQUNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNhbHQtJm9rdW51ciIsICAgICAgICAgICAgICAgIElEX0VESVRfUkVBRE9OTFkKICAgICAgICBNRU5VSVRFTSAiJkRl8Gn+bWn+IiwgICAgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRklFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJEJmnwZXJsZXJpIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICJTZedpbSAmYmlsZ2lzaSIsICAgICAgICAgICAgICBJRF9FRElUX1NFTEVDVElPTklORk8KICAgICAgICAgICAgTUVOVUlURU0gIkthcmFrdGVyIGJpJudpbWkiLCAgICAgICAgICAgIElEX0VESVRfQ0hBUkZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiJtZudGFu/W1s/SBrYXIuIGJp52ltaSIsICAgICAgSURfRURJVF9ERUZDSEFSRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICJQYXJhZ3JhJmYgYmnnaW1pIiwgICAgICAgICAgICBJRF9FRElUX1BBUkFGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZNZXRuaSBhbCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfR0VUVEVYVAogICAgICAgIEVORAogICAgRU5ECiAgICBQT1BVUCAiJlZpZXciCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImVG9vbGJhciIsICAgICAgICBJRF9UT0dHTEVfVE9PTEJBUgogICAgICAgIE1FTlVJVEVNICImRm9ybWF0YmFyIiwgICAgICBJRF9UT0dHTEVfRk9STUFUQkFSCiAgICAgICAgTUVOVUlURU0gIiZSdWxlciIsICAgICAgICAgIElEX1RPR0dMRV9SVUxFUgogICAgICAgIE1FTlVJVEVNICImU3RhdHVzYmFyIiwgICAgICBJRF9UT0dHTEVfU1RBVFVTQkFSCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZPcHRpb25zLi4uIiwgICAgIElEX1ZJRVdQUk9QRVJUSUVTCiAgICBFTkQKICAgIFBPUFVQICImSW5zZXJ0IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkRhdGUgYW5kIHRpbWUuLi4iLCAgICAgICAgICAgIElEX0RBVEVUSU1FCiAgICBFTkQKICAgIFBPUFVQICImQmnnaW0iCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImRm9udC4uLiIsICAgICAgICAgICAgICAgICAgICAgSURfRk9OVFNFVFRJTkdTCiAgICAgICAgTUVOVUlURU0gIiZCdWxsZXQgcG9pbnRzIiAgICAgICAgICAgICAgICBJRF9CVUxMRVQKICAgICAgICBNRU5VSVRFTSAiJlBhcmFncmFwaC4uLiIgICAgICAgICAgICAgICAgIElEX1BBUkFGT1JNQVQKICAgICAgICBNRU5VSVRFTSAiJlRhYnMuLi4iICAgICAgICAgICAgICAgICAgICAgIElEX1RBQlNUT1BTCiAgICAgICAgUE9QVVAgIiZBcmthcGxhbiIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiUyZpc3RlbVx0Q3RybCsxIiwgICAgICAgICBJRF9CQUNLXzEKICAgICAgICAgICAgTUVOVUlURU0gIiZTYXL9bXT9cmFrXHRDdHJsKzIiLCAgICAgSURfQkFDS18yCiAgICAgICAgRU5ECiAgICBFTkQKICAgIFBPUFVQICImSGVscCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBYm91dCBXaW5lIFdvcmRwYWQiICAgICAgIElEX0FCT1VUCiAgICBFTkQKRU5ECgpJRE1fUE9QVVAgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIktlJnMiLCAgICAgICAgICAgICAgICAgSURfRURJVF9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcHlhbGEiLCAgICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiWWEmcP3+dP1yIiwgICAgICAgICAgICBJRF9FRElUX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZCdWxsZXQgcG9pbnRzIiwgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZQYXJhZ3JhcGguLi4iLCAgICAgICAgSURfUEFSQUZPUk1BVAogICAgRU5ECkVORAoKSUREX0RBVEVUSU1FIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDEzMCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRhdGUgYW5kIHRpbWUiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJBdmFpbGFibGUgZm9ybWF0cyIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDg3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZDYW5jZWwiLElEQ0FOQ0VMLDg3LDI2LDQwLDEyCkVORAoKSUREX05FV0ZJTEUgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMTQwLCA4MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTmV3IgpGT05UIDEwLCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIExURVhUICAgICAgICAiTmV3IGRvY3VtZW50IHR5cGUiLDAsMywyLDEwMCwxNQogICAgTElTVEJPWCAgICAgIElEQ19ORVdGSUxFLDMsMTIsOTAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDk3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZDYW5jZWwiLElEQ0FOQ0VMLDk3LDI2LDQwLDEyCkVORAoKSUREX1BBUkFGT1JNQVQgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIlBhcmFncmFwaCBmb3JtYXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICJJbmRlbnRhdGlvbiIsIDAsIDEwLCAxMCwgMTIwLCA2OAogICAgTFRFWFQgIkxlZnQiLCAwLCAxNSwgMjIsIDQwLCAxMwogICAgRURJVFRFWFQgSURDX1BBUkFfTEVGVCwgNTUsIDIwLCA2MCwgMTMKICAgIExURVhUICJSaWdodCIsIDAsIDE1LCA0MCwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9SSUdIVCwgNTUsIDM4LCA2MCwgMTMKICAgIExURVhUICJGaXJzdCBsaW5lIiwgMCwgMTUsIDU4LCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIkFsaWdubWVudCIsIDAsIDE1LCA4NywgNDAsIDEzCiAgICBDT01CT0JPWCBJRENfUEFSQV9BTElHTiwgNTUsIDg1LCA2MCwgMTMsIENCU19EUk9QRE9XTkxJU1QKICAgIFBVU0hCVVRUT04gIiZPSyIsIElET0ssIDEzNywgMTUsIDUwLCAxNQogICAgUFVTSEJVVFRPTiAiJkNhbmNlbCIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKRU5ECgpJRERfVEFCU1RPUFMgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIlRhYnMiCkZPTlQgOCwgIk1TIFNIZWxsIERMZyIKQkVHSU4KICAgIEdST1VQQk9YICJUYWIgc3RvcHMiLCAwLCAxMCwgMTAsIDEyMCwgOTAKICAgIENPTUJPQk9YIElEQ19UQUJTVE9QUywgMjAsIDIwLCAxMDAsIDYwLCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gIiZBZGQiLCBJRF9UQUJfQURELCAyMCwgODAsIDQ1LCAxNQogICAgUFVTSEJVVFRPTiAiJlJlbW92ZSIsIElEX1RBQl9ERUwsIDcyLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZDYW5jZWwiLCBJRENBTkNFTCwgMTM3LCAzMywgNTAsIDE1CiAgICBQVVNIQlVUVE9OICJSZW1vdmUgYWwmbCIsIElEX1RBQl9FTVBUWSwgMTM3LCA1MSwgNTAsIDE1CkVORAoKSUREX0ZPUk1BVE9QVFMgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMTEwClNUWUxFIERTX1NZU01PREFMCkNhcHRpb24gIiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIkxpbmUgd3JhcHBpbmciLCAwLCAxMCwgMTAsIDEzMCwgODUKICAgIFJBRElPQlVUVE9OICJXcmFwIHRleHQgYnkgdGhlICZ3aW5kb3cgYm9yZGVyIiwgSURDX1BBR0VGTVRfV1csIDE4LCAyNSwgMTE3LCAxNQogICAgUkFESU9CVVRUT04gIldyYXAgdGV4dCBieSB0aGUgJm1hcmdpbiIsIElEQ19QQUdFRk1UX1dNLCAxOCwgNDUsIDExNywgMTUKICAgIEdST1VQQk9YICJUb29sYmFycyIsIDAsIDE1MCwgMTAsIDEyMCwgODUKICAgIENIRUNLQk9YICImVG9vbGJhciIsIElEQ19QQUdFRk1UX1RCLCAxNjAsIDIwLCA4MCwgMTUKICAgIENIRUNLQk9YICImRm9ybWF0YmFyIiwgSURDX1BBR0VGTVRfRkIsIDE2MCwgMzgsIDgwLCAxNQogICAgQ0hFQ0tCT1ggIiZSdWxlciIsIElEQ19QQUdFRk1UX1JVLCAxNjAsIDU2LCA4MCwgMTUKICAgIENIRUNLQk9YICImU3RhdHVzYmFyIiwgSURDX1BBR0VGTVRfU0IsIDE2MCwgNzQsIDgwLCAxNQogICAgTFRFWFQgIiIsIElEQ19QQUdFRk1UX0lELCAwLDAsMCwwCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19SSUNIVEVYVF9GSUxFU19SVEYsICAgICAiUmljaCB0ZXh0IGZvcm1hdCAoKi5ydGYpIgogICAgU1RSSU5HX1RFWFRfRklMRVNfVFhULCAgICAgICAgICJUZXh0IGRvY3VtZW50cyAoKi50eHQpIgogICAgU1RSSU5HX1RFWFRfRklMRVNfVU5JQ09ERV9UWFQsICJVbmljb2RlIHRleHQgZG9jdW1lbnQgKCoudHh0KSIKICAgIFNUUklOR19BTExfRklMRVMsICAgICAgICAgICAgICAiQWxsIGRvY3VtZW50cyAoKi4qKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0FMSUdOX0xFRlQsICAgICAgICAgICAgIkxlZnQiCiAgICBTVFJJTkdfQUxJR05fUklHSFQsICAgICAgICAgICAiUmlnaHQiCiAgICBTVFJJTkdfQUxJR05fQ0VOVEVSLCAgICAgICAgICAiQ2VudGVyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfTkVXRklMRV9SSUNIVEVYVCwgICAgICJSaWNoIHRleHQgZG9jdW1lbnQiCiAgICBTVFJJTkdfTkVXRklMRV9UWFQsICAgICAgICAgICJUZXh0IGRvY3VtZW50IgogICAgU1RSSU5HX05FV0ZJTEVfVFhUX1VOSUNPREUsICAiVW5pY29kZSB0ZXh0IGRvY3VtZW50IgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfUFJJTlRFUl9GSUxFU19QUk4sICAgICAgICAiUHJpbnRlciBmaWxlcyAoKi5QUk4pIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVklFV1BST1BTX1RJVExFLCAgICAgICAgICAiT3B0aW9ucyIKICAgIFNUUklOR19WSUVXUFJPUFNfVEVYVCwgICAgICAgICAgICJUZXh0IgogICAgU1RSSU5HX1ZJRVdQUk9QU19SSUNIVEVYVCwgICAgICAgIlJpY2ggdGV4dCIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSRVZJRVdfUFJJTlQsICAgICAgICAgICAgIlByaW50IgogICAgU1RSSU5HX1BSRVZJRVdfTkVYVFBBR0UsICAgICAgICAgIk5leHQgcGFnZSIKICAgIFNUUklOR19QUkVWSUVXX1BSRVZQQUdFLCAgICAgICAgICJQcmV2aW91cyBwYWdlIgogICAgU1RSSU5HX1BSRVZJRVdfVFdPUEFHRVMsICAgICAgICAgIlR3byBwYWdlcyIKICAgIFNUUklOR19QUkVWSUVXX09ORVBBR0UsICAgICAgICAgICJPbmUgcGFnZSIKICAgIFNUUklOR19QUkVWSUVXX0NMT1NFLCAgICAgICAgICAgICJDbG9zZSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1VOSVRTX0NNLCAgICAgICAgICAgICAiY20iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19ERUZBVUxUX0ZJTEVOQU1FLCAgICAgIkRvY3VtZW50IgogICAgU1RSSU5HX1BST01QVF9TQVZFX0NIQU5HRVMsICAiU2F2ZSBjaGFuZ2VzIHRvICclcyc/IgogICAgU1RSSU5HX1NFQVJDSF9GSU5JU0hFRCwgICAgICAiRmluaXNoZWQgc2VhcmNoaW5nIHRoZSBkb2N1bWVudC4iCiAgICBTVFJJTkdfTE9BRF9SSUNIRURfRkFJTEVELCAgICJGYWlsZWQgdG8gbG9hZCB0aGUgUmljaEVkaXQgbGlicmFyeS4iCiAgICBTVFJJTkdfU0FWRV9MT1NFRk9STUFUVElORywgICJZb3UgaGF2ZSBjaG9zZW4gdG8gc2F2ZSBpbiBwbGFpbiB0ZXh0IGZvcm1hdCwgIiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGljaCB3aWxsIGNhdXNlIGFsbCBmb3JtYXR0aW5nIHRvIGJlIGxvc3QuICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXJlIHlvdSBzdXJlIHRoYXQgeW91IHdpc2ggdG8gZG8gdGhpcz8iCiAgICBTVFJJTkdfSU5WQUxJRF9OVU1CRVIsICAgICAgICJJbnZhbGlkIG51bWJlciBmb3JtYXQiCiAgICBTVFJJTkdfT0xFX1NUT1JBR0VfTk9UX1NVUFBPUlRFRCwgIk9MRSBzdG9yYWdlIGRvY3VtZW50cyBhcmUgbm90IHN1cHBvcnRlZCIKRU5ECg==