LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDA2IFZpdGFsaXkgTWFyZ29sZW4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19SVVNTSUFOLCBTVUJMQU5HX0RFRkFVTFQKCk1FTlVfMDAxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIE1FTlVJVEVNICImwe7r/Pjo5SDn7eD36ugiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgogICAgTUVOVUlURU0gIibM5evq6OUg5+3g9+roIiwJRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgogICAgTUVOVUlURU0gIibR7+jx7uoiLAkJRkNJRE1fU0hWSUVXX0xJU1RWSUVXCiAgICBNRU5VSVRFTSAiJs/u5PDu4e3uIiwJRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKRU5ECgovKgogc2hlbGx2aWV3IGJhY2tncm91bmQgbWVudQoqLwpNRU5VXzAwMiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBQT1BVUCAiJs/w7vHs7vLwIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImwe7r/Pjo5SDn7eD36ugiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgogICAgICAgICAgICBNRU5VSVRFTSAiJszl6+ro5SDn7eD36ugiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCiAgICAgICAgICAgIE1FTlVJVEVNICIm0e/o8e7qIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwogICAgICAgICAgICBNRU5VSVRFTSAiJs/u5PDu4e3uIiwJRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBQT1BVUCAi0+/u8P/k7vfo8vwgJuft4Pfq6CIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiz+4gJujs5e3oIiwJMHgzMAkvKiBjb2x1bW4gMCAqLwogICAgICAgICAgICBNRU5VSVRFTSAiz+4gJvLo7/MiLAkweDMyCS8qIGNvbHVtbiAyICovCiAgICAgICAgICAgIE1FTlVJVEVNICLP7iAm8ODn7OXw8yIsCTB4MzEJLyogLi4uICovCiAgICAgICAgICAgIE1FTlVJVEVNICLP7iAm5ODy5SIsCTB4MzMKICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgICAgIE1FTlVJVEVNICImwOLy7uzg8uj35fHq6CIsCUZDSURNX1NIVklFV19BVVRPQVJSQU5HRQogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICLCJvvw7uLt//L8IOft4Pfq6CIsCUZDSURNX1NIVklFV19TTkFQVE9HUklECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIs4m4e3u4ujy/CIsCQlGQ0lETV9TSFZJRVdfUkVGUkVTSAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImwvHy4OLo8vwiLAkJRkNJRE1fU0hWSUVXX0lOU0VSVAogICAgICAgIE1FTlVJVEVNICLC8fLg4ujy/CAm//Dr++oiLAlGQ0lETV9TSFZJRVdfSU5TRVJUTElOSwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICLR7ufk4PL8IgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImz+Dv6uAiLAkJRkNJRE1fU0hWSUVXX05FV0ZPTERFUgogICAgICAgICAgICBNRU5VSVRFTSAiJt/w6/vqIiwJCUZDSURNX1NIVklFV19ORVdMSU5LCiAgICAgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLR4u4m6fHy4uAiLAkJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKICAgIEVORApFTkQKCi8qCiBzaGVsbHZpZXcgaXRlbSBtZW51CiovCk1FTlVfU0hWX0ZJTEUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIibC++Hw4PL8IgkJRkNJRE1fU0hWSUVXX09QRU4KICAgICAgICBNRU5VSVRFTSAiJs/w7uLu5O3o6iIsCQlGQ0lETV9TSFZJRVdfRVhQTE9SRQogICAgICAgIE1FTlVJVEVNICImzvLq8Pvy/CIsCQlGQ0lETV9TSFZJRVdfT1BFTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImwvvw5efg8vwiLAkJRkNJRE1fU0hWSUVXX0NVVAogICAgICAgIE1FTlVJVEVNICImyu7v6PDu4uDy/CIsCQlGQ0lETV9TSFZJRVdfQ09QWQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLR7ufk4PL8ICb/8Ov76iIsCUZDSURNX1NIVklFV19DUkVBVEVMSU5LCiAgICAgICAgTUVOVUlURU0gIibT5ODr6PL8IiwJCUZDSURNX1NIVklFV19ERUxFVEUKICAgICAgICBNRU5VSVRFTSAiz+Xw5egm7OXt7uLg8vwiLAlGQ0lETV9TSFZJRVdfUkVOQU1FCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gItHi7ibp8fLi4CIsCQlGQ0lETV9TSFZJRVdfUFJPUEVSVElFUwogICAgRU5ECkVORAoKTUVOVV9DUEFORUwgTUVOVQpCRUdJTgogICAgUE9QVVAgIibU4OnrIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiwib79e7kIiwgSURNX0NQQU5FTF9FWElUCiAgICBFTkQKCiAgICBQT1BVUCAiJsLo5CIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIibB7uv8+OjlIOft4Pfq6CIsIEZDSURNX1NIVklFV19CSUdJQ09OCiAgICAgICAgTUVOVUlURU0gIibM5evq6OUg5+3g9+roIiwgRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgogICAgICAgIE1FTlVJVEVNICIm0e/o8e7qIiwgRkNJRE1fU0hWSUVXX0xJU1RWSUVXCiAgICAgICAgTUVOVUlURU0gIibP7uTw7uHt7iIsIEZDSURNX1NIVklFV19SRVBPUlRWSUVXCiAgICBFTkQKCiAgICBQT1BVUCAiJtHv8ODi6uAiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImziDP4O3l6+gg0+/w4OLr5e3o/y4uLiIsIElETV9DUEFORUxfQUJPVVQKICAgIEVORApFTkQKClNIQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDE4OCwgMTkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IERTX01PREFMRlJBTUUgfCBEU19TRVRGT05UIHwgRFNfM0RMT09LCkNBUFRJT04gIs7h5+7wIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIERFRlBVU0hCVVRUT04gIsTgIiwgMSwgODAsIDE3NiwgNTAsIDEyLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICLO8uzl7eAiLCAyLCAxMzQsIDE3NiwgNTAsIDEyLCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICIiLCBJRERfVElUTEUsIDQsIDQsIDE4MCwgMTIKICAgIExURVhUICIiLCBJRERfU1RBVFVTLCA0LCAyNSwgMTgwLCAxMgogICAgQ09OVFJPTCAiIiwgSUREX1RSRUVWSUVXLCAiU3lzVHJlZVZpZXczMiIsCgkgICAgICAgIFRWU19IQVNCVVRUT05TIHwgVFZTX0hBU0xJTkVTIHwgVFZTX0xJTkVTQVRST09UIHwKCSAgICAgICAgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwKCSAgICAgICAgNCwgNDAsIDE4MCwgMTIwCn0KClNITkVXQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIxOCwgMTk2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IFdTX1NJWkVCT1ggfCBEU19NT0RBTEZSQU1FIHwgRFNfU0VURk9OVCB8IERTXzNETE9PSwpDQVBUSU9OICLO4efu8CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAiIiwgSUREX1RJVExFLCAxMCwgOCwgMTk4LCAyNAogICAgTFRFWFQgIiIsIElERF9TVEFUVVMsIDEwLCAyNSwgMTk4LCAxMgogICAgTFRFWFQgIs/g7+rgOiIsIElERF9GT0xERVIsIDEwLCAxNTYsIDQwLCAxMgogICAgQ09OVFJPTCAiIiwgSUREX1RSRUVWSUVXLCAiU3lzVHJlZVZpZXczMiIsCiAgICAgICAgICAgICAgICBUVlNfSEFTQlVUVE9OUyB8IFRWU19IQVNMSU5FUyB8IFRWU19MSU5FU0FUUk9PVCB8CiAgICAgICAgICAgICAgICBXU19CT1JERVIgfCBXU19UQUJTVE9QLAogICAgICAgICAgICAgICAgMTIsIDM4LCAxOTQsIDEwNQogICAgRURJVFRFWFQgSUREX0ZPTERFUlRFWFQsIDQ2LCAxNTAsIDE2MCwgMTQsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAi0e7n5ODy/CAm7e7i8/4g7+Dv6vMiLCBJRERfTUFLRU5FV0ZPTERFUiwgMTIsIDE3NCwgNzcsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTAyLCAxNzQsIDUwLCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAizvLs5e3gIiwgSURDQU5DRUwsIDE1NiwgMTc0LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgpTSEVMTF9ZRVNUT0FMTF9NU0dCT1ggRElBTE9HIDIwMCwgMTAwLCAyODAsIDkwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLR7u7h+eXt6OUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgREVGUFVTSEJVVFRPTiAiJsTgIiwgSURZRVMsIDM0LCA2OSwgNTMsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gIsTgIOTr/yAm4vHl9SIsIElERF9ZRVNUT0FMTCwgOTIsIDY5LCA2NSwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiJs3l8iIsIElETk8sIDE2MiwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICImzvLs5e3gIiwgSURDQU5DRUwsIDIyMCwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBJQ09OICIiLCBJRERfSUNPTiwgMTAsIDEwLCAxNiwgMTYKICAgIExURVhUICIiLCBJRERfTUVTU0FHRSwgNDAsIDEwLCAyMzgsIDUyLCAwCn0KClNIRUxMX0FCT1VUX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIyMCwgMTUyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLOICVzIgpGT05UIDEwLCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDE1MywgMTMzLCA2MCwgMTIsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibL6Pbl7efo/yBXaW5lLi4uIiwgSURDX0FCT1VUX0xJQ0VOU0UsIDE1MywgMTEzLCA2MCwgMTIsIFdTX1RBQlNUT1AKIExJU1RCT1ggSURDX0FCT1VUX0xJU1RCT1gsIDgsIDY1LCAxMzcsIDgyLCBMQlNfTk9USUZZIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgogSUNPTiAiIiwgc3RjMSwgMTAsIDEwLCAzMCwgMzAKIExURVhUICIiLCBJRENfQUJPVVRfU1RBVElDX1RFWFQxLCA0MCwgMTAsIDEzNywgMTAKIExURVhUICIiLCBJRENfQUJPVVRfU1RBVElDX1RFWFQyLCA0MCwgMjIsIDEzNywgMTAKIExURVhUICLC5fDx6P8gV2luZSAlcyIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDMsIDQyLCAzNCwgMTcwLCAxMAogTFRFWFQgItDg5/Dg4e7y9+jq6CBXaW5lOiIsIElEQ19BQk9VVF9XSU5FX1RFWFQsIDgsIDU1LCAxMzcsIDEwCn0KClNIRUxMX1JVTl9ETEcgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjI3LCA5NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIElDT04gIiIsIDEyMjk3LCA3LCAxMSwgMTgsIDIwLCBXU19WSVNJQkxFCiBMVEVYVCAiwuLl5Ojy5SDo7P8g7/Du4/Dg7Oz7LCDv4O/q6Cwg5O7q8+zl7fLgIOjr6CDw5fHz8PEgyO3y5fDt5fLgLCDoIFdpbmUg7vLq8O7l8iDo9S4iLCAxMjI4OSwgMzYsIDExLCAxODIsIDE4CiBMVEVYVCAiJs7y6vD78vw6IiwgMTIzMDUsIDQsIDM5LCAzMCwgMTAKIENPTlRST0wgIiIsIDEyMjk4LCAiQ09NQk9CT1giLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBXU19WU0NST0xMIHwgV1NfVklTSUJMRSB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfRFJPUERPV04sIDM2LCAzNywgMTgzLCAxMDAKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgNjIsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIs7y7OXt4CIsIElEQ0FOQ0VMLCAxMTYsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIs7hJufu8C4uLiIsIDEyMjg4LCAxNzAsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKfQoKU1RSSU5HVEFCTEUKewogICAgLyogY29sdW1ucyBpbiB0aGUgc2hlbGx2aWV3ICovCiAgICBJRFNfU0hWX0NPTFVNTjEJCSLI7P8iCiAgICBJRFNfU0hWX0NPTFVNTjIJCSLQ4Ofs5fAiCiAgICBJRFNfU0hWX0NPTFVNTjMJCSLS6O8iCiAgICBJRFNfU0hWX0NPTFVNTjQJCSLI5+zl7bjtIgogICAgSURTX1NIVl9DT0xVTU41CQkiwPLw6OHz8vsiCiAgICBJRFNfU0hWX0NPTFVNTjYJCSLP7uvt++kg7uH6uOwiCiAgICBJRFNfU0hWX0NPTFVNTjcJCSLR4u7h7uTt7iIKICAgIElEU19TSFZfQ09MVU1OOAkJIsjs/yIKICAgIElEU19TSFZfQ09MVU1OOQkJIsru7Ozl7fLg8OjpIgogICAgSURTX1NIVl9DT0xVTU4xMAkJIsLr4OTl6+X2IgogICAgSURTX1NIVl9DT0xVTU4xMQkJIsPw8+/v4CIKICAgIElEU19TSFZfQ09MVU1OX0RFTEZST00JIsjx9e7k7e7lIOzl8fLu7eD17uTl7ejlIgogICAgSURTX1NIVl9DT0xVTU5fREVMREFURQkiwvDl7P8g8+Tg6+Xt6P8iCgogICAgLyogc3BlY2lhbCBmb2xkZXJzICovCiAgICBJRFNfREVTS1RPUAkJCSLQ4OHu9+jpIPHy7usiCiAgICBJRFNfTVlDT01QVVRFUgkJIszu6SDq7uzv/P7y5fAiCiAgICBJRFNfUkVDWUNMRUJJTl9GT0xERVJfTkFNRSAgIsru8Ofo7eAiCiAgICBJRFNfQ09OVFJPTFBBTkVMCQkiz+Dt5ev8INPv8ODi6+Xt6P8iCgogICAgLyogY29udGV4dCBtZW51cyAqLwogICAgSURTX1ZJRVdfTEFSR0UJCSImwe7r/Pjo5SDn7eD36ugiCiAgICBJRFNfVklFV19TTUFMTAkJIibM5evq6OUg5+3g9+roIgogICAgSURTX1ZJRVdfTElTVAkJIibR7+jx7uoiCiAgICBJRFNfVklFV19ERVRBSUxTCQkiJs/u5PDu4e3uIgogICAgSURTX1NFTEVDVAkJCSImwvvh8ODy/CIKICAgIElEU19PUEVOCQkJIibO8urw+/L8IgoKICAgIElEU19DUkVBVEVGT0xERVJfREVOSUVECSLN5eLu5+zu5u3uIPHu5+Tg8vwg7+Dv6vMgLSDt5fIg7+7r7e7s7vfo6S4iCiAgICBJRFNfQ1JFQVRFRk9MREVSX0NBUFRJT04JIs746OHq4CDi7iDi8OXs/yDx7ufk4O3o/yDv4O/q6CIKICAgIElEU19ERUxFVEVJVEVNX0NBUFRJT04JIs/u5PLi5fDm5OXt6OUg8+Tg6+Xt6P8g9ODp6+AiCiAgICBJRFNfREVMRVRFRk9MREVSX0NBUFRJT04JIs/u5PLi5fDm5OXt6OUg8+Tg6+Xt6P8g7+Dv6ugiCiAgICBJRFNfREVMRVRFSVRFTV9URVhUCQki0+Tg6+jy/CAnJTEnPyIKICAgIElEU19ERUxFVEVNVUxUSVBMRV9URVhUCSLT5ODr6PL8IP3y6CDu4fzl6vL7ICglMSk/IgogICAgSURTX0RFTEVURVNFTEVDVEVEX1RFWFQgICAgICLT5ODr6PL8IOL74fDg7e375SDu4fzl6vL7PyIKICAgIElEU19UUkFTSElURU1fVEVYVCAgICAgICAgICAiz+Xw5ezl8fLo8vwgJyUxJyDiIOru8Ofo7fM/IgogICAgSURTX1RSQVNIRk9MREVSX1RFWFQgICAgICAgICLP5fDl7OXx8ujy/CDv4O/q8yAnJTEnIOgg4vHlIOXlIPHu5OXw5ujs7uUg6u7w5+jt8z8iCiAgICBJRFNfVFJBU0hNVUxUSVBMRV9URVhUICAgICAgIs/l8OXs5fHy6PL8IO7h/OXq8vsgJTEg4iDq7vDn6O3zPyIKICAgIElEU19DQU5UVFJBU0hfVEVYVCAgICAgICAgICAizuH85eryICclMScg7eUg7O7m5fIg4fvy/CDv7vHr4O0g4iDq7vDn6O3zLiDC+yD17vLo8uUg5ePuIPPk4Ojy/D8iCiAgICBJRFNfT1ZFUldSSVRFRklMRV9URVhUICAgICAgIs/g7+rgIPPm5SDx7uTl8Obo8iD04OnrICclMScuXG5cbsL7IPXu8ujy5SDn4Ozl7ejy/CDl4+4/IgogICAgSURTX09WRVJXUklURUZJTEVfQ0FQVElPTgkiz+7k8uLl8Obk5e3o5SDn4Ozl7fsg9ODp6+AiCiAgICBJRFNfT1ZFUldSSVRFRk9MREVSX1RFWFQgIt3y4CDv4O/q4CDz5uUg8e7k5fDm6PIg7+Dv6vMgJyUxJy5cblxuIlwKCSAgICAixfHr6CD04Onr+yDiIOru7eX37e7pIO/g7+rlIOjs5f7yIPLlIOblIOjs5e3gLCD38u4g6CD04Onr+yDiIOL74fDg7e3u6VxuIlwKCSAgICAi7+Dv6uUsIO7t6CDh8+Tz8iDn4Ozl7eXt+y4gwvsg4vG4IOX5uCD17vLo8uUg7+Xw5ezl8fLo8vwg6OvoIPHq7u/o8O7i4PL8XG4iXAoJICAgICLv4O/q8z8iCgogICAgLyogbWVzc2FnZSBib3ggc3RyaW5ncyAqLwogICAgSURTX1JFU1RBUlRfVElUTEUJCSLP5fDl5+Dj8PPn6PL8IgogICAgSURTX1JFU1RBUlRfUFJPTVBUCQkiwvsg9e7y6PLlIPHo7PPr6PDu4uDy/CDv5fDl5+Dv8/HqIFdpbmRvd3M/IgogICAgSURTX1NIVVRET1dOX1RJVExFCQkiwvvq6/736PL8IO/o8uDt6OUiCiAgICBJRFNfU0hVVERPV05fUFJPTVBUCQkix+Dq7u336PL8IPDg4e7y8yDxIFdpbmU/IgoKICAgIC8qIHNoZWxsIGZvbGRlciBwYXRoIGRlZmF1bHQgdmFsdWVzICovCiAgICBJRFNfUFJPR1JBTVMgICAgICAgICAgICAgICAgIsPr4OLt7uUg7OXt/lxcz/Du4/Dg7Oz7IgogICAgSURTX1BFUlNPTkFMICAgICAgICAgICAgICAgICLM7ugg5O7q8+zl7fL7IgogICAgSURTX0ZBVk9SSVRFUyAgICAgICAgICAgICAgICLI5+Hw4O3t7uUiCiAgICBJRFNfU1RBUlRVUCAgICAgICAgICAgICAgICAgIsPr4OLt7uUg7OXt/lxcz/Du4/Dg7Oz7XFzA4vLu5+Dj8PPn6uAiCiAgICBJRFNfUkVDRU5UICAgICAgICAgICAgICAgICAgIs3l5ODi7eXlIgogICAgSURTX1NFTkRUTyAgICAgICAgICAgICAgICAgICLO8u/w4OLo8vwiCiAgICBJRFNfU1RBUlRNRU5VICAgICAgICAgICAgICAgIsPr4OLt7uUg7OXt/iIKICAgIElEU19NWU1VU0lDICAgICAgICAgICAgICAgICAizO7/IOzz5/vq4CIKICAgIElEU19NWVZJREVPICAgICAgICAgICAgICAgICAizO7oIPTo6/zs+yIKICAgIElEU19ERVNLVE9QRElSRUNUT1JZICAgICAgICAi0ODh7vfo6SDx8u7rIgogICAgSURTX05FVEhPT0QgICAgICAgICAgICAgICAgICLR5fLl4u7lIO7q8PPm5e3o5SIKICAgIElEU19URU1QTEFURVMgICAgICAgICAgICAgICAi2ODh6+7t+yIKICAgIElEU19BUFBEQVRBICAgICAgICAgICAgICAgICAiQXBwbGljYXRpb24gRGF0YSIKICAgIElEU19QUklOVEhPT0QgICAgICAgICAgICAgICAiz/Do7fLl8PsiCiAgICBJRFNfTE9DQUxfQVBQREFUQSAgICAgICAgICAgIkxvY2FsIFNldHRpbmdzXFxBcHBsaWNhdGlvbiBEYXRhIgogICAgSURTX0lOVEVSTkVUX0NBQ0hFICAgICAgICAgICJMb2NhbCBTZXR0aW5nc1xcVGVtcG9yYXJ5IEludGVybmV0IEZpbGVzIgogICAgSURTX0NPT0tJRVMgICAgICAgICAgICAgICAgICJDb29raWVzIgogICAgSURTX0hJU1RPUlkgICAgICAgICAgICAgICAgICJMb2NhbCBTZXR0aW5nc1xcSGlzdG9yeSIKICAgIElEU19QUk9HUkFNX0ZJTEVTICAgICAgICAgICAiUHJvZ3JhbSBGaWxlcyIKICAgIElEU19NWVBJQ1RVUkVTICAgICAgICAgICAgICAizO7oIPDo8fPt6ugiCiAgICBJRFNfUFJPR1JBTV9GSUxFU19DT01NT04gICAgIlByb2dyYW0gRmlsZXNcXENvbW1vbiBGaWxlcyIKICAgIElEU19DT01NT05fRE9DVU1FTlRTICAgICAgICAizuH56OUg5O7q8+zl7fL7IgogICAgSURTX0FETUlOVE9PTFMgICAgICAgICAgICAgICLD6+Di7e7lIOzl7f5cXM/w7uPw4Ozs+1xcQWRtaW5pc3RyYXRpdmUgVG9vbHMiCiAgICBJRFNfQ09NTU9OX01VU0lDICAgICAgICAgICAgIs7h+ejlIOTu6vPs5e3y+1xczO7/IOzz5/vq4CIKICAgIElEU19DT01NT05fUElDVFVSRVMgICAgICAgICAizuH56OUg5O7q8+zl7fL7XFzM7ugg8Ojx8+3q6CIKICAgIElEU19DT01NT05fVklERU8gICAgICAgICAgICAizuH56OUg5O7q8+zl7fL7XFzM7ugg9Ojr/Oz7IgogICAgSURTX0NEQlVSTl9BUkVBICAgICAgICAgICAgICJMb2NhbCBTZXR0aW5nc1xcQXBwbGljYXRpb24gRGF0YVxcTWljcm9zb2Z0XFxDRCBCdXJuaW5nIgoKICAgIElEU19ORVdGT0xERVIJCSLN7uLg/yDv4O/q4CIKCiAgICBJRFNfQ1BBTkVMX1RJVExFICAgICAgICAgICAgIs/g7eXr/CDT7/Dg4uvl7ej/IFdpbmUiCiAgICBJRFNfQ1BBTkVMX05BTUUgICAgICAgICAgICAgIsjs/yIKICAgIElEU19DUEFORUxfREVTQ1JJUFRJT04gICAgICAizu/o8eDt6OUiCn0K