LyoKICogQ29weXJpZ2h0IDE5OTggS2FybCBCYWNrc3Ry9m0KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX1NXRURJU0gsIFNVQkxBTkdfTkVVVFJBTAoKT1BFTl9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi1nBwbmEiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIkZpbCZuYW1uOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImS2F0YWxvZ2VyOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiTGlzdGEgZmlsZXIgYXYgJnR5cGVuOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImRW5oZXRlcjoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gItZwcG5hIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tyaXZza3lkZGF0IiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlNwYXJhIHNvbS4uLiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJkZpbG5hbW46IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZLYXRhbG9nZXI6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICJMaXN0YSBmaWxlciBhdiAmdHlwZW46IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZFbmhldGVyOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiU3BhcmEgc29tIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tyaXZza3lkZGFkIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2tyaXYgdXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIlNrcml2YXJlOiIsIDEwODgsIDYsIDYsIDQwLCA5CiBMVEVYVCAiIiwgMTA4OSwgNjAsIDYsIDE1MCwgOQogR1JPVVBCT1ggIlNrcml2IHV0IGRlbCIsIDEwNzIsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZBbGx0IiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICImTWFya2VyYXQiLCAxMDU3LCAxNiwgNjAsIDYwLCAxMgogUkFESU9CVVRUT04gIiZTaWRvciIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICJTa3JpdiB1dCIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZJbnN05GxsbmluZ2FyIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImRnLlbjoiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJlRpbGw6IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICJVdHNrcmlmdHNrdmFsaXRldDoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tyaXYgdGlsbCBmaWwiLCAxMDQwLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlNhbW1hbnRyeWNrdCIsIDEwNDEsIDE2MCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlRfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTa3JpdmFyaW5zdORsbG5pbmdhciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBHUk9VUEJPWCAiU2tyaXZhcmUiLCAxMDcyLCA2LCAxMCwgMTgwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImU3RhbmRhcmRza3JpdmFyZSIsIDEwNTYsIDE2LCAyMCwgODAsIDEyCiBMVEVYVCAiW2luZ2VuXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CiBSQURJT0JVVFRPTiAiU3BlY2lmaWVyYWQgJnNrcml2YXJlIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIDExMzYsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT2siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQXZicnl0IiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSW5zdORsbG5pbmdhciIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiT3JpZW50ZXJpbmciLCAxMDczLCA2LCA4NSwgMTAwLCA1MCwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImUG9ydHLkdHQiLCAxMDU4LCA1MCwgMTAwLCA0MCwgMTIKIFJBRElPQlVUVE9OICImTGFuZHNrYXAiLCAxMDU5LCA1MCwgMTE1LCA0MCwgMTIKIElDT04gIkxBTkRTQ0FQIiwgMTA5NywgMTAsIDk1LCAzMiwgMzIKIElDT04gIlBPUlRSQUlUIiwgMTA5OCwgMTAsIDk1LCAzMiwgMzIKIEdST1VQQk9YICJQYXBlciIsIDEwNzQsIDEyMCwgODUsIDE4MCwgNTAsIEJTX0dST1VQQk9YCiBMVEVYVCAiJlN0b3JsZWsiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIiZL5GxsYSIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOQogQ09NQk9CT1ggMTEzNywgMTU1LCA5NSwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDT01CT0JPWCAxMTM4LCAxNTUsIDExMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfRk9OVCBESUFMT0cgRElTQ0FSREFCTEUgIDEzLCA1NCwgMjY0LCAxNDcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVHlwc25pdHQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAgICAgICAgICImVHlwc25pdHQ6IiwxMDg4ICw2LDMsNDAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzYgLDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIlR5cHNuaXR0c3MmdGlsOiIsMTA4OSAsMTA4LDMsNDQsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzcsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJlN0b3JsZWs6IiwxMDkwLDE3OSwzLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDE3OSwxMywzMiw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gICAiT2siLElET0ssMjE4LDYsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiQXZicnl0IixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkFuduRuZCIsIDEwMjYsMjE4LDQwLDQwLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZIauRscCIgLCAxMDM4LDIxOCw1Nyw0MCwxNCxXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJFZmZla3RlciIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWAkgICAgIiZHZW5vbXN0cnVrZW4iLCAxMDQwLCAxMCw4Miw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogICAgQ0hFQ0tCT1ggCSAgICAiJlVuZGVyc3RydWtlbiIsIDEwNDEsIDEwLDk0LDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgICAgICAgICAiJkbkcmc6IiwgMTA5MSAsNiwxMTAsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzksNiwxMjAsODQsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJUZXN0IixncnAyLDk4LDcyLDEyMCwzNixXU19HUk9VUAogICAgQ1RFWFQgICAgICAgICAgICJBYUJiWXlaeiIsc3RjNSwxMDMsODAsMTA5LDI0LFNTX05PUFJFRklYIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExURVhUICAgICAgICAgICAiU2NyJmlwdCAodHJhbnNsYXRlKToiLHN0YzcgLDk4LDExNCw4MCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iNSw5OCwxMjQsMTIwLDkwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9DT0xPUiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDMwMCwgMTg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkbkcmciCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZHcnVuZGzkZ2dhbmRlIGbkcmdlcjoiLCAgIDEwODgsIDQsICAgIDQsICAxNDAsIDEwCiBMVEVYVCAiJkVnZW5kZWZpbmVyYWRlIGbkcmdlcjoiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJFbmbkcmdhdCIsICAxMDkwLCAxNTAsIDE1MSwgIDQ4LCAxMAogTFRFWFQgICAiJlL2ZDoiLCA3MjYgLyoxMDk0Ki8sMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZHcvZuOiIsNzI3LyoxMDk1Ki8sMjQ5LDE0MCwyNCwxMAogRURJVFRFWFQgNzA3LCAyNzUsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZCbOU6Iiw3MjggLyoxMDk2Ki8sMjQ5LDE1NCwyNCwxMAogRURJVFRFWFQgNzA4LCAyNzUsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkludDoiICw3MjMgLyoxMDkxKi8sMjAyLDEyNiwyMiwxMAogRURJVFRFWFQgNzAzLCAyMjYsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJk1ldDoiICw3MjQgLyoxMDkyKi8sMjAyLDE0MCwyMiwxMAogRURJVFRFWFQgNzA0LCAyMjYsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkx1bToiICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMAogRURJVFRFWFQgNzA1LCAyMjYsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPayIsICBJRE9LLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiSGrkbHAiLCAxMDM4LDEwMCwxNjYsIDQ0LCAxNAogUFVTSEJVVFRPTiAiJkzkZ2cgdGlsbCBlZ2VuZGVmaW5lcmFkIGbkcmciLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkRlZmluZ25lcmEgZWdlbiBm5HJnID4+IiwgNzE5LyoxMDI1Ki8sICAgNCwgMTUwLCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gICImaSIsNzEzLDMwMCwyMDAsNCwxNCAgIC8qIGp1c3QgYSBkdW1teTogICdpJyBpcyAgbGlrZSAgJmkgIGluICJzb2wmaWQiICAqLwp9CgoKRklORERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU/ZrIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImU/ZrIGVmdGVyOiIsIC0xLCA0LCA4LCA0MiwgOAogRURJVFRFWFQgMTE1MiwgNDcsIDcsIDEyOCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkJhcmEgaGVsYSBvcmQiLCAxMDQwLCA0LCAyNiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlNraWxsbmFkIHDlIHN0b3JhL3Nt5SBib2tzdOR2ZXIiLCAxMDQxLCA0LCA0MiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIlJpa3RuaW5nIiwgMTA3MiwgMTA3LCAyNiwgNjgsIDI4CiBDT05UUk9MICImVXBwIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTExLCAzOCwgMjAsIDEyCiBDT05UUk9MICImTmVyIiwgMTA1NywgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDEzOCwgMzgsIDMwLCAxMgogREVGUFVTSEJVVFRPTiAiJlP2ayBlZnRlciBu5HN0YSIsIElET0ssIDE4MiwgNSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAxODIsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMTgyLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzAsIDk0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlP2ay9lcnPkdHQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZT9msgZWZ0ZXI6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImRXJz5HR0IG1lZDoiLCAtMSwgNCwgMjYsIDQ4LCA4CiBFRElUVEVYVCAxMTUzLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkJhcmEgaGVsYSBvcmQiLCAxMDQwLCA1LCA0NiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlNraWxsbmFkIHDlIHN0b3JhL3Nt5SBib2tzdOR2ZXIiLCAxMDQxLCA1LCA2MiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiJlP2ayBlZnRlciBu5HN0YSIsIElET0ssIDE3NCwgNCwgNTAsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImRXJz5HR0IiwgMTAyNCwgMTc0LCAyMSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkVyc+R0dCAmYWxsYSIsIDEwMjUsIDE3NCwgMzgsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZIauRscCIsIDEwMzgsIDE3NCwgNzUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KClBSSU5UMzIgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxODYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiU2tyaXYgdXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAgICJPayIsICAgICBJRE9LLCAgICAgMTgwLDE2NCwgNDgsMTQsIFdTX0dST1VQIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLCBJRENBTkNFTCwgMjMyLDE2NCwgNDgsMTQsIFdTX0dST1VQCiBQVVNIQlVUVE9OICAgICAgIiZIauRscCIsICBwc2hIZWxwLCAgNTAsIDE2MSwgNDgsMTQsIFdTX0dST1VQCgogR1JPVVBCT1ggICAgICAgICJTa3JpdmFyZSIsICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKIENPTlRST0wgICAgICAgICAiU2tyJml2IHRpbGwgZmlsIixjaHgxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKIFBVU0hCVVRUT04gICAgICAiJkVnZW5za2FwZXIiLCAgICBwc2gyLCAyMTIsIDE3LCAgNjAsMTQsIFdTX0dST1VQCiBMVEVYVCAgICAgICAgICAgIiZOYW1uOiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNTIsIDE4LCAgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gc3RhdHVzIiwgICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlR5cDoiLCAgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gdHlwIiwgICAgICAgIHN0YzExLCA1MiwgNDgsIDIyNCwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlBsYXRzOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gcGxhdHMiLCAgICAgIHN0YzE0LCA1MiwgNjAsIDIyNCwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIktvbW1lbnRhcjoiLCAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0ga29tbWVudGFyIiwgIHN0YzEzLCA1MiwgNzIsIDE1MiwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCgogR1JPVVBCT1ggICAgICAgICJLb3Bpb3IiLCAgICAgICAgIGdycDIsIDE2MCwgOTIsIDEyMCw2NCwgV1NfR1JPVVAKIExURVhUICAgICAgICAgICAiQW50YWwgayZvcGlvcjoiLCBzdGM1LDE2OCwxMDgsNjgsOAogSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzMsIDE2MiwxMjQsICA3NiwyNCxXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiBDT05UUk9MICAgICAgICAgIiZTb3J0ZXJhIiwgICAgICAgY2h4MiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8RVNfTlVNQkVSCgogR1JPVVBCT1ggICAgICAgICJTa3JpdiB1dCIsICAgICAgIGdycDEsICAgOCw5MiwgIDE0NCw2NCwgV1NfR1JPVVAKIENPTlRST0wgICAgICAgICAiJkFsbGEiLCAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8V1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogQ09OVFJPTCAgICAgICAgICJTaSZkb3IiLCAgICAgICAgIHJhZDMsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMiwzNiwxMgogQ09OVFJPTCAgICAgICAgICImTWFya2VyaW5nIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDEsICA3NCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfEVTX05VTUJFUgogRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDExOCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfEVTX05VTUJFUgogUlRFWFQgICAgICAgICAgICImZnLlbjoiLCAgICAgICAgIHN0YzIsICA1MiwxMjQsICAyMCw4CiBSVEVYVCAgICAgICAgICAgIiZ0aWxsOiIsICAgICAgICAgc3RjMywgMTAwLDEyNCwgIDE2LDgKCn0KClBSSU5UMzJfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxNzgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiVXRza3JpZnRzZm9ybWF0IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiBERUZQVVNIQlVUVE9OICAgIk9rIixJRE9LLDE4MCwxNTYsNDgsMTQsV1NfR1JPVVAKIFBVU0hCVVRUT04gICAgICAiQXZicnl0IixJRENBTkNFTCwyMzIsMTU2LDQ4LDE0CgogR1JPVVBCT1ggICAgICAgICJTa3JpdmFyZSIsICAgZ3JwNCwgICA4LCAgNCwgMjcyLDg0LCBXU19HUk9VUAogUFVTSEJVVFRPTiAgICAgICImRWdlbnNrYXBlciIsICAgIHBzaDIsIDIxMiwgMTcsIDYwLDE0LCBXU19HUk9VUAogTFRFWFQgICAgICAgICAgICImTmFtbjoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CiBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMSwgIDUyLCAxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bSBTdGF0ZSIsICAgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlR5cDoiLCAgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gdHlwIiwgICAgICAgIHN0YzExLCA1MiwgNDgsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogTFRFWFQgICAgICAgICAgICJQbGF0czoiLCAgICAgICAgIHN0YzEwLCAxNiwgNjAsICAzNiwxMCwgU1NfTk9QUkVGSVgKIExURVhUICAgICAgICAgICAiRHVtIHBsYXRzIiwgICAgICBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKIExURVhUICAgICAgICAgICAiS29tbWVudGFyOiIsICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bSBrb21tbmV0YXIiLCAgc3RjMTMsIDUyLCA3MiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiBHUk9VUEJPWCAgICAgICAgIlBhcHBlciIsICAgICAgICAgZ3JwMiwgICA4LCA5MiwgMTY0LDU2LCBXU19HUk9VUAogTFRFWFQgICAgICAgICAgICJTdCZvcmxlazoiLCAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOAogQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwxMDYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAgICAgICAgICImS+RsbGE6IiwgICAgICAgIHN0YzMsICAxNiwxMjgsICAzNiwgOAogQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjMsICA1MiwxMjYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggICAgICAgICJPcmllbnRlcmluZyIsICAgIGdycDEsIDE4MCwgOTIsIDEwMCw1NiwgV1NfR1JPVVAKIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28xLCAxOTUsMTEyLCAgMTgsMjAsIFdTX0dST1VQCiBDT05UUk9MICAgICAgICAgIlN0JuVlbmRlIiwgICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiBDT05UUk9MICAgICAgICAgIkwmaWdnYW5kZSIsICAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjI0LDEyNiw1MiwxMgpFTkQKClBBR0VTRVRVUERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJVdHNrcmlmdHNmb3JtYXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBDT05UUk9MICIiLCByY3QxLCAiU3RhdGljIiwgU1NfV0hJVEVSRUNULCA4MCwgOCwgODAsIDgwCiAgQ09OVFJPTCAiIiwgcmN0MiwgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAxNjAsIDEyLCA0LCA4MAogIENPTlRST0wgIiIsIHJjdDMsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgIDg0LCA4OCwgODAsIDQKICBHUk9VUEJPWCAiUGFwcGVyIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIiZTdG9ybGVrOiIsIHN0YzIsIDE2LCAxMTIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMiwgNjQsIDExMCwgMTYwLCAxNjAsQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgTFRFWFQgIiZUcmF5OiIsIHN0YzMsIDE2LCAxMzIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMywgNjQsIDEzMCwgMTYwLCAxNjAsQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgR1JPVVBCT1ggIk9yaWVudGVyaW5nIiwgZ3JwMSwgOCwgMTU2LCA2NCwgNTYsIEJTX0dST1VQQk9YCiAgQVVUT1JBRElPQlVUVE9OICImU3TlZW5kZSIsIHJhZDEsIDE2LCAxNzAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQVVUT1JBRElPQlVUVE9OICImTGlnZ2FuZGUiLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEdST1VQQk9YICJNYXJnaW5hbGVyIiwgZ3JwNCwgODAsIDE1NiwgMTUyLCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiJlbkbnN0ZXI6Iiwgc3RjMTUsIDg4LCAxNzIsIDIxLCA4CiAgRURJVFRFWFQgZWR0NCwgMTExLCAxNzAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVJ8RVNfTlVNQkVSCiAgTFRFWFQgIiZI9mdlcjoiLCBzdGMxNiwgMTU5LCAxNzIsIDI3LCA4CiAgRURJVFRFWFQgZWR0NiwgMTg3LCAxNzAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVJ8RVNfTlVNQkVSCiAgTFRFWFQgIibWdmVya2FudDoiLCBzdGMxNywgODgsIDE5MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ1LCAxMTEsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUnxFU19OVU1CRVIKICBMVEVYVCAiJk5lZGVya2FudDoiLCBzdGMxOCwgMTU5LCAxOTIsIDIzLCA4CiAgRURJVFRFWFQgZWR0NywgMTg3LCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVJ8RVNfTlVNQkVSCiAgREVGUFVTSEJVVFRPTiAiT2siLCBJRE9LLCA3MSwgMjIwLCA1MCwgMTQsIEJTX1BVU0hCVVRUT04KICBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMTI2LCAyMjAsIDUwLCAxNAogIFBVU0hCVVRUT04gIiZTa3JpdmFyZS4uLiIsIHBzaDMsIDE4NCwgMjIwLCA0OCwgMTQKRU5ECgpORVdGSUxFT1BFTk9SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDE2NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19WSVNJQkxFIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IFdTX0NMSVBDSElMRFJFTgpDQVBUSU9OICLWcHBuYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAgICAgICAiTGV0YSAmaSIsSURDX0xPT0tJTlNUQVRJQyw0LDYsNDMsOCwgU1NfTk9USUZZCiBDT01CT0JPWCAgICBJRENfTE9PS0lOLDQ5LDMsMTMyLDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKIExURVhUICAgICAgICIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE4MSwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKIExJU1RCT1ggICAgIElEQ19TSEVMTFNUQVRJQyw0LDIwLDI3Miw4NSwgTEJTX1NPUlQgfCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IExCU19NVUxUSUNPTFVNTiB8IFdTX0hTQ1JPTEwgfCBOT1QgV1NfVklTSUJMRQoKIExURVhUICAgICAgICJGaWwmbmFtbjoiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0Niw4LCBTU19OT1RJRlkKIEVESVRURVhUICAgIElEQ19GSUxFTkFNRSw1NCwxMTAsMTU1LDEyLEVTX0FVVE9IU0NST0xMCgogTFRFWFQgICAgICAgIiZGaWxmb3JtYXQiLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEyOCw0Miw4LCBTU19OT1RJRlkKIENPTUJPQk9YICAgIElEQ19GSUxFVFlQRSw1NCwxMjYsMTU1LDUzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKIENPTlRST0wgICAgICLWcHBuYSBzb20gJnNrcml2c2t5ZGRhZCIsSURDX09QRU5SRUFET05MWSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDU0LDE0NSwxMDAsMTAKCiBERUZQVVNIQlVUVE9OICAgICAgICIm1nBwbmEiLCAgICAgICAgICAgICAgICAgSURPSywyMjIsMTEwLDUwLDE0CiBQVVNIQlVUVE9OICAgICAgICAgICJBdmJyeXQiLCAgICAgICAgICAgICAgICBJRENBTkNFTCwyMjIsMTI4LDUwLDE0CiBQVVNIQlVUVE9OICAgICAgICAgICImSGrkbHAiLCAgICAgICAgICAgICAgICAgcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKIElEU19BQk9VVEJPWCAgICAgICAgICAgICImT20gRm9sZGVyUGlja2VyIFRlc3QiCiBJRFNfRE9DVU1FTlRGT0xERVJTICAgICAiRG9rdW1lbnRtYXBwYXIiCiBJRFNfUEVSU09OQUwgICAgICAgICAgICAiTWluYSBEb2N1bWVudHMiCiBJRFNfRkFWT1JJVEVTICAgICAgICAgICAiTWluYSBGYXZvcml0ZXMiCiBJRFNfUEFUSCAgICAgICAgICAgICAgICAiU3lzdGVtc/ZrduRnIgogSURTX0RFU0tUT1AgICAgICAgICAgICAgIlNrcml2Ym9yZCIKIElEU19GT05UUyAgICAgICAgICAgICAgICJUeXBzbml0dCIKIElEU19NWUNPTVBVVEVSICAgICAgICAgICJEZW4gaORyIGRhdG9ybiIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogSURTX1NZU1RFTUZPTERFUlMgICAgICAgIlN5c3RlbW1hcHBhciIKIElEU19MT0NBTEhBUkRSSVZFUyAgICAgICJMb2thbGEgaOVyZGRpc2thciIKIElEU19GSUxFTk9URk9VTkQgICAgICAgICJLdW5kZSBpbnRlIGhpdHRhIGZpbGVuIgogSURTX1ZFUklGWUZJTEUgICAgICAgICAgIlZhZCBnb2QgdmVyaWZpZXJhIHPlIGtvcnJla3QgZmlsbmFtbiDkciBhbmdpdmV0IgogSURTX0NSRUFURUZJTEUgICAgICAgICAgIkZpbGVuIGZpbm5zIGludGVcblZpbGwgZHUgc2thcGEgZmlsIgogSURTX09WRVJXUklURUZJTEUgICAgICAgIkZpbGVuIGZpbm5zIHJlZGFuLlxuVmlsbCBkdSBlcnPkdHRhIGRlbj8iCiBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAiSWxsZWdhbHQgdGVja2VuIGkgc/ZrduRnIgogSURTX0lOVkFMSURfRklMRU5BTUUgICAgIkV0dCBmaWxuYW1uIGthbiBpbnRlIGlubmVo5WxsYSBu5WdvbiBhdiBm9mxqYW5kZSB0ZWNrZW46XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gOiA8ID4gfCIKIElEU19QQVRITk9URVhJU1RJTkcgICAgICJT9mt25GdlbiBmaW5ucyBpbnRlIgogSURTX0ZJTEVOT1RFWElTVElORyAgICAgIkZpbGVuIGZpbm5zIGludGUiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKIElEU19VUEZPTERFUiAgICAgICAgICJVcHAgZW4gbml25SIKIElEU19ORVdGT0xERVIgICAgICAgICJTa2FwYSBueSBtYXBwIgogSURTX0xJU1RWSUVXICAgICAgICAgIkxpc3RhIgogSURTX1JFUE9SVFZJRVcgICAgICAgIkRldGFsamVyYXQiCiBJRFNfVE9ERVNLVE9QICAgICAgICAiVmlzYSBTa3JpdmJvcmRldCIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogUEQzMl9QUklOVF9USVRMRSAgICAgICAiU2tyaXYgdXQiCgogUEQzMl9WQUxVRV9VUkVBREFCTEUgICAgICAgICAgICAgICAgICAiT2zkc2JhcnQgZuRsdCIKIFBEMzJfSU5WQUxJRF9QQUdFX1JBTkdFICJEZXR0YSB25HJkZXQgbGlnZ2VyIGludGUgaW5vbSBzaWRvdXJ2YWxldC5cblwKVmFyIGdvZCBza3JpdiBpbiBldHQgduRyZGUgbWVsbGFuICVkIG9jaCAlZC4iCiBQRDMyX0ZST01fTk9UX0FCT1ZFX1RPICAgICAgICAgICAgICAgICInZnLlbictZuRsdGV0IGthbiBpbnRlIPZ2ZXJza3JpZGEgJ3RpbGwnLWbkbHRldCIKIFBEMzJfTUFSR0lOU19PVkVSTEFQICAgICAgICAgICAgICAgICAgIk1hcmdpbmFsZXJuYSD2dmVybGFwcGFyIGVsbGVyIORyIHV0YW5m9nIgXApwYXBwZXJzZ3LkbnNlcm5hLlxuVmFyIGdvZCBza3JpdiBpbiBtYXJnaW5hbGxlcm5hIGlnZW4uIgogUEQzMl9OUl9PRl9DT1BJRVNfRU1QVFkgICAgICAgICAgICAgICAiRuRsdGV0ICdBbnRhbCBrb3Bpb3InIGthbiBpbnRlIHZhcmEgdG9tdC4iCiBQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICJEaW4gc2tyaXZhcmUgc2FrbmFyIHN09mQgZvZyIHPlIG3lbmdhIGtvcGlvciBzb20gZHUgYW5nYXYuIFZhZCBnb2Qgc2tyaXYgaW4gZXR0IHbkcmRlIG1lbGxhbiAxIG9jaCAlZC4iCiBQRDMyX1BSSU5UX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICJFdHQgc2tyaXZhcmZlbCBpbnRy5GZmYWRlLiIKIFBEMzJfTk9fREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgIkRldCBmaW5ucyBpbmdlbiBzdGFuZGFyZHNrcml2YXJlLiIKIFBEMzJfQ0FOVF9GSU5EX1BSSU5URVIgICAgICAgICAgICAgICAgIkthbiBpbnRlIGhpdHRhIHNrcml2YXJlLiIKIFBEMzJfT1VUX09GX01FTU9SWSAgICAgICAgICAgICAgICAgICAgIlNsdXQgcOUgbWlubmUuIgogUEQzMl9HRU5FUklDX0VSUk9SICAgICAgICAgICAgICAgICAgICAiRXR0IGZlbCB1cHBzdG9kLiIKIFBEMzJfRFJJVkVSX1VOS05PV04gICAgICAgICAgICAgICAgICAgIk9r5G5kIHNrcml2YXJkcml2cnV0aW4uIgogUEQzMl9OT19ERVZJQ0VTICAgICAgICAgICAgICAgICAgICAgICAiQmVmb3JlIHlvdSBjYW4gcGVyZm9ybSBwcmludGVyLXJlbGF0ZWQgdGFza3MgXApzdWNoIGFzIHBhZ2Ugc2V0dXAgb3IgcHJpbnRpbmcgYSBkb2N1bWVudCwgeW91IG5lZWQgdG8gaW5zdGFsbCBhIHByaW50ZXIuIFwKUGxlYXNlIGluc3RhbGwgb25lIGFuZCByZXRyeS4iCgogUEQzMl9ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAgICAiU3RhbmRhcmRza3JpdmFyZTsgIgogUEQzMl9OUl9PRl9ET0NVTUVOVFNfSU5fUVVFVUUgICAgICAgICAiRGV0IGZpbm5zICVkIGRva3VtZW50IGkga/ZuIgogUEQzMl9NQVJHSU5TX0lOX0lOQ0hFUyAgICAgICAgICAgICAgICAiTWFyZ2luYWxlciBbdHVtXSIKIFBEMzJfTUFSR0lOU19JTl9NSUxJTUVURVJTICAgICAgICAgICAgIk1hcmdpbmFsZXIgW21pbGxpbWV0ZXJdIgogUEQzMl9NSUxJTUVURVJTICAgICAgICAgICAgICAgICAgICAgICAibWlsbGltZXRlciIKCiBQRDMyX1BSSU5URVJfU1RBVFVTX1JFQURZICAgICAgICAgICAgICJSZWRvIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQVVTRUQgICAgICAgICAgICAiU3Rhbm5hZDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUiAgICAgICAgICAgICAiRmVsOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04gICJW5G50YW5kZSBib3J0dGFnbmluZzsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9KQU0gICAgICAgICAiUGFwcGVyc2ty5W5nZWw7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfT1VUICAgICAgICAgIlNsdXQgcOUgcGFwcGVyOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVEICAgICAgICJGeWxsIHDlIHBhcHBlciBtYW51ZWxsZXQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfUFJPQkxFTSAgICAgIlBhcHBlcnNwcm9ibGVtOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX09GRkxJTkUgICAgICAgICAgICJTa3JpdmVyYXJlIORuIGF2c3TkbmdkOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX0lPX0FDVElWRSAgICAgICAgICJJL08gQWt0aXY7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfQlVTWSAgICAgICAgICAgICAgIlVwcHRhZ2VuOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BSSU5USU5HICAgICAgICAgICJTa3JpdmVyIHV0OyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX09VVFBVVF9CSU5fRlVMTCAgICJVdG1hdG5pbmdzZmFja2V0IORyIGZ1bGx0OyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX05PVF9BVkFJTEFCTEUgICAgICJJbnRlIHRpbGxn5G5nbGlnOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1dBSVRJTkcgICAgICAgICAgICJW5G50YXI7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUFJPQ0VTU0lORyAgICAgICAgIkJlaGFuZGxhcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19JTklUSUFMSVpJTkcgICAgICAiSW5pdGllcmFyOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1dBUk1JTkdfVVAgICAgICAgICJW5HJtZXIgdXBwOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1RPTkVSX0xPVyAgICAgICAgICJUb25lciBzbmFydCBzbHV0OyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX05PX1RPTkVSICAgICAgICAgICJJbmdhIHRvbmVyOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BBR0VfUFVOVCAgICAgICAgICJTaWRvcHVudDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19VU0VSX0lOVEVSVkVOVElPTiAiQXZicnV0ZW4gYXYgYW525G5kYXJlbjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZICAgICAiU2x1dCBw5SBtaW5uZTsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19ET09SX09QRU4gICAgICAgICAiU2tyaXZhcmT2cnJlbiDkciD2cHBlbjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAiU2tyaXZhcnNlcnZlciBva+RuZDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAiRmVsc+RrZXJ0IGzkZ2U7ICIKfQo=