LyoKICogQ29weXJpZ2h0IDE5OTcgUmljYXJkbyBSLiBNYXNzYXJvCiAqIENvcHlyaWdodCAyMDAzIE1hcmNlbG8gRHVhcnRlCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCi8qCiAqIFdBUk5JTkc6IERPIE5PVCBDSEFOR0UgVEhFIFNJWkUgT0YgVEhFIFNUQU5EQVJEIERJQUxPRyBURU1QTEFURVMuCiAqLwoKTEFOR1VBR0UgTEFOR19QT1JUVUdVRVNFLCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkFicmlyIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICJOb21lIGRvICZBcnF1aXZvOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImRGlyZXTzcmlvczoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIkxpc3RhciBBcnF1aXZvcyBkbyAmVGlwbzoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiRHJpJnZlczoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIkFicmlyIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBJmp1ZGEiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTb21lbnRlIExlaXR1cmEiLCAxMDQwLCAyMDgsIDY4LCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKU0FWRV9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2FsdmFyIENvbW8gLi4uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICJOb21lIGRvICZBcnF1aXZvOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImRGlyZXTzcmlvczoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIkxpc3RhciBBcnF1aXZvcyBkbyAmVGlwbzoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiRHJpJnZlczoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIlNhbHZhciAmQ29tbyIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkFqdWRhIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU29tZW50ZSBMZWl0dXJhIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSW1wcmltaXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIkltcHJlc3NvcmE6IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAiRmFpeGEgZGUgSW1wcmVzc+NvIiwgMTA3MiwgNiwgMzAsIDE2MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJlR1ZG8iLCAxMDU2LCAxNiwgNDUsIDYwLCAxMgogUkFESU9CVVRUT04gIlMmZWxl5+NvIiwgMTA1NywgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICImUOFnaW5hcyIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICJJbXByaW1pciIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkNvbmZpZ3VyYXIiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEZToiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJkF0ZToiLCAxMDkxLCAxMjAsIDgwLCAzMCwgOQogTFRFWFQgIiZRdWFsaWRhZGUgZGUgSW1wcmVzc+NvOiIsIDEwOTIsIDYsIDEwMCwgNzYsIDkKIENPTUJPQk9YIDExMzYsIDgwLCAxMDAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkltcHJpbWlyIHBhcmEgQXJxdWl2byIsIDEwNDAsIDIwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQyZvbmRlbnNhZG8iLCAxMDQxLCAxNjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQ29uZmlndXJh5/VlcyBkZSBJbXByZXNz428iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogR1JPVVBCT1ggIkltcHJlc3NvcmEiLCAxMDcyLCA2LCAxMCwgMTgwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImSW1wcmVzc29yYSBQYWRy428iLCAxMDU2LCAxNiwgMjAsIDgwLCAxMgogTFRFWFQgIltub25lXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CiBSQURJT0JVVFRPTiAiSW1wcmVzc29yYSAmRXNwZWPtZmljYSIsIDEwNTcsIDE2LCA1MCwgODAsIDEyCiBDT01CT0JPWCAxMTM2LCAzNSwgNjUsIDE0OSwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImQ29uZmlndXJhciIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiT3JpZW50YefjbyIsIDEwNzMsIDYsIDg1LCAxMDAsIDUwLCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZSZXRyYXRvIiwgMTA1OCwgNTAsIDEwMCwgNDAsIDEyCiBSQURJT0JVVFRPTiAiJlBhaXNhZ2VtIiwgMTA1OSwgNTAsIDExNSwgNDAsIDEyCiBJQ09OICJMQU5EU0NBUCIsIDEwOTcsIDEwLCA5NSwgMzIsIDMyCiBJQ09OICJQT1JUUkFJVCIsIDEwOTgsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiUGFwZWwiLCAxMDc0LCAxMjAsIDg1LCAxODAsIDUwLCBCU19HUk9VUEJPWAogTFRFWFQgIiZUYW1hbmhvIiwgMTA4OSwgMTMwLCA5NSwgMzAsIDkKIExURVhUICImRm9udGUgZGUgQWxpbWVudGHn428iLCAxMDkwLCAxMzAsIDExMCwgMzAsIDkKIENPTUJPQk9YIDExMzcsIDE1NSwgOTUsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ09NQk9CT1ggMTEzOCwgMTU1LCAxMTAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0ZPTlQgRElBTE9HIERJU0NBUkRBQkxFICAxMywgNTQsIDI2NCwgMTQ3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkZvbnRlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgICAgICAgICAiJkZvbnRlOiIsMTA4OCAsNiwzLDQwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM2ICw2LDEzLDk0LDU0LCAgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICImRXN0aWxvIGRhIEZvbnRlOiIsMTA4OSAsMTA4LDMsNTAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzcsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICImVGFtYW5obzoiLDEwOTAsMTc5LDMsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzgsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDIxOCw2LDQwLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkFwbGljYXIiLCAxMDI2LDIxOCw0MCw0MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJBJmp1ZGEiICwgMTAzOCwyMTgsNTcsNDAsMTQsV1NfR1JPVVAKICAgIEdST1VQQk9YICAgICAgICAiRWZlaXRvcyIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWAkgICAgIiZSaXNjYWRvIiwgMTA0MCwgMTAsODIsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKICAgIENIRUNLQk9YIAkgICAgIiZTdWJsaW5oYWRvIiwgMTA0MSwgMTAsOTQsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAgICAgICAgICImQ29yOiIsIDEwOTEgLDYsMTEwLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDYsMTIwLDg0LDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfAoJCSAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiRXhlbXBsbyIsZ3JwMiw5OCw3MiwxMjAsMzYsV1NfR1JPVVAKICAgIENURVhUICAgICAgICAgICAiQWFCYll5WnoiLHN0YzUsMTAzLDgwLDEwOSwyNCxTU19OT1BSRUZJWCB8IE5PVCBXU19WSVNJQkxFCiAgICBMVEVYVCAgICAgICAgICAgIlNjciZpcHQgKHRyYW5zbGF0ZSk6IixzdGM3ICw5OCwxMTQsODAsOQogICAgQ09NQk9CT1ggICAgICAgIGNtYjUsOTgsMTI0LDEyMCwxMCxDQlNfRFJPUERPV05MSVNUIHxDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9DT0xPUiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDMwMCwgMTg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiQ29yZXMgJkLhc2ljYXM6IiwgICAxMDg4LCA0LCAgICA0LCAgMTQwLCAxMAogTFRFWFQgIiZDb3JlcyBkbyBVc3XhcmlvOiIsICAxMDg5LCA0LCAgIDEwNiwgMTQwLCAxMAogTFRFWFQgIkNvbG9yaWRvfFPzbGlkJm8iLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIlZlciZtZWxobzoiLCA3MjYgLyoxMDk0Ki8sMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZWZXJkZToiLDcyNy8qMTA5NSovLDI0OSwxNDAsMjQsMTAKIEVESVRURVhUIDcwNywgMjc1LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICJBJnp1bDoiLDcyOCAvKjEwOTYqLywyNDksMTU0LDI0LDEwCiBFRElUVEVYVCA3MDgsIDI3NSwxNTIsMTgsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICJNYXQmaXo6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMjIsMTAKIEVESVRURVhUIDcwMywgMjI2LDEyNCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIlNhJnQ6IiAsNzI0IC8qMTA5MiovLDIwMiwxNDAsMjIsMTAKIEVESVRURVhUIDcwNCwgMjI2LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZMdW06IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMjIsMTAKIEVESVRURVhUIDcwNSwgMjI2LDE1MiwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT0siLCAgSURPSywgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQWomdWRhIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIiZBZGljaW9uYXIgQ29yIFBlcnNvbmFsaXphZGEiLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkRlZmluaXIgQ29yZXMgUGVyc29uYWxpemFkYXMgPj4iLCA3MTkvKjEwMjUqLywgICA0LCAxNTAsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZvIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ28nIGlzICBsaWtlICAmbyAgaW4gInNvbGlkJm8iICAqLwp9CgoKRklORERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvY3VyYXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZQcm9jdXJhcjoiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMjgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBhbGF2cmEgJkludGVpcmEiLCAxMDQwLCA0LCAyNiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJk1hafpzY3VsYXMvbWludXNjdWxhcyIsIDEwNDEsIDQsIDQyLCA2NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJEaXJl5+NvIiwgMTA3MiwgMTA3LCAyNiwgNjgsIDI4CiBDT05UUk9MICJBJmNpbWEiLCAxMDU2LCAiQlVUVE9OIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxMTEsIDM4LCAyMCwgMTIKIENPTlRST0wgIkEmYmFpeG8iLCAxMDU3LCAiQlVUVE9OIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUCwgMTM4LCAzOCwgMzAsIDEyCgogREVGUFVTSEJVVFRPTiAiUHJvY3VyYXIgYSBQcvMmeGltYSIsIElET0ssIDE4MiwgNSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDE4MiwgMjMsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBJmp1ZGEiLCAxMDM4LCAxODIsIDQ1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUkVQTEFDRURMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzMCwgOTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU3Vic3RpdHVpciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJlByb2N1cmFyOiIsIC0xLCA0LCA5LCA0OCwgOAogRURJVFRFWFQgMTE1MiwgNTQsIDcsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiU3Vic3RpdHVpciBQYSZyYToiLCAtMSwgNCwgMjYsIDQ4LCA4CiBFRElUVEVYVCAxMTUzLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUGFsYXZyYSAmaW50ZWlyYSIsIDEwNDAsIDUsIDQ2LCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImTWFp+nNjdWxhcy9taW76c2N1bGFzIiwgMTA0MSwgNSwgNjIsIDU5LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAoKIERFRlBVU0hCVVRUT04gIlByb2N1cmFyIGEgUHLzJnhpbWEiLCBJRE9LLAkxNzQsICA0LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KIFBVU0hCVVRUT04gIiZTdWJzdGl0dWlyIiwgcHNoMSwJCQkxNzQsIDIxLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiU3Vic3RpdHVpciAmVG9kYXMiLCBwc2gyLAkJMTc0LCAzOCwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsCQkxNzQsIDU1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQSZqdWRhIiwgcHNoSGVscCwJCQkxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQzMiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJJbXByaW1pciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBERUZQVVNIQlVUVE9OICAgIk9LIiwJSURPSywgICAgIDE4MCwxNjQsIDUwLDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04JICAgICJDYW5jZWxhciIsCUlEQ0FOQ0VMLCAyMzIsMTY0LCA1MCwxNCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkFqdWRhIiwgICBwc2hIZWxwLCAgNTAsIDE2MSwgNTAsMTQsIFdTX0dST1VQCgogICAgR1JPVVBCT1ggICAgICAgICJJbXByZXNzb3JhIiwJCWdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiSW1wcmltaXIgZW0gYXJxdWkmdm8iLAljaHgxLCAiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjEyLDcwLDY0LDEyCiAgICBQVVNIQlVUVE9OICAgICAgIlByb3ByaSZlZGFkZXMiLAkJcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTm9tZToiLAkJCXN0YzYsICAxNiwgMjAsICAzNiw4CiAgICBDT01CT0JPWAkJCQkJY21iNCwgIDUyLCAxOCwgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLAkJCXN0YzgsICAxNiwgMzYsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgU3RhdGUiLAkJc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIlRpcG86IiwJCQlzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFR5cGUiLAkJc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIk9uZGU6IiwJCQlzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IExvY2F0aW9uIiwJCXN0YzE0LCA1MiwgNjAsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJDb21lbnThcmlvOiIsCQlzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFJlbWFyayIsCQlzdGMxMywgNTIsIDcyLCAxNTIsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIkPzcGlhcyIsCQkJZ3JwMiwgMTYwLCA5MiwgMTIwLDY0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJO+m1lcm8gZGUgJmPzcGlhczoiLAlzdGM1LCAxNjgsMTA4LCAgNjgsIDgKICAgIElDT04gICAgICAgICAgICAiIiwJCQkJaWNvMywgMTYyLDEyNCwgIDc2LDI0LCBXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiAgICBDT05UUk9MICAgICAgICAgIiZBZ3J1cGFyIiwJCQljaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiAgICBFRElUVEVYVAkJCQkJZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgoKICAgIEdST1VQQk9YICAgICAgICAiRmFpeGEgZGUgaW1wcmVzc+NvIiwJZ3JwMSwgICA4LDkyLCAgMTQ0LDY0LCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImVG9kb3MiLAkJCXJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogICAgQ09OVFJPTCAgICAgICAgICJQ4SZnaW5hcyIsCQkJcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCiAgICBDT05UUk9MICAgICAgICAgIlNlbGXn428iLAkJCXJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogICAgRURJVFRFWFQJCQkJCWVkdDEsICA3NCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKICAgIEVESVRURVhUCQkJCQllZHQyLCAxMTgsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgIiZkZToiLAkJCXN0YzIsICA1MiwxMjQsICAyMCw4CiAgICBSVEVYVCAgICAgICAgICAgIiZhdOk6IiwJCQlzdGMzLCAxMDAsMTI0LCAgMTYsOAp9CgpQUklOVDMyX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIkNvbmZpZ3VyYef1ZXMgZGUgSW1wcmVzc+NvIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIiwJSURPSywxODAsMTU2LDUwLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIiwJSURDQU5DRUwsMjMyLDE1Niw1MCwxNAovKiAgICBQVVNIQlVUVE9OICAgICAgIlJlZGUuLi4iLAlwc2g1LCAyODQsMTU2LDUwLDE0ICovCgogICAgR1JPVVBCT1gJIkltcHJlc3NvcmEiLCAgICAgZ3JwNCwgICA4LCAgIDQsIDI3MiwgIDg0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTgkiJlByb3ByaWVkYWRlcyIsICBwc2gyLCAyMTIsICAxNywgIDYwLCAgMTQsIFdTX0dST1VQCiAgICBMVEVYVAkiJk5vbWU6IiwgICAgICAgICBzdGM2LCAgMTYsICAyMCwgIDM2LCAgIDgKICAgIENPTUJPQk9YCQkJICBjbWIxLCAgNTIsICAxOCwgMTUyLCAxNTIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUCSJTdGF0dXM6IiwgICAgICAgIHN0YzgsICAxNiwgIDM2LCAgMzYsICAxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUCSJEdW1teSBTdGF0ZSIsICAgIHN0YzEyLCA1MiwgIDM2LCAyMjQsICAxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQJIlRpcG86IiwgICAgICAgICAgc3RjNywgIDE2LCAgNDgsICAzNiwgIDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQJIkR1bW15IFR5cGUiLCAgICAgc3RjMTEsIDUyLCAgNDgsIDIyNCwgIDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVAkiT25kZToiLCAgICAgICAgICBzdGMxMCwgMTYsICA2MCwgIDM2LCAgMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVAkiRHVtbXkgTG9jYXRpb24iLCBzdGMxNCwgNTIsICA2MCwgMjI0LCAgMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUCSJDb21lbnThcmlvIiwgICAgIHN0YzksICAxNiwgIDcyLCAgMzYsICAxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUCSJEdW1teSBSZW1hcmsiLCAgIHN0YzEzLCA1MiwgIDcyLCAyMjQsICAxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAoKICAgIEdST1VQQk9YCSJQYXBlbCIsICAgICAgICAgIGdycDIsICAgOCwgIDkyLCAxNjQsICA1NiwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICImVGFtYW5obzoiLCAgICAgIHN0YzIsICAxNiwgMTA4LCAgMzYsICAgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgY21iMiwgIDUyLCAxMDYsIDExMiwgMTEyLCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVAkiJk9yaWdlbToiLCAgICAgICBzdGMzLCAgMTYsIDEyOCwgIDM2LCAgIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgIGNtYjMsICA1MiwgMTI2LCAxMTIsIDExMiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAoKICAgIEdST1VQQk9YCSJPcmllbnRh5+NvIiwgICAgIGdycDEsIDE4MCwgIDkyLCAxMDAsICA1NiwgV1NfR1JPVVAKICAgIElDT04JIiIsICAgICAgICAgICAgICAgaWNvMSwgMTk1LCAxMTIsICAxOCwgIDIwLCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgIiZSZXRyYXRvIiwgICAgICAgcmFkMSwgIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjI0LCAxMDYsIDUyLCAxMgogICAgQ09OVFJPTAkiJlBhaXNhZ2VtIiwgICAgICByYWQyLCAiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLCAyMjQsIDEyNiwgNTIsIDEyCkVORAoKUEFHRVNFVFVQRExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDMyLCAzMiwgMjQwLCAyNDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbmZpZ3VyYef1ZXMgZGUgUOFnaW5hIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgQ09OVFJPTCAiIiwgcmN0MSwgIlN0YXRpYyIsIFNTX1dISVRFUkVDVCwgODAsIDgsIDgwLCA4MAogIENPTlRST0wgIiIsIHJjdDIsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgMTYwLCAxMiwgNCwgODAKICBDT05UUk9MICIiLCByY3QzLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsICA4NCwgODgsIDgwLCA0CiAgR1JPVVBCT1ggIlBhcGVsIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIiZUYW1hbmhvOiIsIHN0YzIsIDE2LCAxMTIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMiwgNjQsIDExMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIExURVhUICImQmFuZGVqYToiLCBzdGMzLCAxNiwgMTMyLCAzNiwgOAogIENPTUJPQk9YIGNtYjMsIDY0LCAxMzAsIDE2MCwgMTYwLCBDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBHUk9VUEJPWCAiT3JpZW50YefjbyIsIGdycDEsIDgsIDE1NiwgNjQsIDU2LCBCU19HUk9VUEJPWAogIEFVVE9SQURJT0JVVFRPTiAiJlJldHJhdG8iLCByYWQxLCAxNiwgMTcwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEFVVE9SQURJT0JVVFRPTiAiJlBhaXNhZ2VtIiwgcmFkMiwgMTYsIDE5MCwgNTIsIDEyLCBCU19BVVRPUkFESU9CVVRUT04KICBHUk9VUEJPWCAiQm9yZGFzIiwgZ3JwNCwgODAsIDE1NiwgMTUyLCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiJkVzcXVlcmRhOiIsIHN0YzE1LCA4OCwgMTcyLCAyMSwgOAogIEVESVRURVhUIGVkdDQsIDExMSwgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIiZEaXJlaXRhOiIsIHN0YzE2LCAxNTksIDE3MiwgMjcsIDgKICBFRElUVEVYVCBlZHQ2LCAxODcsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImU3VwZXJpb3I6Iiwgc3RjMTcsIDg4LCAxOTIsIDIxLCA4CiAgRURJVFRFWFQgZWR0NSwgMTExLCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBMVEVYVCAiJkluZmVyaW9yOiIsIHN0YzE4LCAxNTksIDE5MiwgMjMsIDgKICBFRElUVEVYVCBlZHQ3LCAxODcsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgNzEsIDIyMCwgNTAsIDE0LCBCU19QVVNIQlVUVE9OCiAgUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTI2LCAyMjAsIDUwLCAxNAogIFBVU0hCVVRUT04gIkltJnByZXNzb3JhLi4uIiwgcHNoMywgMTg0LCAyMjAsIDUwLCAxNApFTkQKCk5FV0ZJTEVPUEVOT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMTY0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19DT05URVhUSEVMUCB8IFdTX1ZJU0lCTEUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwgV1NfQ0xJUENISUxEUkVOCkNBUFRJT04gIkFicmlyIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUCSImRXhhbWluYXI6IixJRENfTE9PS0lOU1RBVElDLDUsNiwzMSw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19MT09LSU4sNDAsMywxMzQsMzAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgTFRFWFQJIiIgLCBJRENfVE9PTEJBUlNUQVRJQywgMTcyLCAyLCAxMDIsIDE3LCBOT1QgV1NfR1JPVVAgfCBOT1QgV1NfVklTSUJMRQogICAgTElTVEJPWAlJRENfU0hFTExTVEFUSUMsNCwyMCwyNzIsODUsIExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTVVMVElDT0xVTU4gfCBXU19IU0NST0xMIHwgTk9UIFdTX1ZJU0lCTEUKCiAgICBMVEVYVAkiJk5vbWUgZG8gYXJxdWl2bzoiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0OCwxNiwgU1NfTk9USUZZCiAgICBFRElUVEVYVAlJRENfRklMRU5BTUUsNTQsMTExLDE1NSwxMixFU19BVVRPSFNDUk9MTAoKICAgIExURVhUCSJBcnF1aXZvcyBkbyAmdGlwbzoiLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEzMSw0OCwxNiwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfRklMRVRZUEUsNTQsMTI5LDE1NSwxMDAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAkiQWJyaXIgY29tbyAmc29tZW50ZS1sZWl0dXJhIixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ4LDc0LDEwCgogICAgREVGUFVTSEJVVFRPTgkiJkFicmlyIiwJCUlET0ssMjIyLDExMCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIkNhbmNlbGFyIiwJCUlEQ0FOQ0VMLDIyMiwxMjgsNTAsMTQKICAgIFBVU0hCVVRUT04JCSImQWp1ZGEiLAkJcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19BQk9VVEJPWAkiJlNvYnJlIEZvbGRlclBpY2tlciBUZXN0IgogICAgSURTX0RPQ1VNRU5URk9MREVSUwkiUGFzdGFzIGRlIERvY3VtZW50b3MiCiAgICBJRFNfUEVSU09OQUwJIk1ldXMgRG9jdW1lbnRvcyIKICAgIElEU19GQVZPUklURVMJIkZhdm9yaXRvcyIKICAgIElEU19QQVRICQkiQ2FtaW5obyBkbyBTaXN0ZW1hIgogICAgSURTX0RFU0tUT1AJCSLBcmVhIGRlIFRyYWJhbGhvIgogICAgSURTX0ZPTlRTCQkiRm9udGVzIgogICAgSURTX01ZQ09NUFVURVIJIk1ldSBDb21wdXRhZG9yIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfU1lTVEVNRk9MREVSUwkiUGFzdGFzIGRvIFNpc3RlbWEiCiAgICBJRFNfTE9DQUxIQVJEUklWRVMJIkRpc2NvcyBS7WdpZG9zIExvY2FpcyIKICAgIElEU19GSUxFTk9URk9VTkQJIkFycXVpdm8gbuNvIGVuY29udHJhZG8iCiAgICBJRFNfVkVSSUZZRklMRQkiUG9yIGZhdm9yIHZlcmlmaXF1ZSBzZSBmb2kgZm9ybmVjaWRvIG8gbm9tZSBjb3JyZXRvIGRvIGFycXVpdm8iCiAgICBJRFNfQ1JFQVRFRklMRQkiQXJxdWl2byBu428gZXhpc3RlXG5Wb2PqIGdvc3RhcmlhIGRlIGNyaWEtbG8iCiAgICBJRFNfT1ZFUldSSVRFRklMRSAgICAgICAiQXJxdWl2byBq4SBleGlzdGUuXG5Hb3N0YXJpYSBkZSBzdWJzdGl0de0tbG8/IgogICAgSURTX0lOVkFMSURfRklMRU5BTUVfVElUTEUgIkNhcmFjdGVyKGVzKSBpbnbhbGlkb3Mgbm8gY2FtaW5obyIKICAgIElEU19JTlZBTElEX0ZJTEVOQU1FICAgICJVbSBub21lIGRlIGFycXVpdm8gbuNvIHBvZGUgY29udGVyIHF1YWlzcXVlciBkb3Mgc2VndWludGVzIGNhcmFjdGVyZXM6IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiAgICBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAiQ2FtaW5obyBu428gZXhpc3RlIgogICAgSURTX0ZJTEVOT1RFWElTVElORyAgICAgIkFycXVpdm8gbuNvIGV4aXN0ZSIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX1VQRk9MREVSICAgICAgICAgIlVtIE7tdmVsIEFjaW1hIgogICAgSURTX05FV0ZPTERFUiAgICAgICAgIkNyaWFyIE5vdmEgUGFzdGEiCiAgICBJRFNfTElTVFZJRVcgICAgICAgICAiTGlzdGEiCiAgICBJRFNfUkVQT1JUVklFVyAgICAgICAiRGV0YWxoZXMiCiAgICBJRFNfVE9ERVNLVE9QICAgICAgICAiwXJlYSBkZSBUcmFiYWxobyIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgUEQzMl9QUklOVF9USVRMRQkJCQkiSW1wcmltaXIiCgogICAgUEQzMl9WQUxVRV9VUkVBREFCTEUJCQkiRW50cmFkYSBJbGVn7XZlbCIKICAgIFBEMzJfSU5WQUxJRF9QQUdFX1JBTkdFCQkJIkVzdGUgdmFsb3IgbuNvIHNlIGVuY2FpeGEgbmEgZmFpeGEgZGUgcOFnaW5hc1xuXApQb3IgZmF2b3IgZW50cmUgdW0gdmFsb3IgZW50cmUgJWQgZSAlZC4iCiAgICBQRDMyX0ZST01fTk9UX0FCT1ZFX1RPCQkJIkEgZW50cmFkYSBERSBu428gcG9kZSBleGNlZGVyIEFUyS4iCiAgICBQRDMyX01BUkdJTlNfT1ZFUkxBUAkJCSJBcyBtYXJnZW5zIGVzdONvIGZvcmEgZGFzIG1lZGlkYXMgXApkbyBwYXBlbC5cblBvciBmYXZvciByZWVudHJlIGFzIG1hcmdlbnMuIgogICAgUEQzMl9OUl9PRl9DT1BJRVNfRU1QVFkJCQkiTyBu+m1lcm8gZGUgY/NwaWFzIG7jbyBwb2RlIHRlciB2YWxvciB2YXppby4iCiAgICBQRDMyX1RPT19MQVJHRV9DT1BJRVMJCQkiRXN0YSBncmFuZGUgcXVhbnRpZGFkZSBkZSBj83BpYXMgbuNvIOkgc3Vwb3J0YWRhIFwKcGVsYSBzdWEgaW1wcmVzc29yYS5cblBvciBmYXZvciBlbnRyZSB1bSB2YWxvciBlbnRyZSAxIGUgJWQuIgogICAgUEQzMl9QUklOVF9FUlJPUgkJCQkiT2NvcnJldSB1bSBlcnJvIGRlIGltcHJlc3Pjby4iCiAgICBQRDMyX05PX0RFRkFVTFRfUFJJTlRFUgkJCSJO428gZXhpc3RlIHVtYSBpbXByZXNzb3JhIHBhZHLjby4iCiAgICBQRDMyX0NBTlRfRklORF9QUklOVEVSCQkJIk7jbyDpIHBvc3PtdmVsIGVuY29udHJhciB1bWEgaW1wcmVzc29yYS4iCiAgICBQRDMyX09VVF9PRl9NRU1PUlkJCQkJIk1lbfNyaWEgaW5zdWZpY2llbnRlLiIKICAgIFBEMzJfR0VORVJJQ19FUlJPUgkJCQkiT2NvcnJldSBhbGd1bSBlcnJvLiIKICAgIFBEMzJfRFJJVkVSX1VOS05PV04JCQkJIkRyaXZlciBkZSBpbXByZXNzb3JhIGRlc2NvbmhlY2lkby4iCgogICAgUEQzMl9ERUZBVUxUX1BSSU5URVIJCQkiSW1wcmVzc29yYSBQYWRy4287ICIKICAgIFBEMzJfTlJfT0ZfRE9DVU1FTlRTX0lOX1FVRVVFCQkiRXhpc3RlbSAlZCBkb2N1bWVudG9zIG5hIGZpbGEiCiAgICBQRDMyX01BUkdJTlNfSU5fSU5DSEVTCQkJIk1hcmdlbnMgW3BvbGVnYWRhc10iCiAgICBQRDMyX01BUkdJTlNfSU5fTUlMSU1FVEVSUwkJCSJNYXJnZW5zIFttbV0iCiAgICBQRDMyX01JTElNRVRFUlMJCQkJIm1tIgoKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUkVBRFkJCQkiUHJvbnRvIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVVTRUQJCQkiUGF1c2FkYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUgkJCSJFcnJvOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04JIkV4Y2x1c+NvIHBlbmRlbnRlOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX0pBTQkJIlBhcGVsIGF0b2xhZG87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfT1VUCQkiU2VtIHBhcGVsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVECQkiQWxpbWVudGHn428gbWFudWFsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0JCSJQcm9ibGVtYXMgY29tIG8gcGFwZWw7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORQkJCSJJbXByZXNzb3JhIGRlc2xpZ2FkYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUJCSJFL1MgQXRpdmE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfQlVTWQkJCSJPY3VwYWRhOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BSSU5USU5HCQkiSW1wcmltaW5kbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwJCSJCYW5kZWphIGRlIHNh7WRhIGVzdOEgY2hlaWE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9UX0FWQUlMQUJMRQkJIk7jbyBkaXNwb27tdmVsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1dBSVRJTkcJCQkiRXNwZXJhbmRvOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcJCSJQcm9jZXNzYW5kbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JTklUSUFMSVpJTkcJCSJJbmljaWFsaXphbmRvOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1dBUk1JTkdfVVAJCSJBcXVlY2VuZG87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XCQkiUG91Y28gdG9uZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9fVE9ORVIJCSJTZW0gdG9uZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UCQkiTGFu52FyIHDhZ2luYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19VU0VSX0lOVEVSVkVOVElPTgkiSW50ZXJ2ZW7n428gZG8gdXN14XJpbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZCQkiTWVt83JpYSBpbnN1ZmljaWVudGU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOCQkiQSBpbXByZXNzb3JhIGVzdOEgYWJlcnRhOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1NFUlZFUl9VTktOT1dOCQkiU2Vydmlkb3IgZGUgaW1wcmVzc+NvIGRlc2NvbmhlY2lkbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFCQkiTW9kbyBlY29u9G1pY287ICIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUgLyogTm9tZXMgZGUgY29yZXMgKi8KewogICAgSURTX0NPTE9SX0JMQUNLICAgICAiUHJldG8iCiAgICBJRFNfQ09MT1JfTUFST09OICAgICJDYXN0YW5obyIKICAgIElEU19DT0xPUl9HUkVFTiAgICAgIlZlcmRlIgogICAgSURTX0NPTE9SX09MSVZFICAgICAiVmVyZGUtb2xpdmEiCiAgICBJRFNfQ09MT1JfTkFWWSAgICAgICJBenVsLW1hcmluaG8iCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICJSb3hvIgogICAgSURTX0NPTE9SX1RFQUwgICAgICAiQXp1bC1wZXRy82xlbyIKICAgIElEU19DT0xPUl9HUkFZICAgICAgIkNpbnphIgogICAgSURTX0NPTE9SX1NJTFZFUiAgICAiUHJhdGVhZG8iCiAgICBJRFNfQ09MT1JfUkVEICAgICAgICJWZXJtZWxobyIKICAgIElEU19DT0xPUl9MSU1FICAgICAgIlZlcmRlLWxpbeNvIgogICAgSURTX0NPTE9SX1lFTExPVyAgICAiQW1hcmVsbyIKICAgIElEU19DT0xPUl9CTFVFICAgICAgIkF6dWwiCiAgICBJRFNfQ09MT1JfRlVDSFNJQSAgICJG+mNzaWEiCiAgICBJRFNfQ09MT1JfQVFVQSAgICAgICJBenVsLXBpc2NpbmEiCiAgICBJRFNfQ09MT1JfV0hJVEUgICAgICJCcmFuY28iCn0K