LyoKICogQ29weXJpZ2h0IDE5OTUgQWxleGFuZHJlIEp1bGxpYXJkCiAqIENvcHlyaWdodCAxOTk3IE1pa29sYWogWmFsZXdza2kKICogQ29weXJpZ2h0IDIwMDQgSmFjZWsgQ2FiYW4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgImNkbGcuaCIKI2luY2x1ZGUgImZpbGVkbGdicm93c2VyLmgiCgovKgogKiBXQVJOSU5HOiBETyBOT1QgQ0hBTkdFIFRIRSBTSVpFIE9GIFRIRSBTVEFOREFSRCBESUFMT0cgVEVNUExBVEVTLgogKi8KCkxBTkdVQUdFIExBTkdfUE9MSVNILCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgMzYsIDI0LCAyODUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJPdHfzcnoiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgZWR0MSwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkthdGFsb2dpOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiV3mcd2lldGwgcGxpa2kgJnR5cHU6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggY21iMSwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEeXNraToiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIGNtYjIsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk90d/NyeiIsIDEsIDIwOCwgNiwgNjYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBbnVsdWoiLCAyLCAyMDgsIDI0LCA2NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJlBvbW9jIiwgcHNoSGVscCwgMjA4LCA0NiwgNjYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJUeWxrbyBkbyAmb2Rjenl0dSIsIGNoeDEsIDIwOCwgNjgsIDY2LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpTQVZFX0ZJTEUgRElBTE9HIDM2LCAyNCwgMjg1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiWmFwaXN6IGpha28uLi4iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgZWR0MSwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkthdGFsb2dpOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiUG9rYXp1aiBwbGlraSAmdHlwdToiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCBjbWIxLCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkR5c2tpOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggY21iMiwgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiWmFwaXN6IGpha28iLCAxLCAyMDgsIDYsIDY2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQW51bHVqIiwgMiwgMjA4LCAyNCwgNjYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZQb21vYyIsIHBzaEhlbHAsIDIwOCwgNDYsIDY2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiVHlsa28gZG8gJm9kY3p5dHUiLCBjaHgxLCAyMDgsIDY4LCA2NiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQgRElBTE9HIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRHJ1a3VqIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICJEcnVrYXJrYToiLCAxMDg4LCA2LCA2LCA0MCwgOQogTFRFWFQgIiIsIDEwODksIDYwLCA2LCAxNTAsIDkKIEdST1VQQk9YICJaYWtyZXMgd3lkcnVrdSIsIGdycDEsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZXc3p5c3RrbyIsIHJhZDEsIDE2LCA0NSwgNjAsIDEyCiBSQURJT0JVVFRPTiAiVyZ5YvNyIiwgcmFkMiwgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICImU3Ryb255IiwgcmFkMywgMTYsIDc1LCA2MCwgMTIKIERFRlBVU0hCVVRUT04gIkRydWt1aiIsIDEsIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBbnVsdWoiLCAyLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJlVzdGF3aWVuaWEiLCBwc2gxLCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZPZDoiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJkRvOiIsIDEwOTEsIDEyMCwgODAsIDMwLCA5CiBMVEVYVCAiSmFrb5zmICZ3eWRydWt1OiIsIDEwOTIsIDYsIDEwMCwgNzYsIDkKIENPTUJPQk9YIGNtYjEsIDgwLCAxMDAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkRydWt1aiBkbyBwbGkma3UiLCBjaHgxLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlNvcnR1aiBrb3BpZSIsIGNoeDIsIDE2MCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlRfU0VUVVAgRElBTE9HIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVXN0YXdpZW5pYSB3eWRydWt1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICJEcnVrYXJrYSIsIGdycDEsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZEb215nGxuYSBkcnVrYXJrYSIsIHJhZDEsIDE2LCAyMCwgODAsIDEyCiBMVEVYVCAiW2JyYWtdIiwgMTA4OCwgMzUsIDM1LCAxMjAsIDkKIFJBRElPQlVUVE9OICImSW5uYSBkcnVrYXJrYSIsIHJhZDIsIDE2LCA1MCwgODAsIDEyCiBDT01CT0JPWCBjbWIxLCAzNSwgNjUsIDE0OSwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFudWx1aiIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJk9wY2plIiwgcHNoMSwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJPcmllbnRhY2phIiwgZ3JwMiwgNiwgODUsIDEwMCwgNTAsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiVyBwJmlvbmllIiwgcmFkMywgNTAsIDEwMCwgNDAsIDEyCiBSQURJT0JVVFRPTiAiVyBwbyZ6aW9taWUiLCByYWQ0LCA1MCwgMTE1LCA0MCwgMTIKIElDT04gIkxBTkRTQ0FQIiwgc3RjMTAsIDEwLCA5NSwgMzIsIDMyCiBJQ09OICJQT1JUUkFJVCIsIHN0YzExLCAxMCwgOTUsIDMyLCAzMgogR1JPVVBCT1ggIlBhcGllciIsIGdycDMsIDEyMCwgODUsIDE4MCwgNTAsIEJTX0dST1VQQk9YCiBMVEVYVCAiJldpZWxrb5zmIiwgMTA4OSwgMTMwLCA5NSwgMzAsIDkKIExURVhUICImj3LzZLNvIiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5CiBDT01CT0JPWCBjbWIyLCAxNTUsIDk1LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENPTUJPQk9YIGNtYjMsIDE1NSwgMTEwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9GT05UIERJQUxPRyAgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDemNpb25rYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICAgICAgICAgIiZDemNpb25rYToiLHN0YzEgLDYsMyw0MCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iMSwgNiwxMyw5NCw1NCwgIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJlN0eWw6IixzdGMyICwxMDgsMyw0NCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iMiwxMDgsMTMsNjQsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIiZSb3ptaWFyOiIsc3RjMywxNzksMywzMCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iMywxNzksMTMsMzIsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMjE4LDYsNDAsMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04gICAgICAiQW51bHVqIixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZaYXN0b3N1aiIsIHBzaDMsMjE4LDQwLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImUG9tb2MiICwgcHNoSGVscCwyMTgsNTcsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIkVmZWt0eSBzcGVjaWFsbmUiLGdycDEsNiw3Miw4NCwzNCxXU19HUk9VUAogICAgQ0hFQ0tCT1gJICAgICJQcnomZWtyZZxsb25hIiwgY2h4MSwgMTAsODIsNjUsMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKICAgIENIRUNLQk9YIAkgICAgIlAmb2RrcmWcbG9uYSIsIGNoeDIsIDEwLDk0LDY1LDEwLCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgICAgICAgICAiJktvbG9yOiIsIHN0YzQgLDYsMTEwLDMwLDkKICAgIENPTUJPQk9YICAgICAgICBjbWI0LDYsMTIwLDg0LDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfAoJCSAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiUHJ6eWuzYWQiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiAgICBDVEVYVCAgICAgICAgICAgIkFhQmJZeVp6IixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogICAgTFRFWFQgICAgICAgICAgICJTa3ImeXB0OiIsc3RjNyAsOTgsMTE0LDQwLDkKICAgIENPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0NPTE9SIERJQUxPRyAzNiwgMjQsIDMwMCwgMTg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIktvbG9yIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImUG9kc3Rhd293ZSBrb2xvcnk6IiwgICAxMDg4LCA0LCAgICA0LCAgMTQwLCAxMAogTFRFWFQgIkRvd29sbmUgJmtvbG9yeToiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJLb2xvciIsICAxMDkwLCAxNDgsIDE1MSwgIDQ4LCAxMAogTFRFWFQgICAiJkN6ZXJ3OiIsIDcyNiAvKjEwOTQqLywyNDksMTI2LDI0LDEwCiBFRElUVEVYVCA3MDYsIDI3NSwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJlppZWw6Iiw3MjcvKjEwOTUqLywyNDksMTQwLDI0LDEwCiBFRElUVEVYVCA3MDcsIDI3NSwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJk5pZWI6Iiw3MjggLyoxMDk2Ki8sMjQ5LDE1NCwyNCwxMAogRURJVFRFWFQgNzA4LCAyNzUsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJk9kY2llOiIgLDcyMyAvKjEwOTEqLywyMDIsMTI2LDIyLDEwCiBFRElUVEVYVCA3MDMsIDIyNiwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICImTmFzeWM6IiAsNzI0IC8qMTA5MiovLDIwMiwxNDAsMjIsMTAKIEVESVRURVhUIDcwNCwgMjI2LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZKYXNrcjoiICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMAogRURJVFRFWFQgNzA1LCAyMjYsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPSyIsICAxLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFudWx1aiIsIDIsIDUyLCAxNjYsIDQ0LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJQb21vYyIsIHBzaEhlbHAsMTAwLDE2NiwgNDQsIDE0CiBQVVNIQlVUVE9OICImRG9kYWogZG8gZG93b2xueWNoIiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlomZGVmaW5pdWoga29sb3IgPj4iLCA3MTkvKjEwMjUqLywgICA0LCAxNTAsIDE0MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZpIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ2knIGlzICBsaWtlICAmaSAgaW4gInNvbCZpZCIgICovCn0KCgpGSU5ERExHT1JEIERJQUxPRyAzNiwgMjQsIDI4NSwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiWm5hamSfIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImWm5hamSfOiIsIC0xLCA0LCA4LCA0MiwgOAogRURJVFRFWFQgZWR0MSwgMzUsIDcsIDE2OSwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiVXd6Z2zqZG5pYWogdHlsa28gY2GzZSB3eXJhenkiLCBjaHgxLCA0LCAyNiwgMTEwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlV3emds6mRuaWFqIHdpZWxrb5zmIGxpdGVyIiwgY2h4MiwgNCwgNDIsIDExMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJLaWVydW5layIsIGdycDEsIDExOCwgMjYsIDg3LCAyOAogQ09OVFJPTCAiVyAmZ/Ny6iIsIHJhZDEsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDEyMiwgMzgsIDM5LCAxMgogQ09OVFJPTCAiVyAmZPOzIiwgcmFkMiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDE2NiwgMzgsIDM2LCAxMgoKIERFRlBVU0hCVVRUT04gIiZabmFqZJ8gbmFzdOpwbnkiLCBJRE9LLCAyMTEsICA1LCA3MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KIFBVU0hCVVRUT04gIkFudWx1aiIsIElEQ0FOQ0VMCSAsIDIxMSwgMjMsIDcwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImUG9tb2MiLCBwc2hIZWxwCSAsIDIxMSwgNDUsIDcwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpSRVBMQUNFRExHT1JEIERJQUxPRyAzNiwgMjQsIDI1MCwgOTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiWmFtaWXxIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImWm5hamSfOiIsIC0xLCA0LCA5LCA0OCwgOAogRURJVFRFWFQgZWR0MSwgNTQsIDcsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiWmFtaWXxICZuYToiLCAtMSwgNCwgMjYsIDQ4LCA4CiBFRElUVEVYVCBlZHQyLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiVXd6Z2zqZG5pYWogJnR5bGtvIGNhs2Ugd3lyYXp5IiwgY2h4MSwgNSwgNDYsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZVd3pnbOpkbmlhaiB3aWVsa2+c5iBsaXRlciIsIGNoeDIsIDUsIDYyLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCgogREVGUFVTSEJVVFRPTiAiWm5hamSfIG5hc3TqcG55IiwgSURPSywgMTc0LCAgNCwgNzAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OCiBQVVNIQlVUVE9OICImWmFtaWXxIiwgcHNoMQkgLCAxNzQsIDIxLCA3MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWmFtaWXxICZ3c3p5c3RraWUiLCBwc2gyICwgMTc0LCAzOCwgNzAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFudWx1aiIsIElEQ0FOQ0VMCSAsIDE3NCwgNTUsIDcwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImUG9tb2MiLCBwc2hIZWxwCSAsIDE3NCwgNzUsIDcwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVDMyIERJQUxPRyAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJEcnVrdWoiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsICAgICBJRE9LLCAgICAgMTgwLDE2NCwgNDgsMTQsIFdTX0dST1VQIHwgQlNfREVGUFVTSEJVVFRPTgogICAgUFVTSEJVVFRPTiAgICAgICJBbnVsdWoiLCBJRENBTkNFTCwgMjMyLDE2NCwgNDgsMTQsIFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZQb21vYyIsICBwc2hIZWxwLCAgNTAsIDE2MSwgNDgsMTQsIFdTX0dST1VQCgogICAgR1JPVVBCT1ggICAgICAgICJEcnVrYXJrYSIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIkRydWt1aiBkbyBwbGkma3UiLCBjaHgxLCAiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjEyLDcwLDY0LDEyCiAgICBQVVNIQlVUVE9OICAgICAgIiZXs2GcY2l3b5xjaSIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk5hendhOiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiU3RhbjoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJTeW11bG93YW55IHN0YW4iLCAgICBzdGMxMiwgNjAsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiVHlwOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiU3ltdWxvd2FueSB0eXAiLCAgICAgc3RjMTEsIDYwLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIkdkemllOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJTeW11bG93YW5hIGxva2FsaXphY2phIiwgc3RjMTQsIDYwLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIktvbWVudGFyejoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIlN5bXVsb3dhbnkga29tZW50YXJ6IiwgICBzdGMxMywgNjAsIDcyLCAxNTIsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIktvcGllIiwgICAgICAgICBncnAyLCAxNjAsIDkyLCAxMjAsNjQsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIkxjemJhICZrb3BpaToiLHN0YzUsMTY4LDEwOCw2OCw4CiAgICBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMywgMTYyLDEyNCwgIDc2LDI0LCBXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiAgICBDT05UUk9MICAgICAgICAgIiZTb3J0dWoiLCAgICAgICBjaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgoKICAgIEdST1VQQk9YICAgICAgICAiWmFrcmVzIHd5ZHJ1a3UiLCAgICBncnAxLCAgIDgsOTIsICAxNDQsNjQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZXc3p5c3RrbyIsICAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwxMDYsNjQsMTIKICAgIENPTlRST0wgICAgICAgICAiJlN0cm9ueSIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCiAgICBDT05UUk9MICAgICAgICAgIiZaYXpuYWN6ZW5pZSIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzgsNjQsMTIKICAgIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQxLCAgNzQsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MiwgMTE4LDEyMiwgIDI2LDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICImb2Q6IiwgICAgICAgICBzdGMyLCAgNTIsMTI0LCAgMjAsOAogICAgUlRFWFQgICAgICAgICAgICImZG86IiwgICAgICAgICAgIHN0YzMsIDEwMCwxMjQsICAxNiw4Cn0KClBSSU5UMzJfU0VUVVAgRElBTE9HICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIlVzdGF3aWFuaWEgd3lkcnVrdSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkFudWx1aiIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNAovKiAgICBQVVNIQlVUVE9OICAgICAgIk5ldHdvcmsuLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgogICAgR1JPVVBCT1ggICAgICAgICJEcnVrYXJrYSIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZXs2GcY2l3b5xjaSIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk5hendhOiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiU3RhbjoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJTeW11bG93YW55IHN0YW4iLCAgICBzdGMxMiwgNjAsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiVHlwOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiU3ltdWxvd2FueSB0eXAiLCAgICAgc3RjMTEsIDYwLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIkdkemllOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJTeW11bG93YW5hIGxva2FsaXphY2phIiwgc3RjMTQsIDYwLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIktvbWVudGFyejoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIlN5bXVsb3dhbnkga29tZW50YXJ6IiwgICBzdGMxMywgNjAsIDcyLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIlBhcGllciIsICAgICAgICAgIGdycDIsICAgOCwgOTIsIDE2NCw1NiwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJlJvem1pYXI6IiwgICAgICAgICBzdGMyLCAgMTYsMTA4LCAgMzYsIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIyLCAgNTIsMTA2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAij3LzJmSzbzoiLCAgICAgICBzdGMzLCAgMTYsMTI4LCAgMzYsIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIzLCAgNTIsMTI2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKCiAgICBHUk9VUEJPWCAgICAgICAgIk9yaWVudGFjamEiLCAgICBncnAxLCAxODAsIDkyLCAxMDAsNTYsIFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMSwgMTk1LDExMiwgIDE4LDIwLCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJQJmlvbm93YSIsICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIlAmb3ppb21hIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIyNCwxMjYsNTIsMTIKRU5ECgpQQUdFU0VUVVBETEdPUkQgRElBTE9HIDMyLCAzMiwgMjQwLCAyNDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlVzdGF3aWVuaWEgU3Ryb255IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgQ09OVFJPTCAiIiwgcmN0MSwgIlN0YXRpYyIsIFNTX1dISVRFUkVDVCwgODAsIDgsIDgwLCA4MAogIENPTlRST0wgIiIsIHJjdDIsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgMTYwLCAxMiwgNCwgODAKICBDT05UUk9MICIiLCByY3QzLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsICA4NCwgODgsIDgwLCA0CiAgR1JPVVBCT1ggIlBhcGllciIsIGdycDIsIDgsIDk2LCAyMjQsIDU2LCBCU19HUk9VUEJPWAogIExURVhUICImUm96bWlhcjoiLCBzdGMyLCAxNiwgMTEyLCAzNiwgOAogIENPTUJPQk9YIGNtYjIsIDY0LCAxMTAsIDE2MCwgMTYwLCBDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBMVEVYVCAij3LzZLMmbzoiLCBzdGMzLCAxNiwgMTMyLCAzNiwgOAogIENPTUJPQk9YIGNtYjMsIDY0LCAxMzAsIDE2MCwgMTYwLCBDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBHUk9VUEJPWCAiT3JpZW50YWNqYSIsIGdycDEsIDgsIDE1NiwgNjQsIDU2LCBCU19HUk9VUEJPWAogIEFVVE9SQURJT0JVVFRPTiAiUCZpb25vd2EiLCByYWQxLCAxNiwgMTcwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEFVVE9SQURJT0JVVFRPTiAiUCZvemlvbWEiLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEdST1VQQk9YICJNYXJnaW5lc3kiLCBncnA0LCA4MCwgMTU2LCAxNTIsIDU2LCBCU19HUk9VUEJPWAogIExURVhUICImTGV3eToiLCBzdGMxNSwgODgsIDE3MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ0LCAxMTEsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImUHJhd3k6Iiwgc3RjMTYsIDE1OSwgMTcyLCAyNywgOAogIEVESVRURVhUIGVkdDYsIDE4NywgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIiZH83JueToiLCBzdGMxNywgODgsIDE5MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ1LCAxMTEsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImRG9sbnk6Iiwgc3RjMTgsIDE1OSwgMTkyLCAyMywgOAogIEVESVRURVhUIGVkdDcsIDE4NywgMTkwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA3MSwgMjIwLCA1MCwgMTQsIEJTX1BVU0hCVVRUT04KICBQVVNIQlVUVE9OICJBbnVsdWoiLCBJRENBTkNFTCwgMTI2LCAyMjAsIDUwLCAxNAogIFBVU0hCVVRUT04gIkRyJnVrYXJrYS4uLiIsIHBzaDMsIDE4NCwgMjIwLCA0OCwgMTQKRU5ECgpORVdGSUxFT1BFTk9SRCBESUFMT0cgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAiT3R3aWVyYW5pZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVAkiJlN6dWthaiB3OiIsSURDX0xPT0tJTlNUQVRJQyw0LDYsNDMsOCwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfTE9PS0lOLDQ5LDMsMTMyLDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIExURVhUCSIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE4MSwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExJU1RCT1gJSURDX1NIRUxMU1RBVElDLDQsMjAsMjcyLDg1LCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgTEJTX01VTFRJQ09MVU1OIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19WSVNJQkxFCgogICAgTFRFWFQJIiZOYXp3YSBwbGlrdToiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0Niw4LCBTU19OT1RJRlkKICAgIEVESVRURVhUCUlEQ19GSUxFTkFNRSw1NCwxMTAsMTU1LDEyLEVTX0FVVE9IU0NST0xMCgogICAgTFRFWFQJIiZQbGlraSB0eXB1OiIsSURDX0ZJTEVUWVBFU1RBVElDLDUsMTI4LDQyLDgsIFNTX05PVElGWQogICAgQ09NQk9CT1gJSURDX0ZJTEVUWVBFLDU0LDEyNiwxNTUsNTMsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAkiT3R383J6ICZ0eWxrbyBkbyBvZGN6eXR1IixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ1LDEwMCwxMAoKICAgIERFRlBVU0hCVVRUT04JIiZPdHfzcnoiLAkJIElET0ssMjIyLDExMCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIkFudWx1aiIsCQkgSURDQU5DRUwsMjIyLDEyOCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIiZQb21vYyIsCQkgcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFCnsKICAgIElEU19BQk9VVEJPWCAgICAgICAgICAgICImTyBGb2xkZXJQaWNrZXIgVGVzdCIKICAgIElEU19ET0NVTUVOVEZPTERFUlMgICAgICJLYXRhbG9nIERva3VtZW5083ciCiAgICBJRFNfUEVSU09OQUwgICAgICAgICAgICAiTW9qZSBEb2t1bWVudHkiCiAgICBJRFNfRkFWT1JJVEVTICAgICAgICAgICAiTW9qZSBVbHViaW9uZSIKICAgIElEU19QQVRIICAgICAgICAgICAgICAgICKMY2llv2thIHN5c3RlbW93YSIKICAgIElEU19ERVNLVE9QICAgICAgICAgICAgICJQdWxwaXQiCiAgICBJRFNfRk9OVFMgICAgICAgICAgICAgICAiQ3pjaW9ua2kiCiAgICBJRFNfTVlDT01QVVRFUiAgICAgICAgICAiTfNqIGtvbXB1dGVyIgp9CgpTVFJJTkdUQUJMRQp7CiAgICBJRFNfU1lTVEVNRk9MREVSUyAgICAgICAiS2F0YWxvZ2kgc3lzdGVtb3dlIgogICAgSURTX0xPQ0FMSEFSRFJJVkVTICAgICAgIkxva2FsbmUgZHlza2kgdHdhcmRlIgogICAgSURTX0ZJTEVOT1RGT1VORCAgICAgICAgIk5pZSB6bmFsZXppb25vIHBsaWt1IgogICAgSURTX1ZFUklGWUZJTEUgICAgICAgICAgIlNwcmF3ZJ8sIGN6eSBwb2RhbmEgbmF6d2EgcGxpa3UgamVzdCBwcmF3aWSzb3dhLiIKICAgIElEU19DUkVBVEVGSUxFICAgICAgICAgICJQbGlrIG5pZSBpc3RuaWVqZS50XG5DenkgY2hjZXN6IGdvIHV0d29yennmPyIKICAgIElEU19PVkVSV1JJVEVGSUxFICAgICAgICJQbGlrIGlzdG5pZWplLlxuQ3p5IGNoY2VzeiBnbyB6YXN0uXBp5j8iCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAiQrPqZG55KGUpIHpuYWsoaSkgdyBuYXp3aWUiCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRSAgICAiTmF6d2EgcGxpa3UgbmllIG1vv2UgemF3aWVyYeYgem5ha/N3OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiAgICBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAiS2F0YWxvZyBuaWUgaXN0bmllamUiCiAgICBJRFNfRklMRU5PVEVYSVNUSU5HICAgICAiUGxpayBuaWUgaXN0bmllamUiCn0KClNUUklOR1RBQkxFCnsKICAgIElEU19VUEZPTERFUiAgICAgICAgICJQb3ppb20gdyBn83LqIgogICAgSURTX05FV0ZPTERFUiAgICAgICAgIlV0d/NyeiBub3d5IGZvbGRlciIKICAgIElEU19MSVNUVklFVyAgICAgICAgICJMaXN0YSIKICAgIElEU19SRVBPUlRWSUVXICAgICAgICJTemN6ZWfzs3kiCiAgICBJRFNfVE9ERVNLVE9QICAgICAgICAiUHJ6ZWdsuWRhaiBwdWxwaXQiCn0KClNUUklOR1RBQkxFCnsKICAgIFBEMzJfUFJJTlRfVElUTEUgICAgICAgIkRydWt1aiIKCiAgICBQRDMyX1ZBTFVFX1VSRUFEQUJMRSAgICAgIlNrs2FkbmlhIHpha3Jlc3Ugc3Ryb24gamVzdCBuaWVwcmF3aWSzb3dhLiIKICAgIFBEMzJfSU5WQUxJRF9QQUdFX1JBTkdFICAiVGEgd2FydG+c5iBuaWUgbWllnGNpIHNp6iB3IHpha3Jlc2llIHN0cm9uLlxuV3Byb3dhZJ8gbGljemLqIHBvbWnqZHp5ICVkIGEgJWQuIgogICAgUEQzMl9GUk9NX05PVF9BQk9WRV9UTyAgICJXYXJ0b5zmIIRvZJQgbmllIG1vv2UgYnnmIHdp6mtzemEgbmm/IHdhcnRvnOYghGRvlC4iCiAgICBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgIk1hcmdpbmVzeSB6bmFqZHVquSBzaeogcG96YSBzdHJvbrkuXG5XcHJvd2FknyBpbm65IHdpZWxrb5zmIG1hcmdpbmVzdS4iCiAgICBQRDMyX05SX09GX0NPUElFU19FTVBUWSAgIldhcnRvnOYghGxpY3piYSBrb3BpaZQgbmllIG1vv2UgYnnmIHB1c3RhLiIKICAgIFBEMzJfVE9PX0xBUkdFX0NPUElFUyAgICAiRHJ1a2Fya2EgbmllIG1vv2Ugd3lkcnVrb3dh5iB0eWx1IGtvcGlpLlxuUHJvc3rqIHBvZGHmIHdhcnRvnOYgcG9taepkenkgMSBhICVkLiIKICAgIFBEMzJfUFJJTlRfRVJST1IgICAgICAgICAiQrO5ZCBkcnVrb3dhbmlhIgogICAgUEQzMl9OT19ERUZBVUxUX1BSSU5URVIgICJEb215nGxuYSBkcnVrYXJrYSBuaWUgem9zdGGzYSB6ZGVmaW5pb3dhbmEuIgogICAgUEQzMl9DQU5UX0ZJTkRfUFJJTlRFUiAgICJOaWUgbW+/bmEgb2RuYWxln+YgZHJ1a2Fya2kuIgogICAgUEQzMl9PVVRfT0ZfTUVNT1JZICAgICAgICJaYSBtYbNvIHBhbWnqY2kgZGxhIHRlaiBvcGVyYWNqaS4iCiAgICBQRDMyX0dFTkVSSUNfRVJST1IgICAgICAgIlBvZGN6YXMgdGVqIG9wZXJhY2ppIHd5c3S5cGmzIGKzuWQuIgogICAgUEQzMl9EUklWRVJfVU5LTk9XTiAgICAgICJOaWV6bmFueSBzdGVyb3duaWsgZHJ1a2Fya2kuIgogICAgUEQzMl9OT19ERVZJQ0VTICAgICAgICAgICJaYW5pbSBi6mR6aWUgbW+/bmEgd3lrb255d2HmIGN6eW5ub5xjaSB6d2m5emFuZSBcCnogZHJ1a293YW5pZW0sIHRha2llIGphayB1c3Rhd2llbmllIHN0cm9ueSBsdWIgd3lkcnVrIGRva3VtZW50dSwgbmFsZb95IHphaW5zdGFsb3dh5iBkcnVrYXJr6i4gXApQbyB6YWluc3RhbG93YW5pdSBzcHLzYnVqIHBvbm93bmllLiIKCiAgICBQRDMyX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICAgICJEb215nGxuYSBkcnVrYXJrYTsgIgogICAgUEQzMl9OUl9PRl9ET0NVTUVOVFNfSU5fUVVFVUUgICAgICAgICAiVyBrb2xlamNlIHpuYWpkdWq5IHNp6iAlZCBkb2t1bWVudHkiCiAgICBQRDMyX01BUkdJTlNfSU5fSU5DSEVTICAgICAgICAgICAgICAgICJNYXJnaW5lc3kgW2NhbGVdIgogICAgUEQzMl9NQVJHSU5TX0lOX01JTExJTUVURVJTICAgICAgICAgICAiTWFyZ2luZXN5IFttbV0iCiAgICBQRDMyX01JTExJTUVURVJTICAgICAgICAgICAgICAgICAgICAgICJtbSIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUkVBRFkgICAgICAgICAgICAgIkdvdG93eSIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFVU0VEICAgICAgICAgICAgIlByemVyd2FueTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUiAgICAgICAgICAgICAiQrO5ZDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAiS2Fzb3dhbmllIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9KQU0gICAgICAgICAiUHJvYmxlbXkgeiBwYXBpZXJlbTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAiS29uaWVjIHBhcGllcnU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTUFOVUFMX0ZFRUQgICAgICAgIlez878gcGFwaWVyOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0gICAgICJQcm9ibGVteSB6IHBhcGllcmVtOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09GRkxJTkUgICAgICAgICAgICJEcnVrYXJrYSBqZXN0IG9mZmxpbmU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU9fQUNUSVZFICAgICAgICAgIkFrdHl3bm+c5iBJL087ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfQlVTWSAgICAgICAgICAgICAgIlphaup0YTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiRHJ1a3VqZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwgICAiUG9qZW1uaWsgamVzdCB6YXBls25pb255OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX05PVF9BVkFJTEFCTEUgICAgICJOaWUgb3NpuWdhbG5hOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1dBSVRJTkcgICAgICAgICAgICJPY3pla3VqZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUk9DRVNTSU5HICAgICAgICAiWmFq6nRhOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0lOSVRJQUxJWklORyAgICAgICJJbmljanVqZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19XQVJNSU5HX1VQICAgICAgICAiVXJ1Y2hhbWlhbmllOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1RPTkVSX0xPVyAgICAgICAgICJNYbNvIHRvbmVydTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT19UT05FUiAgICAgICAgICAiQnJhayB0b25lcnU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UICAgICAgICAgIlBhZ2UgcHVudDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19VU0VSX0lOVEVSVkVOVElPTiAiUHJ6ZXJ3YW5lIHByemV6IHW/eXRrb3duaWthOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVF9PRl9NRU1PUlkgICAgICJaYSBtYbNvIHBhbWnqY2k7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOICAgICAgICAgIktsYXBrYSBkcnVrYXJraSBqZXN0IG90d2FydGE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfU0VSVkVSX1VOS05PV04gICAgIk5pZXpuYW55IHNlcndlciB3eWRydWt1OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BPV0VSX1NBVkUgICAgICAgICJUcnliIG9zemN66mR6YW5pYSBlbmVyZ2lpOyAiCn0KClNUUklOR1RBQkxFCnsKICAgIElEU19GT05UX1NJWkUgICAiV3liaWVyeiBjemNpb25r6iBvIHJvem1pYXJ6ZSBwb21p6mR6eSAlZCBhICVkIHB1bmt0YW1pLiIKICAgIElEU19TQVZFX0JVVFRPTiAiJlphcGlzeiIKICAgIElEU19TQVZFX0lOICAgICAiWmFwaXN6ICZ3OiIKICAgIElEU19TQVZFICAgICAgICAiWmFwaXN6IgogICAgSURTX1NBVkVfQVMgICAgICJaYXBpc3ogamFrbyIKICAgIElEU19PUEVOX0ZJTEUgICAiT3R383J6IHBsaWsiCn0KClNUUklOR1RBQkxFIC8qIEZvbnQgc3R5bGVzICovCnsKICAgIElEU19GT05UX1JFR1VMQVIgICAgICAgIlJlZ3VsYXJueSIKICAgIElEU19GT05UX0JPTEQgICAgICAgICAgIlBvZ3J1YmlvbnkiCiAgICBJRFNfRk9OVF9JVEFMSUMgICAgICAgICJLdXN5d2EiCiAgICBJRFNfRk9OVF9CT0xEX0lUQUxJQyAgICJQb2dydWJpb25hIGt1cnN5d2EiCn0KClNUUklOR1RBQkxFIC8qIENvbG9yIG5hbWVzICovCnsKICAgIElEU19DT0xPUl9CTEFDSyAgICAgIkN6YXJueSIKICAgIElEU19DT0xPUl9NQVJPT04gICAgIkthc3p0YW5vd3kiCiAgICBJRFNfQ09MT1JfR1JFRU4gICAgICJaaWVsb255IgogICAgSURTX0NPTE9SX09MSVZFICAgICAiT2xpd2tvd3kiCiAgICBJRFNfQ09MT1JfTkFWWSAgICAgICJHcmFuYXRvd3kiCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICJQdXJwdXJvd3kiCiAgICBJRFNfQ09MT1JfVEVBTCAgICAgICJaaWVsb25vbW9kcnkiCiAgICBJRFNfQ09MT1JfR1JBWSAgICAgICJTemFyeSIKICAgIElEU19DT0xPUl9TSUxWRVIgICAgIlNyZWJybnkiCiAgICBJRFNfQ09MT1JfUkVEICAgICAgICJDemVyd29ueSIKICAgIElEU19DT0xPUl9MSU1FICAgICAgIkxpbW9ub3d5IgogICAgSURTX0NPTE9SX1lFTExPVyAgICAir/OzdHkiCiAgICBJRFNfQ09MT1JfQkxVRSAgICAgICJOaWViaWVza2kiCiAgICBJRFNfQ09MT1JfRlVDSFNJQSAgICJGdWtzamEiCiAgICBJRFNfQ09MT1JfQVFVQSAgICAgICJBa3dhbWFyeW5hIgogICAgSURTX0NPTE9SX1dISVRFICAgICAiQmlhs3kiCn0K