LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogU3BhbmlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIEpvc+kgTWFudWVsIEZlcnJlciBPcnRpegogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICoKICovCgpMQU5HVUFHRSBMQU5HX1NQQU5JU0gsIFNVQkxBTkdfREVGQVVMVAoKSUREX0dFTkVSQUxDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDE1MywxNTgsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT01CT0JPWCAgICAgICAgSURDX0RPU1ZFUiw4MywxNzIsMTU4LDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJWZXJzafNuIGRlIFdpbmU6IixJRENfU1RBVElDLDExOSwxNyw0NSw4CiAgICBMVEVYVCAgICAgICAgICAgIkNWUyIsSURDX1dJTkVWRVIsMTY5LDE3LDU2LDgKICAgIExURVhUICAgICAgICAgICAiVmVyc2nzbiBkZSBXaW5kb3dzOiIsSURDX1NUQVRJQywxNywxNTUsNTgsOAogICAgTFRFWFQgICAgICAgICAgICJBcGFyaWVuY2lhIGRlIFdpbmRvd3M6IixJRENfU1RBVElDLDE3LDE5Myw1OCw4CiAgICBMVEVYVCAgICAgICAgICAgIlZlcnNp824gZGUgRE9TOiIsSURDX1NUQVRJQywxNywxNzMsNTcsOAogICAgQ09OVFJPTCAgICAgICAgIElEQl9XSU5FLElEQ19TVEFUSUMsIlN0YXRpYyIsU1NfQklUTUFQIHwgU1NfQ0VOVEVSSU1BR0UgfCAKICAgICAgICAgICAgICAgICAgICBTU19SRUFMU0laRUlNQUdFIHwgV1NfQk9SREVSLDE1LDE3LDE1NywxMTEsIFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgImh0dHA6Ly93d3cud2luZWhxLm9yZy8iLElEQ19TVEFUSUMsMTE5LDMxLDEwNiw4CiAgICBHUk9VUEJPWCAgICAgICAgIkNvbXBvcnRhbWllbnRvIHBvciBkZWZlY3RvIixJRENfU1RBVElDLDgsMTE1LDI0NCw5NwogICAgTFRFWFQgICAgICAgICAgICJXaW5lIHBlcm1pdGUgYSBsYXMgYXBsaWNhY2lvbmVzIFdpbmRvd3MgaW1pdGFyIGRpc3RpbnRhcyB2ZXJzaW9uZXMgeSBlc3RpbG9zIGRlIFdpbmRvd3MiLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTI4LDIyNywyMAogICAgR1JPVVBCT1ggICAgICAgICJJbmZvcm1hY2nzbiIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgQ1RFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDU5CkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KRU5ECgpJRERfWDExRFJWQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJVc2FyIGV4dGVuc2nzbiBYRnJlZSBER0EiLElEQ19YREdBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTQ1LDQ0LDk3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkhhYmlsaXRhciBlc2NyaXRvcmlvIFdpbmUiLElEQ19FTkFCTEVfREVTS1RPUCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE3LDExMCw4NCwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX1dJRFRILDY0LDEyNSw0MCwxNCxFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfSEVJR0hULDExNywxMjUsNDAsMTQsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgR1JPVVBCT1ggICAgICAgICJDb25maWd1cmFjafNuIGRlIHJlbmRlcml6YWRvIixJRENfU1RBVElDLDgsNCwyNDQsNjAKICAgIExURVhUICAgICAgICAgICAiTGEgY29uZmlndXJhY2nzbiBkZWwgY29sb3IgeSByZW5kZXJpemFkbyBkZWwgZHJpdmVyIHNlIHV0aWxpemEgcGFyYSBvcHRpbWl6YXIgZWwgbW9kbyBlbiBxdWUgc2UgbXVlc3RyYW4gbG9zIGNvbG9yZXMgeSBsYXMgYXBsaWNhY2lvbmVzLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwxNywyMjgsMjIKCiAgICBMVEVYVCAgICAgICAgICAgIkNvbG9yZXMgZGVsIHNpc3RlbWEgYWxvamFkb3M6IixJRENfU1RBVElDLDE3LDQzLDc2LDgKICAgIEVESVRURVhUICAgICAgICBJRENfU1lTQ09MT1JTLDkwLDQxLDQwLDE0LEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSCgogICAgR1JPVVBCT1ggICAgICAgICJFc2NyaXRvcmlvIFdpbmUiLElEQ19TVEFUSUMsOCw2NSwyNDQsODMKICAgIExURVhUICAgICAgICAgICAiV2luZSBwdWVkZSBjb25maWd1cmFyc2UgcGFyYSBlbXVsYXIgdW4gZXNjcml0b3JpbyBXaW5kb3dzLCBvIGJpZW4gcHVlZGUgZWplY3V0YXJzZSBlbiBtb2RvICIiTWFuZWphZG8iIiAob3BjafNuIHBvciBkZWZlY3RvKSBkb25kZSBlbCBnZXN0b3IvZW50b3JubyBkZSB2ZW50YW5hcyBwb3IgZGVmZWN0byBkZSBYMTEgZXMgZWwgcmVzcG9uc2FibGUgZGUgbGEgY29sb2NhY2nzbiBkZSBsYXMgdmVudGFuYXMuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDc3LDIyOCwyOAogICAgTFRFWFQgICAgICAgICAgICJUYW1h8W8gZGVsIGVzY3JpdG9yaW86IixJRENfREVTS1RPUF9TSVpFLDE3LDEyNSw0NCw4LFdTX0RJU0FCTEVECiAgICBMVEVYVCAgICAgICAgICAgIlgiLElEQ19ERVNLVE9QX0JZLDEwOCwxMjUsOCw4LFdTX0RJU0FCTEVECkVORAoKSUREX0RMTENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KRU5ECgpJRERfU1lTVEVNQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiVW5pZGFkZXMiLElEQ19TVEFUSUMsOCw0LDI0NCwxMjAKICAgIExJU1RCT1ggICAgICAgICBJRENfTElTVF9EUklWRVMsMTUsMjMsMTc5LDkwLFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkHxYWRpciIsSURDX0RSSVZFX0FERCwxOTcsMjIsNTAsMjIKICAgIFBVU0hCVVRUT04gICAgICAiRSZsaW1pbmFyIixJRENfRFJJVkVfUkVNT1ZFLDE5Nyw1MSw1MCwyMgogICAgUFVTSEJVVFRPTiAgICAgICImRWRpdGFyIixJRENfRFJJVkVfRURJVCwxOTcsODAsNTAsMjIKRU5ECgpJRERfRFJJVkVfRURJVCBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDIwNywgMTEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbmZpZ3VyYWNp824gZGUgdW5pZGFkZXMiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIkFjZXB0YXIiLElEX0RSSVZFX09LLDE1MCw3LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRF9EUklWRV9DQU5DRUwsMTUwLDI0LDUwLDE0CiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfTkFNRSw0Miw4LDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIlVuaWRhZDoiLC0xLDExLDEwLDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfTEFCRUwsNDIsMjMsNzgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiRXRpcXVldGE6IiwtMSwxMSwyNSwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19EUklWRV9FRElUX1RZUEUsNDIsMzgsNzgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiVGlwbzoiLC0xLDExLDQwLDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfUEFUSCw0Miw1Myw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJSdXRhOiIsLTEsMTEsNTUsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRFJJVkVfRURJVF9GUyw0Miw2OCw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJTRjoiLC0xLDExLDcwLDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfREVWSUNFLDQyLDgzLDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIkRpc3Bvc2l0aXZvOiIsLTEsMTEsODUsMjksMTIKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIlVuaWRhZCBkZSBXaW5kb3dzIixJRENfU1RBVElDLDcsNywyNDYsOTkKICAgIENPTlRST0wgICAgICAgICAiQ3JlYXIgdW5hIHVuaWRhZCB2aXJ0dWFsIGRlIFdpbmRvd3MiLElEQ19SQURJT19WSVJUVUFMLAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNCwxOCwxMTIsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9WSVJUVUFMLDI1LDMwLDE2OSwxNCxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJFeGFtaW5hci4uLiIsSURDX0JVVFRPTl9WSVJUVUFMLDIwMiwzMCw0NCwxNAogICAgQ09OVFJPTCAgICAgICAgICJVdGlsaXphciB1bmEgdW5pZGFkIHJlYWwgZGUgV2luZG93cyIsSURDX1JBRElPX1JFQUwsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE0LDQ4LDk3LDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUkVBTCwyNSw2MCwxNjksMTQsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiRXhhbWluYXIuLi4iLElEQ19CVVRUT05fUkVBTCwyMDIsNjAsNDQsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQ2FycGV0YXMgaW1wb3J0YW50ZXMuLi4iLElEQ19CVVRUT05fRk9MREVSUywxNzMsODUsNzMsMTQKICAgIEdST1VQQk9YICAgICAgICAiT3RyYXMgdW5pZGFkZXMiLElEQ19TVEFUSUMsNywxMDcsMjQ2LDExMgogICAgTElTVEJPWCAgICAgICAgIElEQ19MSVNUX0RSSVZFUywxNCwxMTgsMjMyLDc2LExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfAogICAgICAgICAgICAgICAgICAgIExCU19NVUxUSUNPTFVNTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkHxYWRpci4uLiIsSURDX0JVVFRPTl9BREQsMTQsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkVsaW1pbmFyIixJRENfQlVUVE9OX1JFTU9WRSw1NSwxOTksMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiRWRpdGFyLi4uIixJRENfQlVUVE9OX0VESVQsOTcsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkF1dG9kZXRlY3Rhci4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5NywxOTksNDksMTQKRU5ECgpJRERfRFJJVkVfRURJVDIgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNzIsIDE1MwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDb25maWd1cmFjafNuIGRlIHVuaWRhZCIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiQWNlcHRhciIsSURfQlVUVE9OX09LLDIxNyw1LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRF9CVVRUT05fQ0FOQ0VMLDIxNywyMiw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJMZXRyYToiLElEQ19TVEFUSUMsNSwyMywyNiw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNjMsMTE0LDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIkV0aXF1ZXRhOiIsSURDX1NUQVRJQ19MQUJFTCwzMywxMTcsMjksMTIKICAgIExURVhUICAgICAgICAgICAiVGlwbzoiLElEQ19TVEFUSUMsNSw1NCwyMSwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1BBVEgsMzEsNSwxMTcsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiUnV0YToiLElEQ19TVEFUSUMsNSw5LDIwLDkKICAgIExURVhUICAgICAgICAgICAiTm9tYnJlczoiLElEQ19TVEFUSUMsNSwzOSwyNSw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfU0VSSUFMLDYzLDEyOSw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJTZXJpZToiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDEzMywyOSwxMgogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19MRVRURVIsMzEsMjAsNzgsNjAsQ0JTX0RST1BET1dOTElTVCAgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkV4YW1pbmFyLi4uIixJRENfQlVUVE9OX0JST1dTRV9QQVRILDE1NCw1LDQwLDEzCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsMzEsNTIsNzgsNjAsQ0JTX0RST1BET1dOTElTVCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTlRST0wgICAgICAgICAiQXV0b2RldGVjdGFyIGRlc2RlIGRpc3Bvc2l0aXZvOiIsSURDX1JBRElPX0FVVE9ERVRFQ1QsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDIxLDc5LDkzLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfREVWSUNFLDMzLDg5LDEwOCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJFeGFtaW5hci4uLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDE0OCw4OSw0MCwxMwogICAgQ09OVFJPTCAgICAgICAgICJBc2lnbmFyIG1hbnVhbG1lbnRlOiIsSURDX1JBRElPX0FTU0lHTiwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMjEsMTA0LDY5LDEwCiAgICBHUk9VUEJPWCAgICAgICAgIkV0aXF1ZXRhIHkgbvptZXJvIGRlIHNlcmllIixJRENfQk9YX0xBQkVMU0VSSUFMLDE1LDY4LDE4MCw3OQpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIApCRUdJTgogICAgSURTX1dJTkVfVkVSU0lPTiAgICAgICAgIkNWUyIKICAgIElEU19UQUJfR0VORVJBTCAgICAgICAgICJHZW5lcmFsIgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIkxpYnJlcu1hcyIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJVbmlkYWRlcyIKRU5ECg==