LyoKICogQ29weXJpZ2h0IDIwMDQgSWx5YSBLb3JuaXlrbwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCgovKgogKiBXQVJOSU5HOiBETyBOT1QgQ0hBTkdFIFRIRSBTSVpFIE9GIFRIRSBTVEFOREFSRCBESUFMT0cgVEVNUExBVEVTLgogKi8KCkxBTkdVQUdFIExBTkdfVUtSQUlOSUFOLCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsKz5Orw6PLoIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImsuwn/yD04Onr8zoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJtLl6ug6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICLP7urg5/Pi4PLoIPTg6evoICby6O/zOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImxOjx6ug6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICLCs+Tq8Ojy6CIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImxO7is+Tq4CIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJsvo+OUg5Ov/IPfo8uDt7f8iLCAxMDQwLCAyMDgsIDY4LCA1NCwgMjQsIEJTX0FVVE9DSEVDS0JPWCB8IEJTX01VTFRJTElORSAgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsfh5fDl4/LoIP/qIC4uLiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJiay7Cf/IPTg6evzOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICIm0uXq6DoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIs/u6uDn8+Lg8ugg9ODp6+ggJvLo7/M6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIibE6PHq6DoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIsfh5fDl4/LoIP/qIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsKz5Oyz7eAiLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibE7uKz5OrgIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImy+j45SDk6/8g9+jy4O3t/yIsIDEwNDAsIDIwOCwgNjgsIDU0LCAyNCwgQlNfQVVUT0NIRUNLQk9YIHwgQlNfTVVMVElMSU5FIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsTw8+oiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIs/w6O3y5fA6IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAixPDz6vPi4PLoIiwgMTA3MiwgNiwgMzAsIDE2MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJsLx5SIsIDEwNTYsIDE2LCA0NSwgNjAsIDEyCiBSQURJT0JVVFRPTiAiwibo5LPr5e3t6Okg9PDg4+zl7fIiLCAxMDU3LCAxNiwgNjAsIDYwLCAxMgogUkFESU9CVVRUT04gIibR8u7ws+3q6CIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICLE8PPqIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsKz5Oyz7eAiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsLr4PHy6OLu8fKzIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICIm5zoiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJuTuOiIsIDEwOTEsIDEyMCwgODAsIDMwLCA5CiBMVEVYVCAiJt/qs/Hy/CDk8PPq8zoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLE8PPqIOTuIPTg6evzIiwgMTA0MCwgMjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLR8ujx6+4iLCAxMDQxLCAxNjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAizeDx8vDu6ergIO/w6O3y5fDgIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICLP8Ojt8uXwIiwgMTA3MiwgNiwgMTAsIDE4MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiz/Do7fLl8CDn4CAm7uHz7O7i6+Xt7f/sIiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbzeXs4F0iLCAxMDg4LCAzNSwgMzUsIDEyMCwgOQogUkFESU9CVVRUT04gIiay7fjo6SDv8Ojt8uXwIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIDExMzYsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiwrPk7LPt4CIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJs3g8fLw7unq4CIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAizvCzuu3y4Paz/yIsIDEwNzMsIDYsIDg1LCAxMDAsIDUwLCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIibK7ejm7eAiLCAxMDU4LCA1MCwgMTAwLCA0MCwgMTIKIFJBRElPQlVUVE9OICImwOv84e7s7eAiLCAxMDU5LCA1MCwgMTE1LCA0MCwgMTIKIElDT04gIkxBTkRTQ0FQIiwgMTA5NywgMTAsIDk1LCAzMiwgMzIKIElDT04gIlBPUlRSQUlUIiwgMTA5OCwgMTAsIDk1LCAzMiwgMzIKIEdST1VQQk9YICLP4O+z8CIsIDEwNzQsIDEyMCwgODUsIDE4MCwgNTAsIEJTX0dST1VQQk9YCiBMVEVYVCAi0O4m5+yz8CIsIDEwODksIDEzMCwgOTUsIDMwLCA5CiBMVEVYVCAiJsTm5fDl6+4iLCAxMDkwLCAxMzAsIDExMCwgMzAsIDkKIENPTUJPQk9YIDExMzcsIDE1NSwgOTUsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ09NQk9CT1ggMTEzOCwgMTU1LCAxMTAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0ZPTlQgRElBTE9HIERJU0NBUkRBQkxFICAxMywgNTQsIDI2NCwgMTQ3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItjw6PTyIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgICAgICAgICAiJtjw6PTyOiIsMTA4OCAsNiwzLDQwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM2ICw2LDEzLDk0LDU0LCAgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICIm0fLo6/w6IiwxMDg5ICwxMDgsMyw0NCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzNywxMDgsMTMsNjQsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIibQ7ufss/A6IiwxMDkwLDE3OSwzLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDE3OSwxMywzMiw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUgfCBDQlNfU09SVAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywyMTgsNiw0MCwxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QIHwgQlNfREVGUFVTSEJVVFRPTgogICAgUFVTSEJVVFRPTiAgICAgICLCs+Tss+3gIixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibH4PHy7vHz4uDy6CIsIDEwMjYsMjE4LDQwLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImxO7is+Tq4CIgLCAxMDM4LDIxOCw1Nyw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiwPLw6OHz8ugiLDEwNzIsNiw3Miw4NCwzNCxXU19HUk9VUAogICAgQ0hFQ0tCT1gJICAgICImx+Dq8OXx6+Xt6OkiLCAxMDQwLCAxMCw4Miw3NSwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogICAgQ0hFQ0tCT1ggCSAgICAiJs+z5Orw5fHr5e3o6SIsIDEwNDEsIDEwLDk0LDc1LDEwLCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgICAgICAgICAiJsru67PwOiIsIDEwOTEgLDYsMTEwLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDYsMTIwLDg0LDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfAoJCSAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiJsfw4Ofu6iIsZ3JwMiw5OCw3MiwxMjAsMzYsV1NfR1JPVVAKICAgIENURVhUICAgICAgICAgICAiwODB4UFhQmIiLHN0YzUsMTAzLDgwLDEwOSwyNCxTU19OT1BSRUZJWCB8IE5PVCBXU19WSVNJQkxFCiAgICBMVEVYVCAgICAgICAgICAgItHq8Ojv8joiLHN0YzcgLDk4LDExNCw4MCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iNSw5OCwxMjQsMTIwLDEwLENCU19EUk9QRE9XTkxJU1QgfENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0NPTE9SIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMzEwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAix+yz7eAg7+Drs/Lw6CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJsHg5+7i4CDv4Ouz8vDgOiIsICAgMTA4OCwgNCwgICAgNCwgIDE0MCwgMTAKIExURVhUICLEJu7k4PLq7uKzIOru6/zu8Og6IiwgIDEwODksIDQsICAgMTA2LCAxNDAsIDEwCiBMVEVYVCAiyu7rs/B8x+Am6+ji6uAiLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIibX5fDi7u3o6ToiLCA3MjYgLyoxMDk0Ki8sMjU0LDEyNiwzMiwxMAogRURJVFRFWFQgNzA2LCAyODgsMTI0LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIibH5evl7ejpOiIsNzI3LyoxMDk1Ki8sMjU0LDE0MCwzMiwxMAogRURJVFRFWFQgNzA3LCAyODgsMTM4LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgItEm6O2z6ToiLDcyOCAvKjEwOTYqLywyNjQsMTU0LDI0LDEwCiBFRElUVEVYVCA3MDgsIDI4OCwxNTIsMTgsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICLCs+Qm8rPt7uo6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMzAsMTAKIEVESVRURVhUIDcwMywgMjM0LDEyNCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIibK7u3y8ODx8joiICw3MjQgLyoxMDkyKi8sMTk5LDE0MCwzNCwxMAogRURJVFRFWFQgNzA0LCAyMzQsMTM4LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJt/x6vDg4rPx8vw6IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMzAsMTAKIEVESVRURVhUIDcwNSwgMjM0LDE1MiwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT0siLCAgSURPSywgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwsIDUyLCAxNjYsIDQ0LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLE7uKz5OrgIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIibE7uTg8ugg5O4g7eDh7vDzIiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibC6Oft4Pfo8ugg6u7rs/AgPj4iLCA3MTkvKjEwMjUqLywgICA0LCAxNTAsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZpIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ2knIGlzICBsaWtlICAmaSAgaW4gInNvbCZpZCIgICovCn0KCgpGSU5ERExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjQ1LCA2MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLP7vjz6iIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJsfw4Ofu6joiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMzgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIibL6PjlIPHr7uLuIPaz6+ru7CIsIDEwNDAsIDQsIDI2LCAxMDAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLH4Ouz6iAm8OW0s/Hy8PMiLCAxMDQxLCA0LCA0MiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIs3g7/D/7CIsIDEwNzIsIDEwNywgMjYsIDc4LCAyOAogQ09OVFJPTCAiJsLj7vDzIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTExLCAzOCwgNDAsIDEyCiBDT05UUk9MICLCJu3o5yIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxNTIsIDM4LCAzMCwgMTIKCiBERUZQVVNIQlVUVE9OICLHJu3g6fLoIOTg67MiLCBJRE9LLCAxOTAsICA1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KIFBVU0hCVVRUT04gIsKz5Oyz7eAiLCBJRENBTkNFTAkgLCAxOTAsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJsTu4rPk6uAiLCBwc2hIZWxwCSAsIDE5MCwgNDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpSRVBMQUNFRExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLH4Oyz7eAiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIibH8ODn7uo6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICLHJuDss+3o8ugg7eA6IiwgLTEsIDQsIDI2LCA0OCwgOAogRURJVFRFWFQgMTE1MywgNTQsIDI0LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIibL6PjlIPHr7uLuIPaz6+ru7CIsIDEwNDAsIDUsIDQ2LCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLH4Ouz6iAm8OW0s/Hy8PMiLCAxMDQxLCA1LCA2MiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAoKIERFRlBVU0hCVVRUT04gIscm7eDp8ugg5ODrsyIsIElET0ssIDE3NCwgIDQsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAiJsfg7LPt6PLoIiwgcHNoMQkgLCAxNzQsIDIxLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAix+Dss+3o8uggJuLx5SIsIHBzaDIgLCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiwrPk7LPt4CIsIElEQ0FOQ0VMCSAsIDE3NCwgNTUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImxO7is+Tq4CIsIHBzaEhlbHAJICwgMTc0LCA3NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKUFJJTlQzMiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICLE8PPqIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIERFRlBVU0hCVVRUT04gICAiT0siLCAgICAgSURPSywgICAgIDE4MCwxNjQsIDQ4LDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04gICAgICAiwrPk7LPt4CIsIElEQ0FOQ0VMLCAyMzIsMTY0LCA0OCwxNCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJsTu4rPk6uAiLCAgcHNoSGVscCwgIDUwLCAxNjEsIDQ4LDE0LCBXU19HUk9VUAoKICAgIEdST1VQQk9YICAgICAgICAiz/Do7fLl8CIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIsTw8+og8yD04Okm6yIsIGNoeDEsICJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKICAgIFBVU0hCVVRUT04gICAgICAiJsLr4PHy6OLu8fKzIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImsuwn/zoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iNCwgIDUyLCAxOCwgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItHy4PLz8ToiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgICAgc3RjMTIsIDYwLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgItLo7zoiLCAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCAgICAgc3RjMTEsIDYwLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIsyz8fblOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgc3RjMTQsIDYwLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIs/w6Oyz8urgOiIsICAgIHN0YzksICAxNiwgNzIsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAixezz6/zu4uDt7iIsICAgc3RjMTMsIDYwLCA3MiwgMTUyLDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCgogICAgR1JPVVBCT1ggICAgICAgICLK7u+zvyIsICAgICAgICAgZ3JwMiwgMTYwLCA5MiwgMTIwLDY0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLX6PHr7iAm6u7vs+k6IixzdGM1LDE2OCwxMDgsNjgsOAogICAgSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzMsIDE2MiwxMjQsICA3NiwyNCwgV1NfR1JPVVAgfCBTU19DRU5URVJJTUFHRQogICAgQ09OVFJPTCAgICAgICAgICIm0O7n4ejy6CIsICAgICAgIGNoeDIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIzMCwxMzAsNDAsMTIKICAgIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQzLCAyNDAsMTA2LCAgMzIsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCgogICAgR1JPVVBCT1ggICAgICAgICLE8PPq8+Lg8ugiLCAgICBncnAxLCAgIDgsOTIsICAxNDQsNjQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIibC8eUiLCAgICAgICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTA2LDY0LDEyCiAgICBDT05UUk9MICAgICAgICAgIibR8u7ws+3q6CIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDUwLDEyCiAgICBDT05UUk9MICAgICAgICAgIibC6OSz6+Xt7f8iLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTM4LDY0LDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MSwgIDg1LDEyMiwgIDIwLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDEyMCwxMjIsICAyMCwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKICAgIFJURVhUICAgICAgICAgICAiJuKz5DoiLCAgICAgICAgIHN0YzIsICA3MCwxMjQsICAxMCw4CiAgICBSVEVYVCAgICAgICAgICAgIibk7joiLCAgICAgICAgICAgc3RjMywgMTA2LDEyNCwgIDEwLDgKfQoKUFJJTlQzMl9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICLT8fLg7e7i6ugg7/Do7fLl8OAiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDE1Niw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLCs+Tss+3gIixJRENBTkNFTCwyMzIsMTU2LDQ4LDE0Ci8qICAgIFBVU0hCVVRUT04gICAgICAi0bPy6uAuLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgogICAgR1JPVVBCT1ggICAgICAgICLP8Ojt8uXwIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJsLr4PHy6OLu8fKzIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImsuwn/zoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMSwgIDUyLCAxOCwgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItHy4PLz8ToiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgItLo7zoiLCAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIsyz8fblOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIs/w6Oyz8uroOiIsICAgICAgIHN0YzksICAxNiwgNzIsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAixezz6/zu4uDtsyIsICAgc3RjMTMsIDUyLCA3MiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCgogICAgR1JPVVBCT1ggICAgICAgICLP4O+z8CIsICAgICAgICAgIGdycDIsICAgOCwgOTIsIDE2NCw1NiwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi0O7nJuyz8DoiLCAgICAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwxMDYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImxObl8OXr7joiLCAgICAgICBzdGMzLCAgMTYsMTI4LCAgMzYsIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIzLCAgNTIsMTI2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKCiAgICBHUk9VUEJPWCAgICAgICAgIs7ws7rt8uD2s/8iLCAgICBncnAxLCAxODAsIDkyLCAxMDAsNTYsIFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMSwgMTk1LDExMiwgIDE4LDIwLCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImz+7w8vDl8iIsICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIssm4O3k+OD08iIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwyMjQsMTI2LDUyLDEyCkVORAoKTkVXRklMRU9QRU5PUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAiwrPk6vDo8ugiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQJItjz6uDy6CAm4iIsSURDX0xPT0tJTlNUQVRJQyw0LDYsNDMsOCwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfTE9PS0lOLDQ5LDMsMTMyLDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIExURVhUCSIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE4MSwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExJU1RCT1gJSURDX1NIRUxMU1RBVElDLDQsMjAsMjcyLDg1LCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgTEJTX01VTFRJQ09MVU1OIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19WSVNJQkxFCgogICAgTFRFWFQJIrLsJ/8gJvTg6evzOiIsSURDX0ZJTEVOQU1FU1RBVElDLDUsMTEyLDQ2LDgsIFNTX05PVElGWQogICAgRURJVFRFWFQJSURDX0ZJTEVOQU1FLDU0LDExMCwxNTUsMTIsRVNfQVVUT0hTQ1JPTEwKCiAgICBMVEVYVAki1ODp6+ggJvLo7/MiLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEyOCw0Miw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19GSUxFVFlQRSw1NCwxMjYsMTU1LDUzLENCU19EUk9QRE9XTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAkiy+j45SDk6/8gJvfo8uDt7f8iLElEQ19PUEVOUkVBRE9OTFksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw1NCwxNDUsMTAwLDEwCgogICAgREVGUFVTSEJVVFRPTgkiJsKz5Orw6PLoIiwJCSBJRE9LLDIyMiwxMTAsNTAsMTQKICAgIFBVU0hCVVRUT04JCSLCs+Tss+3gIiwJCSBJRENBTkNFTCwyMjIsMTI4LDUwLDE0CiAgICBQVVNIQlVUVE9OCQkiJsTu4rPk6uAiLAkJIHBzaEhlbHAsMjIyLDE0NSw1MCwxNAp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfQUJPVVRCT1ggICAgICAgICAgICAiJs/w7iDy5fHyIMLo4bPw0uXq6CIKICAgIElEU19ET0NVTUVOVEZPTERFUlMgICAgICLS5eroIOTu6vPs5e3ys+IiCiAgICBJRFNfUEVSU09OQUwgICAgICAgICAgICAizO6/IOTu6vPs5e3y6CIKICAgIElEU19GQVZPUklURVMgICAgICAgICAgICLH4Orr4OTq6CIKICAgIElEU19QQVRIICAgICAgICAgICAgICAgICLR6PHy5ezt6Okg+Ov/9SIKICAgIElEU19ERVNLVE9QICAgICAgICAgICAgICLR8rPr/O3o9v8iCiAgICBJRFNfRk9OVFMgICAgICAgICAgICAgICAi2PDo9PLoIgogICAgSURTX01ZQ09NUFVURVIgICAgICAgICAgIsyz6SDq7uzvJ/7y5fAiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19TWVNURU1GT0xERVJTICAgICAgICLR6PHy5eztsyDy5eroIgogICAgSURTX0xPQ0FMSEFSRFJJVkVTICAgICAgIsvu6uDr/O2zIObu8PHy6rMg5Ojx6ugiCiAgICBJRFNfRklMRU5PVEZPVU5EICAgICAgICAi1ODp6yDt5SDn7eDp5OXt7iIKICAgIElEU19WRVJJRllGSUxFICAgICAgICAgICLP5fDl4rPw8uUsIPfoIO/w4OLo6/zt7iDi6uDn4O3uILPsJ/8g9ODp6/MiCiAgICBJRFNfQ1JFQVRFRklMRSAgICAgICAgICAi1ODp6yDt5SCz8e3zulxu1+gg9e735fLlIMLoIOnu4+4g8fLi7vDo8ug/IgogICAgSURTX09WRVJXUklURUZJTEUgICAgICAgItTg6esg8+blILPx7fO6Llxux+Dss+3o8ugg6e7j7j8iCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAizeXis/Dt6Okg8ejs4u7rIOIg5+Dv6PHzIPjr//XzIgogICAgSURTX0lOVkFMSURfRklMRU5BTUUgICAgIrLsJ/8g9ODp6/Mg7eUg7O7m5SDss/Hy6PLoIO3g8fLz7+2zIPHo7OLu6+g6IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiAgICBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAi2Ov/9SDt5SCz8e3zuiIKICAgIElEU19GSUxFTk9URVhJU1RJTkcgICAgICLU4OnrIO3lILPx7fO6Igp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfVVBGT0xERVIgICAgICAgICAiwuPu8PMg7eAg7uTo7SDws+Ll7fwiCiAgICBJRFNfTkVXRk9MREVSICAgICAgICAi0fLi7vDo8ugg7e7i8yDy5erzIgogICAgSURTX0xJU1RWSUVXICAgICAgICAgItHv6PHu6iIKICAgIElEU19SRVBPUlRWSUVXICAgICAgICLP7uTw7uHo9rMiCiAgICBJRFNfVE9ERVNLVE9QICAgICAgICAiz+Xw5fWz5CDt4CDx8rPr/O3o9v4iCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIFBEMzJfUFJJTlRfVElUTEUgICAgICAgIsTw8+oiCgogICAgUEQzMl9WQUxVRV9VUkVBREFCTEUgICAgICAgICAgICAgICAgICAizeX36PLguuzo6SDl6+Xs5e3yIgogICAgUEQzMl9JTlZBTElEX1BBR0VfUkFOR0UgItblIOft4Pfl7e3/IO3lIOvl5ujy/CDzIOSz4O/g5+7tsyDx8u7ws+3u6lxuXArC4uXks/L8IOft4Pfl7e3lIOyz5iAlZCDy4CAlZCIKICAgIFBEMzJfRlJPTV9OT1RfQUJPVkVfVE8gICAgICAgICAgICAgICAgIsft4Pfl7e3/IMKyxCDt5SDv7uLo7e3uIO/l8OXi6Pnz4uDy6CDEzjoiCiAgICBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgICAgICAgICAgICAgICLM5eazIO/l8OXq8Oji4P7y/CD36CDv5fDl4uj58/7y/CBcCvDu5+yz8Ogg7+Dv5fDzLlxuwuLl5LPy/CC/9SDt4O3u4u4iCiAgICBQRDMyX05SX09GX0NPUElFU19FTVBUWSAgICAgICAgICAgICAgICLH7eD35e3t/yDX6PHr4CDK7u+z6SDt5SDs7ublIOHz8uggXArv8/Hy6OwiCiAgICBQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICLS4OrgIOLl6+jq4CDqs+v86rPx8vwg6u7vs+kg7eUgXArs7ublIOHz8ugg7eDk8PPq7uLg7eAgwuD46Owg7/Do7fLl8O7sLlxuwuLl5LPy/CDn7eD35e3t/yDss+YgMSDy4CAlZCIKICAgIFBEMzJfUFJJTlRfRVJST1IgICAgICAgICAgICAgICAgICAgICAgIsLo7ejq6+Ag7+7s6Ovq4CDv8Ojt8uXw4CIKICAgIFBEMzJfTk9fREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgIs3l7OC6IO/w6O3y5fDgLCDv7vHy4OLr5e3u4+4g5+Ag7uHz7O7i6+Xt7f/sIgogICAgUEQzMl9DQU5UX0ZJTkRfUFJJTlRFUiAgICAgICAgICAgICAgICAizeUg4uTg6+7x/CDn7eDp8ugg7/Do7fLl8CIKICAgIFBEMzJfT1VUX09GX01FTU9SWSAgICAgICAgICAgICAgICAgICAgIszg6+4g7+DsJ//ysyIKICAgIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIsLo7ejq6+Ao6Ckg7+7s6Ovq4CjoKSIKICAgIFBEMzJfRFJJVkVSX1VOS05PV04gICAgICAgICAgICAgICAgICAgIs3l4rPk7uzo6SDk8ODp4uXwIO/w6O3y5fDgIgoKICAgIFBEMzJfREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgICAgIs/w6O3y5fAg5+Ag7uHz7O7i6+Xt7f/sOyAiCiAgICBQRDMyX05SX09GX0RPQ1VNRU5UU19JTl9RVUVVRSAgICAgICAgICIlZCDk7urz7OXt8rPiIPMg9+Xw57MiCiAgICBQRDMyX1BSSU5UX0FMTF9YX1BBR0VTICAgICAgICAgICAgICAgICImwvGzICVkIPHy7vCz7e7qIgogICAgUEQzMl9NQVJHSU5TX0lOX0lOQ0hFUyAgICAgICAgICAgICAgICAizOXmsyAgW+T+6ezoXSIKICAgIFBEMzJfTUFSR0lOU19JTl9NSUxJTUVURVJTICAgICAgICAgICAgIszl5rMgW+zsXSIKICAgIFBEMzJfTUlMSU1FVEVSUyAgICAgICAgICAgICAgICAgICAgICAgIuzsIgoKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUkVBRFkgICAgICAgICAgICAgIsPu8u7i7iIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFVU0VEICAgICAgICAgICAgIs/w6Ofz7+jt5e3uOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0VSUk9SICAgICAgICAgICAgICLP7uzo6+rgOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04gICLX5erg7e3/IOLo5ODr5e3t/zsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9KQU0gICAgICAgICAiz+Dvs/Ag5+Dx8vD/4zsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAizeUg4ujx8uD34Log7+Dv5fDzOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVEICAgICAgICLP7vHy4OLy5SDv4O+z8CDi8PP37fM7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfUFJPQkxFTSAgICAgIs/w7uHr5ezgIPEg7+Dv5fDu7DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PRkZMSU5FICAgICAgICAgICAiz/Do7fLl8CDiIPDl5ujssyBvZmZsaW5lOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0lPX0FDVElWRSAgICAgICAgICLC4rPkL8Lo4rPkIODq8uji7ejpOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0JVU1kgICAgICAgICAgICAgICLH4Ont//Lo6TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiyeTlIOTw8+o7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUUFVUX0JJTl9GVUxMICAgIsvu8u7qIO/l8OXv7uLt5e3o6SDv4O/l8O7sOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX05PVF9BVkFJTEFCTEUgICAgICLN5SDk7vHy8+/t6Ok7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FJVElORyAgICAgICAgICAgItfl6uDt7f87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUFJPQ0VTU0lORyAgICAgICAgIs7h8O7h6uA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU5JVElBTElaSU5HICAgICAgIsPu8vPi4O3t/zsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19XQVJNSU5HX1VQICAgICAgICAiz/Du4/Cz4jsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19UT05FUl9MT1cgICAgICAgICAi0u7t5fAg7/DoIOqz7fazOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX05PX1RPTkVSICAgICAgICAgICLN5ezgIPLu7eXw4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQUdFX1BVTlQgICAgICAgICAiUGFnZSBwdW50OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1VTRVJfSU5URVJWRU5USU9OICLP5fDl8OLg7e4g6u7w6PHy8+Lg9+XsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVF9PRl9NRU1PUlkgICAgICLM4OvuIO/g7Cf/8rM7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOICAgICAgICAgIsrw6Pjq4CDv8Ojt8uXw4CDis+Tq8Ojy4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAizeXis+Tu7OjpIPHl8OLl8CDv8Ojt8uXw4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAixuji6+Xt7f8g4iDh5efv5fft7uzzIPDl5ujsszsgIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRSAvKiBDb2xvciBuYW1lcyAqLwp7CiAgICBJRFNfQ09MT1JfQkxBQ0sgICAgICLX7vDt6OkiCiAgICBJRFNfQ09MT1JfTUFST09OICAgICLB8PPt4PLt6OkiCiAgICBJRFNfQ09MT1JfR1JFRU4gICAgICLH5evl7ejpIgogICAgSURTX0NPTE9SX09MSVZFICAgICAizuvo4uru4ujpIgogICAgSURTX0NPTE9SX05BVlkgICAgICAi0ejts+kiCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICLP8/Dv8/Dt6OkiCiAgICBJRFNfQ09MT1JfVEVBTCAgICAgICLH5evl7e4t8ejts+kiCiAgICBJRFNfQ09MT1JfR1JBWSAgICAgICLRs/Do6SIKICAgIElEU19DT0xPUl9TSUxWRVIgICAgItHws+Ht6OkiCiAgICBJRFNfQ09MT1JfUkVEICAgICAgICLX5fDi7u3o6SIKICAgIElEU19DT0xPUl9MSU1FICAgICAgItHg6+Dy7uLo6SIKICAgIElEU19DT0xPUl9ZRUxMT1cgICAgIsbu4vLo6SIKICAgIElEU19DT0xPUl9CTFVFICAgICAgIsPu6/Ph6OkiCiAgICBJRFNfQ09MT1JfRlVDSFNJQSAgICLUs+7r5fLu4ujpIgogICAgSURTX0NPTE9SX0FRVUEgICAgICAiwOri4Ozg8OjtIgogICAgSURTX0NPTE9SX1dISVRFICAgICAiwbPr6OkiCn0K