LyoKICogQ29weXJpZ2h0IDE5OTggS2FybCBCYWNrc3Ry9m0KICogQ29weXJpZ2h0IDIwMDkgQW5kZXJzIEpvbnNzb24KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgImNkbGcuaCIKI2luY2x1ZGUgImZpbGVkbGdicm93c2VyLmgiCgovKgogKiBXQVJOSU5HOiBETyBOT1QgQ0hBTkdFIFRIRSBTSVpFIE9GIFRIRSBTVEFOREFSRCBESUFMT0cgVEVNUExBVEVTLgogKi8KCkxBTkdVQUdFIExBTkdfU1dFRElTSCwgU1VCTEFOR19ORVVUUkFMCgpPUEVOX0ZJTEUgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLWcHBuYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiRmlsJm5hbW46IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZLYXRhbG9nZXI6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICJMaXN0YSBmaWxlciBhdiAmdHlwZW46IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZFbmhldGVyOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAi1nBwbmEiLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQXZicnl0IiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSGrkbHAiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTa3JpdnNreWRkYXQiLCAxMDQwLCAyMDgsIDY4LCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKU0FWRV9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU3BhcmEgc29tLi4uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImRmlsbmFtbjoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkthdGFsb2dlcjoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIkxpc3RhIGZpbGVyIGF2ICZ0eXBlbjoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkVuaGV0ZXI6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJTcGFyYSBzb20iLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQXZicnl0IiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSGrkbHAiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTa3JpdnNreWRkYWQiLCAxMDQwLCAyMDgsIDY4LCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTa3JpdiB1dCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiU2tyaXZhcmU6IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAiU2tyaXYgdXQgZGVsIiwgMTA3MiwgNiwgMzAsIDE2MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJkFsbHQiLCAxMDU2LCAxNiwgNDUsIDYwLCAxMgogUkFESU9CVVRUT04gIiZNYXJrZXJhdCIsIDEwNTcsIDE2LCA2MCwgNjAsIDEyCiBSQURJT0JVVFRPTiAiJlNpZG9yIiwgMTA1OCwgMTYsIDc1LCA2MCwgMTIKIERFRlBVU0hCVVRUT04gIlNrcml2IHV0IiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkluc3TkbGxuaW5nYXIiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZGcuVuOiIsIDEwOTAsIDYwLCA4MCwgMzAsIDkKIExURVhUICImVGlsbDoiLCAxMDkxLCAxMjAsIDgwLCAzMCwgOQogTFRFWFQgIlV0c2tyaWZ0c2t2YWxpdGV0OiIsIDEwOTIsIDYsIDEwMCwgNzYsIDkKIENPTUJPQk9YIDExMzYsIDgwLCAxMDAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTa3JpdiB0aWxsIGZpbCIsIDEwNDAsIDIwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiU2FtbWFudHJ5Y2t0IiwgMTA0MSwgMTYwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVF9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlNrcml2YXJpbnN05GxsbmluZ2FyIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICJTa3JpdmFyZSIsIDEwNzIsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZTdGFuZGFyZHNrcml2YXJlIiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbaW5nZW5dIiwgMTA4OCwgMzUsIDM1LCAxMjAsIDkKIFJBRElPQlVUVE9OICJTJnBlY2lmaWNlcmFkIHNrcml2YXJlIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIDExMzYsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT2siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQXZicnl0IiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSW5zdORsbG5pbmdhciIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiT3JpZW50ZXJpbmciLCAxMDczLCA2LCA4NSwgMTAwLCA1MCwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICJTJnTlZW5kZSIsIDEwNTgsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIiZMaWdnYW5kZSIsIDEwNTksIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCAxMDk3LCAxMCwgOTUsIDMyLCAzMgogSUNPTiAiUE9SVFJBSVQiLCAxMDk4LCAxMCwgOTUsIDMyLCAzMgogR1JPVVBCT1ggIlBhcGVyIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICJTdCZvcmxlayIsIDEwODksIDEzMCwgOTUsIDMwLCA5CiBMVEVYVCAiJkvkbGxhIiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5CiBDT01CT0JPWCAxMTM3LCAxNTUsIDk1LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENPTUJPQk9YIDExMzgsIDE1NSwgMTEwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9GT05UIERJQUxPRyBESVNDQVJEQUJMRSAgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJUeXBzbml0dCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICAgICAgICAgIiZUeXBzbml0dDoiLDEwODggLDYsMyw0MCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzNiAsNiwxMyw5NCw1NCwgIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiVHlwc25pdHRzcyZ0aWw6IiwxMDg5ICwxMDgsMyw0NCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzNywxMDgsMTMsNjQsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICImU3RvcmxlazoiLDEwOTAsMTc5LDMsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzgsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUgfCBDQlNfU09SVAogICAgREVGUFVTSEJVVFRPTiAgICJPayIsSURPSywyMTgsNiw0MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLElEQ0FOQ0VMLDIxOCwyMyw0MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImQW525G5kIiwgMTAyNiwyMTgsNDAsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkhq5GxwIiAsIDEwMzgsMjE4LDU3LDQwLDE0LFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIkVmZmVrdGVyIiwxMDcyLDYsNzIsODQsMzQsV1NfR1JPVVAKICAgIENIRUNLQk9YCSAgICAiJkdlbm9tc3RydWtlbiIsIDEwNDAsIDEwLDgyLDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiAgICBDSEVDS0JPWCAJICAgICImVW5kZXJzdHJ1a2VuIiwgMTA0MSwgMTAsOTQsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAgICAgICAgICImRuRyZzoiLCAxMDkxICw2LDExMCwzMCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzOSw2LDEyMCw4NCwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgIFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIlRlc3QiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiAgICBDVEVYVCAgICAgICAgICAgIkFhQmJZeVp6IixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogICAgTFRFWFQgICAgICAgICAgICJTY3ImaXB0OiIsc3RjNyAsOTgsMTE0LDgwLDkKICAgIENPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0NPTE9SIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMzAwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRuRyZyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJkdydW5kbORnZ2FuZGUgZuRyZ2VyOiIsICAgMTA4OCwgNCwgICAgNCwgIDE0MCwgMTAKIExURVhUICImRWdlbmRlZmluaWVyYWRlIGbkcmdlcjoiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJFbmbkcmdhdCIsICAxMDkwLCAxNTAsIDE1MSwgIDQ4LCAxMAogTFRFWFQgICAiJlL2ZDoiLCA3MjYgLyoxMDk0Ki8sMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZHcvZuOiIsNzI3LyoxMDk1Ki8sMjQ5LDE0MCwyNCwxMAogRURJVFRFWFQgNzA3LCAyNzUsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZCbOU6Iiw3MjggLyoxMDk2Ki8sMjQ5LDE1NCwyNCwxMAogRURJVFRFWFQgNzA4LCAyNzUsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkludDoiICw3MjMgLyoxMDkxKi8sMjAyLDEyNiwyMiwxMAogRURJVFRFWFQgNzAzLCAyMjYsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJk1ldDoiICw3MjQgLyoxMDkyKi8sMjAyLDE0MCwyMiwxMAogRURJVFRFWFQgNzA0LCAyMjYsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkx1bToiICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMAogRURJVFRFWFQgNzA1LCAyMjYsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPayIsICBJRE9LLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiSGrkbHAiLCAxMDM4LDEwMCwxNjYsIDQ0LCAxNAogUFVTSEJVVFRPTiAiJkzkZ2cgdGlsbCBlZ2VuZGVmaW5pZXJhZCBm5HJnIiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZEZWZpbmllcmEgZWdlbiBm5HJnID4+IiwgNzE5LyoxMDI1Ki8sICAgNCwgMTUwLCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gICImaSIsNzEzLDMwMCwyMDAsNCwxNCAgIC8qIGp1c3QgYSBkdW1teTogICdpJyBpcyAgbGlrZSAgJmkgIGluICJzb2wmaWQiICAqLwp9CgoKRklORERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU/ZrIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImU/ZrIGVmdGVyOiIsIC0xLCA0LCA4LCA0MiwgOAogRURJVFRFWFQgMTE1MiwgNDcsIDcsIDEyOCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkJhcmEgaGVsYSBvcmQiLCAxMDQwLCA0LCAyNiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlNraWxsbmFkIHDlIHN0b3JhL3Nt5SBib2tzdOR2ZXIiLCAxMDQxLCA0LCA0MiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIlJpa3RuaW5nIiwgMTA3MiwgMTA3LCAyNiwgNjgsIDI4CiBDT05UUk9MICImVXBwIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTExLCAzOCwgMjAsIDEyCiBDT05UUk9MICImTmVyIiwgMTA1NywgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDEzOCwgMzgsIDMwLCAxMgogREVGUFVTSEJVVFRPTiAiJlP2ayBlZnRlciBu5HN0YSIsIElET0ssIDE4MiwgNSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAxODIsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMTgyLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzAsIDk0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlP2ay9lcnPkdHQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZT9msgZWZ0ZXI6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImRXJz5HR0IG1lZDoiLCAtMSwgNCwgMjYsIDQ4LCA4CiBFRElUVEVYVCAxMTUzLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkJhcmEgaGVsYSBvcmQiLCAxMDQwLCA1LCA0NiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlNraWxsbmFkIHDlIHN0b3JhL3Nt5SBib2tzdOR2ZXIiLCAxMDQxLCA1LCA2MiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiJlP2ayBlZnRlciBu5HN0YSIsIElET0ssIDE3NCwgNCwgNTAsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImRXJz5HR0IiwgMTAyNCwgMTc0LCAyMSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkVyc+R0dCAmYWxsYSIsIDEwMjUsIDE3NCwgMzgsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZIauRscCIsIDEwMzgsIDE3NCwgNzUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KClBSSU5UMzIgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxODYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiU2tyaXYgdXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAgICJPayIsICAgICBJRE9LLCAgICAgMTgwLDE2NCwgNDgsMTQsIFdTX0dST1VQIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLCBJRENBTkNFTCwgMjMyLDE2NCwgNDgsMTQsIFdTX0dST1VQCiBQVVNIQlVUVE9OICAgICAgIiZIauRscCIsICBwc2hIZWxwLCAgNTAsIDE2MSwgNDgsMTQsIFdTX0dST1VQCgogR1JPVVBCT1ggICAgICAgICJTa3JpdmFyZSIsICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKIENPTlRST0wgICAgICAgICAiU2tyJml2IHRpbGwgZmlsIixjaHgxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKIFBVU0hCVVRUT04gICAgICAiJkVnZW5za2FwZXIiLCAgICBwc2gyLCAyMTIsIDE3LCAgNjAsMTQsIFdTX0dST1VQCiBMVEVYVCAgICAgICAgICAgIiZOYW1uOiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNTIsIDE4LCAgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW1teS1zdGF0dXMiLCAgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8U1NfTEVGVE5PV09SRFdSQVAKIExURVhUICAgICAgICAgICAiVHlwOiIsICAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bW15LXR5cCIsICAgICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYfCBTU19MRUZUTk9XT1JEV1JBUAogTFRFWFQgICAgICAgICAgICJQbGF0czoiLCAgICAgICAgIHN0YzEwLCAxNiwgNjAsICAzNiwxMCwgU1NfTk9QUkVGSVgKIExURVhUICAgICAgICAgICAiRHVtbXktcGxhdHMiLCAgICAgIHN0YzE0LCA1MiwgNjAsIDIyNCwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIktvbW1lbnRhcjoiLCAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW1teS1rb21tZW50YXIiLCAgc3RjMTMsIDUyLCA3MiwgMTUyLDEwLCBTU19OT1BSRUZJWHwgU1NfTEVGVE5PV09SRFdSQVAKCiBHUk9VUEJPWCAgICAgICAgIktvcGlvciIsICAgICAgICAgZ3JwMiwgMTYwLCA5MiwgMTIwLDY0LCBXU19HUk9VUAogTFRFWFQgICAgICAgICAgICJBbnRhbCBrJm9waW9yOiIsIHN0YzUsMTY4LDEwOCw2OCw4CiBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMywgMTYyLDEyNCwgIDc2LDI0LFdTX0dST1VQIHwgU1NfQ0VOVEVSSU1BR0UKIENPTlRST0wgICAgICAgICAiJlNvcnRlcmEiLCAgICAgICBjaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8V1NfR1JPVVAgfCBXU19UQUJTVE9QLDI0MCwxMzAsMzYsMTIKIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQzLCAyNDAsMTA2LCAgMzIsMTIsIFdTX0dST1VQIHxFU19OVU1CRVIKCiBHUk9VUEJPWCAgICAgICAgIlNrcml2IHV0IiwgICAgICAgZ3JwMSwgICA4LDkyLCAgMTQ0LDY0LCBXU19HUk9VUAogQ09OVFJPTCAgICAgICAgICImQWxsYSIsICAgICAgICAgIHJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHxXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTA2LDY0LDEyCiBDT05UUk9MICAgICAgICAgIlNpJmRvciIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCiBDT05UUk9MICAgICAgICAgIiZNYXJrZXJpbmciLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTM4LDY0LDEyCiBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MSwgIDc0LDEyMiwgIDI2LDEyLCBXU19HUk9VUCB8RVNfTlVNQkVSCiBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MiwgMTE4LDEyMiwgIDI2LDEyLCBXU19HUk9VUCB8RVNfTlVNQkVSCiBSVEVYVCAgICAgICAgICAgIiZmcuVuOiIsICAgICAgICAgc3RjMiwgIDUyLDEyNCwgIDIwLDgKIFJURVhUICAgICAgICAgICAiJnRpbGw6IiwgICAgICAgICBzdGMzLCAxMDAsMTI0LCAgMTYsOAoKfQoKUFJJTlQzMl9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJVdHNrcmlmdHNmb3JtYXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KIERFRlBVU0hCVVRUT04gICAiT2siLElET0ssMTgwLDE1Niw0OCwxNCxXU19HUk9VUAogUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLElEQ0FOQ0VMLDIzMiwxNTYsNDgsMTQKCiBHUk9VUEJPWCAgICAgICAgIlNrcml2YXJlIiwgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiBQVVNIQlVUVE9OICAgICAgIiZFZ2Vuc2thcGVyIiwgICAgcHNoMiwgMjEyLCAxNywgNjAsMTQsIFdTX0dST1VQCiBMVEVYVCAgICAgICAgICAgIiZOYW1uOiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAgICAgICAgICJTdGF0dXM6IiwgICAgICAgIHN0YzgsICAxNiwgMzYsICAzNiwxMCwgU1NfTk9QUkVGSVgKIExURVhUICAgICAgICAgICAiRHVtbXktc3RhdHVzIiwgICAgICBzdGMxMiwgNTIsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKIExURVhUICAgICAgICAgICAiVHlwOiIsICAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bW15LXR5cCIsICAgICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKIExURVhUICAgICAgICAgICAiUGxhdHM6IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bW15LXBsYXRzIiwgICAgICBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKIExURVhUICAgICAgICAgICAiS29tbWVudGFyOiIsICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bW15LWtvbW1lbnRhciIsICBzdGMxMywgNTIsIDcyLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKIEdST1VQQk9YICAgICAgICAiUGFwcGVyIiwgICAgICAgICBncnAyLCAgIDgsIDkyLCAxNjQsNTYsIFdTX0dST1VQCiBMVEVYVCAgICAgICAgICAgIlN0Jm9ybGVrOiIsICAgICAgc3RjMiwgIDE2LDEwOCwgIDM2LCA4CiBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMiwgIDUyLDEwNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICAgICAgICAgIiZL5GxsYToiLCAgICAgICAgc3RjMywgIDE2LDEyOCwgIDM2LCA4CiBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMywgIDUyLDEyNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAgICAgICAgIk9yaWVudGVyaW5nIiwgICAgZ3JwMSwgMTgwLCA5MiwgMTAwLDU2LCBXU19HUk9VUAogSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzEsIDE5NSwxMTIsICAxOCwyMCwgV1NfR1JPVVAKIENPTlRST0wgICAgICAgICAiU3Qm5WVuZGUiLCAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHxXU19UQUJTVE9QLDIyNCwxMDYsNTIsMTIKIENPTlRST0wgICAgICAgICAiTCZpZ2dhbmRlIiwgICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwyMjQsMTI2LDUyLDEyCkVORAoKUEFHRVNFVFVQRExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDMyLCAzMiwgMjQwLCAyNDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlV0c2tyaWZ0c2Zvcm1hdCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogIENPTlRST0wgIiIsIHJjdDEsICJTdGF0aWMiLCBTU19XSElURVJFQ1QsIDgwLCA4LCA4MCwgODAKICBDT05UUk9MICIiLCByY3QyLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsIDE2MCwgMTIsIDQsIDgwCiAgQ09OVFJPTCAiIiwgcmN0MywgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAgODQsIDg4LCA4MCwgNAogIEdST1VQQk9YICJQYXBwZXIiLCBncnAyLCA4LCA5NiwgMjI0LCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiJlN0b3JsZWs6Iiwgc3RjMiwgMTYsIDExMiwgMzYsIDgKICBDT01CT0JPWCBjbWIyLCA2NCwgMTEwLCAxNjAsIDE2MCxDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBMVEVYVCAiJlRyYXk6Iiwgc3RjMywgMTYsIDEzMiwgMzYsIDgKICBDT01CT0JPWCBjbWIzLCA2NCwgMTMwLCAxNjAsIDE2MCxDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBHUk9VUEJPWCAiT3JpZW50ZXJpbmciLCBncnAxLCA4LCAxNTYsIDY0LCA1NiwgQlNfR1JPVVBCT1gKICBBVVRPUkFESU9CVVRUT04gIiZTdOVlbmRlIiwgcmFkMSwgMTYsIDE3MCwgNTIsIDEyLCBCU19BVVRPUkFESU9CVVRUT04KICBBVVRPUkFESU9CVVRUT04gIiZMaWdnYW5kZSIsIHJhZDIsIDE2LCAxOTAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgR1JPVVBCT1ggIk1hcmdpbmFsZXIiLCBncnA0LCA4MCwgMTU2LCAxNTIsIDU2LCBCU19HUk9VUEJPWAogIExURVhUICImVuRuc3RlcjoiLCBzdGMxNSwgODgsIDE3MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ0LCAxMTEsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImSPZnZXI6Iiwgc3RjMTYsIDE1OSwgMTcyLCAyNywgOAogIEVESVRURVhUIGVkdDYsIDE4NywgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIibWdmVya2FudDoiLCBzdGMxNywgODgsIDE5MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ1LCAxMTEsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImTmVkZXJrYW50OiIsIHN0YzE4LCAxNTksIDE5MiwgMjMsIDgKICBFRElUVEVYVCBlZHQ3LCAxODcsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIERFRlBVU0hCVVRUT04gIk9rIiwgSURPSywgNzEsIDIyMCwgNTAsIDE0LCBCU19QVVNIQlVUVE9OCiAgUFVTSEJVVFRPTiAiQXZicnl0IiwgSURDQU5DRUwsIDEyNiwgMjIwLCA1MCwgMTQKICBQVVNIQlVUVE9OICImU2tyaXZhcmUuLi4iLCBwc2gzLCAxODQsIDIyMCwgNDgsIDE0CkVORAoKTkVXRklMRU9QRU5PUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAi1nBwbmEiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgICAgICAgIkxldGEgJmkiLElEQ19MT09LSU5TVEFUSUMsNCw2LDQzLDgsIFNTX05PVElGWQogQ09NQk9CT1ggICAgSURDX0xPT0tJTiw0OSwzLDEzMiwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiBMVEVYVCAgICAgICAiIiAsIElEQ19UT09MQkFSU1RBVElDLCAxODEsIDIsIDEwMiwgMTcsIE5PVCBXU19HUk9VUCB8IE5PVCBXU19WSVNJQkxFCiBMSVNUQk9YICAgICBJRENfU0hFTExTVEFUSUMsNCwyMCwyNzIsODUsIExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTVVMVElDT0xVTU4gfCBXU19IU0NST0xMIHwgTk9UIFdTX1ZJU0lCTEUKCiBMVEVYVCAgICAgICAiRmlsJm5hbW46IixJRENfRklMRU5BTUVTVEFUSUMsNSwxMTIsNDYsOCwgU1NfTk9USUZZCiBFRElUVEVYVCAgICBJRENfRklMRU5BTUUsNTQsMTEwLDE1NSwxMixFU19BVVRPSFNDUk9MTAoKIExURVhUICAgICAgICImRmlsZm9ybWF0IixJRENfRklMRVRZUEVTVEFUSUMsNSwxMjgsNDIsOCwgU1NfTk9USUZZCiBDT01CT0JPWCAgICBJRENfRklMRVRZUEUsNTQsMTI2LDE1NSw1MyxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiBDT05UUk9MICAgICAi1nBwbmEgc29tICZza3JpdnNreWRkYWQiLElEQ19PUEVOUkVBRE9OTFksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw1NCwxNDUsMTAwLDEwCgogREVGUFVTSEJVVFRPTiAgICAgICAiJtZwcG5hIiwgICAgICAgICAgICAgICAgIElET0ssMjIyLDExMCw1MCwxNAogUFVTSEJVVFRPTiAgICAgICAgICAiQXZicnl0IiwgICAgICAgICAgICAgICAgSURDQU5DRUwsMjIyLDEyOCw1MCwxNAogUFVTSEJVVFRPTiAgICAgICAgICAiJkhq5GxwIiwgICAgICAgICAgICAgICAgIHBzaEhlbHAsMjIyLDE0NSw1MCwxNAp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiBJRFNfQUJPVVRCT1ggICAgICAgICAgICAiJk9tIEZvbGRlclBpY2tlci10ZXN0IgogSURTX0RPQ1VNRU5URk9MREVSUyAgICAgIkRva3VtZW50bWFwcGFyIgogSURTX1BFUlNPTkFMICAgICAgICAgICAgIk1pbmEgRG9rdW1lbnQiCiBJRFNfRkFWT1JJVEVTICAgICAgICAgICAiTWluYSBGYXZvcml0ZXIiCiBJRFNfUEFUSCAgICAgICAgICAgICAgICAiU3lzdGVtc/ZrduRnIgogSURTX0RFU0tUT1AgICAgICAgICAgICAgIlNrcml2Ym9yZCIKIElEU19GT05UUyAgICAgICAgICAgICAgICJUeXBzbml0dCIKIElEU19NWUNPTVBVVEVSICAgICAgICAgICJEZW4gaORyIGRhdG9ybiIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogSURTX1NZU1RFTUZPTERFUlMgICAgICAgIlN5c3RlbW1hcHBhciIKIElEU19MT0NBTEhBUkRSSVZFUyAgICAgICJMb2thbGEgaOVyZGRpc2thciIKIElEU19GSUxFTk9URk9VTkQgICAgICAgICJLdW5kZSBpbnRlIGhpdHRhIGZpbGVuIgogSURTX1ZFUklGWUZJTEUgICAgICAgICAgIlZhZCBnb2QgdmVyaWZpZXJhIHPlIGtvcnJla3QgZmlsbmFtbiDkciBhbmdpdmV0IgogSURTX0NSRUFURUZJTEUgICAgICAgICAgIkZpbGVuIGZpbm5zIGludGVcblZpbGwgZHUgc2thcGEgZmlsPyIKIElEU19PVkVSV1JJVEVGSUxFICAgICAgICJGaWxlbiBmaW5ucyByZWRhbi5cblZpbGwgZHUgZXJz5HR0YSBkZW4/IgogSURTX0lOVkFMSURfRklMRU5BTUVfVElUTEUgIklsbGVnYWx0IHRlY2tlbiBpIHP2a3bkZyIKIElEU19JTlZBTElEX0ZJTEVOQU1FICAgICJFdHQgZmlsbmFtbiBrYW4gaW50ZSBpbm5laOVsbGEgbuVnb24gYXYgZvZsamFuZGUgdGVja2VuOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAiU/ZrduRnZW4gZmlubnMgaW50ZSIKIElEU19GSUxFTk9URVhJU1RJTkcgICAgICJGaWxlbiBmaW5ucyBpbnRlIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiBJRFNfVVBGT0xERVIgICAgICAgICAiVXBwIGVuIG5pduUiCiBJRFNfTkVXRk9MREVSICAgICAgICAiU2thcGEgbnkgbWFwcCIKIElEU19MSVNUVklFVyAgICAgICAgICJMaXN0YSIKIElEU19SRVBPUlRWSUVXICAgICAgICJEZXRhbGplcmF0IgogSURTX1RPREVTS1RPUCAgICAgICAgIlZpc2EgU2tyaXZib3JkZXQiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKIFBEMzJfUFJJTlRfVElUTEUgICAgICAgIlNrcml2IHV0IgoKIFBEMzJfVkFMVUVfVVJFQURBQkxFICAgICAgICAgICAgICAgICAgIk9s5HNiYXJ0IGbkbHQiCiBQRDMyX0lOVkFMSURfUEFHRV9SQU5HRSAiRGV0dGEgduRyZGV0IGxpZ2dlciBpbnRlIGlub20gc2lkb3VydmFsZXQuXG5cClZhciBnb2Qgc2tyaXYgaW4gZXR0IHbkcmRlIG1lbGxhbiAlZCBvY2ggJWQuIgogUEQzMl9GUk9NX05PVF9BQk9WRV9UTyAgICAgICAgICAgICAgICAiJ2Zy5W4nLWbkbHRldCBrYW4gaW50ZSD2dmVyc2tyaWRhICd0aWxsJy1m5Gx0ZXQiCiBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgICAgICAgICAgICAgICJNYXJnaW5hbGVybmEg9nZlcmxhcHBhciBlbGxlciDkciB1dGFuZvZyIFwKcGFwcGVyc2dy5G5zZXJuYS5cblZhciBnb2Qgc2tyaXYgaW4gbWFyZ2luYWxlcm5hIGlnZW4uIgogUEQzMl9OUl9PRl9DT1BJRVNfRU1QVFkgICAgICAgICAgICAgICAiRuRsdGV0ICdBbnRhbCBrb3Bpb3InIGthbiBpbnRlIHZhcmEgdG9tdC4iCiBQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICJEaW4gc2tyaXZhcmUgc2FrbmFyIHN09mQgZvZyIHPlIG3lbmdhIGtvcGlvciBzb20gZHUgYW5nYXYuIFZhZCBnb2Qgc2tyaXYgaW4gZXR0IHbkcmRlIG1lbGxhbiAxIG9jaCAlZC4iCiBQRDMyX1BSSU5UX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICJFdHQgc2tyaXZhcmZlbCBpbnRy5GZmYWRlLiIKIFBEMzJfTk9fREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgIkRldCBmaW5ucyBpbmdlbiBzdGFuZGFyZHNrcml2YXJlLiIKIFBEMzJfQ0FOVF9GSU5EX1BSSU5URVIgICAgICAgICAgICAgICAgIkthbiBpbnRlIGhpdHRhIHNrcml2YXJlLiIKIFBEMzJfT1VUX09GX01FTU9SWSAgICAgICAgICAgICAgICAgICAgIlNsdXQgcOUgbWlubmUuIgogUEQzMl9HRU5FUklDX0VSUk9SICAgICAgICAgICAgICAgICAgICAiRXR0IGZlbCB1cHBzdG9kLiIKIFBEMzJfRFJJVkVSX1VOS05PV04gICAgICAgICAgICAgICAgICAgIk9r5G5kIHNrcml2YXJkcml2cnV0aW4uIgogUEQzMl9OT19ERVZJQ0VTICAgICAgICAgICAgICAgICAgICAgICAiRW4gc2tyaXZhcmUgbeVzdGUgaW5zdGFsbGVyYXMgaW5uYW4gXApha3Rpdml0ZXRlciBzb20gdXRza3JpZnQgZWxsZXIgc2lkaW5zdORsbG5pbmdhciBrYW4gdXRm9nJhcy4gXApJbnN0YWxsZXJhIGVuIHNrcml2YXJlIG9jaCBm9nJz9msgcOUgbnl0dC4iCgogUEQzMl9ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAgICAiU3RhbmRhcmRza3JpdmFyZTsgIgogUEQzMl9OUl9PRl9ET0NVTUVOVFNfSU5fUVVFVUUgICAgICAgICAiRGV0IGZpbm5zICVkIGRva3VtZW50IGkga/ZuIgogUEQzMl9NQVJHSU5TX0lOX0lOQ0hFUyAgICAgICAgICAgICAgICAiTWFyZ2luYWxlciBbdHVtXSIKIFBEMzJfTUFSR0lOU19JTl9NSUxMSU1FVEVSUyAgICAgICAgICAgIk1hcmdpbmFsZXIgW21pbGxpbWV0ZXJdIgogUEQzMl9NSUxMSU1FVEVSUyAgICAgICAgICAgICAgICAgICAgICAibWlsbGltZXRlciIKCiBQRDMyX1BSSU5URVJfU1RBVFVTX1JFQURZICAgICAgICAgICAgICJSZWRvIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQVVTRUQgICAgICAgICAgICAiU3Rhbm5hZDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUiAgICAgICAgICAgICAiRmVsOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04gICJW5G50YW5kZSBib3J0dGFnbmluZzsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9KQU0gICAgICAgICAiUGFwcGVyc2ty5W5nZWw7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfT1VUICAgICAgICAgIlNsdXQgcOUgcGFwcGVyOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVEICAgICAgICJGeWxsIHDlIHBhcHBlciBtYW51ZWxsdDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9QUk9CTEVNICAgICAiUGFwcGVyc3Byb2JsZW07ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORSAgICAgICAgICAgIlNrcml2YXJlbiDkciBhdnN05G5nZDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUgICAgICAgICAiSS9PIEFrdGl2OyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX0JVU1kgICAgICAgICAgICAgICJVcHB0YWdlbjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiU2tyaXZlciB1dDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwgICAiVXRtYXRuaW5nc2ZhY2tldCDkciBmdWxsdDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19OT1RfQVZBSUxBQkxFICAgICAiSW50ZSB0aWxsZ+RuZ2xpZzsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19XQUlUSU5HICAgICAgICAgICAiVuRudGFyOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcgICAgICAgICJCZWhhbmRsYXI7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU5JVElBTElaSU5HICAgICAgIkluaXRpZXJhcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19XQVJNSU5HX1VQICAgICAgICAiVuRybWVyIHVwcDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19UT05FUl9MT1cgICAgICAgICAiVG9uZXIgc25hcnQgc2x1dDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19OT19UT05FUiAgICAgICAgICAiSW5nZW4gdG9uZXI7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UICAgICAgICAgIlBhZ2UgcHVudDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19VU0VSX0lOVEVSVkVOVElPTiAiQXZicnV0ZW4gYXYgYW525G5kYXJlbjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZICAgICAiU2x1dCBw5SBtaW5uZTsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19ET09SX09QRU4gICAgICAgICAiU2tyaXZhcmT2cnJlbiDkciD2cHBlbjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAiU2tyaXZhcnNlcnZlciBva+RuZDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAiRmVsc+RrZXJ0IGzkZ2U7ICIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUgLyogRm9udCBzdHlsZXMgKi8KewogICAgSURTX0ZPTlRfUkVHVUxBUiAgICAgICAiU3RhbmRhcmQiCiAgICBJRFNfRk9OVF9CT0xEICAgICAgICAgICJGZXQiCiAgICBJRFNfRk9OVF9JVEFMSUMgICAgICAgICJLdXJzaXYiCiAgICBJRFNfRk9OVF9CT0xEX0lUQUxJQyAgICJGZXQga3Vyc2l2Igp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRSAvKiBDb2xvciBuYW1lcyAqLwp7CiAgICBJRFNfQ09MT1JfQkxBQ0sgICAgICJTdmFydCIKICAgIElEU19DT0xPUl9NQVJPT04gICAgIlL2ZGJydW4iCiAgICBJRFNfQ09MT1JfR1JFRU4gICAgICJHcvZuIgogICAgSURTX0NPTE9SX09MSVZFICAgICAiT2xpdiIKICAgIElEU19DT0xPUl9OQVZZICAgICAgIk5hdnkiCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICJMaWxhIgogICAgSURTX0NPTE9SX1RFQUwgICAgICAiVGVhbCIKICAgIElEU19DT0xPUl9HUkFZICAgICAgIkdy5SIKICAgIElEU19DT0xPUl9TSUxWRVIgICAgIlNpbHZlciIKICAgIElEU19DT0xPUl9SRUQgICAgICAgIlL2ZCIKICAgIElEU19DT0xPUl9MSU1FICAgICAgIkxpbWUiCiAgICBJRFNfQ09MT1JfWUVMTE9XICAgICJHdWwiCiAgICBJRFNfQ09MT1JfQkxVRSAgICAgICJCbOUiCiAgICBJRFNfQ09MT1JfRlVDSFNJQSAgICJGdWNoc2lhIgogICAgSURTX0NPTE9SX0FRVUEgICAgICAiQXF1YSIKICAgIElEU19DT0xPUl9XSElURSAgICAgIlZpdCIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX0ZPTlRfU0laRSAgICJW5GxqIGVuIHRlY2tlbnN0b3JsZWsgbWVsbGFuICVkIG9jaCAlZCBwdW5rdGVyLiIKICAgIElEU19TQVZFX0JVVFRPTiAiJlNwYXJhIgogICAgSURTX1NBVkVfSU4gICAgICJTcGFyYSAmaToiCiAgICBJRFNfU0FWRSAgICAgICAgIlNwYXJhIgogICAgSURTX1NBVkVfQVMgICAgICJTcGFyYSBzb20iCiAgICBJRFNfT1BFTl9GSUxFICAgItZwcG5hIGZpbCIKfQo=