LyoKICogQ29weXJpZ2h0IDE5OTggS2FybCBCYWNrc3Ry9m0KICogQ29weXJpZ2h0IDIwMDkgQW5kZXJzIEpvbnNzb24KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX1NXRURJU0gsIFNVQkxBTkdfTkVVVFJBTAoKT1BFTl9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi1nBwbmEiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIkZpbCZuYW1uOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImS2F0YWxvZ2VyOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiTGlzdGEgZmlsZXIgYXYgJnR5cGVuOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImRW5oZXRlcjoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gItZwcG5hIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tyaXZza3lkZGF0IiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlNwYXJhIHNvbS4uLiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJkZpbG5hbW46IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZLYXRhbG9nZXI6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICJMaXN0YSBmaWxlciBhdiAmdHlwZW46IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZFbmhldGVyOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiU3BhcmEgc29tIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tyaXZza3lkZGFkIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2tyaXYgdXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIlNrcml2YXJlOiIsIDEwODgsIDYsIDYsIDQwLCA5CiBMVEVYVCAiIiwgMTA4OSwgNjAsIDYsIDE1MCwgOQogR1JPVVBCT1ggIlNrcml2IHV0IGRlbCIsIDEwNzIsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZBbGx0IiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICImTWFya2VyYXQiLCAxMDU3LCAxNiwgNjAsIDYwLCAxMgogUkFESU9CVVRUT04gIiZTaWRvciIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICJTa3JpdiB1dCIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZJbnN05GxsbmluZ2FyIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImRnLlbjoiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJlRpbGw6IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICJVdHNrcmlmdHNrdmFsaXRldDoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tyaXYgdGlsbCBmaWwiLCAxMDQwLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlNhbW1hbnRyeWNrdCIsIDEwNDEsIDE2MCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlRfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTa3JpdmFyaW5zdORsbG5pbmdhciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBHUk9VUEJPWCAiU2tyaXZhcmUiLCAxMDcyLCA2LCAxMCwgMTgwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImU3RhbmRhcmRza3JpdmFyZSIsIDEwNTYsIDE2LCAyMCwgODAsIDEyCiBMVEVYVCAiW2luZ2VuXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CiBSQURJT0JVVFRPTiAiUyZwZWNpZmljZXJhZCBza3JpdmFyZSIsIDEwNTcsIDE2LCA1MCwgODAsIDEyCiBDT01CT0JPWCAxMTM2LCAzNSwgNjUsIDE0OSwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk9rIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkluc3TkbGxuaW5nYXIiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIk9yaWVudGVyaW5nIiwgMTA3MywgNiwgODUsIDEwMCwgNTAsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiUyZ05WVuZGUiLCAxMDU4LCA1MCwgMTAwLCA0MCwgMTIKIFJBRElPQlVUVE9OICImTGlnZ2FuZGUiLCAxMDU5LCA1MCwgMTE1LCA0MCwgMTIKIElDT04gIkxBTkRTQ0FQIiwgMTA5NywgMTAsIDk1LCAzMiwgMzIKIElDT04gIlBPUlRSQUlUIiwgMTA5OCwgMTAsIDk1LCAzMiwgMzIKIEdST1VQQk9YICJQYXBlciIsIDEwNzQsIDEyMCwgODUsIDE4MCwgNTAsIEJTX0dST1VQQk9YCiBMVEVYVCAiU3Qmb3JsZWsiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIiZL5GxsYSIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOQogQ09NQk9CT1ggMTEzNywgMTU1LCA5NSwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDT01CT0JPWCAxMTM4LCAxNTUsIDExMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfRk9OVCBESUFMT0cgRElTQ0FSREFCTEUgIDEzLCA1NCwgMjY0LCAxNDcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVHlwc25pdHQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAgICAgICAgICImVHlwc25pdHQ6IiwxMDg4ICw2LDMsNDAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzYgLDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIlR5cHNuaXR0c3MmdGlsOiIsMTA4OSAsMTA4LDMsNDQsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzcsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJlN0b3JsZWs6IiwxMDkwLDE3OSwzLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDE3OSwxMywzMiw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gICAiT2siLElET0ssMjE4LDYsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiQXZicnl0IixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkFuduRuZCIsIDEwMjYsMjE4LDQwLDQwLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZIauRscCIgLCAxMDM4LDIxOCw1Nyw0MCwxNCxXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJFZmZla3RlciIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWAkgICAgIiZHZW5vbXN0cnVrZW4iLCAxMDQwLCAxMCw4Miw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogICAgQ0hFQ0tCT1ggCSAgICAiJlVuZGVyc3RydWtlbiIsIDEwNDEsIDEwLDk0LDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgICAgICAgICAiJkbkcmc6IiwgMTA5MSAsNiwxMTAsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzksNiwxMjAsODQsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJUZXN0IixncnAyLDk4LDcyLDEyMCwzNixXU19HUk9VUAogICAgQ1RFWFQgICAgICAgICAgICJBYUJiWXlaeiIsc3RjNSwxMDMsODAsMTA5LDI0LFNTX05PUFJFRklYIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExURVhUICAgICAgICAgICAiU2NyJmlwdDoiLHN0YzcgLDk4LDExNCw4MCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iNSw5OCwxMjQsMTIwLDkwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9DT0xPUiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDMwMCwgMTg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkbkcmciCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZHcnVuZGzkZ2dhbmRlIGbkcmdlcjoiLCAgIDEwODgsIDQsICAgIDQsICAxNDAsIDEwCiBMVEVYVCAiJkVnZW5kZWZpbmllcmFkZSBm5HJnZXI6IiwgIDEwODksIDQsICAgMTA2LCAxNDAsIDEwCiBMVEVYVCAiRW5m5HJnYXQiLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIiZS9mQ6IiwgNzI2IC8qMTA5NCovLDI0OSwxMjYsMjQsMTAKIEVESVRURVhUIDcwNiwgMjc1LDEyNCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICImR3L2bjoiLDcyNy8qMTA5NSovLDI0OSwxNDAsMjQsMTAKIEVESVRURVhUIDcwNywgMjc1LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICImQmzlOiIsNzI4IC8qMTA5NiovLDI0OSwxNTQsMjQsMTAKIEVESVRURVhUIDcwOCwgMjc1LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZJbnQ6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMjIsMTAKIEVESVRURVhUIDcwMywgMjI2LDEyNCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZNZXQ6IiAsNzI0IC8qMTA5MiovLDIwMiwxNDAsMjIsMTAKIEVESVRURVhUIDcwNCwgMjI2LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZMdW06IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMjIsMTAKIEVESVRURVhUIDcwNSwgMjI2LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT2siLCAgSURPSywgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgNTIsIDE2NiwgNDQsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkhq5GxwIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIiZM5GdnIHRpbGwgZWdlbmRlZmluaWVyYWQgZuRyZyIsICAgIDcxMi8qMTAyNCovLCAxNTIsIDE2NiwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImRGVmaW5pZXJhIGVnZW4gZuRyZyA+PiIsIDcxOS8qMTAyNSovLCAgIDQsIDE1MCwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICAiJmkiLDcxMywzMDAsMjAwLDQsMTQgICAvKiBqdXN0IGEgZHVtbXk6ICAnaScgaXMgIGxpa2UgICZpICBpbiAic29sJmlkIiAgKi8KfQoKCkZJTkRETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzYsIDYyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlP2ayIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJlP2ayBlZnRlcjoiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMjgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZCYXJhIGhlbGEgb3JkIiwgMTA0MCwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTa2lsbG5hZCBw5SBzdG9yYS9zbeUgYm9rc3TkdmVyIiwgMTA0MSwgNCwgNDIsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJSaWt0bmluZyIsIDEwNzIsIDEwNywgMjYsIDY4LCAyOAogQ09OVFJPTCAiJlVwcCIsIDEwNTYsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDExMSwgMzgsIDIwLCAxMgogQ09OVFJPTCAiJk5lciIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxMzgsIDM4LCAzMCwgMTIKIERFRlBVU0hCVVRUT04gIiZT9msgZWZ0ZXIgbuRzdGEiLCBJRE9LLCAxODIsIDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMTgyLCAyMywgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZIauRscCIsIDEwMzgsIDE4MiwgNDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpSRVBMQUNFRExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJT9msvZXJz5HR0IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImU/ZrIGVmdGVyOiIsIC0xLCA0LCA5LCA0OCwgOAogRURJVFRFWFQgMTE1MiwgNTQsIDcsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkVyc+R0dCBtZWQ6IiwgLTEsIDQsIDI2LCA0OCwgOAogRURJVFRFWFQgMTE1MywgNTQsIDI0LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZCYXJhIGhlbGEgb3JkIiwgMTA0MCwgNSwgNDYsIDEwNCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTa2lsbG5hZCBw5SBzdG9yYS9zbeUgYm9rc3TkdmVyIiwgMTA0MSwgNSwgNjIsIDEwNCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIiZT9msgZWZ0ZXIgbuRzdGEiLCBJRE9LLCAxNzQsIDQsIDUwLCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkVyc+R0dCIsIDEwMjQsIDE3NCwgMjEsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJFcnPkdHQgJmFsbGEiLCAxMDI1LCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQXZicnl0IiwgSURDQU5DRUwsIDE3NCwgNTUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSGrkbHAiLCAxMDM4LCAxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgpQUklOVDMyIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIlNrcml2IHV0IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gICAiT2siLCAgICAgSURPSywgICAgIDE4MCwxNjQsIDQ4LDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KIFBVU0hCVVRUT04gICAgICAiQXZicnl0IiwgSURDQU5DRUwsIDIzMiwxNjQsIDQ4LDE0LCBXU19HUk9VUAogUFVTSEJVVFRPTiAgICAgICImSGrkbHAiLCAgcHNoSGVscCwgIDUwLCAxNjEsIDQ4LDE0LCBXU19HUk9VUAoKIEdST1VQQk9YICAgICAgICAiU2tyaXZhcmUiLCAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiBDT05UUk9MICAgICAgICAgIlNrciZpdiB0aWxsIGZpbCIsY2h4MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjEyLDcwLDY0LDEyCiBQVVNIQlVUVE9OICAgICAgIiZFZ2Vuc2thcGVyIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogTFRFWFQgICAgICAgICAgICImTmFtbjoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CiBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iNCwgIDUyLCAxOCwgIDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAgICAgICAgICJTdGF0dXM6IiwgICAgICAgIHN0YzgsICAxNiwgMzYsICAzNiwxMCwgU1NfTk9QUkVGSVgKIExURVhUICAgICAgICAgICAiRHVtbXktc3RhdHVzIiwgICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlR5cDoiLCAgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW1teS10eXAiLCAgICAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWHwgU1NfTEVGVE5PV09SRFdSQVAKIExURVhUICAgICAgICAgICAiUGxhdHM6IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bW15LXBsYXRzIiwgICAgICBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYfCBTU19MRUZUTk9XT1JEV1JBUAogTFRFWFQgICAgICAgICAgICJLb21tZW50YXI6IiwgICAgIHN0YzksICAxNiwgNzIsICAzNiwxMCwgU1NfTk9QUkVGSVgKIExURVhUICAgICAgICAgICAiRHVtbXkta29tbWVudGFyIiwgIHN0YzEzLCA1MiwgNzIsIDE1MiwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCgogR1JPVVBCT1ggICAgICAgICJLb3Bpb3IiLCAgICAgICAgIGdycDIsIDE2MCwgOTIsIDEyMCw2NCwgV1NfR1JPVVAKIExURVhUICAgICAgICAgICAiQW50YWwgayZvcGlvcjoiLCBzdGM1LDE2OCwxMDgsNjgsOAogSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzMsIDE2MiwxMjQsICA3NiwyNCxXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiBDT05UUk9MICAgICAgICAgIiZTb3J0ZXJhIiwgICAgICAgY2h4MiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8RVNfTlVNQkVSCgogR1JPVVBCT1ggICAgICAgICJTa3JpdiB1dCIsICAgICAgIGdycDEsICAgOCw5MiwgIDE0NCw2NCwgV1NfR1JPVVAKIENPTlRST0wgICAgICAgICAiJkFsbGEiLCAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8V1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogQ09OVFJPTCAgICAgICAgICJTaSZkb3IiLCAgICAgICAgIHJhZDMsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMiwzNiwxMgogQ09OVFJPTCAgICAgICAgICImTWFya2VyaW5nIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDEsICA3NCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfEVTX05VTUJFUgogRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDExOCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfEVTX05VTUJFUgogUlRFWFQgICAgICAgICAgICImZnLlbjoiLCAgICAgICAgIHN0YzIsICA1MiwxMjQsICAyMCw4CiBSVEVYVCAgICAgICAgICAgIiZ0aWxsOiIsICAgICAgICAgc3RjMywgMTAwLDEyNCwgIDE2LDgKCn0KClBSSU5UMzJfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxNzgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiVXRza3JpZnRzZm9ybWF0IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiBERUZQVVNIQlVUVE9OICAgIk9rIixJRE9LLDE4MCwxNTYsNDgsMTQsV1NfR1JPVVAKIFBVU0hCVVRUT04gICAgICAiQXZicnl0IixJRENBTkNFTCwyMzIsMTU2LDQ4LDE0CgogR1JPVVBCT1ggICAgICAgICJTa3JpdmFyZSIsICAgZ3JwNCwgICA4LCAgNCwgMjcyLDg0LCBXU19HUk9VUAogUFVTSEJVVFRPTiAgICAgICImRWdlbnNrYXBlciIsICAgIHBzaDIsIDIxMiwgMTcsIDYwLDE0LCBXU19HUk9VUAogTFRFWFQgICAgICAgICAgICImTmFtbjoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CiBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMSwgIDUyLCAxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bW15LXN0YXR1cyIsICAgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlR5cDoiLCAgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW1teS10eXAiLCAgICAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlBsYXRzOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW1teS1wbGF0cyIsICAgICAgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIktvbW1lbnRhcjoiLCAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW1teS1rb21tZW50YXIiLCAgc3RjMTMsIDUyLCA3MiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiBHUk9VUEJPWCAgICAgICAgIlBhcHBlciIsICAgICAgICAgZ3JwMiwgICA4LCA5MiwgMTY0LDU2LCBXU19HUk9VUAogTFRFWFQgICAgICAgICAgICJTdCZvcmxlazoiLCAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOAogQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwxMDYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAgICAgICAgICImS+RsbGE6IiwgICAgICAgIHN0YzMsICAxNiwxMjgsICAzNiwgOAogQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjMsICA1MiwxMjYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggICAgICAgICJPcmllbnRlcmluZyIsICAgIGdycDEsIDE4MCwgOTIsIDEwMCw1NiwgV1NfR1JPVVAKIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28xLCAxOTUsMTEyLCAgMTgsMjAsIFdTX0dST1VQCiBDT05UUk9MICAgICAgICAgIlN0JuVlbmRlIiwgICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiBDT05UUk9MICAgICAgICAgIkwmaWdnYW5kZSIsICAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjI0LDEyNiw1MiwxMgpFTkQKClBBR0VTRVRVUERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJVdHNrcmlmdHNmb3JtYXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBDT05UUk9MICIiLCByY3QxLCAiU3RhdGljIiwgU1NfV0hJVEVSRUNULCA4MCwgOCwgODAsIDgwCiAgQ09OVFJPTCAiIiwgcmN0MiwgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAxNjAsIDEyLCA0LCA4MAogIENPTlRST0wgIiIsIHJjdDMsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgIDg0LCA4OCwgODAsIDQKICBHUk9VUEJPWCAiUGFwcGVyIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIiZTdG9ybGVrOiIsIHN0YzIsIDE2LCAxMTIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMiwgNjQsIDExMCwgMTYwLCAxNjAsQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgTFRFWFQgIiZUcmF5OiIsIHN0YzMsIDE2LCAxMzIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMywgNjQsIDEzMCwgMTYwLCAxNjAsQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgR1JPVVBCT1ggIk9yaWVudGVyaW5nIiwgZ3JwMSwgOCwgMTU2LCA2NCwgNTYsIEJTX0dST1VQQk9YCiAgQVVUT1JBRElPQlVUVE9OICImU3TlZW5kZSIsIHJhZDEsIDE2LCAxNzAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQVVUT1JBRElPQlVUVE9OICImTGlnZ2FuZGUiLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEdST1VQQk9YICJNYXJnaW5hbGVyIiwgZ3JwNCwgODAsIDE1NiwgMTUyLCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiJlbkbnN0ZXI6Iiwgc3RjMTUsIDg4LCAxNzIsIDIxLCA4CiAgRURJVFRFWFQgZWR0NCwgMTExLCAxNzAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBMVEVYVCAiJkj2Z2VyOiIsIHN0YzE2LCAxNTksIDE3MiwgMjcsIDgKICBFRElUVEVYVCBlZHQ2LCAxODcsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICIm1nZlcmthbnQ6Iiwgc3RjMTcsIDg4LCAxOTIsIDIxLCA4CiAgRURJVFRFWFQgZWR0NSwgMTExLCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBMVEVYVCAiJk5lZGVya2FudDoiLCBzdGMxOCwgMTU5LCAxOTIsIDIzLCA4CiAgRURJVFRFWFQgZWR0NywgMTg3LCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBERUZQVVNIQlVUVE9OICJPayIsIElET0ssIDcxLCAyMjAsIDUwLCAxNCwgQlNfUFVTSEJVVFRPTgogIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAxMjYsIDIyMCwgNTAsIDE0CiAgUFVTSEJVVFRPTiAiJlNrcml2YXJlLi4uIiwgcHNoMywgMTg0LCAyMjAsIDQ4LCAxNApFTkQKCk5FV0ZJTEVPUEVOT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMTY0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19DT05URVhUSEVMUCB8IFdTX1ZJU0lCTEUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwgV1NfQ0xJUENISUxEUkVOCkNBUFRJT04gItZwcG5hIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICAgICAgICJMZXRhICZpIixJRENfTE9PS0lOU1RBVElDLDQsNiw0Myw4LCBTU19OT1RJRlkKIENPTUJPQk9YICAgIElEQ19MT09LSU4sNDksMywxMzIsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogTFRFWFQgICAgICAgIiIgLCBJRENfVE9PTEJBUlNUQVRJQywgMTgxLCAyLCAxMDIsIDE3LCBOT1QgV1NfR1JPVVAgfCBOT1QgV1NfVklTSUJMRQogTElTVEJPWCAgICAgSURDX1NIRUxMU1RBVElDLDQsMjAsMjcyLDg1LCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgTEJTX01VTFRJQ09MVU1OIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19WSVNJQkxFCgogTFRFWFQgICAgICAgIkZpbCZuYW1uOiIsSURDX0ZJTEVOQU1FU1RBVElDLDUsMTEyLDQ2LDgsIFNTX05PVElGWQogRURJVFRFWFQgICAgSURDX0ZJTEVOQU1FLDU0LDExMCwxNTUsMTIsRVNfQVVUT0hTQ1JPTEwKCiBMVEVYVCAgICAgICAiJkZpbGZvcm1hdCIsSURDX0ZJTEVUWVBFU1RBVElDLDUsMTI4LDQyLDgsIFNTX05PVElGWQogQ09NQk9CT1ggICAgSURDX0ZJTEVUWVBFLDU0LDEyNiwxNTUsNTMsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogQ09OVFJPTCAgICAgItZwcG5hIHNvbSAmc2tyaXZza3lkZGFkIixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ1LDEwMCwxMAoKIERFRlBVU0hCVVRUT04gICAgICAgIibWcHBuYSIsICAgICAgICAgICAgICAgICBJRE9LLDIyMiwxMTAsNTAsMTQKIFBVU0hCVVRUT04gICAgICAgICAgIkF2YnJ5dCIsICAgICAgICAgICAgICAgIElEQ0FOQ0VMLDIyMiwxMjgsNTAsMTQKIFBVU0hCVVRUT04gICAgICAgICAgIiZIauRscCIsICAgICAgICAgICAgICAgICBwc2hIZWxwLDIyMiwxNDUsNTAsMTQKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogSURTX0FCT1VUQk9YICAgICAgICAgICAgIiZPbSBGb2xkZXJQaWNrZXItdGVzdCIKIElEU19ET0NVTUVOVEZPTERFUlMgICAgICJEb2t1bWVudG1hcHBhciIKIElEU19QRVJTT05BTCAgICAgICAgICAgICJNaW5hIERva3VtZW50IgogSURTX0ZBVk9SSVRFUyAgICAgICAgICAgIk1pbmEgRmF2b3JpdGVyIgogSURTX1BBVEggICAgICAgICAgICAgICAgIlN5c3RlbXP2a3bkZyIKIElEU19ERVNLVE9QICAgICAgICAgICAgICJTa3JpdmJvcmQiCiBJRFNfRk9OVFMgICAgICAgICAgICAgICAiVHlwc25pdHQiCiBJRFNfTVlDT01QVVRFUiAgICAgICAgICAiRGVuIGjkciBkYXRvcm4iCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKIElEU19TWVNURU1GT0xERVJTICAgICAgICJTeXN0ZW1tYXBwYXIiCiBJRFNfTE9DQUxIQVJEUklWRVMgICAgICAiTG9rYWxhIGjlcmRkaXNrYXIiCiBJRFNfRklMRU5PVEZPVU5EICAgICAgICAiS3VuZGUgaW50ZSBoaXR0YSBmaWxlbiIKIElEU19WRVJJRllGSUxFICAgICAgICAgICJWYWQgZ29kIHZlcmlmaWVyYSBz5SBrb3JyZWt0IGZpbG5hbW4g5HIgYW5naXZldCIKIElEU19DUkVBVEVGSUxFICAgICAgICAgICJGaWxlbiBmaW5ucyBpbnRlXG5WaWxsIGR1IHNrYXBhIGZpbD8iCiBJRFNfT1ZFUldSSVRFRklMRSAgICAgICAiRmlsZW4gZmlubnMgcmVkYW4uXG5WaWxsIGR1IGVyc+R0dGEgZGVuPyIKIElEU19JTlZBTElEX0ZJTEVOQU1FX1RJVExFICJJbGxlZ2FsdCB0ZWNrZW4gaSBz9mt25GciCiBJRFNfSU5WQUxJRF9GSUxFTkFNRSAgICAiRXR0IGZpbG5hbW4ga2FuIGludGUgaW5uZWjlbGxhIG7lZ29uIGF2IGb2bGphbmRlIHRlY2tlbjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyA6IDwgPiB8IgogSURTX1BBVEhOT1RFWElTVElORyAgICAgIlP2a3bkZ2VuIGZpbm5zIGludGUiCiBJRFNfRklMRU5PVEVYSVNUSU5HICAgICAiRmlsZW4gZmlubnMgaW50ZSIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogSURTX1VQRk9MREVSICAgICAgICAgIlVwcCBlbiBuaXblIgogSURTX05FV0ZPTERFUiAgICAgICAgIlNrYXBhIG55IG1hcHAiCiBJRFNfTElTVFZJRVcgICAgICAgICAiTGlzdGEiCiBJRFNfUkVQT1JUVklFVyAgICAgICAiRGV0YWxqZXJhdCIKIElEU19UT0RFU0tUT1AgICAgICAgICJWaXNhIFNrcml2Ym9yZGV0Igp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiBQRDMyX1BSSU5UX1RJVExFICAgICAgICJTa3JpdiB1dCIKCiBQRDMyX1ZBTFVFX1VSRUFEQUJMRSAgICAgICAgICAgICAgICAgICJPbORzYmFydCBm5Gx0IgogUEQzMl9JTlZBTElEX1BBR0VfUkFOR0UgIkRldHRhIHbkcmRldCBsaWdnZXIgaW50ZSBpbm9tIHNpZG91cnZhbGV0LlxuXApWYXIgZ29kIHNrcml2IGluIGV0dCB25HJkZSBtZWxsYW4gJWQgb2NoICVkLiIKIFBEMzJfRlJPTV9OT1RfQUJPVkVfVE8gICAgICAgICAgICAgICAgIidmcuVuJy1m5Gx0ZXQga2FuIGludGUg9nZlcnNrcmlkYSAndGlsbCctZuRsdGV0IgogUEQzMl9NQVJHSU5TX09WRVJMQVAgICAgICAgICAgICAgICAgICAiTWFyZ2luYWxlcm5hIPZ2ZXJsYXBwYXIgZWxsZXIg5HIgdXRhbmb2ciBcCnBhcHBlcnNncuRuc2VybmEuXG5WYXIgZ29kIHNrcml2IGluIG1hcmdpbmFsZXJuYSBpZ2VuLiIKIFBEMzJfTlJfT0ZfQ09QSUVTX0VNUFRZICAgICAgICAgICAgICAgIkbkbHRldCAnQW50YWwga29waW9yJyBrYW4gaW50ZSB2YXJhIHRvbXQuIgogUEQzMl9UT09fTEFSR0VfQ09QSUVTICAgICAgICAgICAgICAgICAiRGluIHNrcml2YXJlIHNha25hciBzdPZkIGb2ciBz5SBt5W5nYSBrb3Bpb3Igc29tIGR1IGFuZ2F2LiBWYWQgZ29kIHNrcml2IGluIGV0dCB25HJkZSBtZWxsYW4gMSBvY2ggJWQuIgogUEQzMl9QUklOVF9FUlJPUiAgICAgICAgICAgICAgICAgICAgICAiRXR0IHNrcml2YXJmZWwgaW50cuRmZmFkZS4iCiBQRDMyX05PX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICJEZXQgZmlubnMgaW5nZW4gc3RhbmRhcmRza3JpdmFyZS4iCiBQRDMyX0NBTlRfRklORF9QUklOVEVSICAgICAgICAgICAgICAgICJLYW4gaW50ZSBoaXR0YSBza3JpdmFyZS4iCiBQRDMyX09VVF9PRl9NRU1PUlkgICAgICAgICAgICAgICAgICAgICJTbHV0IHDlIG1pbm5lLiIKIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIkV0dCBmZWwgdXBwc3RvZC4iCiBQRDMyX0RSSVZFUl9VTktOT1dOICAgICAgICAgICAgICAgICAgICJPa+RuZCBza3JpdmFyZHJpdnJ1dGluLiIKIFBEMzJfTk9fREVWSUNFUyAgICAgICAgICAgICAgICAgICAgICAgIkVuIHNrcml2YXJlIG3lc3RlIGluc3RhbGxlcmFzIGlubmFuIFwKYWt0aXZpdGV0ZXIgc29tIHV0c2tyaWZ0IGVsbGVyIHNpZGluc3TkbGxuaW5nYXIga2FuIHV0ZvZyYXMuIFwKSW5zdGFsbGVyYSBlbiBza3JpdmFyZSBvY2ggZvZyc/ZrIHDlIG55dHQuIgoKIFBEMzJfREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgICAgIlN0YW5kYXJkc2tyaXZhcmU7ICIKIFBEMzJfTlJfT0ZfRE9DVU1FTlRTX0lOX1FVRVVFICAgICAgICAgIkRldCBmaW5ucyAlZCBkb2t1bWVudCBpIGv2biIKIFBEMzJfTUFSR0lOU19JTl9JTkNIRVMgICAgICAgICAgICAgICAgIk1hcmdpbmFsZXIgW3R1bV0iCiBQRDMyX01BUkdJTlNfSU5fTUlMTElNRVRFUlMgICAgICAgICAgICJNYXJnaW5hbGVyIFttaWxsaW1ldGVyXSIKIFBEMzJfTUlMTElNRVRFUlMgICAgICAgICAgICAgICAgICAgICAgIm1pbGxpbWV0ZXIiCgogUEQzMl9QUklOVEVSX1NUQVRVU19SRUFEWSAgICAgICAgICAgICAiUmVkbyIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFVU0VEICAgICAgICAgICAgIlN0YW5uYWQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfRVJST1IgICAgICAgICAgICAgIkZlbDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAiVuRudGFuZGUgYm9ydHRhZ25pbmc7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfSkFNICAgICAgICAgIlBhcHBlcnNrcuVuZ2VsOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX09VVCAgICAgICAgICJTbHV0IHDlIHBhcHBlcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19NQU5VQUxfRkVFRCAgICAgICAiRnlsbCBw5SBwYXBwZXIgbWFudWVsbHQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfUFJPQkxFTSAgICAgIlBhcHBlcnNwcm9ibGVtOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX09GRkxJTkUgICAgICAgICAgICJTa3JpdmFyZW4g5HIgYXZzdORuZ2Q7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU9fQUNUSVZFICAgICAgICAgIkkvTyBBa3RpdjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19CVVNZICAgICAgICAgICAgICAiVXBwdGFnZW47ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUFJJTlRJTkcgICAgICAgICAgIlNrcml2ZXIgdXQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUUFVUX0JJTl9GVUxMICAgIlV0bWF0bmluZ3NmYWNrZXQg5HIgZnVsbHQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9UX0FWQUlMQUJMRSAgICAgIkludGUgdGlsbGfkbmdsaWc7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FJVElORyAgICAgICAgICAgIlbkbnRhcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QUk9DRVNTSU5HICAgICAgICAiQmVoYW5kbGFyOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX0lOSVRJQUxJWklORyAgICAgICJJbml0aWVyYXI7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIlbkcm1lciB1cHA7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XICAgICAgICAgIlRvbmVyIHNuYXJ0IHNsdXQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9fVE9ORVIgICAgICAgICAgIkluZ2VuIHRvbmVyOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BBR0VfUFVOVCAgICAgICAgICJQYWdlIHB1bnQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfVVNFUl9JTlRFUlZFTlRJT04gIkF2YnJ1dGVuIGF2IGFuduRuZGFyZW47ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUX09GX01FTU9SWSAgICAgIlNsdXQgcOUgbWlubmU7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOICAgICAgICAgIlNrcml2YXJk9nJyZW4g5HIg9nBwZW47ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfU0VSVkVSX1VOS05PV04gICAgIlNrcml2YXJzZXJ2ZXIgb2vkbmQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUE9XRVJfU0FWRSAgICAgICAgIkZlbHPka2VydCBs5GdlOyAiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIC8qIEZvbnQgc3R5bGVzICovCnsKICAgIElEU19GT05UX1JFR1VMQVIgICAgICAgIlN0YW5kYXJkIgogICAgSURTX0ZPTlRfQk9MRCAgICAgICAgICAiRmV0IgogICAgSURTX0ZPTlRfSVRBTElDICAgICAgICAiS3Vyc2l2IgogICAgSURTX0ZPTlRfQk9MRF9JVEFMSUMgICAiRmV0IGt1cnNpdiIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUgLyogQ29sb3IgbmFtZXMgKi8KewogICAgSURTX0NPTE9SX0JMQUNLICAgICAiU3ZhcnQiCiAgICBJRFNfQ09MT1JfTUFST09OICAgICJS9mRicnVuIgogICAgSURTX0NPTE9SX0dSRUVOICAgICAiR3L2biIKICAgIElEU19DT0xPUl9PTElWRSAgICAgIk9saXYiCiAgICBJRFNfQ09MT1JfTkFWWSAgICAgICJOYXZ5IgogICAgSURTX0NPTE9SX1BVUlBMRSAgICAiTGlsYSIKICAgIElEU19DT0xPUl9URUFMICAgICAgIlRlYWwiCiAgICBJRFNfQ09MT1JfR1JBWSAgICAgICJHcuUiCiAgICBJRFNfQ09MT1JfU0lMVkVSICAgICJTaWx2ZXIiCiAgICBJRFNfQ09MT1JfUkVEICAgICAgICJS9mQiCiAgICBJRFNfQ09MT1JfTElNRSAgICAgICJMaW1lIgogICAgSURTX0NPTE9SX1lFTExPVyAgICAiR3VsIgogICAgSURTX0NPTE9SX0JMVUUgICAgICAiQmzlIgogICAgSURTX0NPTE9SX0ZVQ0hTSUEgICAiRnVjaHNpYSIKICAgIElEU19DT0xPUl9BUVVBICAgICAgIkFxdWEiCiAgICBJRFNfQ09MT1JfV0hJVEUgICAgICJWaXQiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19GT05UX1NJWkUgICAiVuRsaiBlbiB0ZWNrZW5zdG9ybGVrIG1lbGxhbiAlZCBvY2ggJWQgcHVua3Rlci4iCiAgICBJRFNfU0FWRV9CVVRUT04gIiZTcGFyYSIKICAgIElEU19TQVZFX0lOICAgICAiU3BhcmEgJmk6IgogICAgSURTX1NBVkUgICAgICAgICJTcGFyYSIKICAgIElEU19TQVZFX0FTICAgICAiU3BhcmEgc29tIgogICAgSURTX09QRU5fRklMRSAgICLWcHBuYSBmaWwiCn0K