IyBDb3B5cmlnaHQgMjAwMiwgMjAwOSBMdWFuIEtlbG1lbmRpCiMKIyBFLU1haWw6IGwua0BhcG9sb25peC5jb20KIwojIFZlcnNpb24gMS4yICgyMC4wOC4yMDA5KSAKIyBob21lOiBodHRwOi8vc2hrZW5jYS5vcmcvazZpCiMKIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgR1BMIGxpY2Vuc2UKIwojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGJhbmlhbiBkaWN0aW9uYXJ5LgojCiMgVGhlIEFsYmFuaWFuIGRpY3Rpb25hcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkCiMgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhlIEFsYmFuaWFuIGRpY3Rpb25hcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlCiMgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgR1BMIGxpY2Vuc2UgY2FuIGJlIGZvdW5kIGhlcmU6CiMgaHR0cDovL3d3dy5mc2Yub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwKClNFVCBJU084ODU5LTEKClRSWSBlaWHrcnN0b2h1a23ncGR2Z2JmeWNFSUHLUlNUT0hVS03HUERWR0JGWUMKClNGWCBUIFkgOQpTRlggVCAgIDAgICAgdmUgICAgICAgICAgIFthZetpb3V5XQpTRlggVCAgIDAgICAgdOsgICAgICAgICAgIFthZetpb3V5XQpTRlggVCAgIDAgICAgc+sgICAgICAgICAgIFthZetpb3V5XQpTRlggVCAgIDAgICAgc2ggICAgICAgICAgIFthZetpb3V5XQpTRlggVCAgIDAgICAgbusgICAgICAgICAgIFthZetpb3V5XQpTRlggVCAgIDAgICAgamUgICAgICAgICAgIFthZetvdXldClNGWCBUICAgMCAgICBqYSAgICAgICAgICAgW2Fl6291eV0KU0ZYIFQgICAwICAgIGUgICAgICAgICAgICBpClNGWCBUICAgMCAgICBhICAgICAgICAgICAgaQoKU0ZYIFMgWSA5ClNGWCBTICAgZSAgICBqYSAgICAgICAgICAgW15pal1lClNGWCBTICAgZSAgICBhICAgICAgICAgICAgW2lqXWUKU0ZYIFMgICAwICAgIHZlICAgICAgICAgICBbZW9dClNGWCBTICAgMCAgICB0ICAgICAgICAgICAgW2VvXQpTRlggUyAgIDAgICAgc2ggICAgICAgICAgIFtlb10KU0ZYIFMgICAwICAgIHMgICAgICAgICAgICBbZW9dClNGWCBTICAgMCAgICBuICAgICAgICAgICAgW2VvXQpTRlggUyAgIDAgICAgamUgICAgICAgICAgIFtlb10KU0ZYIFMgICAwICAgIGphICAgICAgICAgICBvCgpTRlggUiBZIDcKU0ZYIFIgICDrICAgIGUgICAgICAgICAgICDrClNGWCBSICAg6yAgICBhICAgICAgICAgICAg6wpTRlggUiAgIDAgICAgdmUgICAgICAgICAgIOsKU0ZYIFIgICAwICAgIHQgICAgICAgICAgICDrClNGWCBSICAgMCAgICBzaCAgICAgICAgICAg6wpTRlggUiAgIDAgICAgcyAgICAgICAgICAgIOsKU0ZYIFIgICAwICAgIG4gICAgICAgICAgICDrCgpTRlggUSBZIDI4ClNGWCBRICAg63JyICBycutzICAgICAgICAg63JyClNGWCBRICAg63JyICBycutuICAgICAgICAg63JyClNGWCBRICAg63JyICBycmUgICAgICAgICAg63JyClNGWCBRICAg63JyICBycmF2ZSAgICAgICAg63JyClNGWCBRICAg63JyICBycmF0ICAgICAgICAg63JyClNGWCBRICAg63JyICBycmFzaCAgICAgICAg63JyClNGWCBRICAg63JyICBycmEgICAgICAgICAg63JyClNGWCBRICAg63IgICBy63MgICAgICAgICAg63IKU0ZYIFEgICDrciAgIHLrbiAgICAgICAgICDrcgpTRlggUSAgIOtyICAgcmUgICAgICAgICAgIOtyClNGWCBRICAg63IgICByYXZlICAgICAgICAg63IKU0ZYIFEgICDrciAgIHJhdCAgICAgICAgICDrcgpTRlggUSAgIOtyICAgcmFzaCAgICAgICAgIOtyClNGWCBRICAg63IgICByYSAgICAgICAgICAg63IKU0ZYIFEgICDrbCAgIGzrcyAgICAgICAgICDrbApTRlggUSAgIOtsICAgbOtuICAgICAgICAgIOtsClNGWCBRICAg62wgICBsZSAgICAgICAgICAg62wKU0ZYIFEgICDrbCAgIGxhdmUgICAgICAgICDrbApTRlggUSAgIOtsICAgbGF0ICAgICAgICAgIOtsClNGWCBRICAg62wgICBsYXNoICAgICAgICAg62wKU0ZYIFEgICDrbCAgIGxhICAgICAgICAgICDrbApTRlggUSAgIOsgICAg63MgICAgICAgICAgIOsKU0ZYIFEgICDrICAgIOtuICAgICAgICAgICDrClNGWCBRICAg6yAgICBlICAgICAgICAgICAg6wpTRlggUSAgIOsgICAgYXZlICAgICAgICAgIOsKU0ZYIFEgICDrICAgIGF0ICAgICAgICAgICDrClNGWCBRICAg6yAgICBhc2ggICAgICAgICAg6wpTRlggUSAgIOsgICAgYSAgICAgICAgICAgIOsKClNGWCBQIFkgMwpTRlggUCAgIDAgICAgdXQgICAgICAgICAgIC4KU0ZYIFAgICAwICAgIHVuICAgICAgICAgICAuClNGWCBQICAgMCAgICB1ICAgICAgICAgICAgLgoKU0ZYIE4gWSA0ClNGWCBOICAgMCAgICBldmUgICAgICAgICAgW15hZetpb3V5XQpTRlggTiAgIDAgICAgZXQgICAgICAgICAgIFteYWXraW91eV0KU0ZYIE4gICAwICAgIGVzaCAgICAgICAgICBbXmFl62lvdXldClNGWCBOICAgMCAgICBlICAgICAgICAgICAgW15hZetpb3V5XQoKU0ZYIE0gWSA0ClNGWCBNICAgMCAgICDrdmUgICAgICAgICAgW15hZetpb3V5XQpTRlggTSAgIDAgICAg63QgICAgICAgICAgIFteYWXraW91eV0KU0ZYIE0gICAwICAgIOtzaCAgICAgICAgICBbXmFl62lvdXldClNGWCBNICAgMCAgICDrICAgICAgICAgICAgW15hZetpb3V5XQoKU0ZYIEwgWSA0ClNGWCBMICAgMCAgICBhdmUgICAgICAgICAgW15hZetpb3V5XQpTRlggTCAgIDAgICAgYXQgICAgICAgICAgIFteYWXraW91eV0KU0ZYIEwgICAwICAgIGFzaCAgICAgICAgICBbXmFl62lvdXldClNGWCBMICAgMCAgICBhICAgICAgICAgICAgW15hZetpb3V5XQoKU0ZYIEsgWSAzClNGWCBLICAgMCAgICBpdCAgICAgICAgICAgLgpTRlggSyAgIDAgICAgaW4gICAgICAgICAgIC4KU0ZYIEsgICAwICAgIGkgICAgICAgICAgICAuCgpTRlggSCBZIDEyClNGWCBIICAgMCAgICB06yAgICAgICAgICAgW15hZetpb3V5XQpTRlggSCAgIDAgICAgc2hpbiAgICAgICAgIFteYWXraW91eV0KU0ZYIEggICAwICAgIHNoaW0gICAgICAgICBbXmFl62lvdXldClNGWCBIICAgMCAgICBzaGkgICAgICAgICAgW15hZetpb3V5XQpTRlggSCAgIDAgICAgc2hhICAgICAgICAgIFteYWXraW91eV0KU0ZYIEggICAwICAgIHNoICAgICAgICAgICBbXmFl62lvdXldClNGWCBIICAgMCAgICBrZW5pICAgICAgICAgW15hZetpb3V5XQpTRlggSCAgIDAgICAga2VtaSAgICAgICAgIFteYWXraW91eV0KU0ZYIEggICAwICAgIGtlICAgICAgICAgICBbXmFl62lvdXldClNGWCBIICAgMCAgICBrYW4gICAgICAgICAgW15hZetpb3V5XQpTRlggSCAgIDAgICAga2FtICAgICAgICAgIFteYWXraW91eV0KU0ZYIEggICAwICAgIGthICAgICAgICAgICBbXmFl62lvdXldCgpTRlggRyBZIDE3ClNGWCBHICAgdCAgICBzdGUgICAgICAgICAgdApTRlggRyAgIDAgICAg63NoICAgICAgICAgIFteYWXraW91eV0KU0ZYIEcgICAwICAgIOsgICAgICAgICAgICBbXmFl62lvdXldClNGWCBHICAgMCAgICB1ciAgICAgICAgICAgW15hZetpb3V5XQpTRlggRyAgIDAgICAgdGUgICAgICAgICAgIHQKU0ZYIEcgICAwICAgIHRlICAgICAgICAgICBbXmFl62lvdHV5XQpTRlggRyAgIDAgICAgbml0ICAgICAgICAgIFteYWXraW91eV0KU0ZYIEcgICAwICAgIG5pbiAgICAgICAgICBbXmFl62lvdXldClNGWCBHICAgMCAgICBuaW0gICAgICAgICAgW15hZetpb3V5XQpTRlggRyAgIDAgICAgbmkgICAgICAgICAgIFteYWXraW91eV0KU0ZYIEcgICAwICAgIGplICAgICAgICAgICBbXmFl62lvdXldClNGWCBHICAgMCAgICBqYSAgICAgICAgICAgW15hZetpb3V5XQpTRlggRyAgIDAgICAgaW4gICAgICAgICAgIFteYWXraW91eV0KU0ZYIEcgICAwICAgIGltICAgICAgICAgICBbXmFl62lvdXldClNGWCBHICAgMCAgICBpICAgICAgICAgICAgW15hZetpb3V5XQpTRlggRyAgIDAgICAgZSAgICAgICAgICAgIFteYWXraW91eV0KU0ZYIEcgICAwICAgIGEgICAgICAgICAgICBbXmFl62lvdXldCgpTRlggRiBZIDEzClNGWCBGICAgaiAgICBodW5pICAgICAgICAgW2Fl62lvdXldagpTRlggRiAgIGogICAgaGV0ICAgICAgICAgIFthZetpb3V5XWoKU0ZYIEYgICBqICAgIGhlc2hpdCAgICAgICBbYWXraW91eV1qClNGWCBGICAgaiAgICBoZXNoaW4gICAgICAgW2Fl62lvdXldagpTRlggRiAgIGogICAgaGVzaGltICAgICAgIFthZetpb3V5XWoKU0ZYIEYgICBqICAgIGhlc2hlICAgICAgICBbYWXraW91eV1qClNGWCBGICAgaiAgICBoZXNoYSAgICAgICAgW2Fl62lvdXldagpTRlggRiAgIGogICAgaGVzaCAgICAgICAgIFthZetpb3V5XWoKU0ZYIEYgICBqICAgIGhlbmkgICAgICAgICBbYWXraW91eV1qClNGWCBGICAgaiAgICBoZW4gICAgICAgICAgW2Fl62lvdXldagpTRlggRiAgIGogICAgaGVtaSAgICAgICAgIFthZetpb3V5XWoKU0ZYIEYgICBqICAgIGhlbSAgICAgICAgICBbYWXraW91eV1qClNGWCBGICAgaiAgICBoZWogICAgICAgICAgW2Fl62lvdXldagoKU0ZYIEQgWSAyNApTRlggRCAgIHVhaiAgb2Z06yAgICAgICAgIHVhagpTRlggRCAgIHVhaiAgb2ZzaGluICAgICAgIHVhagpTRlggRCAgIHVhaiAgb2ZzaGltICAgICAgIHVhagpTRlggRCAgIHVhaiAgb2ZzaGkgICAgICAgIHVhagpTRlggRCAgIHVhaiAgb2ZzaGEgICAgICAgIHVhagpTRlggRCAgIHVhaiAgb2ZzaCAgICAgICAgIHVhagpTRlggRCAgIG9qICAgdWFrZW5pICAgICAgIG9qClNGWCBEICAgb2ogICB1YWtlbWkgICAgICAgb2oKU0ZYIEQgICBvaiAgIHVha2UgICAgICAgICBvagpTRlggRCAgIG9qICAgdWFrYW4gICAgICAgIG9qClNGWCBEICAgb2ogICB1YWthbSAgICAgICAgb2oKU0ZYIEQgICBvaiAgIHVha2EgICAgICAgICBvagpTRlggRCAgIGogICAga2VuaSAgICAgICAgIFthZetpdXldagpTRlggRCAgIGogICAga2VtaSAgICAgICAgIFthZetpdXldagpTRlggRCAgIGogICAga2UgICAgICAgICAgIFthZetpdXldagpTRlggRCAgIGogICAga2FuICAgICAgICAgIFthZetpdXldagpTRlggRCAgIGogICAga2FtICAgICAgICAgIFthZetpdXldagpTRlggRCAgIGogICAga2EgICAgICAgICAgIFthZetpdXldagpTRlggRCAgIGogICAgZnTrICAgICAgICAgIFtedV1bYWXraW91eV1qClNGWCBEICAgaiAgICBmc2hpbiAgICAgICAgW151XVthZetpb3V5XWoKU0ZYIEQgICBqICAgIGZzaGltICAgICAgICBbXnVdW2Fl62lvdXldagpTRlggRCAgIGogICAgZnNoaSAgICAgICAgIFtedV1bYWXraW91eV1qClNGWCBEICAgaiAgICBmc2hhICAgICAgICAgW151XVthZetpb3V5XWoKU0ZYIEQgICBqICAgIGZzaCAgICAgICAgICBbXnVdW2Fl62lvdXldagoKU0ZYIEMgWSAyOApTRlggQyAgIHllaiAgeWV0ICAgICAgICAgIHllagpTRlggQyAgIHllaiAgeWVyICAgICAgICAgIHllagpTRlggQyAgIHllaiAgeWVuICAgICAgICAgIHllagpTRlggQyAgIHllaiAgeWVtICAgICAgICAgIHllagpTRlggQyAgIHllaiAgZXZlICAgICAgICAgIHllagpTRlggQyAgIHllaiAgZXZhICAgICAgICAgIHllagpTRlggQyAgIHllaiAgZXUgICAgICAgICAgIHllagpTRlggQyAgIHVhaiAgdWF0ICAgICAgICAgIHVhagpTRlggQyAgIHVhaiAgdWFyICAgICAgICAgIHVhagpTRlggQyAgIHVhaiAgdWFuICAgICAgICAgIHVhagpTRlggQyAgIHVhaiAgdWFtICAgICAgICAgIHVhagpTRlggQyAgIHVhaiAgb3ZlICAgICAgICAgIHVhagpTRlggQyAgIHVhaiAgb3ZhICAgICAgICAgIHVhagpTRlggQyAgIHVhaiAgb2kgICAgICAgICAgIHVhagpTRlggQyAgIG9qICAgdWF0ICAgICAgICAgIG9qClNGWCBDICAgb2ogICB1YXIgICAgICAgICAgb2oKU0ZYIEMgICBvaiAgIHVhbiAgICAgICAgICBvagpTRlggQyAgIG9qICAgdWFtICAgICAgICAgIG9qClNGWCBDICAgaiAgICB2ZSAgICAgICAgICAgW15pdXldW2Fl62lvdXldagpTRlggQyAgIGogICAgdmEgICAgICAgICAgIFteaXV5XVthZetpb3V5XWoKU0ZYIEMgICBqICAgIGkgICAgICAgICAgICBvagpTRlggQyAgIGllaiAgamV2ZSAgICAgICAgIGllagpTRlggQyAgIGllaiAgamV2YSAgICAgICAgIGllagpTRlggQyAgIGllaiAgamV1ICAgICAgICAgIGllagpTRlggQyAgIGllaiAgaWV0ICAgICAgICAgIGllagpTRlggQyAgIGllaiAgaWVyICAgICAgICAgIGllagpTRlggQyAgIGllaiAgaWVuICAgICAgICAgIGllagpTRlggQyAgIGllaiAgaWVtICAgICAgICAgIGllagoKU0ZYIEIgWSAxMgpTRlggQiAgIGogICAgc2ggICAgICAgICAgIFthZetpb3V5XWoKU0ZYIEIgICBqICAgIG50ZSAgICAgICAgICBbYWXraW91eV1qClNGWCBCICAgaiAgICBuaXQgICAgICAgICAgW2Fl62lvdXldagpTRlggQiAgIGogICAgbmluICAgICAgICAgIFthZetpb3V5XWoKU0ZYIEIgICBqICAgIG5pbSAgICAgICAgICBbYWXraW91eV1qClNGWCBCICAgaiAgICBuaSAgICAgICAgICAgW2Fl62lvdXldagpTRlggQiAgIGogICAgbiAgICAgICAgICAgIFthZetpb3V5XWoKU0ZYIEIgICBqICAgIGrrICAgICAgICAgICBbYWXraW91eV1qClNGWCBCICAgaiAgICBqbusgICAgICAgICAgW2Fl62lvdXldagpTRlggQiAgIGogICAgam3rICAgICAgICAgIFthZetpb3V5XWoKU0ZYIEIgICBqICAgIGplICAgICAgICAgICBbYWXraW91eV1qClNGWCBCICAgaiAgICBqYSAgICAgICAgICAgW2Fl62lvdXldagoKUEZYIFogWSAxClBGWCBaICAgMCAgICDnJyAgICAgICAgICAgLgoKUEZYIFggWSAxClBGWCBYICAgMCAgICBzJyAgICAgICAgICAgLgoKUEZYIEUgWSAxClBGWCBFICAgMCAgICBw63IgICAgICAgICAgLgoKUEZYIEEgWSAxClBGWCBBICAgMCAgICBwYSAgICAgICAgICAgLgoKUkVQIDUyClJFUCBhIOsKUkVQIOsgYQpSRVAg6yBlClJFUCBlIOsKUkVQIHUgeQpSRVAgeSB1ClJFUCBpIHkKUkVQIHkgaQpSRVAgdSB1YQpSRVAgdSB1ZQpSRVAgeSB5ZQpSRVAgYyDnClJFUCDnIGMKUkVQIOcgcQpSRVAgcSDnClJFUCBpIGoKUkVQIGogaQpSRVAgaSBpagpSRVAgaWogaQpSRVAgZCB0ClJFUCB0IGQKUkVQIGcgZ2oKUkVQIGogbmoKUkVQIGdqIHhoClJFUCB4aCBnagpSRVAgcyB6ClJFUCB6IHMKUkVQIHNoIOcKUkVQIOcgc2gKUkVQIHogemgKUkVQIHpoIHoKUkVQIOcgc2gKUkVQIHNoIOcKUkVQIOcgemgKUkVQIHpoIOcKUkVQIGQgZHQKUkVQIGwgbGwKUkVQIGxsIGwKUkVQIHIgcnIKUkVQIHJyIHIKUkVQIGVzaHRlIOtzaHTrClJFUCBhc2h0IOtzaHTrClJFUCBrYW4ga2Fu6wpSRVAgamFuIGphbusKUkVQIGtldGUga+t06wpSRVAga2V0IGvrdOsKUkVQIGt0ZSBr63TrClJFUCBrdOsga+t06wpSRVAga3Qga+t06wpSRVAga2V0aSBr63RpagpSRVAga3RpIGvrdGlqClJFUCBrdG8ga+t0bwo=