LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogVHVya2lzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IEZhdGloIEH+/WP9CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKgogKi8KCiNpbmNsdWRlICJjb25maWcuaCIgICAvKiBOZWVkZWQgZm9yIHRoZSBQQUNLQUdFX1NUUklORyBkZWZpbml0aW9uICovCiNpbmNsdWRlICJyZXNvdXJjZS5oIgoKTEFOR1VBR0UgTEFOR19UVVJLSVNILCBTVUJMQU5HX0RFRkFVTFQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIiIsIElEQ19BQlRfUEFORUwsICJTVEFUSUMiLCBTU19PV05FUkRSQVcsIDAsIDAsIDI2MCwgMTQwCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9OQU1FLElEQ19BQlRfVElUTEVfVEVYVCwxMDUsMzAsNTUsMzAKICAgIExURVhUICAgICAgICAgICBQQUNLQUdFX1ZFUlNJT04sSURDX0FCVF9QQU5FTF9URVhULDE2MCw0MywxNDAsOAogICAgQ09OVFJPTCAgICAgICAgICIiLElEQ19BQlRfV0VCX0xJTkssIlN5c0xpbmsiLCBMV1NfVFJBTlNQQVJFTlQsIDEwNSw1MywxMDYsOAogICAgTFRFWFQgICAgICAgICAgICJUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX0FCVF9MSUNFTlNFX1RFWFQsMTA1LDY0LDE0NSw2MAogICAgR1JPVVBCT1ggICAgICAgICIgV2luZG93cyBSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24gIiwgSURDX1NUQVRJQywgMTUsIDE1NSwgMjMwLCA1NQogICAgTFRFWFQgICAgICAgICAgICJPd25lcjoiLCBJRENfU1RBVElDLCAyMiwgMTcxLCA0MCwgMjAKICAgIEVESVRURVhUICAgICAgICBJRENfQUJUX09XTkVSLCA3NSwgMTcxLCAxNjAsIDEzLCBFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiT3JnYW5pemF0aW9uOiIsIElEQ19TVEFUSUMsIDIyLCAxODUsIDUwLCAyMAogICAgRURJVFRFWFQgICAgICAgIElEQ19BQlRfT1JHLCA3NSwgMTg1LCAxNjAsIDEzLCBFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKRU5ECgpJRERfQVBQQ0ZHIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBVeWd1bGFtYSBBeWFybGFy/SAiLElEQ19TVEFUSUMsIDgsNCwyNDQsMjEwCiAgICBMVEVYVCAgICAgICAgICAgIldpbmUgaGVyIHV5Z3VsYW1hIGnnaW4gZGXwaf5payBXaW5kb3dzIHP8cvxtbGVyaW5pIHRha2xpdCBlZGViaWxpci4gQnUgc2VrbWUgS2l0YXBs/WtsYXIgdmUgR3JhZmlrIHNla21lbGVyaSBpbGUgYmHwbGFudP1s/SBvbHVwIGJ1IHNla21lbGVyZGUgZGUgc2lzdGVtIOdhcP1uZGFraSB2ZXlhIHV5Z3VsYW1heWEg9nplbCBheWFybGFy/SB5YXBtYW79emEgaXppbiB2ZXJpci4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIlV5Z3VsYW1hbGFyIixJRENfQVBQX0xJU1RWSUVXLCJTeXNMaXN0VmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgTFZTX0xJU1QgfCBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMsCiAgICAgICAgICAgICAgICAgICAgMTUsNTAsMjMwLDEyMAogICAgUFVTSEJVVFRPTgkgICAgIlV5Z3VsYW1hICZFa2xlLi4uIixJRENfQVBQX0FEREFQUCwgOTAsMTc0LDc1LDE0CiAgICBQVVNIQlVUVE9OCSAgICAiVXlndWxhbWEgJkthbGT9ciIsSURDX0FQUF9SRU1PVkVBUFAsIDE3MCwxNzQsNzUsMTQKICAgIExURVhUICAgICAgICAgICAiJldpbmRvd3MgU/xy/G38OiIsSURDX1NUQVRJQywxNywxOTYsNTgsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5WRVIsODMsMTk0LDE2Myw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgICAgCkVORAoKSUREX0dSQVBIQ0ZHIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAiIFBlbmNlcmUgYXlhcmxhcv0gIixJRENfU1RBVElDLDgsNCwyNDQsODQKICAgIENPTlRST0wgICAgICJBdXRvbWF0aWNhbGx5IGNhcHR1cmUgdGhlICZtb3VzZSBpbiBmdWxsLXNjcmVlbiB3aW5kb3dzIixJRENfRlVMTFNDUkVFTl9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMjAsMjMwLDgKICAgIENPTlRST0wgICAgICJBbGxvdyB0aGUgd2luZG93IG1hbmFnZXIgdG8gJmRlY29yYXRlIHRoZSB3aW5kb3dzIixJRENfRU5BQkxFX0RFQ09SQVRFRCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDMyLDIzMCw4CiAgICBDT05UUk9MICAgICAiUGVuY2VyZSB59m5ldGljaXNpbmluIHBlbmNlcmVsZXJpIHn2bmV0bWVzaW5lIGl6aW4gdmVyIixJRENfRU5BQkxFX01BTkFHRUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw0NCwyMzAsOAogICAgQ09OVFJPTCAgICAgIlNhbmFsIG1hc2H8c3T8IGt1bGxhbiIsSURDX0VOQUJMRV9ERVNLVE9QLCJCdXR0b24iLAogICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw1NiwyMzAsOAogICAgTFRFWFQgICAgICAgIk1hc2H8c3T8IGL8efxrbPzw/DoiLElEQ19ERVNLVE9QX1NJWkUsMTUsNzAsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgIlgiLElEQ19ERVNLVE9QX0JZLDEwOSw3MCw4LDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX1dJRFRILDY0LDY4LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsNjgsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsOTUsMjQ0LDQ5CiAgICBMVEVYVCAgICAgICAiVmVydGV4IFNoYWRlciBEZXN0ZfBpOiAiLElEQ19TVEFUSUMsMTUsMTEwLDgwLDMyCiAgICBDT01CT0JPWCAgICBJRENfRDNEX1ZTSEFERVJfTU9ERSwxMDAsMTA4LDE0NSw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTlRST0wgICAgICJQaXhlbCBTaGFkZXInYSBpemluIHZlciAoZG9uYW79bSBkZXN0ZWtsaXlvcnNhKSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMjYsMjMwLDEwCgogICAgR1JPVVBCT1ggICAgIiBTY3JlZW4gJlJlc29sdXRpb24gIixJRENfU1RBVElDLDgsMTUxLDI0NCw2MwogICAgQ09OVFJPTCAgICAgIiIsIElEQ19SRVNfVFJBQ0tCQVIsICJtc2N0bHNfdHJhY2tiYXIzMiIsV1NfVEFCU1RPUCwxMiwxNjEsMTg3LDE1CiAgICBFRElUVEVYVCAgICBJRENfUkVTX0RQSUVESVQsMjA0LDE2MSwyMywxMyxFU19OVU1CRVJ8V1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgImRwaSIsSURDX1NUQVRJQywyMzUsMTYzLDEwLDgKICAgIExURVhUICAgICAgICJUaGlzIGlzIGEgc2FtcGxlIHRleHQgdXNpbmcgMTAgcG9pbnQgVGFob21hIixJRENfUkVTX0ZPTlRfUFJFVklFVywxNSwxODEsMjMwLDI4CkVORAoKSUREX0RMTENGRyBESUFMT0cgIDAsIDAsIDI2MCwgMjIwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgRExMINZuY2VsaWtsZXJpICIsSURDX1NUQVRJQyw4LDQsMjQ0LDIxMAogICAgTFRFWFQgICAgICAgICAgICJEZXZpbmdlbiBCYfBs/SBLaXRhcGz9a2xhcv1uIGhlciBiaXJpIHllcmxl/mlrIChXaW5lIGlsZSBnZWxlbikgdmV5YSBkb/BhbCAoV2luZG93cyd0YW4gYWz9bm39/iB2ZXlhIHV5Z3VsYW1hIHRhcmFm/W5kYW4gc2HwbGFubf3+KSBvbGFyYWsgYmVsaXJ0aWxlYmlsaXIuIgogICAgICAgICAgICAgICAgICAgICxJRENfU1RBVElDLDE2LDE2LDIyMCwzMgogICAgTFRFWFQgICAgICAgICAgICJLaXRhcGz9ayBp52luIHllbmkg9m5jZWxpazoiLElEQ19TVEFUSUMsMTYsNTgsMTAwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRExMQ09NQk8sMTYsNjgsMTQwLDE0LENCU19EUk9QRE9XTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQgfCBDQlNfTE9XRVJDQVNFCiAgICBQVVNIQlVUVE9OICAgICAgIiZFa2xlIixJRENfRExMU19BRERETEwsIDE2NCw2OCw4MiwxMwogICAgTFRFWFQgICAgICAgICAgICJWYXIgb2xhbiD2bmNlbGlrbGVyOiIsSURDX1NUQVRJQywxNiw4NiwxMDAsOAogICAgTElTVEJPWCAgICAgICAgIElEQ19ETExTX0xJU1QsMTYsOTYsMTQwLDExMixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgV1NfVlNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICImRPx6ZW5sZSIsSURDX0RMTFNfRURJVERMTCwxNjQsOTYsODIsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJlNpbCIsSURDX0RMTFNfUkVNT1ZFRExMLDE2NCwxMTQsODIsMTQgCkVORAoKSUREX0xPQURPUkRFUiBESUFMT0cgODAsIDkwLCAxMjUsIDkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLWbmNlbGlrIET8emVubGUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFn8a2xlbWUgU/1yYXP9ICIsSURDX1NUQVRJQyw4LDQsMTEwLDY2CiAgICBDT05UUk9MICAgICAgICAgIiZZZXJsZf5payAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsMTYsMTQsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZEb/BhbCAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMjQsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgItZuY2UgWWVyJmxl/mlrIHNvbnJhIERv8GFsIixJRENfUkFEX0JVSUxUSU5fTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMzQsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgItZuY2UgRCZv8GFsIHNvbnJhIFllcmxl/mlrIixJRENfUkFEX05BVElWRV9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNDQsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZFdGtpc2l6bGX+dGlyIixJRENfUkFEX0RJU0FCTEUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw1NCwxMDAsMTAKICAgIERFRlBVU0hCVVRUT04gICAiVGFtYW0iLElET0ssOCw3NCw1MywxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLdcHRhbCIsSURDQU5DRUwsNjQsNzQsNTMsMTQsV1NfR1JPVVAKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HICAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFP8cvxj/CBF/mxl/nRpcm1lc2kgIixJRENfU1RBVElDLDgsNCwyNDQsMTk1CiAgICBMVEVYVCAgICAgICAgICAgIkZhaWxlZCB0byBjb25uZWN0IHRvIHRoZSBtb3VudCBtYW5hZ2VyLCB0aGUgZHJpdmUgY29uZmlndXJhdGlvbiBjYW5ub3QgYmUgZWRpdGVkLiIsIElEQ19TVEFUSUNfTU9VTlRNR1JfRVJST1IsIDE1LDMwLDE5MCw3NgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfRFJJVkVTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDE4LDIzMiw3NgogICAgUFVTSEJVVFRPTiAgICAgICImRWtsZS4uLiIsSURDX0JVVFRPTl9BREQsMTUsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJkthbGT9ciIsSURDX0JVVFRPTl9SRU1PVkUsNTYsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiT3RvbWF0aWsgJkFsZ/1sYS4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE4Niw5OCw2MCwxNAoKICAgIC8qIGVkaXRpbmcgZHJpdmUgZGV0YWlscyAqLwogICAgTFRFWFQgICAgICAgICAgICImWW9sOiIsSURDX1NUQVRJQ19QQVRILDE1LDEyMywyMCw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUEFUSCw0NSwxMjAsMTU2LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImR/Z6YXQuLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwogICAgCiAgICBMVEVYVCAgICAgICAgICAgIiZU/HI6IixJRENfU1RBVElDX1RZUEUsMTUsMTM4LDIxLDEwCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsNDUsMTM1LDc3LDYwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgCiAgICBQVVNIQlVUVE9OICAgICAgIkdlbGn+bWn+ICZTZedlbmVrbGVyIixJRENfQlVUVE9OX1NIT1dfSElERV9BRFZBTkNFRCwxODYsMTM1LDYwLDEzCiAgICBMVEVYVCAgICAgICAgICAgIkRlJnZpY2U6IixJRENfU1RBVElDX0RFVklDRSwxNSwxNTMsMjYsOQogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSw0NSwxNTAsMTU2LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJH9iZ6YXQuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwyMDYsMTUwLDQwLDEzCgogICAgTFRFWFQgICAgICAgICAgICImRXRpa2V0OiIsSURDX1NUQVRJQ19MQUJFTCwxNSwxNjgsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9MQUJFTCw0NSwxNjUsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlMmZXJpIE5vOiIsSURDX1NUQVRJQ19TRVJJQUwsMTUsMTgzLDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfU0VSSUFMLDQ1LDE4MCw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgIk5va3RheWxhIGJh/mxheWFuIGRvc3lhbGFy/SBn9nN0ZXIiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjA1LDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBT/HL8Y/wgU2XnaW1pICIsSURDX1NUQVRJQyw4LDQsMjQ0LDE2MAogICAgTFRFWFQgICAgICAgICAgICLdc3RlZGnwaW5peiBz/HL8Y/xu/G4ga3V0dXN1bnUgaf5hcmV0bGV5ZXJlayBiaXIgc2VzIHP8cvxj/HP8IHNl52luLiBIaediaXIgc/xy/GP8IHNl521leWVyZWsgc2VzaSBldGtpc2l6bGX+dGlyZWJpbGlyc2luaXouIEJpcmRlbiBmYXpsYSBz/HL8Y/wgc2XnaW1pIPZuZXJpbG1lei4g3HplcmluZSBzYfAgdP1rbGF5YXJhayBiaXIgc/xy/GP8efwgeWFw/WxhbmT9cv1uLiIsSURDX1NUQVRJQywxNSwyMCwyMjcsMzAKICAgIENPTlRST0wgICAgICAgICAiQXln/XRsYXIiLElEQ19BVURJT19UUkVFLCJTeXNUcmVlVmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QLDE1LDUwLDE0MCwxMDUKICAgIFBVU0hCVVRUT04gICAgICAiJlRlc3QgU291bmQiLElEQ19BVURJT19URVNULDE3MCw1MCw1OSwxNAogICAgUFVTSEJVVFRPTgkgICAgIkRlbmV0aW0gTWFzYXP9IixJRENfQVVESU9fQ09OVFJPTF9QQU5FTCwxNzAsNzAsNTksMTQKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdFNvdW5kICIsSURDX1NUQVRJQyw4LDE3MCwyNDQsNDUKICAgIExURVhUICAgICAgICAgICAiRG9uYW79bSBI/XpsYW5k/XJtYXP9OiAiLElEQ19TVEFUSUMsMTUsMTgwLDkwLDEwCiAgICBDT01CT0JPWAkgICAgSURDX0RTT1VORF9IV19BQ0NFTCwxMDAsMTc4LDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi1m50YW79bWz9INZybmVrbGVtZSBI/Xr9OiIsSURDX1NUQVRJQywxNSwxOTcsNzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfUkFURVMsOTAsMTk1LDQyLDc2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICLWcm5layBCYf79bmEgQml0IFNhef1z/ToiLElEQ19TVEFUSUMsMTM3LDE5Nyw4MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9CSVRTLDIyMCwxOTUsMzAsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCkVORAoKSUREX0RFU0tUT1BfSU5URUdSQVRJT04gRElBTE9HICAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIEf2cvxu/G0gIixJRENfU1RBVElDLDgsNCwyNDQsMTA2CiAgICBMVEVYVCAgICAgICAgICAgIlRlbWE6IixJRENfU1RBVElDLDE1LDE2LDEzMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sMTUsMjQsMTMwLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJUZW1hIGt1ci4uLiIsSURDX1RIRU1FX0lOU1RBTEwsMTUyLDIzLDkzLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlJlbms6IixJRENfVEhFTUVfQ09MT1JURVhULDE1LDQwLDExMiw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX0NPTE9SQ09NQk8sMTUsNDgsMTEyLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJCb3l1dDoiLElEQ19USEVNRV9TSVpFVEVYVCwxMzUsNDAsMTEwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDEzNSw0OCwxMTAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkl0ZW06IixJRENfU1RBVElDLDE1LDY0LDExMiw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1NZU1BBUkFNX0NPTUJPLDE1LDc0LDExMiwxMjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQKICAgIExURVhUICAgICAgICAgICAiQ29sb3I6IixJRENfU1lTUEFSQU1fQ09MT1JfVEVYVCwxMzUsNjQsMjUsOCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICIiLElEQ19TWVNQQVJBTV9DT0xPUiwxMzUsNzQsMjUsMTMsV1NfRElTQUJMRUQgfCBCU19PV05FUkRSQVcKICAgIExURVhUICAgICAgICAgICAiU2l6ZToiLElEQ19TWVNQQVJBTV9TSVpFX1RFWFQsMTY2LDY0LDMwLDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfU1lTUEFSQU1fU0laRSwxNjYsNzQsMjMsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QIHwgV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiIixJRENfU1lTUEFSQU1fU0laRV9VRCxVUERPV05fQ0xBU1MsVURTX1NFVEJVRERZSU5UIHwgV1NfRElTQUJMRUQsMTg3LDc0LDE1LDEzCiAgICBQVVNIQlVUVE9OICAgICAgIkZvbnQiLElEQ19TWVNQQVJBTV9GT05ULDIwOCw3NCwzNywxMyxXU19ESVNBQkxFRAogICAgR1JPVVBCT1ggICAgICAgICIg1nplbCBLbGFz9nJsZXIgIixJRENfU1RBVElDLDgsMTE0LDI0NCwxMDAKICAgIENPTlRST0wgICAgICAgICAiTGlzdHZpZXciLElEQ19MSVNUX1NGUEFUSFMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDEyNiwyMzAsNjQKICAgIENPTlRST0wgICAgICAgICAiSGVkZWYgZGl6aW46IixJRENfTElOS19TRlBBVEgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQsMTUsMTk1LDUwLDEzCiAgICBFRElUVEVYVCAgICAgICAgIElEQ19FRElUX1NGUEFUSCw2NSwxOTUsMTQ1LDEzLEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiR/Z6YXQiLElEQ19CUk9XU0VfU0ZQQVRILDIxNSwxOTUsMzAsMTMsV1NfRElTQUJMRUQKRU5ECg==