LyogSGV5LCBFbWFjcywgb3BlbiB0aGlzIGZpbGUgd2l0aCAtKi0gY29kaW5nOiBjcDEyNTAgLSotCiAqCiAqIFdpbmUgY29tbWFuZCBwcm9tcHQKICogQ3plY2ggTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgKEMpIDE5OTkgRCBBIFBpY2tsZXMKICogQ29weXJpZ2h0IChDKSAyMDA0IERhdmlkIEtyZWRiYQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0NaRUNILCBTVUJMQU5HX0RFRkFVTFQKCi8qIEN6ZWNoIHN0cmluZ3MgaW4gQ1AxMjUwICovCgpTVFJJTkdUQUJMRQp7CiAgV0NNRF9BVFRSSUIsICJO4XBvduxkYSBrIEFUVFJJQlxuIgogIFdDTURfQ0FMTCwKIkNBTEwgPGThdmtvdv0gc291Ym9yPiBqZSB1nu124W4ga2Ugc3B1mnTsbu0gcPjta2F6+VxuXAp6IGppbulobyBk4XZrb3bpaG8gc291Ym9ydS4gS2R5niBzZSBi7Gggdm9sYW7paG8gZOF2a2926WhvIHNvdWJvcnUgdWtvbujtLCBrb250cm9sYSBzZSB2cuF07VxuXAp2b2xhau1j7W11IHNvdWJvcnUuIFD47WtheiBDQUxMIG35nmUgcPhlZOF2YXQgcGFyYW1ldHJ5XG5cCnZvbGFu6SBwcm9jZWR1+GUuXG5cClxuXApabexueSB2IGRlZmF1bHRu7W0gYWRyZXPh+GksIHByb23sbm79Y2ggcHJvc3T4ZWTtIGF0ZC4sIHVk7GxhbulcblwKdm9sYW5vdSBwcm9jZWR1cm91IGpzb3UgemTsZOxueSB2b2xhau1j7W0uXG4iCgogIFdDTURfQ0QsICAgICAiTuFwb3bsZGEgayBDRFxuIgogIFdDTURfQ0hESVIsICAiTuFwb3bsZGEgayBDSERJUlxuIgoKICBXQ01EX0NMUywgICAgIkNMUyB2eW1hnmUgb2JyYXpvdmt1IHRlcm1pbuFsdVxuIgoKICBXQ01EX0NPUFksICAgIk7hcG927GRhIGsgQ09QWVxuIgogIFdDTURfQ1RUWSwgICAiTuFwb3bsZGEgayBDVFRZXG4iCiAgV0NNRF9EQVRFLCAgICJO4XBvduxkYSBrIERBVEVcbiIKICBXQ01EX0RFTCwgICAgIk7hcG927GRhIGsgREVMXG4iCiAgV0NNRF9ESVIsICAgICJO4XBvduxkYSBrIERJUlxuIgoKICBXQ01EX0VDSE8sCiJFQ0hPIDz4ZXTsemVjPiB6b2JyYXrtIDz4ZXTsemVjPiBuYSBwb3We7XZhbultIHRlcm1pbuFsb3bpbSB6YfjtemVu7S5cblwKXG5cCkVDSE8gT04genD5c29i7SwgnmUgdpplY2hueSBu4XNsZWR1au1j7SBw+O1rYXp5IHYgZOF2a2926W0gc291Ym9ydSBidWRvdVxuXAp6b2JyYXplbnkgbmEgdGVybWlu4WxvdultIHph+O16ZW7tIHD4ZWQgc3b9bSBzcHWadOxu7W0uXG5cClxuXApFQ0hPIE9GRiB2eXBpc2924W7tIHD47WthevkgemFr4Z5lIChFQ0hPIGplIE9GRiBkZWZhdWx0buwuXG5cClD4ZWRzYWTtLWxpIHNlIHD47WthenUgRUNITyBPRkYgQCBuZWJ1ZGUgcPjta2F6IEVDSE8gT0ZGIHZ5cHPhblxuXApuYSB0ZXJtaW7hbG926SB6YfjtemVu7S5cbiIKCiAgV0NNRF9FUkFTRSwgICJO4XBvduxkYSBrIEVSQVNFXG4iCgogIFdDTURfRk9SLAoiUPjta2F6IEZPUiB2eWtvbuEgemFkYW5vdSBha2NpIHBybyBrYZ5k/SB6ZSB6YWRhbukgc2t1cGlueSBzb3Vib3L5LlxuXApcblwKU3ludGF4ZTogRk9SICVwcm9t7G5u4SBJTiAoc2t1cGluYSBzb3Vib3L5KSBETyBha2NlXG5cClxuXApWIHByb2dyYW11IGNtZCBuZW7tIHT4ZWJhIHpkdm9qb3ZhdCB6bmFrICUgcPhlZCBwcm9t7G5ub3UgcPhpIHBvdZ5pdO0gcPjta2F6dVxuXCBGT1IgdiBk4XZrb3bpbSBzb3Vib3J1LlxuIgoKICBXQ01EX0dPVE8sCiJQ+O1rYXogR09UTyBw+GVk4SB2/WtvbiBuYSBqaW7pIG3tc3RvXG5cCnYgZOF2a2926W0gc291Ym9ydS5cblwKXG5cCk7hduyadO0sIGt0ZXL9bSBzZSBvem5h6HVqZSBj7Wwgc2tva3UgR09UTyBt+Z5lIGL9dCBhniAyNTUgem5ha/lcblwKZGxvdWjpLiBOZXNt7SB2mmFrIG9ic2Fob3ZhdCBtZXplcnkgKG9kbGmabukgY2hvduFu7SBvZCBqaW79Y2ggb3BlcmHobu1jaFxuXApzeXN06W35KS4gRXhpc3R1au0tbGkgZHbsIG5lYm8gdu1jZSBzdGVqbv1jaCBu4XbsmnTtIHYgamVkbm9tIGThdmtvdultXG5cCnNvdWJvcnUsIHBhayBwcnZu7SBidWRlIHZ5a29u4W5vLiBTa29rIEdPVE8gbmEgbmVleGlzdHVq7WPtIG7hduyadO1cblwKdWtvbujtIHb9a29uIGThdmtvdulobyBzb3Vib3J1LlxuXApcblwKR09UTyBzZSBuZWThIHBvdZ7tdCBpbnRlcmFrdGl2buwuXG4iCgogIFdDTURfSEVMUCwgICAiTuFwb3bsZGEgayBIRUxQXG4iCgogIFdDTURfSUYsCiJJRiBzbG91nu0gayBwb2Rt7W7sbultdSB2/WtvbnUgcPjta2F6+S5cblwKXG5cClN5bnRheGU6IElGIFtOT1RdIEVYSVNUIHNvdWJvciBw+O1rYXpcblwKCSBJRiBbTk9UXSD4ZXTsemVjMT09+GV07HplYzIgcPjta2F6XG5cCgkgSUYgW05PVF0gRVJST1JMRVZFTCDo7XNsbyBw+O1rYXpcblwKXG5cClZlIGRydWjpIGZvcm3sIHD47WthenUgbXVz7SBi/XQg+GV07HplYzEgYSD4ZXTsemVjMiB1emF2+GVueSB2IGR2b2ppdP1jaFxuXAp1dm96b3Zr4WNoLiBTcm92buFu7SBuZW7tIGNpdGxpdukgbmEgdmVsaWtvc3QgcO1zbWVuLlxuIgoKICBXQ01EX0xBQkVMLCAgIkxBQkVMIG5hc3RhdnVqZSBqbWVub3ZrdSBzdmF6a3UtZGlza3UuICBcblwKXG5cClN5bnRheGU6IExBQkVMIFtkaXNrOl1cblwKQnVkZXRlIHZ5enbhbmkgayB6YWThbu0gam1lbm92a3kuXG5cCkptZW5vdmt1IHNpIG35nmV0ZSB6b2JyYXppdCBw+O1rYXplbSBWT0wuXG4iCgogIFdDTURfTUQsICAgICAiTuFwb3bsZGEgayBNRFxuIgogIFdDTURfTUtESVIsICAiTuFwb3bsZGEgayBNS0RJUlxuIgogIFdDTURfTU9WRSwKIk1PVkUgcPhlc3VuZSBzb3Vib3Ig6GkgYWRyZXPh+CBuYSBqaW7pIG3tc3RvIHYgc291Ym9yb3bpbSBzeXN06W11LlxuXApcblwKSmUtbGkgcPhlc291duFuIGFkcmVz4fgsIGpzb3UgcPhlc3VudXR5IHaaZWNobnkgamVobyBwb2RhZHJlc+H4ZSBhIHNvdWJvcnkuXG5cClxuXApNT1ZFIHNlbJ5lIGpzb3UtbGkgemRyb2pvduEgYSBj7WxvduEgb2JsYXN0IG5hIGplZG5vdGvhY2ggcyBqaW79bWkgRE9TIHDtc21lbnkgZGlza/kuXG4iCgogIFdDTURfUEFUSCwKIlBBVEggem9icmF67SDoaSB6bexu7SBjZXN0eSwgdiBuaWNoniBjbWQgaGxlZOEgc291Ym9yeS5cblwKXG5cClBBVEggYmV6IGFyZ3VtZW50+SB6b2JyYXrtIG1vbWVudOFsbuwgcGxhdG7pIG5hc3RhdmVu7SAocPhlZCBwcnZu7SB6bexub3VcblwKamUgdG8gaG9kbm90YSBw+GV2emF04SB6ZSBzb3Vib3J1IHdpbmUuY29uZikuIEtlIHpt7G7sIHD4aXBvanRlIGsgcPjta2F6dVxuXApQQVRIIG5vdm91IGNlc3R1LlxuXApcblwKSmUgdGFrdOmeIG1vnm7pIHpt7G5pdCBQQVRIIHBvdZ5pdO1tIHByb23sbm7pIHByb3N0+GVk7SBQQVRILFxuXApuYXD47WtsYWQ6XG5cCgkJUEFUSCAlUEFUSCU7YzpcXHRlbXAgXG4iCgogIFdDTURfUEFVU0UsCiJQQVVTRSB6b2JyYXrtIG5hIG9icmF6b3ZjZSB0ZXh0ICdQcmVzcyBSZXR1cm4ga2V5IHRvIGNvbnRpbnVlJ1xuXAphIHZ56GvhLCBkb2t1ZCB1nml2YXRlbCBuZXN0aXNrbmUga2zhdmVzdSBFbnRlci4gSmUgdG8gdZ5pdGXobukgaGxhdm7sXG5cCnByb3RvLCBhYnkgc2kgdZ5pdmF0ZWwgbW9obCBw+GXo7XN0IHb9c3R1cCB6IHb9a29udSBw+GVkY2jhemVq7WNoIHD47WthevksXG5cCm5lniBzZSB0eXRvIG9kcm9sdWrtIHogb2JyYXpvdmt5LlxuIgoKICBXQ01EX1BST01QVCwKIlBST01QVCBuYXN0YXbtIHb9enZ1IHD47Wthem926WhvIPjhZGt1LlxuXApcblwK2GV07HplYyB6YSBw+O1rYXplbSBQUk9NUFQgKGEgbWV6ZXJvdSBiZXpwcm9zdPhlZG7sIHphIFBST01QVClcblwKc2Ugem9icmF67SBuYSB6YejhdGt1IGthnmTpIG5vdukgcPjta2F6b3bpIPjhZGt5LlxuXApcblwKVHl0byB6bmFreSBtYWrtIHYg+GV07Hpj7WNoIHNwZWNp4Wxu7SB2/XpuYW06XG5cClxuXAokJCAgICBabmFrIGRvbGFydSAgICAgICAgICRfICAgIE9k+OFka2924W7tICAgICAgICAgJGIgICAgWm5hayByb3VyeSAofClcblwKJGQgICAgRGF0dW0gICAgICAgICAgICAgICAkZSAgICBFc2NhcGUgICAgICAgICAgICAgICRnICAgIFpuYW3pbmtvIHbsdJrtIG5lnlxuXAokbCAgICBabmFt6W5rbyBtZW6a7SBuZZ4gICRuICAgIFDtc21lbm8gZGlza3UgICAgICAgJHAgICAgQ2VzdGFcblwKJHEgICAgUm92bu10a28gICAgICAgICAgICAkdCAgICDIYXMgICAgICAgICAgICAgICAgICR2ICAgIFZlcnplIGNtZFxuXApcblwKUFJPTVBUIGJleiBwYXJhbWV0cvkgcmVzZXR1amUgcHJvbXB0IG5hIGRlZmF1bHRu7SxcblwKa3Rlcv0gamUgc2xvnmVuIHogY2VzdHkgayBzb3XoYXNu6W11IGFkcmVz4fhpICh26GV0buwgcO1zbWVuYSBkaXNrdVxuXAopIGEgem5hbelua2EgIHbsdJrtIG5lniAoPikuXG5cCihqYWtvIGplIHYgRE9TLXUgUFJPTVBUICRwJGcpLlxuXApcblwKUHJvbXB0IG35nmUgYv10IHpt7G7sbiBpIHpt7G5vdSBwcm9t7G5u6SBwcm9zdPhlZO0gUFJPTVBULFxuXAroaWxpIHD47WtheiAnU0VUIFBST01QVD10ZXh0JyBt4SB0ZW50/Z4gZWZla3QgamFrbyAnUFJPTVBUIHRleHQnXG4iCgogIFdDTURfUkVNLAoi2OFka3kgemHo7W5hau1j7SBSRU0gKG7hc2xlZG92YW79bSBtZXplcm91KVxuXApuZWpzb3Ugdnlrb27hbnkuIFJFTSBqZSBwcm90byBwb3We7XbhbiBqYWtvIGtvbWVudOH4b3b9IHD47Wthei5cbiIKCiAgV0NNRF9SRU4sICAgICJO4XBvduxkYSBrIFJFTlxuIgogIFdDTURfUkVOQU1FLCAiTuFwb3bsZGEgayBSRU5BTUVcbiIKICBXQ01EX1JELCAgICAgIk7hcG927GRhIGsgUkRcbiIKICBXQ01EX1JNRElSLCAgIk7hcG927GRhIGsgUk1ESVJcbiIKCiAgV0NNRF9TRVQsCiJTRVQgem9icmF67SBuZWJvIHpt7G7tIHByb23sbm7pIHByb3N0+GVk7SBjbWQuXG5cClxuXApTRVQgYmV6IGFyZ3VtZW50+SB1a+GeZSBzb3XoYXNu6SBuYXN0YXZlbu0gcHJvc3T4ZWTtLlxuXApcblwKU3ludGF4ZSBwcm8gbmFzdGF2ZW7tIGEgem3sbnUgcHJvbexubukgcHJvc3T4ZWTtIGplOlxuXApcblwKICAgICAgU0VUIDxwcm9t7G5u4T49PGhvZG5vdGE+XG5cCiAgICAgIFxuXAogICAgICBrZGUgPHByb23sbm7hPiBhIDxob2Rub3RhPiBtdXPtIGL9dCBwcm9zdGEgbWV6ZXJcblwKICAgICAgYSBzcGVjaeFsbu1jaCB6bmFr+SBhIG1lemkgPHByb23sbm7hPiByb3Zu7XRrbyA8aG9kbm90YT5cblwKICAgICAgbmVzbe0gYv10IG1lemVyeS5cblwKICAgICAgXG5cCiAgICAgIFZlIFdpbmUganNvdSB2aWRpdGVsbukgcHJvbexubukgcHJvc3T4ZWTtIG9wZXJh6G7taG9cblwKICAgICAgc3lzdOltdSwgdmUga3RlcultIGplIFdpbmUgc3B1mnTsbi4gUHJvdG8gdXZpZO10ZSBtbm9oZW0gdu1jIHByb23sbm79Y2hcblwKICAgICAgcHJvc3T4ZWTtLCBuZZ4gdSBuYXRpdm7tIFdpbjMyIGltcGxlbWVudGFjZS4gTmVu7SBtb55u6VxuXAogICAgICBt7G5pdCBwcm9t7G5u6SBwcm9zdPhlZO0gaG9zdGl0ZWxza+lobyBvcGVyYehu7WhvIHN5c3TpbXUgeiBjbWQuXG4iCgogIFdDTURfU0hJRlQsCiJTSElGVCB1nu124W4gdiBk4XZrb3b9Y2ggc291Ym9yZWNoIGsgb2RzdHJhbuxu7SBqZWRub2hvIHBhcmFtZXRydSB6ZSB6YejhdGt1XG5cCmplamljaCBzZXpuYW11LCB0YWueZSBwYXJhbWV0ciAyIHNlIHN0YW5lIHBhcmFtZXRyZW0gMSBhdGQuIE5lbeEgnuFkbv1cblwKZWZla3QsIGplLWxpIHphZOFuIG5hIHD47Wthem92b3Ug+OFka3UuXG4iCgogIFdDTURfVElNRSwgICAiTuFwb3bsZGEgayBUSU1FXG4iCgogIFdDTURfVElUTEUsICAiTmFzdGF27SB0aXR1bGVrIG9rbmEgY21kLCBzeW50YXhlIFRJVExFIFv4ZXTsemVjXVxuIgoKICBXQ01EX1RZUEUsCiJUWVBFIDxzb3Vib3I+IHZ5cO2aZSA8c291Ym9yPiBuYSBrb256b2xvdukgemH47Xplbu0gKG5lYm8gamluYW0sXG5cCmplLWxpIHb9c3R1cCBw+GVt7HJvduFuKS4gTmVu7SB6ammanW924W5vLCBidWRlLWxpIHZ5cHPhbiDoaXRlbG79IHRleHQuXG4iCgogIFdDTURfVkVSSUZZLAoiVkVSSUZZIGplIHBvdZ7tduFuIGsgbmFzdGF2ZW7tIG5lYm8gemppmnTsbu0gc3RhdnUgcPjtem5ha3UgdmVyaWZ5LlxuXApTeW50YXhlOlxuXApcblwKVkVSSUZZIE9OCU5hc3Rhdu0gcPjtem5ha1xuXApWRVJJRlkgT0ZGCVpydZrtIHD47XpuYWtcblwKVkVSSUZZCQlab2JyYXrtIGFrdHXhbG7tIHN0YXYuXG5cClxuXApQ+O16bmFrIHZlcmlmeSBuZW3hIHZlIFdpbmUgnuFkbm91IGZ1bmtjaS5cbiIKCiAgV0NNRF9WRVIsCiJWRVIgem9icmF67SB2ZXJ6aSBzcHWadOxu6WhvIHByb2dyYW11IGNtZC5cbiIKCiAgV0NNRF9WT0wsICAgICJO4XBvduxkYSBrIFZPTFxuIgoKICBXQ01EX01PUkUsICAgIk1PUkUgZGlzcGxheXMgb3V0cHV0IG9mIGZpbGVzIG9yIHBpcGVkIGlucHV0IGluIHBhZ2VzLlxuIgoKICBXQ01EX0VYSVQsCiJFWElUIHVrb27o7SBi7J7tY+0gc2V6ZW7tIGEgdnLhdO0ga29udHJvbHVcblwKb3BlcmHobu1tdSBzeXN06W11IG5lYm8gcPjta2F6b3bpbXUgaW50ZXJwcmV0dSxcblwKemUga3RlculobyBieWwgY21kIHNwdZp07G4uXG4iCgogIDEwMDAsICJWZXN0YXbsbukgcPjta2F6eSBDTUQganNvdTpcblwKQVRUUklCXHRcdFpvYnJheu0gbmVibyBuYXN0YXbtIERPUy1vdnNr6SBzb3Vib3JvdukgYXR0cmlidXR5XG5cCkNBTExcdFx0WmF2b2zhIGThdmtvdv0gc291Ym9yIHogamlu6WhvXG5cCkNEIChDSERJUilcdFpt7G7tIHByYWNvdm7tIGFkcmVz4fhcblwKQ0xTXHRcdFZ5bWGeZSBva25vIHRlcm1pbuFsdVxuXApDT1BZXHRcdEtvcO1ydWplIHNvdWJvcnlcblwKQ1RUWVx0XHRabexu7SB2c3R1cG7sL3b9c3R1cG7tIHph+O16ZW7tXG5cCkRBVEVcdFx0VWvhnmUgbmVibyBuYXN0YXbtIHN5c3TpbW926SBkYXR1bVxuXApERUwgKEVSQVNFKVx0U21hnmUgamVkZW4gbmVibyB27WNlIHNvdWJvcvlcblwKRElSXHRcdFZ5cO2aZSBvYnNhaCBhZHJlc+H4ZVxuXApFQ0hPXHRcdFZ5cO2aZSB0ZXh0IG5hIHRlcm1pbuFsXG5cCkhFTFBcdFx0Wm9icmF67SBkZXRhaWxu7SBu4XBvduxkdSBrIHTpbWF0dVxuXApNRCAoTUtESVIpXHRWeXR2b/jtIGFkcmVz4fhcblwKTU9SRVx0XHREaXNwbGF5IG91dHB1dCBpbiBwYWdlc1xuXApNT1ZFXHRcdFD4ZXN1bmUgc291Ym9yLCBza3VwaW51IHNvdWJvcvkgbmVibyBhZHJlc+H4b3b9IHN0cm9tXG5cClBBVEhcdFx0TmFzdGF27SBuZWJvIHVr4Z5lIHByb2hsZWThdmFu6SBjZXN0eVxuXApQUk9NUFRcdFx0Wm3sbu0gdv16dnUgcPjta2F6b3bpaG8g+OFka3VcblwKUkVOIChSRU5BTUUpXHRQ+GVqbWVudWplIHNvdWJvclxuXApSRCAoUk1ESVIpXHRTbWGeZSBhZHJlc+H4XG5cClNFVFx0XHROYXN0YXbtIG5lYm8gem9icmF67SBwcm9t7G5ub3UgcHJvc3T4ZWTtXG5cClRJTUVcdFx0VWvhnmUg6GkgbmFzdGF27SBzeXN06W1vdv0g6GFzXG5cClRJVExFXHRcdE5hc3Rhdu0gdGl0dWxlayBva25hIGLsnu1j7SBDTUQgaW5zdGFuY2VcblwKVFlQRVx0XHRWeXDtmmUgb2JzYWggdGV4dG926WhvIHNvdWJvcnVcblwKVkVSXHRcdFpvYnJheu0gdmVyemkgQ01EXG5cClZPTFx0XHRVa+GeZSBqbWVub3ZrdSBkaXNrdVxuXApFWElUXHRcdFVrb27o7SBDTURcblxuXApaYWRlanRlIEhFTFAgPHD47Wthej4gcHJvIHBvZHJvYm7saprtIGluZm9ybWFjZSBvIG7sa3RlcultIHogdv2aZSB1dmVkZW79Y2ggcPjta2F6+VxuIgoKICBXQ01EX0NPTkZJUk0sICJBcmUgeW91IHN1cmUiCiAgV0NNRF9ZRVMsICJZIgogIFdDTURfTk8sICJOIgogIFdDTURfTk9BU1NPQywgIkZpbGUgYXNzb2NpYXRpb24gbWlzc2luZyBmb3IgZXh0ZW5zaW9uICVzXG4iCiAgV0NNRF9OT0ZUWVBFLCAiTm8gb3BlbiBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCBmaWxlIHR5cGUgJyVzJ1xuIgogIFdDTURfT1ZFUldSSVRFLCAiT3ZlcndyaXRlICVzIgogIFdDTURfTU9SRVNUUiwgIk1vcmUuLi4iCiAgV0NNRF9UUlVOQ0FURURMSU5FLCAiTGluZSBpbiBCYXRjaCBwcm9jZXNzaW5nIHBvc3NpYmx5IHRydW5jYXRlZC4gVXNpbmc6XG4iCiAgV0NNRF9OWUksICJOb3QgWWV0IEltcGxlbWVudGVkXG5cbiIKICBXQ01EX05PQVJHLCAiQXJndW1lbnQgbWlzc2luZ1xuIgogIFdDTURfU1lOVEFYRVJSLCAiU3ludGF4IGVycm9yXG4iCiAgV0NNRF9GSUxFTk9URk9VTkQsICIlcyA6IEZpbGUgTm90IEZvdW5kXG4iCiAgV0NNRF9OT0NNREhFTFAsICJObyBoZWxwIGF2YWlsYWJsZSBmb3IgJXNcbiIKICBXQ01EX05PVEFSR0VULCAiVGFyZ2V0IHRvIEdPVE8gbm90IGZvdW5kXG4iCiAgV0NNRF9DVVJSRU5UREFURSwgIkN1cnJlbnQgRGF0ZSBpcyAlc1xuIgogIFdDTURfQ1VSUkVOVFRJTUUsICJDdXJyZW50IFRpbWUgaXMgJXNcbiIKICBXQ01EX05FV0RBVEUsICJFbnRlciBuZXcgZGF0ZTogIgogIFdDTURfTkVXVElNRSwgIkVudGVyIG5ldyB0aW1lOiAiCiAgV0NNRF9NSVNTSU5HRU5WLCAiRW52aXJvbm1lbnQgdmFyaWFibGUgJXMgbm90IGRlZmluZWRcbiIKICBXQ01EX1JFQURGQUlMLCAiRmFpbGVkIHRvIG9wZW4gJyVzJ1xuIgogIFdDTURfQ0FMTElOU0NSSVBULCAiQ2Fubm90IGNhbGwgYmF0Y2ggbGFiZWwgb3V0c2lkZSBvZiBhIGJhdGNoIHNjcmlwdFxuIgogIFdDTURfQUxMLCAiQSIKICBXQ01EX0RFTFBST01QVCwgIiVzLCBEZWxldGUiCiAgV0NNRF9FQ0hPUFJPTVBULCAiRWNobyBpcyAlc1xuIgogIFdDTURfVkVSSUZZUFJPTVBULCAiVmVyaWZ5IGlzICVzXG4iCiAgV0NNRF9WRVJJRllFUlIsICJWZXJpZnkgbXVzdCBiZSBPTiBvciBPRkZcbiI7CiAgV0NNRF9BUkdFUlIsICJQYXJhbWV0ZXIgZXJyb3JcbiIKICBXQ01EX1ZPTFVNRURFVEFJTCwgIlZvbHVtZSBpbiBkcml2ZSAlYyBpcyAlc1xuVm9sdW1lIFNlcmlhbCBOdW1iZXIgaXMgJTA0eC0lMDR4XG5cbiIKICBXQ01EX1ZPTFVNRVBST01QVCwgIlZvbHVtZSBsYWJlbCAoMTEgY2hhcmFjdGVycywgRU5URVIgZm9yIG5vbmUpPyIKICBXQ01EX05PUEFUSCwgIlBBVEggbm90IGZvdW5kXG4iCiAgV0NNRF9BTllLRVksIlByZXNzIFJldHVybiBrZXkgdG8gY29udGludWU6ICIKICBXQ01EX0NPTlNUSVRMRSwiV2luZSBDb21tYW5kIFByb21wdCIKICBXQ01EX1ZFUlNJT04sIkNNRCBWZXJzaW9uICVzXG5cbiIKICBXQ01EX01PUkVQUk9NUFQsICJNb3JlPyAiCn0K