LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogRmlubmlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA1IEtpbW1vIE15bGx5dmlydGEKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqCiAqLwoKTEFOR1VBR0UgTEFOR19GSU5OSVNILCBTVUJMQU5HX0RFRkFVTFQKCklEUl9XSU5FQ0ZHIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJDb25maWd1cmUiLCBJRENfQVVESU9fQ09ORklHVVJFCiAgICBFTkQKRU5ECgpJRERfQUJPVVRDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNzAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgIFBBQ0tBR0VfU1RSSU5HLElEQ19TVEFUSUMsMTE5LDE3LDEyMCw4CiAgICBDT05UUk9MICAgICAgICAgSURCX1dJTkUsSURDX1NUQVRJQywiU3RhdGljIixTU19CSVRNQVAgLDE1LDE3LDE1NywxMTEKICAgIExURVhUICAgICAgICAgICAiaHR0cDovL3d3dy53aW5laHEub3JnLyIsSURDX1NUQVRJQywxMTksMzEsMTA2LDgKICAgIExURVhUICAgICAgICAgICAiVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTE5LDQ0LDEyNCw3MgpFTkQKCklERF9BUFBDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFNvdmVsbHVrc2llbiBBc2V0dWtzZXQgIixJRENfU1RBVElDLCA4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJXaW5lIHZvaSBtYXRraWEgZXJpIFdpbmRvd3MgdmVyc2lvaXRhIGVyaSBzb3ZlbGx1a3NpbGxlLiBU5G3kIHbkbGlsZWh0aSB0b2ltaWkgeWhkZXNz5CBLaXJqYXN0b3QgamEgR3JhZmlpa2thIC125GxpbGVodGllbiBrYW5zc2Egc2FsbGllbiBzb3ZlbGx1c2tvaHRhaXNldCBhc2V0dWtzZXQuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDIwLDIyNywzMAogICAgQ09OVFJPTCAgICAgICAgICJTb3ZlbGx1a3NldCIsSURDX0FQUF9MSVNUVklFVywiU3lzTGlzdFZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IExWU19MSVNUIHwgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTLAogICAgICAgICAgICAgICAgICAgIDE1LDUwLDIzMCwxNTAKICAgIFBVU0hCVVRUT04JICAgICImTGlz5OQgc292ZWxsdXMuLi4iLElEQ19BUFBfQUREQVBQLCA5MCwyMDQsNzUsMTQKICAgIFBVU0hCVVRUT04JICAgICImUG9pc3RhIHNvdmVsbHVzIixJRENfQVBQX1JFTU9WRUFQUCwgMTcwLDIwNCw3NSwxNAogICAgTFRFWFQgICAgICAgICAgICImV2luZG93c2luIHZlcnNpbzoiLElEQ19TVEFUSUMsMTcsMjI2LDU4LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDIyNCwxNjMsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QICAgIApFTkQKCklERF9HUkFQSENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQJICAgICJO5Hl09m4gduRyaXN5dnl5czogIixJRENfU1RBVElDLDgsMTAsNzAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfU0NSRUVOX0RFUFRILDgwLDgsMTcwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIEdST1VQQk9YICAgICAgICAiIElra3VuYW4gYXNldHVrc2V0ICIsSURDX1NUQVRJQyw4LDI1LDI0NCwxMTAKCiAgICBDT05UUk9MCSAgICAiJlNhbGxpIERpcmVjdFggLXNvdmVsbHVzdGVuIGVzdOTkIGt1cnNvcmluIHBvaXN0dW1pbmVuIGlra3VuYXN0YSIsSURDX0RYX01PVVNFX0dSQUIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwzNSwyMzAsOAogICAgQ09OVFJPTAkgICAgIiZUefZw9nlk5G4gdHVwbGFwdXNrdXJvaW50aSIsSURDX0RPVUJMRV9CVUZGRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw0NSwyMzAsOAoKICAgIExURVhUICAgICAgICAgICAiV2luZSB2b2kgZW11bG9pZGEgV2luZG93c2luIHR59nD2eXTk5Cwgam9zc2Ega2Fpa2tpIGlra3VuYXQgb3ZhdCB5aGRlc3PkIHZpcnR1YWFsaXNlc3NhIG7keXT2c3PkLCB0YWkgam9zc2Ega2Fpa2tpIGlra3VuYXQgb3ZhdCB0efZw9nlk5Gxs5HNpIGVyaWxsaXNpbuQuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDczLDIyOCwyOAogICAgTFRFWFQgICAgICAgICAgICJUefZw9nlk5G4ga29rbzoiLElEQ19ERVNLVE9QX1NJWkUsMTUsMTE3LDU4LDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTE4LDExNSw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiJkVtdWxvaSB2aXJ0dWFhbGlzdGEgdPZ5cPZ5dOTkIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMDAsMjMwLDEwCgkJICAgIAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX1dJRFRILDc0LDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfSEVJR0hULDEyNywxMTUsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdDNEICIsSURDX1NUQVRJQyw4LDE0MCwyNDQsMTIwCgogICAgTFRFWFQJICAgICJWZXJ0ZXggU2hhZGVyIC10dWtpOiAiLElEQ19TVEFUSUMsMTUsMTUwLDgwLDMwCiAgICBDT01CT0JPWAkgICAgSURDX0QzRF9WU0hBREVSX01PREUsMTAwLDE0OCwxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJTYWxsaSAmUGl4ZWwgU2hhZGVyOm4ga+R5dHT2LCBqb3MgbGFpdHRlaXN0byB0dWtlZSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxNjUsMjMwLDEwCkVORAoKSUREX0RMTENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgRExMIGtpcmphc3RvamVuIG3k5HJpdHlrc2V0ICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJEeW5hYW1pc2VzdGkgbGFkYXR0YXZhdCBraXJqYXN0b3QgKERMTCkgdm9pZGFhbiBt5ORyaXRlbGzkIHlrc2l0ZWxsZW4gb2xlbWFhbiBqb2tvIFdpbmVuIHRhcmpvYW1pYSAoc2lz5ORucmFrZW5uZXR0dWphKSB0YWkgV2luZG93c2luIG5hdGlpdmVqYSBraXJqYXN0b2phIChXaW5kb3dzIC1hc2VubnVrc2VzdGEsIHRhaSBzb3ZlbGx1c3RlbiB0YXJqb2FtaWEpLiIKICAgICAgICAgICAgICAgICAgICAsSURDX1NUQVRJQywxNiwxNiwyMjAsMzIKICAgIExURVhUICAgICAgICAgICAiVXVzaSBt5ORyaXR5cyBraXJqYXN0b2xsZToiLElEQ19TVEFUSUMsMTYsNTgsMTAwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRExMQ09NQk8sMTYsNjgsMTQwLDE0LENCU19EUk9QRE9XTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQgfCBDQlNfTE9XRVJDQVNFCiAgICBQVVNIQlVUVE9OICAgICAgIiZMaXPk5CIsSURDX0RMTFNfQURERExMLCAxNjQsNjgsODIsMTMsQlNfREVGUFVTSEJVVFRPTiAKICAgIExURVhUICAgICAgICAgICAiT2xlbWFzc2FvbGV2YXQgbeTkcml0eWtzZXQ6IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIiZNdW9ra2FhIixJRENfRExMU19FRElURExMLDE2NCw5Niw4MiwxNAogICAgUFVTSEJVVFRPTiAgICAgICImUG9pc3RhIixJRENfRExMU19SRU1PVkVETEwsMTY0LDExNCw4MiwxNCAKRU5ECgpJRERfTE9BRE9SREVSIERJQUxPRyBESVNDQVJEQUJMRSA4MCwgOTAsIDExMCwgOTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkVkaXQgT3ZlcnJpZGUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIExhdGF1c2rkcmplc3R5cyAiLElEQ19TVEFUSUMsOCw0LDk0LDY2CiAgICBDT05UUk9MICAgICAgICAgIiZTaXPkaW5lbiAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsMTYsMTQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiJk5hdGlpdmkgKFdpbmRvd3MpIixJRENfUkFEX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDI0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIlMmaXPkaW5lbiBzaXR0ZW4gbmF0aWl2aSIsSURDX1JBRF9CVUlMVElOX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDM0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIk5hdGlpdmkgc2l0dGVuIHNpc+RpbmVuIixJRENfUkFEX05BVElWRV9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNDQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiJkRpc2FibGUiLElEQ19SQURfRElTQUJMRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDU0LDc1LDEwCiAgICBERUZQVVNIQlVUVE9OICAgIkh5duRrc3kiLElET0ssOCw3NCw0NSwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJQZXJ1dXRhIixJRENBTkNFTCw1Nyw3NCw0NSwxNCxXU19HUk9VUApFTkQKCklERF9EUklWRUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgQXNlbWllbiBtYXBwYXVrc2V0ICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfRFJJVkVTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDE4LDIzMiw3NgogICAgUFVTSEJVVFRPTiAgICAgICImTGlz5OQuLi4iLElEQ19CVVRUT05fQURELDE1LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZQb2lzdGEiLElEQ19CVVRUT05fUkVNT1ZFLDU2LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZIYWUgYXV0b21hYXR0aXNlc3RpIixJRENfQlVUVE9OX0FVVE9ERVRFQ1QsMTc3LDk4LDY5LDE0CgogICAgLyogZWRpdGluZyBkcml2ZSBkZXRhaWxzICovCiAgICBMVEVYVCAgICAgICAgICAgIiZQb2xrdToiLElEQ19TVEFUSUMsMTUsMTIzLDI1LDkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUEFUSCw0MSwxMjAsMTYwLDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImU2VsYWEuLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwogICAgCiAgICBMVEVYVCAgICAgICAgICAgIiZUeXlwcGk6IixJRENfU1RBVElDX1RZUEUsMTUsMTM4LDI1LDEwCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsNDEsMTM1LDc3LDYwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgCiAgICBMVEVYVCAgICAgICAgICAgIk5pbWkgamEgc2FyamFudW1lcm8iLElEQ19MQUJFTFNFUklBTF9TVEFUSUMsMTUsMTU1LDk1LDEwCiAgICAKICAgIFBVU0hCVVRUT04gICAgICAiJk7keXTkIGxpc+Rhc2V0dWtzZXQiLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDE3NywxMzYsNjksMTMKICAgIENPTlRST0wgICAgICAgICAiJkhhZSBhdXRvbWFhdHRpc2VzdGkgbGFpdHRlZW4gbXVrYWFuOiIsSURDX1JBRElPX0FVVE9ERVRFQ1QsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE2NiwxNTAsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9ERVZJQ0UsMjcsMTc2LDE3NCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICImU2VsYWEuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwyMDYsMTc2LDQwLDEzCiAgICBDT05UUk9MICAgICAgICAgIiZN5ORyaXTkOiIsSURDX1JBRElPX0FTU0lHTiwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTk1LDY5LDEwCgogICAgTFRFWFQgICAgICAgICAgICImTmltaToiLElEQ19TVEFUSUNfTEFCRUwsMzMsMjA4LDQ5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsODMsMjA1LDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImU2FyamFudW1lcm86IixJRENfU1RBVElDX1NFUklBTCwzMywyMjUsNDksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9TRVJJQUwsODMsMjIxLDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICAiTuR5dOQgcCZpc3RldGllZG9zdG90IixJRENfU0hPV19ET1RfRklMRVMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw4LDI2MCwyMzAsOApFTkQKCklERF9BVURJT0NGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgRHJpdmVyIFNlbGVjdGlvbiAiLElEQ19TVEFUSUMsOCw0LDI0NCwxOTUKICAgIExURVhUCSAgICAixORuaWFqdXJpOiAiLElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIkRldmljZXMiLElEQ19BVURJT19UUkVFLCJTeXNUcmVlVmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QLDE1LDUwLDE0MCwxNDAKICAgIFBVU0hCVVRUT04JICAgICImSGFsbGludGFwYW5lZWxpIixJRENfQVVESU9fQ09OVFJPTF9QQU5FTCwxNzAsNTAsNzksMTQKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdFNvdW5kICIsSURDX1NUQVRJQyw4LDIwNSwyNDQsNjAKICAgIExURVhUCSAgICAiTGFpdHRlaXN0b3BvaGphaW5lbiBraWloZHl0eXM6IixJRENfU1RBVElDLDE1LDIxNSw5MCwxMAogICAgQ09NQk9CT1gJICAgIElEQ19EU09VTkRfSFdfQUNDRUwsMTAwLDIxMywxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT05UUk9MICAgICAgICAgIkFqdXJpbiAmZW11bG9pbnRpIixJRENfRFNPVU5EX0RSVl9FTVVMLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMjMwLDIzMCwxMApFTkQKCklERF9BUFBFQVJBTkNFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgIlRlZW1hOiIsSURDX1NUQVRJQyw4LDEwLDI0NCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sOCwxOCwyNDQsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkFzZW5uYSAmdGVlbWEuLi4iLElEQ19USEVNRV9JTlNUQUxMLDE1MiwzMiwxMDAsMTQKICAgIExURVhUICAgICAgICAgICAiVuRyaToiLElEQ19USEVNRV9DT0xPUlRFWFQsOCw0OCwyNDQsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9DT0xPUkNPTUJPLDgsNTYsMjQ0LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJLb2tvOiIsSURDX1RIRU1FX1NJWkVURVhULDgsNzQsMjQ0LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDgsODIsMjQ0LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfV0lORV9WRVJTSU9OICAgICAgICAiQ1ZTIgogICAgSURTX1RBQl9BUFBMSUNBVElPTlMgICAgIlNvdmVsbHVrc2V0IgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIktpcmphc3RvdCIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJBc2VtYXQiCiAgICBJRFNfQ0hPT1NFX1BBVEggICAgICAgICAiVmFsaXRzZSBtYXBhdHRhdmEgdW5peCAta2Fuc2lvLiIKICAgIElEU19ISURFX0FEVkFOQ0VEICAgICAgICJQaWlsb3RhIGxpc+Rhc2V0dWtzZXQiCiAgICBJRFNfU0hPV19BRFZBTkNFRCAgICAgICAiTuR5dOQgbGlz5GFzZXR1a3NldCIKICAgIElEU19OT1RIRU1FICAgICAgICAgICAgICIoRWkgVGVlbWFhKSIKICAgIElEU19UQUJfR1JBUEhJQ1MgICAgICAgICJHcmFmaWlra2EiCiAgICBJRFNfVEFCX0FQUEVBUkFOQ0UgICAgICAiVWxrb2FzdSIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICLE5G5pIgogICAgSURTX1RBQl9BQk9VVCAgICAgICAgICAgIlRpZXRvamEiCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAiV2luZW4gYXNldHVrc2V0IgogICAgSURTX1RIRU1FRklMRSAgICAgICAgICAgIlRlZW1hIC10aWVkb3N0b3QiCiAgICBJRFNfVEhFTUVGSUxFX1NFTEVDVCAgICAiVmFsaXRzZSB0ZWVtYW4gdGllZG9zdG8iCkVORAo=