LyoKICogV2luZSBjb21tYW5kIHByb21wdAogKiBKYXBhbmVzZSBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAoQykgMjAwNCBIYWppbWUgU2VnYXdhCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfSkFQQU5FU0UsIFNVQkxBTkdfREVGQVVMVAoKU1RSSU5HVEFCTEUKewogIFdDTURfQVRUUklCLCAiQVRUUklCgsyDd4OLg3ZcbiIKICBXQ01EX0NBTEwsCiJDQUxMIDyDb4Nig2CDdINAg0ODi5a8PiCCzZG8gsyDb4Nig2CDdINAg0ODi4KpgueDUoN9g5ODaILwjsCNc4K3gumP6o2HXG5cCoLJg2+DYoNgg3SDQINDg4uShoLFjmeXcIK1gtyCt4FCg2+DYoNgg3SDQINDg4uPSZe5jp6CyYNSg5ODZ4ONgVuDi4LNjMRcblwKgtGPb4K1gr2DdINAg0ODi4LJlt+C6ILcgreBQiBDQUxMIINSg32Dk4Nogs2MxILRj2+Cs4LqgumO6JGxgquCyYNwg4mDgVxuXAqBW4NegvCTboK3grGCxoKqicKUXILFgreBQlxuXApcblwKjMSC0Y9vgrOC6oK9juiRsYKrgqqNc4LBgr2DSoOMg5ODZ4Nmg0KDjINOg2eDioLiisKLq5XPkJSCzJXPjViCzYzEgtGPb1xuXAqCtYyzgsmI+IKrjHCCqoLqgtyCt4FCXG4iCgogIFdDTURfQ0QsICAgICAiQ0SCzIN3g4uDdlxuIgogIFdDTURfQ0hESVIsICAiQ0hESVKCzIN3g4uDdlxuIgoKICBXQ01EX0NMUywgICAgIkNMU4LNg1KDk4NcgVuDi4nmlsqC8INOg4qDQYK1gtyCt1xuIgoKICBXQ01EX0NPUFksICAgIkNPUFmCzIN3g4uDdlxuIgogIFdDTURfQ1RUWSwgICAiQ1RUWYLMg3eDi4N2XG4iCiAgV0NNRF9EQVRFLCAgICJEQVRFgsyDd4OLg3ZcbiIKICBXQ01EX0RFTCwgICAgIkRFTILMg3eDi4N2XG4iCiAgV0NNRF9ESVIsICAgICJESVKCzIN3g4uDdlxuIgoKICBXQ01EX0VDSE8sCiJFQ0hPIDyVto6al/E+IILNPJW2jpqX8T6C8Iy7jd2CzINegVuDfoNpg4uCyZVcjqaCtYLcgreBQlxuXApcblwKRUNITyBPTiCCzYjIjX6CyYNvg2KDYIN0g0CDQ4OLgsWOwI1zgreC6YNSg32Dk4NogvCOwI1zkU+CyVxuXAqDXoFbg36DaYOLgsmVXI6mgreC6YLmgqSCyYK1gtyCt4FCXG5cClxuXApFQ0hPIE9GRiCCzUVDSE8gT06CzIt0gsyM+InKgvCOnYK/gtyCt4FCIChFQ0hPgs2DZoN0g0iDi4NnXG5cCoLFgs1PRkaCxYK3KYFCRUNITyBPRkYgg1KDfYOTg2iCzUCDfYFbg06CyZGxgq+CxI7AjXOCt4Lqgs5cblwKlVyOpoKzguqC3IK5gvGBQlxuIgoKICBXQ01EX0VSQVNFLCAgIkVSQVNFgsyDd4OLg3ZcbiIKCiAgV0NNRF9GT1IsCiJGT1Igg1KDfYOTg2iCzYK7guqCvILqgsyDdINAg0ODi4LJkc6CtYLEg1KDfYOTg2iC8I7AjXOCt4LpXG5cCo/qjYeCyY5nl3CCtYLcgreBQlxuXApcblwKlbaWQDogRk9SICWVz5CUIElOICiDWoNig2cpIERPIINSg32Dk4NoXG5cClxuXApjbWST4ILJkbaN3YK1gsiCooNvg2KDYIN0g0CDQ4OLkoaCxUZPUoLwjmeXcIK3gumP6o2Hgs0li0yNhlxuXAqC8JPxj2SCyYK3gumVS5d2gqqCoILogtyCt4FCXG4iCgogIFdDTURfR09UTywKIkdPVE8gg1KDfYOTg2iCzYNvg2KDYIN0g0CDQ4OLkoaCxY7AjXONc4LwkbyCzINYg2WBW4Nng4GDk4NngslcblwKiNqCtYLcgreBQlxuXApcblwKR09UTyCVtoLMg16BW4NRg2KDZ4LGgsiC6YOJg3iDi4LNlLyKcDI1NZW2jpqIyJPggsWCt4KqgUGL85SSXG5cCoLwityC8YLFgs2CooKvgtyCuYLxgUIogrGC6oLNkbyCzINJg3mDjIFbg2WDQoOTg0+DVoNYg2WDgILFgs1cblwKiNmCyILogtyCtymBQpPxgsKIyI/jk6+I6oLMg4mDeIOLgqqRto3dgreC6Y/qjYeCzY/tgsmNxY+JgsyVqFxuXAqCqo7AjXOCs4LqgtyCt4FCR09UT5W2gsmRto3dgrWCyIKig4mDeIOLgvCOd5LogrWCvY/qjYeCzYNvg2JcblwKg2CDdINAg0ODi4LMjsCNc4LwkoaSZoK1gtyCt4FCXG5cClxuXApHT1RPIILNkc6YYoOCgVuDaILFjmeXcIKzguqCvY/qjYeCzYjTlqGC8I6dgr+C3IK5gvGBQlxuIgoKICBXQ01EX0hFTFAsICAgIkhFTFCCzIN3g4uDdlxuIgoKICBXQ01EX0lGLAoiSUYggs2P8IyPgsmK7oLDgqKCxINSg32Dk4NogvCOwI1zgreC6Y/qjYeCyY5nl3CCtYLcgreBQlxuXApcblwKlbaWQDoJSUYgW05PVF0gRVhJU1Qgg3SDQINDg4uWvCCDUoN9g5ODaFxuXAoJSUYgW05PVF0glbaOmpfxMT09lbaOmpfxMiCDUoN9g5ODaFxuXAoJSUYgW05PVF0gRVJST1JMRVZFTCCU1I2GIINSg32Dk4NoXG5cClxuXAqT8ZTUltqCzIxgjq6CyYKogqKCxIFBlbaOmpfxMYLGlbaOmpfxMoLNg1+DdYOLg06DSYFbg2eCxYjNgu2C6lxuXAqCxIKigsiCr4Lqgs6CyILogtyCuYLxgUKR5ZW2jpqCxo+slbaOmoLNi+aVyoKzguqC3IK5gvGBQlxuIgoKICBXQ01EX0xBQkVMLCAgIkxBQkVMIILNg2aDQoNYg06CzIN7g4qDhYFbg4CDiYN4g4uC8JDdkuiCt4Lpj+qNh4LJjmeXcIK1gtyCt4FCXG5cClxuXAqVtpZAOiBMQUJFTCBbg2iDiYNDg3U6XVxuXAqDUoN9g5ODaILwjsCNc4K3gumCxo53kuiCtYK9g2iDiYNDg3WCzJBWgrWCooN7g4qDhYFbg4CWvILwl3aLgYK1gtyCt4FCXG5cCoNmg0KDWINOgsyDe4OKg4WBW4OAg4mDeIOLgs1WT0yDUoN9g5ODaILFlVyOpoLFgquC3IK3gUJcbiIKCiAgV0NNRF9NRCwgICAgICJNRILMg3eDi4N2XG4iCiAgV0NNRF9NS0RJUiwgICJNS0RJUoLMg3eDi4N2XG4iCiAgV0NNRF9NT1ZFLAoiTU9WRSCCzYN0g0CDQ4OLgtyCvYLNg2aDQoOMg06DZ4OKgvCDdINAg0ODi4NWg1iDZYOAkoaCxZBWgrWCoo/qj4qCyYjak66CtYLcgreBQlxuXApcblwKiNqTroK3gumRzo/bgqqDZoNCg4yDToNng4qCzI/qjYeCzYFBg2aDQoOMg06DZ4OKk+CCzJFTgsSCzIN0g0BcblwKg0ODi4LGg1SDdYNmg0KDjINOg2eDioLgiNqTroK1gtyCt4FCXG5cClxuXApNT1ZFIILFgs2I2pOujLOCxojak66Q5oLMg2iDiYNDg3WDjINegVuCqojZgsiC6Y/qjYeBQYjak66CzY64lHOCtYLcgreBQlxuIgoKICBXQ01EX1BBVEgsCiJQQVRIIILNY21kgsyMn431g3CDWILwlVyOpoLcgr2CzZXPjViCtYLcgreBQlxuXApcblwKUEFUSCCCxpP8l82Ct4LpgsaMu43dgsyDcINYkN2S6ILwlVyOpoK1gtyCtyiPiYr6j/OR1ILFgs1cblwKd2luZS5jb25mg3SDQINDg4uShoLFjneS6IKzguqCvZWogsmCyILBgsSCooLcgrcpgUKQ3ZLogvBcblwKlc+NWIK3gumCyYLNgUFQQVRIg1KDfYOTg2iCyZGxgq+CxJBWgrWCopDdkuiSbILwk/yXzYK1gsRcblwKibqCs4KigUJcblwKXG5cCoNwg1iC8JXPjViCt4LpgsaCq4LJUEFUSIrCi6uVz5CUgvCOZ5dwgreC6YKxgsaC4InClFyCxYK3gUJcblwKl+GCpoLOgUZcblwKCQlQQVRIICVQQVRIJTtjOlxcdGVtcFxuIgoKICBXQ01EX1BBVVNFLAoiUEFVU0Uggs2J5pbKgsmBdZGxgq+C6YLJgs2DioNegVuDk4NMgVuC8ImfgrWCxIm6grOCooF2gsZcblwKlVyOpoK1gUGDhoFbg1WCqoOKg16BW4OTg0yBW4LwiZ+Ct4LMgvCR0otAgrWC3IK3gUKCsYLqgs1cblwKjuWCyYNvg2KDYIN0g0CDQ4OLkoaCxY7AjXOCs4Lqgr2DUoN9g5ODaILMjIuJyoKqg1iDToONgVtcblwKg4uCt4LpkU+CyYOGgVuDVYKqk8eC34LpguaCpILJgrWCvYKij+qNh4LJl0yXcILFgreBQlxuIgoKICBXQ01EX1BST01QVCwKIlBST01QVCCCzYNSg32Dk4Nog3aDjYOTg3aDZ4LwkN2S6IK1gtyCt4FCXG5cClxuXApQUk9NUFQgg1KDfYOTg2gogsaSvIzjgsyDWIN5gVuDWCmCyZGxgq2Vto6al/GCzWNtZIKqk/yXzZHSgr+CzI6egUFcblwKjXOCzJDmk6qCyZVcjqaCs4LqgtyCt4FCXG5cClxuXAqIyIm6gsyDTIODg4mDToNelbaOmpfxgs2TwZXKgsiI05ahgvCOnYK/gtyCt4FGXG5cClxuXAokJCAgICCDaIOLi0yNhiAgICAgICAgICAgICRfICAgIIn8jXMgICAgICAgICAgICAgICAgJGIgICAgg3CDQ4N2i0yNhiAofClcblwKJGQgICAgjLuN3YLMk/qVdCAgICAgICAgICAkZSAgICCDR4NYg1CBW4N2ICAgICAgICAgICRnICAgID4gi0yNhlxuXAokbCAgICA8IItMjYYgICAgICAgICAgICAgICRuICAgIIy7jd2CzINog4mDQ4N1ICAgICAgJHAgICAgjLuN3YLMg3CDWFxuXAokcSAgICCTmY2GICAgICAgICAgICAgICAgICR0ICAgIIy7jd2CzI6ejY8gICAgICAgICAgJHYgICAgY21kgsyDb4Fbg1eDh4OTXG5cClxuXAqSjYjTgUZQUk9NUFSDUoN9g5ODaILwg3aDjYOTg3aDZ5W2jpqX8YLIgrWCxY7AjXOCt4LpgsaBQYNmg3SDSIOLg2eSbILJg4pcblwKg1qDYoNngrOC6oLcgreBQiCDZoN0g0iDi4NnkmyCzYNKg4yDk4Nng2aDQoOMg06DZ4OKKINog4mDQ4N1lryC8Ircgt2C3IK3KVxuXAqCyZGxgqKCxJHlgsiC6Cg+KYtMjYaCxYK3gUJcblwKKFBST01QVCAkcCRnIILwjsCNc4K1gr2OnoLGk6+XbILFgrcpXG5cClxuXAqDdoONg5ODdoNngs1QUk9NUFSKwourlc+QlILwldKPV4K3gumCsYLGgsWC4JXPjViCxYKrgtyCt4FCXG5cCoK1gr2CqoLBgsSBQSdTRVQgUFJPTVBUPZW2jpqX8SeCxidQUk9NUFQglbaOmpfxJ4LMjPiJyoLNk6+CtoLFgreBQlxuIgoKICBXQ01EX1JFTSwKIlJFTSiCxpK8jOOCzINYg3mBW4NYKYLFjm6C3ILpg1KDfYOTg2iCzY7AjXOCs4LqgtyCuYLxgUJcblwKgrWCvYKqgsGCxIFBg2+DYoNgg3SDQINDg4uShoLMg1KDgYOTg2eCxoK1gsSOZ5dwgsWCq4LcgreBQlxuIgoKICBXQ01EX1JFTiwgICAgIlJFToLMg3eDi4N2XG4iCiAgV0NNRF9SRU5BTUUsICJSRU5BTUWCzIN3g4uDdlxuIgogIFdDTURfUkQsICAgICAiUkSCzIN3g4uDdlxuIgogIFdDTURfUk1ESVIsICAiUk1ESVKCzIN3g4uDdlxuIgoKICBXQ01EX1NFVCwKIlNFVCCCzWNtZILMisKLq5XPkJSC8JVcjqaC3IK9gs2Vz41YgrWC3IK3gUJcblwKXG5cCoNwg4mDgYFbg16CyIK1gsVTRVSC8I7AjXOCt4LpgsaBQYy7jd2CzJFTgsSCzIrCi6uVz5CUgvCVXI6mgrWC3IK3gUJcblwKXG5cCorCi6uVz5CUgsyN7JCsgtyCvYLNlc+NWILwjXOCpI/qjYeCzY6fgsyC5oKkgsmLTI9xgrWCxIm6grOCooFGXG5cClxuXAogICAgICBTRVQgPIrCi6uVz5CUlrw+PTySbD5cblwKXG5cCjyKwourlc+QlJa8PiCCxiA8kmw+IILNlbaOmpfxgsWCt4FCk5mNhoLMjuiRT4LJg1iDeYFbg1iC8FxuXAqT/ILqgsiCooLFibqCs4KigUKO6JFPgsmDWIN5gVuDWILwk/yC6oLpgsaKwourlc+QlJa8gsmXXZWqXG5cCoLIg1iDeYFbg1iCqorcgtyC6oLEgrWC3IKkj+qNh4KqgqCC6ILcgreBQlxuXApcblwKV2luZYrCi6uCxYLNgUFXaW5lgqqTro3sgrWCxIKigulPU4LMisKLq5XPkJSCqldpbjMyisKLq5XPkJSCyYrcXG5cCoLcguqC3IK3gUKCtYK9gqqCwYLEgUGDbINDg2WDQoN1V2luMzKKwourguaC6JG9gq2CzJJsgqqDWoNig2eCs1xuXAqC6oLEgqKC3IK3gUJjbWST4IKpgudPU4LMisKLq5XPkJSC8JXPjViCt4LpgrGCxoKqgsWCq4LIgqKCsYLGXG5cCoLJko2I04K1gsSJuoKzgqKBQlxuIgoKICBXQ01EX1NISUZULAoiU0hJRlQggs2Db4Nig2CDdINAg0ODi5KGgsWDioNYg2eCzJDmk6qCqYLniOqCwoLMg3CDiYOBgVuDXoLwjuaC6I+cgq2OnlxuXAqCyY5nl3CCtYLcgreBQoLCgtyC6IFBg3CDiYOBgVuDXjKCqoNwg4mDgYFbg14xgsmCyILogtyCt4FCg1KDfYOTg2iDiYNDg5NcblwKgqmC54zEgs6C6oK9gsaCq4LJgs2JvYLgi06CsYLogtyCuYLxgUJcbiIKCiAgV0NNRF9USU1FLCAgICJUSU1FgsyDd4OLg3ZcbiIKCiAgV0NNRF9USVRMRSwgICJjbWSDRYNCg5ODaINFgsyDRYNCg5ODaINFg16DQ4Nng4uC8JDdkuiCtYLcgreBQpW2lkAgVElUTEUgW5W2jpqX8V1cbiIKCiAgV0NNRF9UWVBFLAoiVFlQRSA8g3SDQINDg4uWvD4ggs0gPIN0g0CDQ4OLlrw+IILwg1KDk4NcgVuDi4Nmg2+DQ4NYKJaUgs2DioNfg0ODjINOg2dcblwKgrOC6oK9j4opgsmDUoNzgVuCtYLcgreBQoN0g0CDQ4OLgqqJwpPHgsiDZYNMg1iDZ4N0g0CDQ4OLgqmCx4KkgqmDYINGg2KDTlxuXAqCs4LqgtyCuYLxgUJcbiIKCiAgV0NNRF9WRVJJRlksCiJWRVJJRlkggs12ZXJpZnmDdIOJg0+C8INag2KDZ4FBg06DioNBgUGWlILNg2WDWINngreC6Y6egsmOZ5dwgrWC3IK3gUKXTIz4gsiDdINIgVuDgILNOlxuXApcblwKVkVSSUZZIE9OCYN0g4mDT4Lwg1qDYoNnXG5cClZFUklGWSBPRkYJg3SDiYNPgvCDToOKg0FcblwKVkVSSUZZCQlPToKpT0ZGgqmVXI6mXG5cClxuXApXaW5lisKLq4LFgs12ZXJpZnmDdIOJg0+CzYjTlqGC8I6dgr+C3IK5gvGBQlxuIgoKICBXQ01EX1ZFUiwKIlZFUiCCzZOujeyCtYLEgqKC6WNtZILMg2+BW4NXg4eDk4LwlVyOpoK1gtyCt1xuIgoKICBXQ01EX1ZPTCwgICAgIlZPTILMg3eDi4N2XG4iCgogIFdDTURfUFVTSEQsICAiUFVTSEQgPGRpcmVjdG9yeW5hbWU+IHNhdmVzIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBvbnRvIGFcblwKc3RhY2ssIGFuZCB0aGVuIGNoYW5nZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHRoZSBzdXBwbGllZCBvbmUuXG4iCgogIFdDTURfUE9QRCwgICAiUE9QRCBjaGFuZ2VzIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHRoZSBsYXN0IG9uZSBzYXZlZCB3aXRoXG5cClBVU0hELlxuIgoKICBXQ01EX01PUkUsICAgIk1PUkUgZGlzcGxheXMgb3V0cHV0IG9mIGZpbGVzIG9yIHBpcGVkIGlucHV0IGluIHBhZ2VzLlxuIgoKICBXQ01EX0VYSVQsCiJFWElUIILNjLuN3YLMg1KDfYOTg2iDWoNig1aDh4OTgvCPSZe5grWCxGNtZILwjMSC0Y9vgrWCvU9TgtyCvYLNg1aDRoOLgsmW34K1gtyCt4FCXG4iCgogIFdDTURfQUxMSEVMUCwgIkNNRCCT4JGggsyDUoN9g5ODaDpcblwKQVRUUklCXHRcdERPU4N0g0CDQ4OLgsyRrpCrgvCVXI6mlpSCzZXPjVhcblwKQ0FMTFx0XHSKT5WUgsyDb4Nig2CDdINAg0ODi4LwjMSC0Y9vgrVcblwKQ0QgKENIRElSKVx0g0qDjIOTg2eDZoNCg4yDToNng4qC8JXPjVhcblwKQ0xTXHRcdINSg5ODXIFbg4uJ5pbKgvCDToOKg0FcblwKQ09QWVx0XHSDdINAg0ODi4Lwg1KDc4FbXG5cCkNUVFlcdFx0k/yXzS+Pb5fNg2aDb4NDg1iC8JXPjVhcblwKREFURVx0XHSDVoNYg2WDgILMk/qVdILwlVyOppaUgs2Vz41YXG5cCkRFTCAoRVJBU0UpXHSDdINAg0ODi4Lwje2PnFxuXApESVJcdFx0g2aDQoOMg06DZ4OKgsyT4JdlgvCVXI6mXG5cCkVDSE9cdFx0lbaOmpfxgvCSvJDag1KDk4NcgVuDi49vl82CyYNSg3OBW1xuXApIRUxQXHRcdINng3ODYoNOgsyP2o3XgsiDd4OLg3aC8JVcjqZcblwKTUQgKE1LRElSKVx0g1SDdYNmg0KDjINOg2eDioLwjeyQrFxuXApNT1JFXHRcdERpc3BsYXkgb3V0cHV0IGluIHBhZ2VzXG5cCk1PVkVcdFx0g3SDQINDg4uC3IK9gs2DZoNCg4yDToNng4qDY4OKgVuC8Ijak65cblwKUEFUSFx0XHSDcINYgvCVXI6mlpSCzZDdkuhcblwKUE9QRFx0XHRSZXN0b3JlcyB0aGUgZGlyZWN0b3J5IHRvIHRoZSBsYXN0IG9uZSBzYXZlZCB3aXRoIFBVU0hEXG5cClBST01QVFx0XHSDUoN9g5ODaIN2g42Dk4N2g2eC8JXPjVhcblwKUFVTSERcdFx0Q2hhbmdlcyB0byBhIG5ldyBkaXJlY3RvcnksIHNhdmluZyB0aGUgY3VycmVudCBvbmVcblwKUkVOIChSRU5BTUUpXHSDdINAg0ODi4Lwg4qDbIFbg4BcblwKUkQgKFJNRElSKVx0g1SDdYNmg0KDjINOg2eDioLwje2PnFxuXApTRVRcdFx0isKLq5XPkJSC8JDdkuiWlILNlVyOplxuXApUSU1FXHRcdINWg1iDZYOAgsyOno2PgvCQ3ZLolpSCzZVcjqZcblwKVElUTEVcdFx0Q01Eg1qDYoNWg4eDk4LMg0WDQoOTg2iDRYNeg0ODZ4OLgvCQ3ZLoXG5cClRZUEVcdFx0g2WDTINYg2eDdINAg0ODi4LMk+CXZYLwj2+XzVxuXApWRVJcdFx0Q01EgsyDb4Fbg1eDh4OTgvCVXI6mXG5cClZPTFx0XHSDZoNCg1iDToNmg2+DQ4NYgsyDe4OKg4WBW4OAg4mDeIOLgvCVXI6mXG5cCkVYSVRcdFx0Q01EgvCPSZe5XG5cblwKj+OLTILMg1KDfYOTg2iCyYrWgreC6Y/ajdeC8JVcjqaCt4LpgsmCzSBIRUxQIDyDUoN9g5ODaJa8PiCCxpP8l82CtYLEibqCs4KigUJcbiIKCiAgV0NNRF9DT05GSVJNLCAiQXJlIHlvdSBzdXJlIgogIFdDTURfWUVTLCAiWSIKICBXQ01EX05PLCAiTiIKICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKICBXQ01EX09WRVJXUklURSwgIk92ZXJ3cml0ZSAlcyIKICBXQ01EX01PUkVTVFIsICJNb3JlLi4uIgogIFdDTURfVFJVTkNBVEVETElORSwgIkxpbmUgaW4gQmF0Y2ggcHJvY2Vzc2luZyBwb3NzaWJseSB0cnVuY2F0ZWQuIFVzaW5nOlxuIgogIFdDTURfTllJLCAiTm90IFlldCBJbXBsZW1lbnRlZFxuXG4iCiAgV0NNRF9OT0FSRywgIkFyZ3VtZW50IG1pc3NpbmdcbiIKICBXQ01EX1NZTlRBWEVSUiwgIlN5bnRheCBlcnJvclxuIgogIFdDTURfRklMRU5PVEZPVU5ELCAiJXMgOiBGaWxlIE5vdCBGb3VuZFxuIgogIFdDTURfTk9DTURIRUxQLCAiTm8gaGVscCBhdmFpbGFibGUgZm9yICVzXG4iCiAgV0NNRF9OT1RBUkdFVCwgIlRhcmdldCB0byBHT1RPIG5vdCBmb3VuZFxuIgogIFdDTURfQ1VSUkVOVERBVEUsICJDdXJyZW50IERhdGUgaXMgJXNcbiIKICBXQ01EX0NVUlJFTlRUSU1FLCAiQ3VycmVudCBUaW1lIGlzICVzXG4iCiAgV0NNRF9ORVdEQVRFLCAiRW50ZXIgbmV3IGRhdGU6ICIKICBXQ01EX05FV1RJTUUsICJFbnRlciBuZXcgdGltZTogIgogIFdDTURfTUlTU0lOR0VOViwgIkVudmlyb25tZW50IHZhcmlhYmxlICVzIG5vdCBkZWZpbmVkXG4iCiAgV0NNRF9SRUFERkFJTCwgIkZhaWxlZCB0byBvcGVuICclcydcbiIKICBXQ01EX0NBTExJTlNDUklQVCwgIkNhbm5vdCBjYWxsIGJhdGNoIGxhYmVsIG91dHNpZGUgb2YgYSBiYXRjaCBzY3JpcHRcbiIKICBXQ01EX0FMTCwgIkEiCiAgV0NNRF9ERUxQUk9NUFQsICIlcywgRGVsZXRlIgogIFdDTURfRUNIT1BST01QVCwgIkVjaG8gaXMgJXNcbiIKICBXQ01EX1ZFUklGWVBST01QVCwgIlZlcmlmeSBpcyAlc1xuIgogIFdDTURfVkVSSUZZRVJSLCAiVmVyaWZ5IG11c3QgYmUgT04gb3IgT0ZGXG4iOwogIFdDTURfQVJHRVJSLCAiUGFyYW1ldGVyIGVycm9yXG4iCiAgV0NNRF9WT0xVTUVERVRBSUwsICJWb2x1bWUgaW4gZHJpdmUgJWMgaXMgJXNcblZvbHVtZSBTZXJpYWwgTnVtYmVyIGlzICUwNHgtJTA0eFxuXG4iCiAgV0NNRF9WT0xVTUVQUk9NUFQsICJWb2x1bWUgbGFiZWwgKDExIGNoYXJhY3RlcnMsIEVOVEVSIGZvciBub25lKT8iCiAgV0NNRF9OT1BBVEgsICJQQVRIIG5vdCBmb3VuZFxuIgogIFdDTURfQU5ZS0VZLCJQcmVzcyBSZXR1cm4ga2V5IHRvIGNvbnRpbnVlOiAiCiAgV0NNRF9DT05TVElUTEUsIldpbmUgQ29tbWFuZCBQcm9tcHQiCiAgV0NNRF9WRVJTSU9OLCJDTUQgVmVyc2lvbiAlc1xuXG4iCiAgV0NNRF9NT1JFUFJPTVBULCAiTW9yZT8gIgp9Cg==