LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogUG9saXNoIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDIgSmFjbyBHcmVlZmYKICogQ29weXJpZ2h0IDIwMDMgRGltaXRyaWUgTy4gUGF1bgogKiBDb3B5cmlnaHQgMjAwMy0yMDA0IE1pa2UgSGVhcm4KICogQ29weXJpZ2h0IDIwMDcgTWlrb2xhaiBaYWxld3NraQogKiBDb3B5cmlnaHQgMjAxMCCjdWthc3ogV29qbmmzb3dpY3oKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqCiAqLwoKI2luY2x1ZGUgImNvbmZpZy5oIiAgIC8qIE5lZWRlZCBmb3IgdGhlIFBBQ0tBR0VfU1RSSU5HIGRlZmluaXRpb24gKi8KI2luY2x1ZGUgInJlc291cmNlLmgiCgpMQU5HVUFHRSBMQU5HX1BPTElTSCwgU1VCTEFOR19ERUZBVUxUCgpJRERfQUJPVVRDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICIiLCBJRENfQUJUX1BBTkVMLCAiU1RBVElDIiwgU1NfT1dORVJEUkFXLCAwLCAwLCAyNjAsIDE0MAogICAgTFRFWFQgICAgICAgICAgIFBBQ0tBR0VfTkFNRSxJRENfQUJUX1RJVExFX1RFWFQsMTA1LDMwLDU1LDMwCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9WRVJTSU9OLElEQ19BQlRfUEFORUxfVEVYVCwxNjAsNDMsMTQwLDgKICAgIENPTlRST0wgICAgICAgICAiIixJRENfQUJUX1dFQl9MSU5LLCJTeXNMaW5rIiwgTFdTX1RSQU5TUEFSRU5ULCAxMDUsNTMsMTA2LDgKICAgIExURVhUICAgICAgICAgICAiVGEgYmlibGlvdGVrYSBqZXN0IHdvbG55bSBvcHJvZ3JhbW93YW5pZW07IG1vv2VzeiBquSByb3pwb3dzemVjaG5pYeYgaS9sdWIgbW9keWZpa293YeYgcG9kIHdhcnVua2FtaSBsaWNlbmNqaSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ugb3B1Ymxpa293YW5laiBwcnpleiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGxpY2VuY2ppIHcgd2Vyc2ppIDIuMSwgbHViICh3ZWSzdWcgd7Nhc25lZ28gdXpuYW5pYSkgZG93b2xuZWogcPOfbmllanN6ZWouIiwKICAgICAgICAgICAgICAgICAgICBJRENfQUJUX0xJQ0VOU0VfVEVYVCwxMDUsNjQsMTQ1LDYwCiAgICBHUk9VUEJPWCAgICAgICAgIiBJbmZvcm1hY2plIGRvIHJlamVzdHJhY2ppIHcgV2luZG93cyAiLCBJRENfU1RBVElDLCAxNSwgMTU1LCAyMzAsIDU1CiAgICBMVEVYVCAgICAgICAgICAgIlezYZxjaWNpZWw6IiwgSURDX1NUQVRJQywgMjIsIDE3MSwgNDAsIDIwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0FCVF9PV05FUiwgNzUsIDE3MSwgMTYwLCAxMywgRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIk9yZ2FuaXphY2phOiIsIElEQ19TVEFUSUMsIDIyLCAxODUsIDUwLCAyMAogICAgRURJVFRFWFQgICAgICAgIElEQ19BQlRfT1JHLCA3NSwgMTg1LCAxNjAsIDEzLCBFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKRU5ECgpJRERfQVBQQ0ZHIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBVc3Rhd2llbmlhIGFwbGlrYWNqaSIsSURDX1NUQVRJQywgOCw0LDI0NCwyMTAKICAgIExURVhUICAgICAgICAgICAiV2luZSBtb79lIHVkYXdh5iBy879uZSB3ZXJzamUgV2luZG93cyBkbGEgcvO/bnljaCBhcGxpa2FjamkuICBXeWLzciB3IHRlaiB6YWuzYWRjZSBqZXN0IHBvd2m5emFueSB6IHpha7NhZGthbWkgQmlibGlvdGVraSBpIEdyYWZpa2EgLSB1c3Rhd2llbmlhIHRhbSBy83duaWW/IGRvdHljerkgd3N6eXN0a2ljaCBhcGxpa2FjamkgbHViIHR5bGtvIHd5YnJhbmVqLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwyMCwyMjcsMzYKICAgIENPTlRST0wgICAgICAgICAiQXBsaWthY2plIixJRENfQVBQX0xJU1RWSUVXLCJTeXNMaXN0VmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgTFZTX0xJU1QgfCBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMsCiAgICAgICAgICAgICAgICAgICAgMTUsNTYsMjMwLDExNAogICAgUFVTSEJVVFRPTgkgICAgIiZEb2RhaiBhcGxpa2FjauouLi4iLElEQ19BUFBfQUREQVBQLCA5MCwxNzQsNzUsMTQKICAgIFBVU0hCVVRUT04JICAgICImVXN18SBhcGxpa2FjauoiLElEQ19BUFBfUkVNT1ZFQVBQLCAxNzAsMTc0LDc1LDE0CiAgICBMVEVYVCAgICAgICAgICAgIiZXZXJzamEgV2luZG93czoiLElEQ19TVEFUSUMsMTcsMTk2LDU4LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDE5NCwxNjMsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCkVORAoKSUREX0dSQVBIQ0ZHIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAiIFVzdGF3aWVuaWEgb2tuYSAiLElEQ19TVEFUSUMsOCw0LDI0NCw5MgogICAgQ09OVFJPTCAgICAgIkF1dG9tYXRpY2FsbHkgY2FwdHVyZSB0aGUgJm1vdXNlIGluIGZ1bGwtc2NyZWVuIHdpbmRvd3MiLElEQ19GVUxMU0NSRUVOX0dSQUIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyMCwyMzAsMTYKICAgIENPTlRST0wgICAgICJQb3p382wgbWVuZWS/ZXJvd2kgb2tpZW4gJmRla29yb3dh5iBva25hIixJRENfRU5BQkxFX0RFQ09SQVRFRCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDQwLDIzMCw4CiAgICBDT05UUk9MICAgICAiUG96d/NsIG1lbmVkv2Vyb3dpIG9raWVuICZ6YXJ6uWR6YeYgb2tuYW1pIFdpbmUiLElEQ19FTkFCTEVfTUFOQUdFRCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDUyLDIzMCw4CiAgICBDT05UUk9MICAgICAiRW11bHVqIHdpcnR1YWxueSAmcHVscGl0IixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDY0LDIzMCw4CiAgICBMVEVYVCAgICAgICAiJlJvem1pYXIgcHVscGl0dToiLElEQ19ERVNLVE9QX1NJWkUsMTUsNzgsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgIlgiLElEQ19ERVNLVE9QX0JZLDEwOSw3OCw4LDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX1dJRFRILDY0LDc2LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsNzYsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsMTAxLDI0NCw0OQogICAgTFRFWFQgICAgICAgIk9ic7N1Z2EgVmVydGV4IFNoYWRlcjogIixJRENfU1RBVElDLDE1LDExNiw4MCwzMgogICAgQ09NQk9CT1ggICAgSURDX0QzRF9WU0hBREVSX01PREUsMTAwLDExNCwxNDUsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT05UUk9MICAgICAiT2Jzs3VndWogUGl4ZWwgU2hhZGVyIChqZb9lbGkgc7kgb2Jzs3VnaXdhbmUgcHJ6ZXoga2FydOogZ3JhZmljem65KSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMzIsMjMwLDEwCgogICAgR1JPVVBCT1ggICAgIiBSb3pkemllbGN6b5zmICIsSURDX1NUQVRJQyw4LDE1NSwyNDQsNjMKICAgIENPTlRST0wgICAgICIiLCBJRENfUkVTX1RSQUNLQkFSLCAibXNjdGxzX3RyYWNrYmFyMzIiLFdTX1RBQlNUT1AsMTIsMTY1LDE4NywxNQogICAgRURJVFRFWFQgICAgSURDX1JFU19EUElFRElULDIwNCwxNjUsMjMsMTMsRVNfTlVNQkVSfFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICJkcGkiLElEQ19TVEFUSUMsMjM1LDE2NywxMCw4CiAgICBMVEVYVCAgICAgICAiT3RvIHByenlrs2FkIHphc3Rvc293YW5pYSAxMC1wdW5rdG93ZWogY3pjaW9ua2kgVGFob21hIixJRENfUkVTX0ZPTlRfUFJFVklFVywxNSwxODUsMjMwLDI4CkVORAoKSUREX0RMTENGRyBESUFMT0cgIDAsIDAsIDI2MCwgMjIwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgUmVndbN5IGJpYmxpb3RlayBETEwgIixJRENfU1RBVElDLDgsNCwyNDQsMjEwCiAgICBMVEVYVCAgICAgICAgICAgIkRsYSBrYb9kZWogYmlibGlvdGVraSBETEwgbW+/bmEgemRlY3lkb3dh5iBjenkgbmFsZb95IHW/eeYgd2Vyc2ppIHdidWRvd2FuZWogKGRvc3RhcmN6b25laiB6IFdpbmUpIGN6eSB6ZXdu6nRyem5laiAod3pp6nRlaiB6IFdpbmRvd3MgbHViIGRvc3RhcmN6b25laiB3cmF6IHogYXBsaWthY2q5KS4iCiAgICAgICAgICAgICAgICAgICAgLElEQ19TVEFUSUMsMTYsMTYsMjIwLDMyCiAgICBMVEVYVCAgICAgICAgICAgIk5vd2EgcmVndbNhIGRsYSBiaWJsaW90ZWtpOiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAiJkRvZGFqIixJRENfRExMU19BRERETEwsIDE2NCw2OCw4MiwxMwogICAgTFRFWFQgICAgICAgICAgICJJc3RuaWVquWNlIHJlZ3WzeToiLElEQ19TVEFUSUMsMTYsODYsMTAwLDgKICAgIExJU1RCT1ggICAgICAgICBJRENfRExMU19MSVNULDE2LDk2LDE0MCwxMTIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkVkeWNqYSIsSURDX0RMTFNfRURJVERMTCwxNjQsOTYsODIsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJlVzdfEiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0CkVORAoKSUREX0xPQURPUkRFUiBESUFMT0cgODAsIDkwLCAxNTAsIDkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJFZHljamEgcmVndbN5IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBCaWJsaW90ZWthICIsSURDX1NUQVRJQyw4LDQsMTM0LDY2CiAgICBDT05UUk9MICAgICAgICAgIlR5bGtvICZ3YnVkb3dhbmEgKFdpbmUpIixJRENfUkFEX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQLDE2LDE0LDExNSwxMAogICAgQ09OVFJPTCAgICAgICAgICJUeWxrbyAmemV3bup0cnpuYSAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMjQsMTE1LDEwCiAgICBDT05UUk9MICAgICAgICAgIlByZWZlcnVqIHcmYnVkb3dhbrkiLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCwxMTUsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJlZmVydWogeiZld27qdHJ6brkiLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCwxMTUsMTAKICAgIENPTlRST0wgICAgICAgICAiJld5s7ljeiBiaWJsaW90ZWvqIixJRENfUkFEX0RJU0FCTEUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw1NCwxMTUsMTAKICAgIERFRlBVU0hCVVRUT04gICAiJk9LIixJRE9LLDE4LDc0LDQ1LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZBbnVsdWoiLElEQ0FOQ0VMLDg3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0hPT1NFIERJQUxPRyAgNjAsIDcwLCAxNzAsIDYwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJXeWJpZXJ6IGxpdGVy6iBuYXDqZHUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTUJPQk9YIElEQ19EUklWRVNBMlosMTUsMTAsNzUsMjMwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxMDUsMTAsNDUsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiQW51bHVqIixJRENBTkNFTCwxMDUsMzAsNDUsMTQsV1NfR1JPVVAKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HICAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFByenlwb3J6uWRrb3dhbmllIGR5c2vzdyAiLElEQ19TVEFUSUMsOCw0LDI0NCwxOTUKICAgIExURVhUICAgICAgICAgICAiTmlldWRhbmUgcG+zuWN6ZW5pZSB6IG1lbmVkv2VyZW0gbW9udG93YW5pYSwga29uZmlndXJhY2phIG5hcOpkdSBuaWUgbW+/ZSBieeYgem1vZHlmaWtvd2FuYS4iLCBJRENfU1RBVElDX01PVU5UTUdSX0VSUk9SLCAxNSwzMCwxOTAsNzYKICAgIENPTlRST0wgICAgICAgICAiTGlzdHZpZXciLElEQ19MSVNUX0RSSVZFUywiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8IExWU19BVVRPQVJSQU5HRSB8IExWU19BTElHTkxFRlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLCAxNSwxOCwyMzIsNzYKICAgIFBVU0hCVVRUT04gICAgICAiJkRvZGFqLi4uIixJRENfQlVUVE9OX0FERCwxNSw5OCwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICImVXN18SIsSURDX0JVVFRPTl9SRU1PVkUsNTYsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQXV0b21hdHljem5lIHd5a3J5d2FuaWUiLElEQ19CVVRUT05fQVVUT0RFVEVDVCwxMjcsOTgsMTE5LDE0CgogICAgLyogZWRpdGluZyBkcml2ZSBkZXRhaWxzICovCiAgICBMVEVYVCAgICAgICAgICAgIiaMY2llv2thOiIsSURDX1NUQVRJQ19QQVRILDE1LDEyMywzMCw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUEFUSCw0NiwxMjAsMTQ1LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImUHJ6ZWdsuWRhai4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwxOTYsMTIwLDUwLDEzCgogICAgTFRFWFQgICAgICAgICAgICImVHlwOiIsSURDX1NUQVRJQ19UWVBFLDE1LDEzOCwyMSwxMAogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19UWVBFLDQ2LDEzNSw3Nyw2MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBQVVNIQlVUVE9OICAgICAgIiZPcGNqZSB6YWF3YW5zb3dhbmUgPj4iLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDE1NiwxMzUsOTAsMTMKICAgIExURVhUICAgICAgICAgICAiVSZyerlkemVuaWU6IixJRENfU1RBVElDX0RFVklDRSwxNSwxNTMsMjYsOQogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSw0NiwxNTAsMTQ1LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJQcnplJmdsuWRhai4uLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDIwMSwxNTAsNDUsMTMKCiAgICBMVEVYVCAgICAgICAgICAgIiZFdHlraWV0YToiLElEQ19TVEFUSUNfTEFCRUwsMTUsMTY4LDU5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNzUsMTY1LDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImTnVtZXIgc2VyeWpueToiLElEQ19TVEFUSUNfU0VSSUFMLDE1LDE4Myw1OSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw3NSwxODAsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJQb2thenVqIHBsaWtpIHphY3p5bmFquWNlIHNp6iBvZCBrcm9wa2kiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjA1LDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBXeWLzciBzdGVyb3duaWthICIsSURDX1NUQVRJQyw4LDQsMjQ0LDE2MAogICAgTFRFWFQgICAgICAgICAgICJXeWJpZXJ6IHN0ZXJvd25payBwcnpleiB3c3Rhd2llbmllIGtyenm/eWthLiBKZb9lbGkgY2hjZXN6IHd5s7ljennmIGSfd2nqaywgem9zdGF3IHdzenlzdGtpZSBwb2xhIHB1c3RlLiBXeWLzciB3aWVsdSBzdGVyb3duaWvzdyBuYSByYXogbmllIGplc3QgemFsZWNhbnkuIEFieSBza29uZmlndXJvd2HmIHN0ZXJvd25payBrbGlrbmlqIHByYXd5bSBwcnp5Y2lza2llbSBteXN6eSBuYSBuaW0uIixJRENfU1RBVElDLDE1LDIwLDIyNyw0MAogICAgQ09OVFJPTCAgICAgICAgICJVcnq5ZHplbmlhIixJRENfQVVESU9fVFJFRSwiU3lzVHJlZVZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNSw1OCwxNDAsOTcKICAgIFBVU0hCVVRUT04gICAgICAiVGVzdCBkn3dp6mt1IixJRENfQVVESU9fVEVTVCwxNjUsNTgsNjksMTQKICAgIFBVU0hCVVRUT04JICAgICJQYW5lbCBzdGVyb3dhbmlhIixJRENfQVVESU9fQ09OVFJPTF9QQU5FTCwxNjUsNzgsNjksMTQKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdFNvdW5kICIsSURDX1NUQVRJQyw4LDE3MCwyNDQsNDUKICAgIExURVhUCSAgICAiUHJ6eZxwaWVzemVuaWUgc3Byeup0b3dlOiAiLElEQ19TVEFUSUMsMTUsMTgwLDkwLDEwCiAgICBDT01CT0JPWAkgICAgSURDX0RTT1VORF9IV19BQ0NFTCwxMDAsMTc4LDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiRG9teZxsbmEgY3rqc3RvnOYgcHLzYmtvd2FuaWE6IixJRENfU1RBVElDLDE1LDE5NSwxMDUsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfUkFURVMsMTIxLDE5MywzOCw3NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiQml083cgbmEgcHLzYmvqOiIsSURDX1NUQVRJQywxNjUsMTk1LDU1LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRFNPVU5EX0JJVFMsMjIzLDE5MywyNyw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKRU5ECgpJRERfREVTS1RPUF9JTlRFR1JBVElPTiBESUFMT0cgIDAsIDAsIDI2MCwgMjIwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgV3lnbLlkICIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgTFRFWFQgICAgICAgICAgICJNb3R5dzoiLElEQ19TVEFUSUMsMTUsMTYsMTMwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfVEhFTUVDT01CTywxNSwyNCwxMzAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIlphaW5zdGFsdWogbW90eXcuLi4iLElEQ19USEVNRV9JTlNUQUxMLDE1MiwyMyw5MywxNAogICAgTFRFWFQgICAgICAgICAgICJLb2xvcjoiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNDAsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw0OCwxMTIsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIldpZWxrb5zmOiIsSURDX1RIRU1FX1NJWkVURVhULDEzNSw0MCwxMTAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9TSVpFQ09NQk8sMTM1LDQ4LDExMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiRWxlbWVudDoiLElEQ19TVEFUSUMsMTUsNjQsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfU1lTUEFSQU1fQ09NQk8sMTUsNzQsMTEyLDEyMCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVAogICAgTFRFWFQgICAgICAgICAgICJLb2xvcjoiLElEQ19TWVNQQVJBTV9DT0xPUl9URVhULDEzNSw2NCwyNSw4LFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIiIsSURDX1NZU1BBUkFNX0NPTE9SLDEzNSw3NCwyNSwxMyxXU19ESVNBQkxFRCB8IEJTX09XTkVSRFJBVwogICAgTFRFWFQgICAgICAgICAgICJXaWVsa2+c5joiLElEQ19TWVNQQVJBTV9TSVpFX1RFWFQsMTY2LDY0LDMwLDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfU1lTUEFSQU1fU0laRSwxNjYsNzQsMjMsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QIHwgV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiIixJRENfU1lTUEFSQU1fU0laRV9VRCxVUERPV05fQ0xBU1MsVURTX1NFVEJVRERZSU5UIHwgV1NfRElTQUJMRUQsMTg3LDc0LDE1LDEzCiAgICBQVVNIQlVUVE9OICAgICAgIkN6Y2lvbmthIixJRENfU1lTUEFSQU1fRk9OVCwyMDgsNzQsMzcsMTMsV1NfRElTQUJMRUQKICAgIEdST1VQQk9YICAgICAgICAiIEZvbGRlcnkgc3BlY2phbG5lICIsSURDX1NUQVRJQyw4LDExNCwyNDQsMTAwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9TRlBBVEhTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLCAxNSwxMjYsMjMwLDY0CiAgICBDT05UUk9MICAgICAgICAgIkRvd2m5emFueSBkbzoiLElEQ19MSU5LX1NGUEFUSCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRCwxNSwxOTUsNzAsMTMKICAgIEVESVRURVhUICAgICAgICAgSURDX0VESVRfU0ZQQVRILDg1LDE5NSwxMDUsMTMsRVNfQVVUT0hTQ1JPTEx8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICJQcnplZ2y5ZGFqIixJRENfQlJPV1NFX1NGUEFUSCwxOTUsMTk1LDUwLDEzLFdTX0RJU0FCTEVECkVORAo=