LyogSGV5LCBFbWFjcywgb3BlbiB0aGlzIGZpbGUgd2l0aCAtKi0gY29kaW5nOiBjcDEyNTAgLSotCiAqCiAqIENvcHlyaWdodCAxOTk2IFJvbWFuIERvbGVqc2kKICogQ29weXJpZ2h0IDIwMDUgRGF2aWQgS3JlZGJhIChrcmVkYmFAbWF0aC5jYXMuY3opCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJjZGxnLmgiCiNpbmNsdWRlICJmaWxlZGxnYnJvd3Nlci5oIgoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX0NaRUNILCBTVUJMQU5HX0RFRkFVTFQKCi8qIEN6ZWNoIHN0cmluZ3MgaW4gQ1AxMjUwICovCgpPUEVOX0ZJTEUgRElBTE9HIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiT3Rldvhlbu0gc291Ym9ydSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJkpt6W5vIHNvdWJvcnU6IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIGVkdDEsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZBZHJlc+H4ZToiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZUeXAgem9icmF6ZW79Y2ggc291Ym9y+ToiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCBjbWIxLCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkRpc2tvdukgamVkbm90a3k6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCBjbWIyLCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJPdGV2+O10IiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlN0b3JubyIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJk7hcG927GRhIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImUG91emUgcHJvIOh0ZW7tIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJVbG+eIHBvZCBqbeluZW0uLi4iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZKbelubyBzb3Vib3J1OiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCBlZHQxLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImQWRyZXPh+GU6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImVHlwIHpvYnJhemVu/WNoIHNvdWJvcvk6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggY21iMSwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEaXNrb3bpIGplZG5vdGt5OiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggY21iMiwgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiVWxvniBwb2Qgam3pbmVtIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlN0b3JubyIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJk7hcG927GRhIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImUG91emUgcHJvIOh0ZW7tIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlRpc2siCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIlRpc2vhcm5hOiIsIDEwODgsIDYsIDYsIDQwLCA5CiBMVEVYVCAiIiwgMTA4OSwgNjAsIDYsIDE1MCwgOQogR1JPVVBCT1ggIlJvenNhaCB0aXNrdSIsIGdycDEsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIlaaJmUiLCByYWQxLCAxNiwgNDUsIDYwLCAxMgogUkFESU9CVVRUT04gIiZW/WLsciIsIHJhZDIsIDE2LCA2MCwgNjAsIDEyCiBSQURJT0JVVFRPTiAiJlphZGFu6SBzdHLhbmt5IiwgMTA1OCwgMTYsIDc1LCA2MCwgMTIKIERFRlBVU0hCVVRUT04gIlRpc2tuaSIsIDEsIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJTdG9ybm8iLCAyLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJk5hc3Rhdml0Li4uIiwgcHNoMSwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImT2Q6IiwgMTA5MCwgNjAsIDgwLCAzMCwgOQogTFRFWFQgIiZEbzoiLCAxMDkxLCAxMjAsIDgwLCAzMCwgOQogTFRFWFQgIkt2YWxpdGEgJnRpc2t1OiIsIDEwOTIsIDYsIDEwMCwgNzYsIDkKIENPTUJPQk9YIGNtYjEsIDgwLCAxMDAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlRpc2sgZG8gc28mdWJvcnUiLCBjaHgxLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIktvbmRlbnpvdmFu6SIsIGNoeDIsIDE2MCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlRfU0VUVVAgRElBTE9HIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTmFzdGF2ZW7tIHRpc2t1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICJUaXNr4XJuYSIsIGdycDEsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZW/WNob3rtIHRpc2vhcm5hIiwgcmFkMSwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbbm9uZV0iLCAxMDg4LCAzNSwgMzUsIDEyMCwgOQogUkFESU9CVVRUT04gIlNwZWNpZmlja+EgJnRpc2vhcm5hIiwgcmFkMiwgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIGNtYjEsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiU3Rvcm5vIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImRGFsmu0gdm9sYnkuLi4iLCBwc2gxLCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIk9yaWVudGFjZSIsIGdycDIsIDYsIDg1LCAxMDAsIDUwLCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIk5hICZ2/ZprdSIsIHJhZDMsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIk5hIJrt+CZrdSIsIHJhZDQsIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCBzdGMxMCwgMTAsIDk1LCAzMiwgMzIKIElDT04gIlBPUlRSQUlUIiwgc3RjMTEsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiUGFw7XIiLCBncnAzLCAxMjAsIDg1LCAxODAsIDUwLCBCU19HUk9VUEJPWAogTFRFWFQgIiZGb3Jt4XQiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIiZaZHJvaiIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOQogQ09NQk9CT1ggY21iMiwgMTU1LCA5NSwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDT01CT0JPWCBjbWIzLCAxNTUsIDExMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfRk9OVCBESUFMT0cgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQ7XNtbyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAJCSAiUO0mc21vOiIsIHN0YzEgLDYsMyw0MCw5CiBDT01CT0JPWCAgICAgICAgY21iMSwgNiwxMyw5NCw1NCwgIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKIExURVhUICAgICAgICAgICAiU3QmeWw6IixzdGMyICwxMDgsMyw0NCw5CiBDT01CT0JPWCAgICAgICAgY21iMiwxMDgsMTMsNjQsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiBMVEVYVCAgICAgICAgICAgIiZWZWxpa29zdDoiLHN0YzMsMTc5LDMsMzAsOQogQ09NQk9CT1ggICAgICAgIGNtYjMsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDIxOCw2LDQwLDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OCiBQVVNIQlVUVE9OICAgICAgIlN0b3JubyIsSURDQU5DRUwsMjE4LDIzLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgICAgICImUG91nu10IiwgcHNoMywyMTgsNDAsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICAgICAgIiZO4XBvduxkYSIgLCBwc2hIZWxwLDIxOCw1Nyw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICAgICAgICAiRWZla3R5IixncnAxLDYsNzIsODQsMzQsV1NfR1JPVVAKIENIRUNLQk9YICAgICAgICAiUPhlmiZrcnRudXTtIiwgY2h4MSwgMTAsODIsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICAgICAgICAiJlBvZHRynmVu7SIsIGNoeDIsIDEwLDk0LDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1gKIExURVhUICAgICAgICAgICAiJkJhcnZhOiIsIHN0YzQgLDYsMTEwLDMwLDkKIENPTUJPQk9YICAgICAgICBjbWI0LDYsMTIwLDg0LDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfAogICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggICAgICAgICJVa+F6a2EiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiBDVEVYVCAgICAgICAgICAgIlD47WxpmiCebHWdb3Xoa/0ga/nyIPpw7Gwg7+FiZWxza+kg82R5IixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogTFRFWFQgICAgICAgICAgICJTa3ImaXB0OiIsc3RjNyAsOTgsMTE0LDQwLDkKIENPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKICAgICAgICAgICAgICAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfQ09MT1IgRElBTE9HIDM2LCAyNCwgMzAwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQmFydnkiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZa4WtsYWRu7SBiYXJ2eToiLCAgMTA4OCwgNCwgICAgIDQsIDE0MCwgMTAKIExURVhUICImQmFydnkgbmEgemFr4XprdToiLDEwODksIDQsICAgMTA2LCAxNDAsIDEwCiBMVEVYVCAiQmFydmF8U3BvaiZpdOEiLCAgICAxMDkwLCAxNTAsIDE1MSwgIDQ4LCAxMAogTFRFWFQgIshlJnJ2ZW7hOiIsIDcyNiAvKjEwOTQqLywgMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImWmVsZW7hOiIsNzI3LyoxMDk1Ki8sMjQ5LDE0MCwyNCwxMAogRURJVFRFWFQgNzA3LCAyNzUsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImTW9kcuE6IiwgNzI4LCAyNDksIDE1NCwgMjQsIDEwCiBFRElUVEVYVCA3MDgsIDI3NSwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZPZHN07W46IiAsIDcyMyAvKjEwOTEqLywyMDIsMTI2LDIyLDEwCiBFRElUVEVYVCA3MDMsIDIyNiwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZTeXRvc3Q6IiAsIDcyNCwgMjAyLCAxNDAsIDIyLCAxMAogRURJVFRFWFQgNzA0LCAyMjYsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImSmFzOiIgLCA3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMAogRURJVFRFWFQgNzA1LCAyMjYsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPSyIsICAxLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlN0b3JubyIsIDIsIDUyLCAxNjYsIDQ0LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJO4XBvduxkYSIsIHBzaEhlbHAsMTAwLDE2NiwgNDQsIDE0CiBQVVNIQlVUVE9OICImUPhpZGF0IGsgdmxhc3Ru7W0gYmFyduFtIiwgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZEZWZpbm92YXQgdmxhc3Ru7SBiYXJ2dSA+PiIsIDcxOS8qMTAyNSovLCA0LCAxNTAsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZpIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ2knIGlzICBsaWtlICAmaSAgaW4gInNvbCZpZCIgICovCn0KCgpGSU5ERExHT1JEIERJQUxPRyAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSGxlZOFu7SIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJlZ5aGxlZGF0OiIsIC0xLCA0LCA4LCA0MiwgOAogRURJVFRFWFQgZWR0MSwgNDcsIDcsIDEyOCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUG91emUgJmNlbOEgc2xvdmEiLCBjaHgxLCA0LCAyNiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlJvemxpmm92YXQgdmVsaWtvc3QiLCBjaHgyLCA0LCA0MiwgNjQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiU23sciIsIGdycDEsIDEwNywgMjYsIDY4LCAyOAogQ09OVFJPTCAiTiZhaG9ydSIsIHJhZDEsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDExMSwgMzgsIDIwLCAxMgogQ09OVFJPTCAiJkRvbPkiLCByYWQyLCAiQlVUVE9OIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUCwgMTM4LCAzOCwgMzAsIDEyCiAKIERFRlBVU0hCVVRUT04gIk5hau10IGQmYWya7SIsIElET0ssIDE4MiwgIDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaXQiLCBJRENBTkNFTCwgMTgyLCAyMywgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZO4XBvduxkYSIsIHBzaEhlbHAsIDE4MiwgNDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpSRVBMQUNFRExHT1JEIERJQUxPRyAzNiwgMjQsIDIzMCwgOTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTmFocmF6ZW7tIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImVnlobGVkYXQ6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCBlZHQxLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImWmFt7G5pdCB6YToiLCAtMSwgNCwgMjYsIDQ4LCA4CiBFRElUVEVYVCBlZHQyLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUG91emUgJmNlbOEgc2xvdmEiLCBjaHgxLCA1LCA0NiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlJvemxpmm92YXQgdmVsaWtvc3QiLCBjaHgyLCA1LCA2MiwgNTksIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJWeWhsZWRhdCBkJmFsmu0iLCBJRE9LLCAxNzQsICA0LCA1MCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlphJm3sbml0IiwgcHNoMSwgMTc0LCAyMSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlphbexuaSZ0IHaaZSIsIHBzaDIsIDE3NCwgMzgsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaXQiLCBJRENBTkNFTCwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZO4XBvduxkYSIsIHBzaEhlbHAsIDE3NCwgNzUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVDMyIERJQUxPRyAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJUaXNrIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIERFRlBVU0hCVVRUT04gICAiT0siLCAgICAgSURPSywgICAgIDE4MCwxNjQsIDQ4LDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04gICAgICAiWnJ1mml0IiwgSURDQU5DRUwsIDIzMiwxNjQsIDQ4LDE0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImTuFwb3bsZGEiLCAgcHNoSGVscCwgIDUwLCAxNjEsIDQ4LDE0LCBXU19HUk9VUAoKICAgIEdST1VQQk9YICAgICAgICAiVGlza+FybmEiLCAgICAgICAgZ3JwNCwgICA4LCAgNCwgMjcyLDg0LCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJUaXNrIGRvIHNvJnVib3J1IiwgY2h4MSwgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgUFVTSEJVVFRPTiAgICAgICImVmxhc3Rub3N0aSIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk7hemV2OiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIshla+EiLCAgICBzdGMxMiwgNTIsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiVHlwOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiTmV1dmVkZW4iLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIlVt7XN07G7tOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJOZXV2ZWRlbm8iLCBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiS29tZW504fg6IiwgICAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBSZW1hcmsiLCAgIHN0YzEzLCA1MiwgNzIsIDE1MiwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAoKICAgIEdST1VQQk9YICAgICAgICAiS29waWUiLCAgICAgICAgIGdycDIsIDE2MCwgOTIsIDEyMCw2NCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiUG/oZXQgJmtvcGntOiIsc3RjNSwxNjgsMTA4LDY4LDgKICAgIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28zLCAxNjIsMTI0LCAgNzYsMjQsIFdTX0dST1VQIHwgU1NfQ0VOVEVSSU1BR0UKICAgIENPTlRST0wgICAgICAgICAiSyZvbXBsZXRvdmF0IiwgICAgICAgY2h4MiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjQwLDEzMCwzNiwxMgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDMsIDI0MCwxMDYsICAzMiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKCiAgICBHUk9VUEJPWCAgICAgICAgIlJvenNhaCB0aXNrdSIsICAgIGdycDEsICAgOCw5MiwgIDE0NCw2NCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJlaaZSIsICAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwxMDYsNjQsMTIKICAgIENPTlRST0wgICAgICAgICAiU3QmcuFua3kiLCAgICAgICAgIHJhZDMsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMiwzNiwxMgogICAgQ09OVFJPTCAgICAgICAgICJW/SZi7HIiLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTM4LDY0LDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MSwgIDc0LDEyMiwgIDI2LDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDExOCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKICAgIFJURVhUICAgICAgICAgICAiJm9kOiIsICAgICAgICAgc3RjMiwgIDUyLDEyNCwgIDIwLDgKICAgIFJURVhUICAgICAgICAgICAiJmRvOiIsICAgICAgICAgICBzdGMzLCAxMDAsMTI0LCAgMTYsOAp9CgpQUklOVDMyX1NFVFVQIERJQUxPRyAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJOYXN0YXZlbu0gdGlza3UiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDE1Niw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJacnWaaXQiLElEQ0FOQ0VMLDIzMiwxNTYsNDgsMTQKLyogICAgUFVTSEJVVFRPTiAgICAgICJT7Z0uLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgogICAgR1JPVVBCT1ggICAgICAgICJUaXNr4XJuYSIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZWbGFzdG5vc3RpIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTuF6ZXY6IiwgICAgICAgICBzdGM2LCAgMTYsIDIwLCAgMzYsOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjEsICA1MiwgMTgsIDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJTdGF0dXM6IiwgICAgICAgIHN0YzgsICAxNiwgMzYsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiTmV6buFt/SIsICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJUeXA6IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJOZXpu4W39IiwgICAgIHN0YzExLCA1MiwgNDgsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJVbe1zdOxu7ToiLCAgICAgICAgIHN0YzEwLCAxNiwgNjAsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiTmV6buFt6SIsIHN0YzE0LCA1MiwgNjAsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJQb3BpczoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFJlbWFyayIsICAgc3RjMTMsIDUyLCA3MiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCgogICAgR1JPVVBCT1ggICAgICAgICJQYXDtciIsICAgICAgICAgIGdycDIsICAgOCwgOTIsIDE2NCw1NiwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiVmVsaSZrb3N0OiIsICAgICAgICAgc3RjMiwgIDE2LDEwOCwgIDM2LCA4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMiwgIDUyLDEwNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlomZHJvajoiLCAgICAgICBzdGMzLCAgMTYsMTI4LCAgMzYsIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIzLCAgNTIsMTI2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKCiAgICBHUk9VUEJPWCAgICAgICAgIk9yaWVudGFjZSIsICAgIGdycDEsIDE4MCwgOTIsIDEwMCw1NiwgV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28xLCAxOTUsMTEyLCAgMTgsMjAsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIk5hIHb9mmsmdSIsICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIk4mYSCa7fhrdSIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwyMjQsMTI2LDUyLDEyCkVORAoKUEFHRVNFVFVQRExHT1JEIERJQUxPRyAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJOYXN0YXZlbu0gc3Ry4W5reSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogIENPTlRST0wgIiIsIHJjdDEsICJTdGF0aWMiLCBTU19XSElURVJFQ1QsIDgwLCA4LCA4MCwgODAKICBDT05UUk9MICIiLCByY3QyLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsIDE2MCwgMTIsIDQsIDgwCiAgQ09OVFJPTCAiIiwgcmN0MywgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAgODQsIDg4LCA4MCwgNAogIEdST1VQQk9YICJQYXDtciIsIGdycDIsIDgsIDk2LCAyMjQsIDU2LCBCU19HUk9VUEJPWAogIExURVhUICJWZWxpJmtvc3Q6Iiwgc3RjMiwgMTYsIDExMiwgMzYsIDgKICBDT01CT0JPWCBjbWIyLCA2NCwgMTEwLCAxNjAsIDE2MCwgQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgTFRFWFQgIiZUcmF5OiIsIHN0YzMsIDE2LCAxMzIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMywgNjQsIDEzMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIEdST1VQQk9YICJPcmllbnRhY2UiLCBncnAxLCA4LCAxNTYsIDY0LCA1NiwgQlNfR1JPVVBCT1gKICBBVVRPUkFESU9CVVRUT04gIk5hIHb9mmsmdSIsIHJhZDEsIDE2LCAxNzAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQVVUT1JBRElPQlVUVE9OICJOJmEgmu34a3UiLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEdST1VQQk9YICJPa3JhamUiLCBncnA0LCA4MCwgMTU2LCAxNTIsIDU2LCBCU19HUk9VUEJPWAogIExURVhUICJMJmV2/ToiLCBzdGMxNSwgODgsIDE3MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ0LCAxMTEsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICJQJnJhdv06Iiwgc3RjMTYsIDE1OSwgMTcyLCAyNywgOAogIEVESVRURVhUIGVkdDYsIDE4NywgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIkgmb3Ju7ToiLCBzdGMxNywgODgsIDE5MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ1LCAxMTEsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImRG9sbu06Iiwgc3RjMTgsIDE1OSwgMTkyLCAyMywgOAogIEVESVRURVhUIGVkdDcsIDE4NywgMTkwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA3MSwgMjIwLCA1MCwgMTQsIEJTX1BVU0hCVVRUT04KICBQVVNIQlVUVE9OICJacnWaaXQiLCBJRENBTkNFTCwgMTI2LCAyMjAsIDUwLCAxNAogIFBVU0hCVVRUT04gIlRpc2vhJnJuYS4uLiIsIHBzaDMsIDE4NCwgMjIwLCA0OCwgMTQKRU5ECgpORVdGSUxFT1BFTk9SRCBESUFMT0cgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAiT3RldvjtdCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVAkiTuFoJmxlZDoiLElEQ19MT09LSU5TVEFUSUMsNCw2LDQzLDgsIFNTX05PVElGWQogICAgQ09NQk9CT1gJSURDX0xPT0tJTiw0OSwzLDEzMiwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBMVEVYVAkiIiAsIElEQ19UT09MQkFSU1RBVElDLCAxODEsIDIsIDEwMiwgMTcsIE5PVCBXU19HUk9VUCB8IE5PVCBXU19WSVNJQkxFCiAgICBMSVNUQk9YCUlEQ19TSEVMTFNUQVRJQyw0LDIwLDI3Miw4NSwgTEJTX1NPUlQgfCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IExCU19NVUxUSUNPTFVNTiB8IFdTX0hTQ1JPTEwgfCBOT1QgV1NfVklTSUJMRQoKICAgIExURVhUCSImTuF6ZXYgc291Ym9ydToiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0Niw4LCBTU19OT1RJRlkKICAgIEVESVRURVhUCUlEQ19GSUxFTkFNRSw1NCwxMTAsMTU1LDEyLEVTX0FVVE9IU0NST0xMCgogICAgTFRFWFQJIlNvdWJvcnkgJnR5cHU6IixJRENfRklMRVRZUEVTVEFUSUMsNSwxMjgsNDIsOCwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfRklMRVRZUEUsNTQsMTI2LDE1NSw1MyxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MCSJKZW4ga2Ug6HQmZW7tIixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ1LDEwMCwxMAoKICAgIERFRlBVU0hCVVRUT04JIiZPdGV2+O10IiwJCSBJRE9LLDIyMiwxMTAsNTAsMTQKICAgIFBVU0hCVVRUT04JCSJacnWaaXQiLAkJIElEQ0FOQ0VMLDIyMiwxMjgsNTAsMTQKICAgIFBVU0hCVVRUT04JCSImTuFwb3bsZGEiLAkJIHBzaEhlbHAsMjIyLDE0NSw1MCwxNAp9CgpTVFJJTkdUQUJMRQp7CiAgICBJRFNfQUJPVVRCT1ggICAgICAgICAgICAiJk8gRm9sZGVyUGlja2VyIHRlc3R1IgogICAgSURTX0RPQ1VNRU5URk9MREVSUyAgICAgIlNsb55reSBkb2t1bWVudPkiCiAgICBJRFNfUEVSU09OQUwgICAgICAgICAgICAiRG9rdW1lbnR5IgogICAgSURTX0ZBVk9SSVRFUyAgICAgICAgICAgIk9ibO1iZW7pIgogICAgSURTX1BBVEggICAgICAgICAgICAgICAgIlN5c3TpbW92/SBhZHJlc+H4IgogICAgSURTX0RFU0tUT1AgICAgICAgICAgICAgIlBsb2NoYSIKICAgIElEU19GT05UUyAgICAgICAgICAgICAgICJQ7XNtYSIKICAgIElEU19NWUNPTVBVVEVSICAgICAgICAgICJN+WogcG/o7XRh6CIKfQoKU1RSSU5HVEFCTEUKewogICAgSURTX1NZU1RFTUZPTERFUlMgICAgICAgIlN5c3TpbW926SBzbG+ea3kiCiAgICBJRFNfTE9DQUxIQVJEUklWRVMgICAgICAiTe1zdG7tIGplZG5vdGt5IHBldm79Y2ggZGlza/kiCiAgICBJRFNfRklMRU5PVEZPVU5EICAgICAgICAiU291Ym9yIG5lYnlsIG5hbGV6ZW4iCiAgICBJRFNfVkVSSUZZRklMRSAgICAgICAgICAiT3bs+HRlIHByb3PtbSwgnmUgbuF6ZXYgc291Ym9ydSBieWwgemFk4W4gc3By4XZu7C4iCiAgICBJRFNfQ1JFQVRFRklMRSAgICAgICAgICAiU291Ym9yIG5lZXhpc3R1amUuXG5DaGNldGUgaG8gdnl0dm/4aXQgPyIKICAgIElEU19PVkVSV1JJVEVGSUxFICAgICAgICJTb3Vib3IgammeIGV4aXN0dWplLlxuQ2hjZXRlIGhvIHD4ZXBzYXQgbm92/W0gPyIKICAgIElEU19JTlZBTElEX0ZJTEVOQU1FX1RJVExFICJOZWRvdm9sZW79KOkpIHpuYWsoeSkgdiBjZXN07CBrIHNvdWJvcnUuIgogICAgSURTX0lOVkFMSURfRklMRU5BTUUgICAgIk7hemV2IHNvdWJvcnUgbmVzbe0gb2JzYWhvdmF0IJ7hZG79IHogbuFzbGVkdWrtY+1jaCB6bmFr+TpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLyA6IDwgPiB8IgogICAgSURTX1BBVEhOT1RFWElTVElORyAgICAgIkFkcmVz4fggbmVleGlzdHVqZSIKICAgIElEU19GSUxFTk9URVhJU1RJTkcgICAgICJTb3Vib3IgbmVleGlzdHVqZSIKfQoKU1RSSU5HVEFCTEUKewogICAgSURTX1VQRk9MREVSICAgICAgICAgIk8gamVkbnUg+nJvdmXyIHb9mmUiCiAgICBJRFNfTkVXRk9MREVSICAgICAgICAiVnl0dm/4aXQgbm92b3Ugc2xvnmt1IgogICAgSURTX0xJU1RWSUVXICAgICAgICAgIlb9cGlzIgogICAgSURTX1JFUE9SVFZJRVcgICAgICAgIlBvZHJvYm5vc3RpIgogICAgSURTX1RPREVTS1RPUCAgICAgICAgIlByb2hs7Z5ldCBwbG9jaHUiCn0KClNUUklOR1RBQkxFCnsKICAgIFBEMzJfUFJJTlRfVElUTEUgICAgICAgIlRpc2siCgogICAgUEQzMl9WQUxVRV9VUkVBREFCTEUgICAgICAgICAgICAgICAgICAiTmXoaXRlbG79IHZzdHVwIgogICAgUEQzMl9JTlZBTElEX1BBR0VfUkFOR0UgIlRhdG8gaG9kbm90YSBw+GVzYWh1amUgbW+ebm9zdGkgc3Ry4W5reS5cblwKWmFkZWp0ZSBwcm9z7W0gaG9kbm90dSBtZXppICVkIGEgJWQuIgogICAgUEQzMl9GUk9NX05PVF9BQk9WRV9UTyAgICAgICAgICAgICAgICAiSG9kbm90YSAnT2QnIG5lbfmeZSBw+GVrcm/oaXQgXApob2Rub3R1ICdEbycuIgogICAgUEQzMl9NQVJHSU5TX09WRVJMQVAgICAgICAgICAgICAgICAgICAiRG9zYZ5lbu0gbmVibyBw+GVzYWggb2tyYWr5IFwKdGlza251dGVsbukgb2JsYXN0aS5cblphZGVqdGUgcHJvc+1tIGppbukgb2tyYWplLiIKICAgIFBEMzJfTlJfT0ZfQ09QSUVTX0VNUFRZICAgICAgICAgICAgICAgIlBv6GV0IGtvcGntIG11c+0gYv10JyBcCnphZOFuLiIKICAgIFBEMzJfVE9PX0xBUkdFX0NPUElFUyAgICAgICAgICAgICAgICAgIlRhayB2ZWxr6SBtbm+ec3R27SBrb3Bp7SBuZW7tIFwKcG9kcG9yb3bhbm8gVmGa7SB0aXNr4XJub3UuXG5aYWRlanRlIHByb3PtbSBob2Rub3R1IG1lemkgMSBhICVkLiIKICAgIFBEMzJfUFJJTlRfRVJST1IgICAgICAgICAgICAgICAgICAgICAgIk5hc3RhbGEgY2h5YmEgdGlza3UuIgogICAgUEQzMl9OT19ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAiVv1jaG967SB0aXNr4XJuYSBuZWV4aXN0dWplLiIKICAgIFBEMzJfQ0FOVF9GSU5EX1BSSU5URVIgICAgICAgICAgICAgICAgIk5lbW9odSBuYWrtdCB0aXNr4XJudS4iCiAgICBQRDMyX09VVF9PRl9NRU1PUlkgICAgICAgICAgICAgICAgICAgICJEb3N0dXBu4SBwYW3snSBieWxhIHZ56GVycOFuYS4iCiAgICBQRDMyX0dFTkVSSUNfRVJST1IgICAgICAgICAgICAgICAgICAgICJWeXNreXRsYSBzZSBjaHliYS4iCiAgICBQRDMyX0RSSVZFUl9VTktOT1dOICAgICAgICAgICAgICAgICAgICJOZXpu4W39IG92bGFkYeggdGlza+FybnkuIgoKICAgIFBEMzJfREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgICAgIlb9Y2hveu0gdGlza+FybmE7ICIKICAgIFBEMzJfTlJfT0ZfRE9DVU1FTlRTX0lOX1FVRVVFICAgICAgICAgIlZlIGZyb2507CBqZSAlZCBkb2t1bWVudPkiCiAgICBQRDMyX01BUkdJTlNfSU5fSU5DSEVTICAgICAgICAgICAgICAgICJPa3JhamUgW3BhbGNlXSIKICAgIFBEMzJfTUFSR0lOU19JTl9NSUxMSU1FVEVSUyAgICAgICAgICAgIk9rcmFqZSBbbW1dIgogICAgUEQzMl9NSUxMSU1FVEVSUyAgICAgICAgICAgICAgICAgICAgICAibW0iCgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19SRUFEWSAgICAgICAgICAgICAiUPhpcHJhdmVuIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVVTRUQgICAgICAgICAgICAiUG96YXN0YXZlbjsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUiAgICAgICAgICAgICAiQ2h5YmE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEVORElOR19ERUxFVElPTiAgIlByb2LtaOEgbWF64W7tOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX0pBTSAgICAgICAgICJaYXNla251dP0gcGFw7XI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfT1VUICAgICAgICAgIkRvmmVsIHBhcO1yOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVEICAgICAgICJSdehu7SB6YWts4WThbu0gcGFw7XJ1OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0gICAgICJQcm9ibOltIHMgcGFw7XJlbTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PRkZMSU5FICAgICAgICAgICAiVGlza+FybmEgamUgbmVkb3N0dXBu4TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUgICAgICAgICAiUPhlbm9zIGRhdDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19CVVNZICAgICAgICAgICAgICAiUHJhY3VqaTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiVGlza25lIHNlOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVFBVVF9CSU5fRlVMTCAgICJW/XN0dXBu7SB64XNvYm7tayBqZSBwbG79OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX05PVF9BVkFJTEFCTEUgICAgICJOZW7tIGsgZGlzcG96aWNpOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1dBSVRJTkcgICAgICAgICAgICLIZWvhIHNlOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcgICAgICAgICJacHJhY2924XbhIHNlOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0lOSVRJQUxJWklORyAgICAgICJJbmljaWFsaXp1amUgc2U7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIlphaPjtduEgc2U7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XICAgICAgICAgIkRvY2jheu0gdG9uZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9fVE9ORVIgICAgICAgICAgIkRvmmVsIHRvbmVyOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBR0VfUFVOVCAgICAgICAgICJaYfhhem924W7tOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1VTRVJfSU5URVJWRU5USU9OICJQ+GVydZplbm8gdZ5pdmF0ZWxlbTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZICAgICAiRG9zdHVwbuEgcGFt7J0gYnlsYSB2eehlcnDhbmE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOICAgICAgICAgIktyeXQgdGlza+FybnkgamUgb3RldvhlbjsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAiTmV6buFt/SB0aXNrb3b9IHNlcnZlcjsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAi2nNwb3Ju/SByZZ5pbTsgIgp9CgpTVFJJTkdUQUJMRSAvKiBDb2xvciBuYW1lcyAqLwp7CiAgICBJRFNfQ09MT1JfQkxBQ0sgICAgICLoZXJu4SIKICAgIElEU19DT0xPUl9NQVJPT04gICAgImhu7GThIgogICAgSURTX0NPTE9SX0dSRUVOICAgICAiemVsZW7hIgogICAgSURTX0NPTE9SX09MSVZFICAgICAib2xpdm924SIKICAgIElEU19DT0xPUl9OQVZZICAgICAgIm7hbW/4bu0iCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICJuYWNob3bhIgogICAgSURTX0NPTE9SX1RFQUwgICAgICAic2l24SIKICAgIElEU19DT0xPUl9HUkFZICAgICAgIpplZOEiCiAgICBJRFNfQ09MT1JfU0lMVkVSICAgICJzdPjtYnJu4SIKICAgIElEU19DT0xPUl9SRUQgICAgICAgIuhlcnZlbuEiCiAgICBJRFNfQ09MT1JfTElNRSAgICAgICJjaXRyb25vduEiCiAgICBJRFNfQ09MT1JfWUVMTE9XICAgICKebHV04SIKICAgIElEU19DT0xPUl9CTFVFICAgICAgIm1vZHLhIgogICAgSURTX0NPTE9SX0ZVQ0hTSUEgICAiZnVjaHNpb3bhIgogICAgSURTX0NPTE9SX0FRVUEgICAgICAidm9kb3bhIgogICAgSURTX0NPTE9SX1dISVRFICAgICAiYu1s4SIKfQoKU1RSSU5HVEFCTEUKewogICAgSURTX0ZPTlRfU0laRSAgICJVcuhldGUgdmVsaWtvc3QgZm9udHUgbWV6aSAlZCBhICVkIGJvZHkuIgogICAgSURTX1NBVkVfQlVUVE9OICImVWxvnml0IgogICAgSURTX1NBVkVfSU4gICAgICJVbG+eJml0IHY6IgogICAgSURTX1NBVkUgICAgICAgICJVbG+eaXQiCiAgICBJRFNfU0FWRV9BUyAgICAgIlVsb55pdCBqYWtvIgogICAgSURTX09QRU5fRklMRSAgICJPdGV2+O10IHNvdWJvciIKfQo=