LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogVHVya2lzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IEZhdGloIEH+/WP9CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfVFVSS0lTSCwgU1VCTEFOR19ERUZBVUxUCgpJRFJfV0lORUNGRyBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiWWFw/WxhbmT9ciIsIElEQ19BVURJT19DT05GSUdVUkUKICAgIEVORApFTkQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI3MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9TVFJJTkcsSURDX1NUQVRJQywxMTksMTcsMTIwLDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCAsMTUsMTcsMTU3LDExMQogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgTFRFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgVXlndWxhbWEgQXlhcmxhcv0gIixJRENfU1RBVElDLCA4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJXaW5lIGhlciB1eWd1bGFtYSBp52luIGRl8Gn+aWsgV2luZG93cyBz/HL8bWxlcmluaSB0YWtsaXQgZWRlYmlsaXIuIEJ1IHNla21lIEtpdGFwbP1rbGFyIHZlIEdyYWZpayBzZWttZWxlcmkgaWxlIGJh8GxhbnT9bP0gb2x1cCBidSBzZWttZWxlcmRlIGRlIHNpc3RlbSDnYXD9bmRha2kgdmV5YSB1eWd1bGFtYXlhIPZ6ZWwgYXlhcmxhcv0geWFwbWFu/XphIGl6aW4gdmVyaXIuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDIwLDIyNywzMAogICAgQ09OVFJPTCAgICAgICAgICJVeWd1bGFtYWxhciIsSURDX0FQUF9MSVNUVklFVywiU3lzTGlzdFZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IExWU19MSVNUIHwgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTLAogICAgICAgICAgICAgICAgICAgIDE1LDUwLDIzMCwxNTAKICAgIFBVU0hCVVRUT04JICAgICJVeWd1bGFtYSAmRWtsZS4uLiIsSURDX0FQUF9BRERBUFAsIDkwLDIwNCw3NSwxNAogICAgUFVTSEJVVFRPTgkgICAgIlV5Z3VsYW1hICZLYWxk/XIiLElEQ19BUFBfUkVNT1ZFQVBQLCAxNzAsMjA0LDc1LDE0CiAgICBMVEVYVCAgICAgICAgICAgIiZXaW5kb3dzIFP8cvxt/DoiLElEQ19TVEFUSUMsMTcsMjI2LDU4LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDIyNCwxNjMsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QICAgIApFTkQKCklERF9HUkFQSENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgUGVuY2VyZSBheWFybGFy/SAiLElEQ19TVEFUSUMsOCwyNSwyNDQsMTgwCgogICAgQ09OVFJPTCAgICAgICAgICJEaXJlY3RYIHV5Z3VsYW1hbGFy/W79biBmYXJleWkgcGVuY2VyZSBp52luZSBraWxpdGxlbWVsZXJpbmUgaXppbiB2ZXIiLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMzUsMjMwLDgKICAgIExURVhUICAgICAgICAgICAiUGVuY2VyZWxlciBwZW5jZXJlIHn2bmV0aWNpbml6IHRhcmFm/W5kYW4gefZuZXRpbGRp8GluZGUsIHN0YW5kYXJ0IGtlbmFybGFyYSBzYWhpcCBvbGFjYWssIHNhbmFsIG1hc2H8c3T8bvx6ZSB1eWd1biBkYXZyYW5hY2FrIHZlIHBlbmNlcmUgbGlzdGVuaXpkZSBn9nL8bmVjZWt0aXIuIFxuXG5F8GVyIHBlbmNlcmVsZXIgefZuZXRpbG1lenNlLCBwZW5jZXJlIHn2bmV0aWNpbml6ZGVuIGJh8P1tc/16IG9sYWNha2xhcmT9ci4gQnUsIHBlbmNlcmVsZXJpbiBtYXNh/HN0/G78emxlIHRhbSBvbGFyYWsgYvx0/G5sZf5lbWV5ZWNl8GkgYW5sYW39bmEgZ2VsaXI7IGFtYSB0YWtsaXQgZGFoYSBk/Hpn/G4geWFw/WxhYmlsaWNl8GluZGVuIGJhev0gcHJvZ3JhbWxhciBkYWhhIGl5aSDnYWz9/mFiaWxpci4iLAogICAgCQkgICAgSURDX1NUQVRJQywxNSw1OCwyMjgsODAKICAgIENPTlRST0wgICAgICAgICAiUGVuY2VyZSB59m5ldGljaXNpbmluIHBlbmNlcmVsZXJpIHn2bmV0bWVzaW5lIGl6aW4gdmVyIixJRENfRU5BQkxFX01BTkFHRUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMzIsMjMwLDgKICAgIAogICAgTFRFWFQgICAgICAgICAgICJU/G0gcGVuY2VyZWxlcmluIHNhbmFsIGJpciBla3JhbmEgaGFwc2VkaWxkafBpIGJpciB3aW5kb3dzIG1hc2H8c3T8IGVt/GxlIGVkZWJpbGlyc2luaXogdmV5YSBwZW5jZXJlbGVyaW4gc3RhbmRhcnQgbWFzYfxzdPxu/HplIHllcmxl/m1lc2luaSBzYfBsYXlhYmlsaXJzaW5pei4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTQ2LDIyOCwyOAogICAgTFRFWFQgICAgICAgICAgICJNYXNh/HN0/CBi/Hn8a2z88Pw6IixJRENfREVTS1RPUF9TSVpFLDE1LDE4OCw0NCw4LFdTX0RJU0FCTEVECiAgICBMVEVYVCAgICAgICAgICAgIlgiLElEQ19ERVNLVE9QX0JZLDEwOCwxODgsOCw4LFdTX0RJU0FCTEVECiAgICBDT05UUk9MICAgICAgICAgIlNhbmFsIG1hc2H8c3T8IGt1bGxhbiIsSURDX0VOQUJMRV9ERVNLVE9QLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTczLDIzMCwxMAoJCSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9XSURUSCw2NCwxODgsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsMTg4LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKCiAgICBHUk9VUEJPWCAgICAgICAgIiBEaXJlY3QzRCAiLElEQ19TVEFUSUMsOCwyMTAsMjQ0LDUwCgogICAgTFRFWFQgICAgICAgICAgICJWZXJ0ZXggU2hhZGVyIERlc3Rl8Gk6ICIsSURDX1NUQVRJQywxNSwyMjAsODAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfRDNEX1ZTSEFERVJfTU9ERSwxMDAsMjE4LDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgIlBpeGVsIFNoYWRlcidhIGl6aW4gdmVyIChkb25hbv1tIGRlc3Rla2xpeW9yc2EpIixJRENfRDNEX1BTSEFERVJfTU9ERSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDIzNywyMzAsMTAKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBETEwg1m5jZWxpa2xlcmkgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIkRldmluZ2VuIEJh8Gz9IEtpdGFwbP1rbGFy/W4gaGVyIGJpcmkgeWVybGX+aWsgKFdpbmUgaWxlIGdlbGVuKSB2ZXlhIGRv8GFsIChXaW5kb3dzJ3RhbiBhbP1ubf3+IHZleWEgdXlndWxhbWEgdGFyYWb9bmRhbiBzYfBsYW5t/f4pIG9sYXJhayBiZWxpcnRpbGViaWxpci4iCiAgICAgICAgICAgICAgICAgICAgLElEQ19TVEFUSUMsMTYsMTYsMjIwLDMyCiAgICBMVEVYVCAgICAgICAgICAgIktpdGFwbP1rIGnnaW4geWVuaSD2bmNlbGlrOiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAiJkVrbGUiLElEQ19ETExTX0FERERMTCwgMTY0LDY4LDgyLDEzLEJTX0RFRlBVU0hCVVRUT04gCiAgICBMVEVYVCAgICAgICAgICAgIlZhciBvbGFuIPZuY2VsaWtsZXI6IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIiZE/HplbmxlIixJRENfRExMU19FRElURExMLDE2NCw5Niw4MiwxNAogICAgUFVTSEJVVFRPTiAgICAgICImU2lsIixJRENfRExMU19SRU1PVkVETEwsMTY0LDExNCw4MiwxNCAKRU5ECgpJRERfTE9BRE9SREVSIERJQUxPRyBESVNDQVJEQUJMRSA4MCwgOTAsIDEyNSwgOTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItZuY2VsaWsgRPx6ZW5sZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgWfxrbGVtZSBT/XJhc/0gIixJRENfU1RBVElDLDgsNCwxMTAsNjYKICAgIENPTlRST0wgICAgICAgICAiJlllcmxl/mlrIChXaW5lKSIsSURDX1JBRF9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCwxNiwxNCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiJkRv8GFsIChXaW5kb3dzKSIsSURDX1JBRF9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwyNCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAi1m5jZSBZZXImbGX+aWsgc29ucmEgRG/wYWwiLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAi1m5jZSBEJm/wYWwgc29ucmEgWWVybGX+aWsiLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiJkV0a2lzaXpsZf50aXIiLElEQ19SQURfRElTQUJMRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDU0LDEwMCwxMAogICAgREVGUFVTSEJVVFRPTiAgICJUYW1hbSIsSURPSyw4LDc0LDUzLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIt1wdGFsIixJRENBTkNFTCw2NCw3NCw1MywxNCxXU19HUk9VUApFTkQKCklERF9EUklWRUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgU/xy/GP8IEX+bGX+dGlybWVzaSAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIENPTlRST0wgICAgICAgICAiTGlzdHZpZXciLElEQ19MSVNUX0RSSVZFUywiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8IExWU19BVVRPQVJSQU5HRSB8IExWU19BTElHTkxFRlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLCAxNSwxOCwyMzIsNzYKICAgIFBVU0hCVVRUT04gICAgICAiJkVrbGUuLi4iLElEQ19CVVRUT05fQURELDE1LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZLYWxk/XIiLElEQ19CVVRUT05fUkVNT1ZFLDU2LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIk90b21hdGlrICZBbGf9bGEuLi4iLElEQ19CVVRUT05fQVVUT0RFVEVDVCwxODYsOTgsNjAsMTQKCiAgICAvKiBlZGl0aW5nIGRyaXZlIGRldGFpbHMgKi8KICAgIExURVhUICAgICAgICAgICAiJllvbDoiLElEQ19TVEFUSUMsMTUsMTIzLDIwLDkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUEFUSCw0MSwxMjAsMTYwLDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImR/Z6YXQuLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwogICAgCiAgICBMVEVYVCAgICAgICAgICAgIiZU/HI6IixJRENfU1RBVElDX1RZUEUsMTUsMTM4LDIxLDEwCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsNDEsMTM1LDc3LDYwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgCiAgICBMVEVYVCAgICAgICAgICAgIkV0aWtldCB2ZSBzZXJpIG5vIixJRENfTEFCRUxTRVJJQUxfU1RBVElDLDE1LDE1NSw5NSwxMAogICAgCiAgICBQVVNIQlVUVE9OICAgICAgIkdlbGn+bWn+ICZTZedlbmVrbGVyIixJRENfQlVUVE9OX1NIT1dfSElERV9BRFZBTkNFRCwxODYsMTM2LDYwLDEzCiAgICBDT05UUk9MICAgICAgICAgIkF5Z/10dGFuIE90b21hdGlrIEEmbGf9bGE6IixJRENfUkFESU9fQVVUT0RFVEVDVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTY2LDkzLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfREVWSUNFLDI3LDE3NiwxNzQsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiR/YmemF0Li4uIixJRENfQlVUVE9OX0JST1dTRV9ERVZJQ0UsMjA2LDE3Niw0MCwxMwogICAgQ09OVFJPTCAgICAgICAgICImRWxsZSBBdGE6IixJRENfUkFESU9fQVNTSUdOLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxOTUsNjksMTAKCiAgICBMVEVYVCAgICAgICAgICAgIiZFdGlrZXQ6IixJRENfU1RBVElDX0xBQkVMLDMzLDIwOCwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDIwNSw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiUyZlcmkgTm86IixJRENfU1RBVElDX1NFUklBTCwzMywyMjUsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9TRVJJQUwsNjMsMjIxLDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICAiTm9rdGF5bGEgYmH+bGF5YW4gZG9zeWFsYXL9IGf2c3RlciIsSURDX1NIT1dfRE9UX0ZJTEVTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsOCwyNjAsMjMwLDgKRU5ECgpJRERfQVVESU9DRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFP8cvxj/CBTZedpbWkgIixJRENfU1RBVElDLDgsNCwyNDQsMTk1CiAgICBMVEVYVCAgICAgICAgICAgIt1zdGVkafBpbml6IHP8cvxj/G78biBrdXR1c3VudSBp/mFyZXRsZXllcmVrIGJpciBzZXMgc/xy/GP8c/wgc2XnaW4uIEhp52JpciBz/HL8Y/wgc2XnbWV5ZXJlayBzZXNpIGV0a2lzaXpsZf50aXJlYmlsaXJzaW5pei4gQmlyZGVuIGZhemxhIHP8cvxj/CBzZedpbWkg9m5lcmlsbWV6LiDcemVyaW5lIHNh8CB0/WtsYXlhcmFrIGJpciBz/HL8Y/x5/CB5YXD9bGFuZP1y/W4uIixJRENfU1RBVElDLDE1LDIwLDIyNywzMAogICAgQ09OVFJPTCAgICAgICAgICJBeWf9dGxhciIsSURDX0FVRElPX1RSRUUsIlN5c1RyZWVWaWV3MzIiLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsMTUsNTAsMTQwLDE0MCAKICAgIFBVU0hCVVRUT04JICAgICJEZW5ldGltIE1hc2Fz/SIsSURDX0FVRElPX0NPTlRST0xfUEFORUwsMTcwLDUwLDU5LDE0CiAgICBHUk9VUEJPWCAgICAgICAgIiBEaXJlY3RTb3VuZCAiLElEQ19TVEFUSUMsOCwyMDUsMjQ0LDYwCiAgICBMVEVYVCAgICAgICAgICAgIkRvbmFu/W0gSP16bGFuZP1ybWFz/TogIixJRENfU1RBVElDLDE1LDIxNSw5MCwxMAogICAgQ09NQk9CT1gJICAgIElEQ19EU09VTkRfSFdfQUNDRUwsMTAwLDIxMywxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItZudGFu/W1s/SDWcm5la2xlbWUgSP16/ToiLElEQ19TVEFUSUMsMTUsMjMyLDcwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRFNPVU5EX1JBVEVTLDkwLDIzMCw0Miw3NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi1nJuZWsgQmH+/W5hIEJpdCBTYXn9c/06IixJRENfU1RBVElDLDEzNywyMzIsODAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfQklUUywyMjAsMjMwLDMwLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgICAgICJT/HL8Y/wgVGFrbGlkaSIsSURDX0RTT1VORF9EUlZfRU1VTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDI1MCwyMzAsMTAKRU5ECgpJRERfREVTS1RPUF9JTlRFR1JBVElPTiBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgR/Zy/G78bSAiLElEQ19TVEFUSUMsOCw0LDI0NCwxMDYKICAgIExURVhUICAgICAgICAgICAiVGVtYToiLElEQ19TVEFUSUMsMTUsMTYsMTMwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfVEhFTUVDT01CTywxNSwyNCwxMzAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIlRlbWEga3VyLi4uIixJRENfVEhFTUVfSU5TVEFMTCwxNTIsMjMsOTMsMTQKICAgIExURVhUICAgICAgICAgICAiUmVuazoiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNDAsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw0OCwxMTIsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkJveXV0OiIsSURDX1RIRU1FX1NJWkVURVhULDEzNSw0MCwxMTAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9TSVpFQ09NQk8sMTM1LDQ4LDExMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiSXRlbToiLElEQ19TVEFUSUMsMTUsNjQsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfU1lTUEFSQU1fQ09NQk8sMTUsNzQsMTEyLDEyMCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVAogICAgTFRFWFQgICAgICAgICAgICJDb2xvcjoiLElEQ19TWVNQQVJBTV9DT0xPUl9URVhULDEzNSw2NCwyNSw4LFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIiIsSURDX1NZU1BBUkFNX0NPTE9SLDEzNSw3NCwyNSwxMyxXU19ESVNBQkxFRCB8IEJTX09XTkVSRFJBVwogICAgTFRFWFQgICAgICAgICAgICJTaXplOiIsSURDX1NZU1BBUkFNX1NJWkVfVEVYVCwxNjYsNjQsMzAsOCxXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19TWVNQQVJBTV9TSVpFLDE2Niw3NCwyMywxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AgfCBXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICIiLElEQ19TWVNQQVJBTV9TSVpFX1VELFVQRE9XTl9DTEFTUyxVRFNfU0VUQlVERFlJTlQgfCBXU19ESVNBQkxFRCwxODcsNzQsMTUsMTMKICAgIFBVU0hCVVRUT04gICAgICAiRm9udCIsSURDX1NZU1BBUkFNX0ZPTlQsMjA4LDc0LDM3LDEzLFdTX0RJU0FCTEVECiAgICBHUk9VUEJPWCAgICAgICAgIiDWemVsIEtsYXP2cmxlciAiLElEQ19TVEFUSUMsOCwxMTQsMjQ0LDEwMAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfU0ZQQVRIUywiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8IExWU19BVVRPQVJSQU5HRSB8IExWU19BTElHTkxFRlQgfAogICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTI2LDIzMCw2NAogICAgQ09OVFJPTCAgICAgICAgICJIZWRlZiBkaXppbjoiLElEQ19MSU5LX1NGUEFUSCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRCwxNSwxOTUsNTAsMTMKICAgIEVESVRURVhUICAgICAgICAgSURDX0VESVRfU0ZQQVRILDY1LDE5NSwxNDUsMTMsRVNfQVVUT0hTQ1JPTEx8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICJH9nphdCIsSURDX0JST1dTRV9TRlBBVEgsMjE1LDE5NSwzMCwxMyxXU19ESVNBQkxFRApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfV0lORV9WRVJTSU9OICAgICAgICAiQ1ZTIgogICAgSURTX1RBQl9BUFBMSUNBVElPTlMgICAgIlV5Z3VsYW1hbGFyIgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIktpdGFwbP1rbGFyIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgIlP8cvxj/GxlciIKICAgIElEU19DSE9PU0VfUEFUSCAgICAgICAgICJM/HRmZW4gaGFyaXRhbGFuYWNhayB1bml4IGRpemluaW5pIHNl52luLiIKICAgIElEU19ISURFX0FEVkFOQ0VEICAgICAgICJUZW1lbCBBeWFybGFyIgogICAgSURTX1NIT1dfQURWQU5DRUQgICAgICAgIkdlbGn+bWn+IEF5YXJsYXIiCiAgICBJRFNfTk9USEVNRSAgICAgICAgICAgICAiKFRlbWEgWW9rKSIKICAgIElEU19UQUJfR1JBUEhJQ1MgICAgICAgICJHcmFmaWsiCiAgICBJRFNfVEFCX0RFU0tUT1BfSU5URUdSQVRJT04gIk1hc2H8c3T8IEVudGVncmFzeW9udSIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICJTZXMiCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiSGFra/1uZGEiCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAiV2luZSB5YXD9bGFuZP1ybWFz/SIKICAgIElEU19XSU5FQ0ZHX1RJVExFX0FQUCAgICIlcyBp52luIFdpbmUgeWFw/WxhbmT9cm1hc/0iCiAgICBJRFNfVEhFTUVGSUxFICAgICAgICAgICAiVGVtYSBkb3N5YWxhcv0iCiAgICBJRFNfVEhFTUVGSUxFX1NFTEVDVCAgICAiVGVtYSBkb3N5YXP9IHNl52luIgogICAgSURTX0FVRElPX01JU1NJTkcgICAgICAgIlNpc3RlbSBrYXlk/W5kYSBiZWxpcmxlbm1p/iBiaXIgc2VzIHP8cvxj/HP8IHlvay5cblxu1m5lcmlsZW4gYmlyIHP8cvxj/CBzaXppbiBp52luIHNl52lsZGkuXG5CdSBz/HL8Y/x5/CBrdWxsYW5hYmlsaXIgdmV5YSB2YXJzYSBiYf5rYSBiaXIgc/xy/GP8efwgc2XnZWJpbGlyc2luaXouXG5cblNl52ltaW4gZXRraWxpIG9sYWJpbG1lc2kgaedpbiBVeWd1bGEnef0gdP1rbGFtYWz9c/1u/XouIgogICAgSURTX1NIRUxMX0ZPTERFUiAgICAgICAgIktsYXP2ciIKICAgIElEU19MSU5LU19UTyAgICAgICAgICAgICJIZWRlZiBEaXppbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RMTF9XQVJOSU5HICAgICAgICAgIkJ1IGtpdGFwbP3w/W4gefxrbGVtZSBz/XJhc/1u/W4gZGXwaf50aXJpbG1lc2kg9m5lcmlsbWV6LlxuQnVudSB5YXBtYWsgaXN0ZWRp8GluaXpkZW4gZW1pbiBtaXNpbml6PyIKICAgIElEU19ETExfV0FSTklOR19DQVBUSU9OICJVeWFy/Togc2lzdGVtIGtpdGFwbP3w/SIKICAgIElEU19ETExfTkFUSVZFICAgICAgICAgICJkb/BhbCIKICAgIElEU19ETExfQlVJTFRJTiAgICAgICAgICJ5ZXJsZf5payIKICAgIElEU19ETExfTkFUSVZFX0JVSUxUSU4gICJkb/BhbCwgeWVybGX+aWsiCiAgICBJRFNfRExMX0JVSUxUSU5fTkFUSVZFICAieWVybGX+aWssIGRv8GFsIgogICAgSURTX0RMTF9ESVNBQkxFRCAgICAgICAgImRldnJlIGT9/v0iCiAgICBJRFNfREVGQVVMVF9TRVRUSU5HUyAgICAi1m50YW79bWz9IEF5YXJsYXIiCiAgICBJRFNfRVhFQ1VUQUJMRV9GSUxURVIgICAiV2luZSBQcm9ncmFtbGFy/SAoKi5leGUsKi5leGUuc28pXDAqLmV4ZTsqLmV4ZS5zb1wwIgogICAgSURTX1VTRV9HTE9CQUxfU0VUVElOR1MgIkdlbmVsIGF5YXJsYXL9IGt1bGxhbiIKICAgIElEU19TRUxFQ1RfRVhFQ1VUQUJMRSAgICLHYWz9/nT9cv1sYWJpbGlyIGJpciBkb3N5YSBzZedpbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1NIQURFUl9NT0RFX0hBUkRXQVJFICAgICJEb25hbv1tIgogICAgSURTX1NIQURFUl9NT0RFX05PTkUgICAgICAgICJIaediaXJpIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfRFJJVkVfVU5LTk9XTiAgICAgICAgICAgIk90b21hdGlrIEFsZ/1sYSIKICAgIElEU19EUklWRV9GSVhFRCAgICAgICAgICAgICAiWWVyZWwgc2FiaXQgZGlzayIKICAgIElEU19EUklWRV9SRU1PVEUgICAgICAgICAgICAiQfAgcGF5bGH+/W39IgogICAgSURTX0RSSVZFX1JFTU9WQUJMRSAgICAgICAgICJEaXNrZXQgc/xy/GP8IgogICAgSURTX0RSSVZFX0NEUk9NICAgICAgICAgICAgICJDRC1ST00iCiAgICBJRFNfRFJJVkVfTEVUVEVSU19FWENFRURFRCAgIkRhaGEgZmF6bGEgc/xy/GP8IGVrbGV5ZW1lenNpbml6LlxuXG5IZXIgc/xy/GP8bvxuIEEtWiBhcmFs/fD9bmRhIGJpciBoYXJmaSBvbG1hbP1k/XIuIERvbGF5/XP9eWxhIDI2J2RhbiBmYXpsYSB0YW79bWxheWFtYXpz/W79ei4iCiAgICBJRFNfU1lTVEVNX0RSSVZFX0xBQkVMICAgICAgIlNpc3RlbSBz/HL8Y/xz/CIKICAgIElEU19DT05GSVJNX0RFTEVURV9DICAgICAgICAiQyBz/HL8Y/xz/G78IHNpbG1layBpc3RlZGnwaW5pemRlbiBlbWluIG1pc2luaXo/XG5cbsdv8HUgV2luZG93cyB1eWd1bGFtYXP9IEMgc/xy/GP8c/xu/G4gdmFyIG9sbWFz/W79IGJla2xlciB2ZSB5b2tzYSBpc3Rlbm1leWVuIGJpciD+ZWtpbGRlIHNvbmxhbv1yLiBF8GVyIGRldmFtIGVkZXJzZW5peiwgZGFoYSBzb25yYSB5ZW5pZGVuIG9sdf50dXJtYXn9IHVudXRtYXn9biEiCiAgICBJRFNfQ09MX0RSSVZFTEVUVEVSICAgICAgICAgIkhhcmYiCiAgICBJRFNfQ09MX0RSSVZFTUFQUElORyAgICAgICAgIlP8cvxj/CBF/mxlbWUiCiAgICBJRFNfTk9fRFJJVkVfQyAgICAgICAgICAgICAgIkMgc/xy/GP8bvx6IHlvay4gQnUgYmVrbGVuZW4gYmlyIGR1cnVtIGRl8GlsLlxuXG5CaXIgdGFuZSBvbHX+dHVybWFrIGnnaW4gU/xy/GP8bGVyIHNla21lc2luZGVuIEVrbGUneWkgdP1rbGFtYXn9IHVudXRtYXn9biFcbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0FDQ0VMX0ZVTEwgICAgICAgICAgICAgICJUYW0iCiAgICBJRFNfQUNDRUxfU1RBTkRBUkQgICAgICAgICAgIlN0YW5kYXJ0IgogICAgSURTX0FDQ0VMX0JBU0lDICAgICAgICAgICAgICJUZW1lbCIKICAgIElEU19BQ0NFTF9FTVVMQVRJT04gICAgICAgICAiVGFrbGl0IgogICAgSURTX0RSSVZFUl9BTFNBICAgICAgICAgICAgICJBTFNBIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9FU09VTkQgICAgICAgICAgICJFc291bkQgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX09TUyAgICAgICAgICAgICAgIk9TUyBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfSkFDSyAgICAgICAgICAgICAiSkFDSyBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfTkFTICAgICAgICAgICAgICAiTkFTIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9BVURJT0lPICAgICAgICAgICJBdWRpbyBJTyAoU29sYXJpcykgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX0NPUkVBVURJTyAgICAgICAgIkNvcmVBdWRpbyBT/HL8Y/xz/CIKICAgIElEU19PUEVOX0RSSVZFUl9FUlJPUiAgICAgICAiJXMgYef9bGFtYWT9ISIKICAgIElEU19TT1VORERSSVZFUlMgICAgICAgICAgICAiU2VzIFP8cvxj/GxlcmkiCiAgICBJRFNfREVWSUNFU19XQVZFT1VUICAgICAgICAgIkRhbGdhIMf9a/3+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX1dBVkVJTiAgICAgICAgICAiRGFsZ2EgR2lyaf4gQXln/XRsYXL9IgogICAgSURTX0RFVklDRVNfTUlESU9VVCAgICAgICAgICJNSURJIMf9a/3+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX01JRElJTiAgICAgICAgICAiTUlESSBHaXJp/iBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19BVVggICAgICAgICAgICAgIkF1eCBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19NSVhFUiAgICAgICAgICAgIk1peGVyIEF5Z/10bGFy/SIKICAgIElEU19VTkFWQUlMQUJMRV9EUklWRVIgICAgICAiU2lzdGVtIGtheWT9bmRhIGt1bGxhbv1sYWJpbGlyIG9sbWF5YW4gYmlyIHP8cvxj/CBidWx1bmR1IVxuXG5cIiVzXCIgZ2lyaf5pIHNpc3RlbSBrYXlk/W5kYW4gc2lsaW5zaW4gbWk/IgogICAgSURTX1dBUk5JTkcgICAgICAgICAgICAgICAgICJVeWFy/SIKRU5ECg==