LyoKICogQ29weXJpZ2h0IDIwMDQgYnkgS3J6eXN6dG9mIEZvbHRtYW4KICogQ29weXJpZ2h0IDIwMDYgYnkgTWlrb2xhaiBaYWxld3NraQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX1BPTElTSCwgU1VCTEFOR19ERUZBVUxUCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZQbGlrIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5vd3kuLi5cdEN0cmwrTiIsICAgICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNICImT3R383J6Li4uXHRDdHJsK08iLCAgICAgIElEX0ZJTEVfT1BFTgogICAgICAgIE1FTlVJVEVNICImWmFwaXN6XHRDdHJsK1MiLCAgICAgICAgIElEX0ZJTEVfU0FWRQogICAgICAgIE1FTlVJVEVNICJaJmFwaXN6IGpha28uLi4iLCAgICAgICAgIElEX0ZJTEVfU0FWRUFTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZEcnVrdWouLi5cdEN0cmwrUCIsICAgIElEX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIiZQb2RnbLlkIHd5ZHJ1a3UuLi4iLCAgICBJRF9QUkVWSUVXCiAgICAgICAgTUVOVUlURU0gIiZVc3Rhd2llbmlhIHN0cm9ueS4uLiIsICAgICAgIElEX1BSSU5UU0VUVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiWmEma2/xY3oiLCAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiJkVkeWNqYSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZDb2ZuaWpcdEN0cmwrWiIsICAgICAgICAgICAgICAgSURfRURJVF9VTkRPCiAgICAgICAgTUVOVUlURU0gIiZQb3d083J6XHRDdHJsK1kiLCAgICAgICAgICAgICAgIElEX0VESVRfUkVETwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXeSZ0bmlqXHRDdHJsK1giLCAgICAgICAgICAgICAgICBJRF9FRElUX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waXVqXHRDdHJsK0MiLCAgICAgICAgICAgICAgIElEX0VESVRfQ09QWQogICAgICAgIE1FTlVJVEVNICJXa2wmZWpcdEN0cmwrViIsICAgICAgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJlVzdfFcdERlbCIsICAgICAgICAgICAgICAgICAgICBJRF9FRElUX0NMRUFSCiAgICAgICAgTUVOVUlURU0gIiZaYXpuYWN6IHdzenlzdGtvXHRDdHJsK0EiLCAgICAgICAgIElEX0VESVRfU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlpuYWomZJ8uLi5cdENydGwrRiIsICAgICAgICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIlombmFqZJ8gbmFzdOpwbnlcdEYzIiwgICAgICAgICAgICAgICAgSURfRklORF9ORVhUCiAgICAgICAgTUVOVUlURU0gIlphJm1pZfEuLi5cdEN0cmwrSCIsICAgICAgICBJRF9SRVBMQUNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlR5bGtvIGRvICZvZGN6eXR1IiwgICAgICAgICAgICAgICAgICBJRF9FRElUX1JFQURPTkxZCiAgICAgICAgTUVOVUlURU0gIiZabW9kaWZ5a293YW55IiwgICAgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRklFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICImRG9kYXRraSIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiWmF6bmFjemVuaWUgLSAmaW5mbyIsICAgICAgICAgICAgIElEX0VESVRfU0VMRUNUSU9OSU5GTwogICAgICAgICAgICBNRU5VSVRFTSAiJkZvcm1hdCB6bmFr83ciLCAgICAgICAgICAgSURfRURJVF9DSEFSRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICImU3RhbmRhcmRvd3kgZm9ybWF0IHpuYWvzdyIsICAgICAgICAgICBJRF9FRElUX0RFRkNIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIkZvcm1hdCBha2EmcGl0dSIsICAgICAgICAgICBJRF9FRElUX1BBUkFGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZQb2JpZb8gdGVrc3QiLCAgICAgICAgICAgICAgICAgICBJRF9FRElUX0dFVFRFWFQKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIldpZG8mayIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlBhc2VrICZuYXJ66mR6aSIsICAgICAgICBJRF9UT0dHTEVfVE9PTEJBUgogICAgICAgIE1FTlVJVEVNICJQYXNlayAmZm9ybWF0dSIsICAgICAgSURfVE9HR0xFX0ZPUk1BVEJBUgogICAgICAgIE1FTlVJVEVNICImTGluaWprYSIsICAgICAgICAgIElEX1RPR0dMRV9SVUxFUgogICAgICAgIE1FTlVJVEVNICJQYXNlayAmc3RhbnUiLCAgICAgIElEX1RPR0dMRV9TVEFUVVNCQVIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk9wY2plLi4uIiwgIElEX1ZJRVdQUk9QRVJUSUVTCiAgICBFTkQKICAgIFBPUFVQICImV3N0YXciCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImRGF0YSBpIGdvZHppbmEuLi4iLCAgSURfREFURVRJTUUKICAgIEVORAogICAgUE9QVVAgIkZvciZtYXQiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQ3pjaW9ua2EuLi4iLCAgICAgICAgICAgICAgICAgIElEX0ZPTlRTRVRUSU5HUwogICAgICAgIE1FTlVJVEVNICImV3lwdW5rdG93YW5pZSIgICAgICAgICAgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZBa2FwaXQuLi4iICAgICAgICAgICAgICBJRF9QQVJBRk9STUFUCiAgICAgICAgTUVOVUlURU0gIiZUYWJ1bGF0b3J5Li4uIiAgICAgICAgICAgICAgICAgICBJRF9UQUJTVE9QUwogICAgICAgIFBPUFVQICJUsyZvIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImU3lzdGVtXHRDdHJsKzEiLCAgICAgICAgIElEX0JBQ0tfMQogICAgICAgICAgICBNRU5VSVRFTSAiJlBvc3RUaGF0ICi/87N0eSlcdEN0cmwrMiIsICAgICAgICAgICBJRF9CQUNLXzIKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIlBvbW8mYyIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIldpbmUgV29yZHBhZCAtICZpbmZvcm1hY2plIiAgICAgICBJRF9BQk9VVAogICAgRU5ECkVORAoKSURNX1BPUFVQIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJXeSZ0bmlqIiwgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWoiLCAgICAgICAgICAgICAgSURfRURJVF9DT1BZCiAgICAgICAgTUVOVUlURU0gIldrbCZlaiIsICAgICAgICAgICAgICAgSURfRURJVF9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImV3lwdW5rdG93YW5pZSIgICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICImQWthcGl0Li4uIiAgICAgIElEX1BBUkFGT1JNQVQKICAgIEVORApFTkQKCklERF9EQVRFVElNRSBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAxMzAsIDgwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJEYXRhIGkgZ29kemluYSIKRk9OVCAxMCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBMVEVYVCAgICAgICAgIkRvc3TqcG5lIGZvcm1hdHkiLDAsMywyLDEwMCwxNQogICAgTElTVEJPWCAgICAgIElEQ19EQVRFVElNRSwzLDEyLDgwLDY1LExCU19OT0lOVEVHUkFMSEVJR0hUCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw4NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW51bHVqIixJRENBTkNFTCw4NywyNiw0MCwxMgpFTkQKCklERF9ORVdGSUxFIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDE0MCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk5vd3kiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJUeXAgbm93ZWdvIGRva3VtZW50dSIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX05FV0ZJTEUsMywxMiw5MCw2NSxMQlNfTk9JTlRFR1JBTEhFSUdIVAogICAgUFVTSEJVVFRPTiAgICImT0siLElET0ssOTcsMTIsNDAsMTIKICAgIFBVU0hCVVRUT04gICAiJkFudWx1aiIsSURDQU5DRUwsOTcsMjYsNDAsMTIKRU5ECgpJRERfUEFSQUZPUk1BVCBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiRm9ybWF0IGFrYXBpdHUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICJXY2nqY2lhIiwgMCwgMTAsIDEwLCAxMjAsIDY4CiAgICBMVEVYVCAiWiBsZXdlaiIsIDAsIDE1LCAyMiwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9MRUZULCA1NSwgMjAsIDYwLCAxMwogICAgTFRFWFQgIlogcHJhd2VqIiwgMCwgMTUsIDQwLCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX1JJR0hULCA1NSwgMzgsIDYwLCAxMwogICAgTFRFWFQgIlBpZXJ3c3p5IHdpZXJzeiIsIDAsIDE1LCA1NSwgNDAsIDE5CiAgICBFRElUVEVYVCBJRENfUEFSQV9GSVJTVCwgNTUsIDU2LCA2MCwgMTMKICAgIExURVhUICJXeXLzd25hbmllIiwgMCwgMTUsIDg3LCA0MCwgMTMKICAgIENPTUJPQk9YIElEQ19QQVJBX0FMSUdOLCA1NSwgODUsIDYwLCAxMywgQ0JTX0RST1BET1dOTElTVAogICAgUFVTSEJVVFRPTiAiJk9LIiwgSURPSywgMTM3LCAxNSwgNTAsIDE1CiAgICBQVVNIQlVUVE9OICImQW51bHVqIiwgSURDQU5DRUwsIDEzNywgMzMsIDUwLCAxNQpFTkQKCklERF9UQUJTVE9QUyBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiVGFidWxhdG9yeSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIlBvenljamUgdGFidWxhdG9y83ciLCAwLCAxMCwgMTAsIDEyMCwgOTAKICAgIENPTUJPQk9YIElEQ19UQUJTVE9QUywgMjAsIDIwLCAxMDAsIDYwLCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gIiZEb2RhaiIsIElEX1RBQl9BREQsIDIwLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImVXN18SIsIElEX1RBQl9ERUwsIDcyLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1NywgMTUKICAgIFBVU0hCVVRUT04gIiZBbnVsdWoiLCBJRENBTkNFTCwgMTM3LCAzMywgNTcsIDE1CiAgICBQVVNIQlVUVE9OICJVc3XxICZ3c3p5c3RraWUiLCBJRF9UQUJfRU1QVFksIDEzNywgNTEsIDU3LCAxNQpFTkQKCklERF9GT1JNQVRPUFRTIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDExMApTVFlMRSBEU19TWVNNT0RBTApDYXB0aW9uICIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICJaYXdpamFuaWUgd2llcnN6eSIsIDAsIDEwLCAxMCwgMTMwLCA4NQogICAgUkFESU9CVVRUT04gIlphd2lqYWogZG8gJmJyemVndSBva25hIiwgSURDX1BBR0VGTVRfV1csIDE4LCAyNSwgMTE3LCAxNQogICAgUkFESU9CVVRUT04gIlphd2lqYWogZG8gJm1hcmdpbmVzdSIsIElEQ19QQUdFRk1UX1dNLCAxOCwgNDUsIDExNywgMTUKICAgIEdST1VQQk9YICJQYXNraSBuYXJ66mR6aSIsIDAsIDE1MCwgMTAsIDEyMCwgODUKICAgIENIRUNLQk9YICJQYXNlayAmbmFyeupkemkiLCBJRENfUEFHRUZNVF9UQiwgMTYwLCAyMCwgODAsIDE1CiAgICBDSEVDS0JPWCAiUGFzZWsgJmZvcm1hdHUiLCBJRENfUEFHRUZNVF9GQiwgMTYwLCAzOCwgODAsIDE1CiAgICBDSEVDS0JPWCAiJkxpbmlqa2EiLCBJRENfUEFHRUZNVF9SVSwgMTYwLCA1NiwgODAsIDE1CiAgICBDSEVDS0JPWCAiUGFzZWsgJnN0YW51IiwgSURDX1BBR0VGTVRfU0IsIDE2MCwgNzQsIDgwLCAxNQogICAgTFRFWFQgIiIsIElEQ19QQUdFRk1UX0lELCAwLDAsMCwwCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19SSUNIVEVYVF9GSUxFU19SVEYsICAgICAiVGVrc3Qgc2Zvcm1hdG93YW55IC0gUlRGICgqLnJ0ZikiCiAgICBTVFJJTkdfVEVYVF9GSUxFU19UWFQsICAgICAgICAgIkRva3VtZW50IHRla3N0b3d5ICgqLnR4dCkiCiAgICBTVFJJTkdfVEVYVF9GSUxFU19VTklDT0RFX1RYVCwgIlVuaWNvZGUgdGV4dCBkb2N1bWVudCAoKi50eHQpIgogICAgU1RSSU5HX0FMTF9GSUxFUywgICAgICAgICAgICAgICJXc3p5c3RraWUgZG9rdW1lbnR5ICgqLiopIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfQUxJR05fTEVGVCwgICAgICAgICAgICAiRG8gbGV3ZWoiCiAgICBTVFJJTkdfQUxJR05fUklHSFQsICAgICAgICAgICAiRG8gcHJhd2VqIgogICAgU1RSSU5HX0FMSUdOX0NFTlRFUiwgICAgICAgICAgIld5nHJvZGtvd2FuZSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX05FV0ZJTEVfUklDSFRFWFQsICAgICAiRG9jdW1lbnQgc2Zvcm1hdG93YW55IChSVEYpIgogICAgU1RSSU5HX05FV0ZJTEVfVFhULCAgICAgICAgICAiRG9jdW1lbnQgdGVrc3Rvd3kiCiAgICBTVFJJTkdfTkVXRklMRV9UWFRfVU5JQ09ERSwgICJEb2N1bWVudCB0ZWtzdG93eSBVbmljb2RlIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfUFJJTlRFUl9GSUxFU19QUk4sICAgICAgICAiUGxpa2kgZHJ1a2Fya2kgKCouUFJOKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1ZJRVdQUk9QU19USVRMRSwgICAgICAgICAgIk9wY2plIgogICAgU1RSSU5HX1ZJRVdQUk9QU19URVhULCAgICAgICAgICAgIlRla3N0IgogICAgU1RSSU5HX1ZJRVdQUk9QU19SSUNIVEVYVCwgICAgICAgIlRla3N0IHNmb3JtYXRvd2FueSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSRVZJRVdfUFJJTlQsICAgICAgICAgICAgIkRydWt1aiIKICAgIFNUUklOR19QUkVWSUVXX05FWFRQQUdFLCAgICAgICAgICJOYXN0LiBzdHJvbmEiCiAgICBTVFJJTkdfUFJFVklFV19QUkVWUEFHRSwgICAgICAgICAiUG9wcnouIHN0cm9uYSIKICAgIFNUUklOR19QUkVWSUVXX0NMT1NFLCAgICAgICAgICAgICJaYW1rbmlqIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVU5JVFNfQ00sICAgICAgICAgICAgICJjbSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0RFRkFVTFRfRklMRU5BTUUsICAgICAiRG9rdW1lbnQiCiAgICBTVFJJTkdfUFJPTVBUX1NBVkVfQ0hBTkdFUywgICJaYXBpc2HmIHptaWFueSB3IHBsaWt1ICclcyc/IgogICAgU1RSSU5HX1NFQVJDSF9GSU5JU0hFRCwgICAgICAiWmFrb/Fjem9ubyBwcnplc3p1a293YW5pZSBkb2t1bWVudHUuIgogICAgU1RSSU5HX0xPQURfUklDSEVEX0ZBSUxFRCwgICAiTmllIHVkYbNvIHNp6iB6YbNhZG93YeYgYmlibGlvdGVraSBzeXN0ZW1vd2VqIFJpY2hFZGl0LiIKICAgIFNUUklOR19TQVZFX0xPU0VGT1JNQVRUSU5HLCAgIld5YnJhbm8gemFwaXNhbmllIGRva3VtZW50dSBqYWtvIHp3eWuzeSB0ZWtzdCwgIiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3IHd5bmlrdSBjemVnbyBmb3JtYXRvd2FuaWUgem9zdGFuaWUgdXRyYWNvbmUuICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ3p5IG5hIHBld25vIGNoY2VzeiB0byB6cm9iaeY/IgogICAgU1RSSU5HX0lOVkFMSURfTlVNQkVSLCAgICAgICAiWrN5IGZvcm1hdCBsaWN6YnkiCiAgICBTVFJJTkdfT0xFX1NUT1JBR0VfTk9UX1NVUFBPUlRFRCwgIkRva3VtZW50eSB0eXB1IE9MRSBzdG9yYWdlIG5pZSBzuSBvYnOzdWdpd2FuZSIKRU5ECg==