PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBGaWxlOiAJREUuSU5DLlBIUAovLyBEZXNjcmlwdGlvbjogR2VybWFuIGxhbmd1YWdlIGZpbGUgZm9yIGVycm9yIG1lc3NhZ2VzCi8vIENyZWF0ZWQ6IAkyMDA2LTAzLTA2Ci8vIEF1dGhvcjoJVGltbyBMZW9wb2xkICh0aW1vQGxlb3BvbGQtaGguZGUpCi8vIFZlcjoJCSRJZCQKLy8KLy8gQ29weXJpZ2h0IChjKQovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoqLwoKLy8gTm90aXo6IERhcyBGb3JtYXQgZnVlciBqZWRlIEZlaGxlcm1lbGR1bmcgaXN0IGFycmF5KDxGZWhsZXJtZWxkdW5nPiw8QW56YWhsIGRlciBBcmd1bWVudGU+KQokX2pwZ19tZXNzYWdlcyA9IGFycmF5KAoKLyoKKiogSGVhZGVycyB3dXJkZW4gYmVyZWl0cyBnZXNlbmRldCAtIEZlaGxlci4gRGllcyB3aXJkIGFscyBIVE1MIGZvcm1hdGllcnQsIHdlaWwgZXMgZGlyZWt0IGFscyB0ZXh0IHp1cnVlY2tnZXNlbmRldCB3aXJkCiovCjEwICA9PiBhcnJheSgnPHRhYmxlIGJvcmRlcj0iMSI+PHRyPjx0ZCBzdHlsZT0iY29sb3I6ZGFya3JlZDtmb250LXNpemU6MS4yZW07Ij48Yj5KcEdyYXBoIEZlaGxlcjo8L2I+CkhUVFAgaGVhZGVyIHd1cmRlbiBiZXJlaXRzIGdlc2VuZGV0Ljxicj5GZWhsZXIgaW4gZGVyIERhdGVpIDxiPiVzPC9iPiBpbiBkZXIgWmVpbGUgPGI+JWQ8L2I+LjwvdGQ+PC90cj48dHI+PHRkPjxiPkVya2zkcnVuZzo8L2I+PGJyPkhUVFAgaGVhZGVyIHd1cmRlbiBiZXJlaXRzIHp1bSBCcm93c2VyIGdlc2VuZGV0LCB3b2JlaSBkaWUgRGF0ZW4gYWxzIFRleHQgZ2VrZW5uemVpY2huZXQgd3VyZGVuLCBiZXZvciBkaWUgQmlibGlvdGhlayBkaWUgQ2hhbmNlIGhhdHRlLCBzZWluZW4gQmlsZC1IVFRQLUhlYWRlciB6dW0gQnJvd3NlciB6dSBzY2hpY2tlbi4gRGllcyB2ZXJoaW5kZXJ0LCBkYXNzIGRpZSBCaWJsaW90aGVrIEJpbGRkYXRlbiB6dW0gQnJvd3NlciBzY2hpY2tlbiBrYW5uICh3ZWlsIHNpZSB2b20gQnJvd3NlciBhbHMgVGV4dCBpbnRlcnByZXRpZXJ0IHf8cmRlbiB1bmQgZGFoZXIgbnVyIE1pc3QgZGFyZ2VzdGVsbHQgd/xyZGUpLjxwPldhaHJzY2hlaW5saWNoIHN0ZWh0IFRleHQgaW0gU2tyaXB0IGJldm9yIDxpPkdyYXBoOjpTdHJva2UoKTwvaT4gYXVmZ2VydWZlbiB3aXJkLiBXZW5uIGRpZXNlciBUZXh0IHp1bSBCcm93c2VyIGdlc2VuZGV0IHdpcmQsIG5pbW10IGRpZXNlciBhbiwgZGFzcyBkaWUgZ2VzYW10ZW4gRGF0ZW4gYXVzIFRleHQgYmVzdGVoZW4uIFN1Y2ggbmFjaCBpcmdlbmR3ZWxjaGVtIFRleHQsIGF1Y2ggbmFjaCBMZWVyemVpY2hlbiB1bmQgWmVpbGVudW1icvxjaGVuLCBkaWUgZXZlbnR1ZWxsIGJlcmVpdHMgenVtIEJyb3dzZXIgZ2VzZW5kZXQgd3VyZGVuLiA8cD5adW0gQmVpc3BpZWwgaXN0IGVpbiBvZnQgYXVmdHJldGVuZGVyIEZlaGxlciwgZWluZSBMZWVyemVpbGUgYW0gQW5mYW5nIGRlciBEYXRlaSBvZGVyIHZvciA8aT5HcmFwaDo6U3Ryb2tlKCk8L2k+IHp1IGxhc3Nlbi4iPGI+Jmx0Oz9waHA8L2I+Ii48L3RkPjwvdHI+PC90YWJsZT4nLDIpLAoKLyoKKiogU2V0dXAgRmVobGVyCiovCjExID0+IGFycmF5KCdFcyB3dXJkZSBrZWluIFBmYWQgZvxyIENBQ0hFX0RJUiBhbmdlZ2ViZW4uIEJpdHRlIGdpYiBlaW5lbiBQZmFkIENBQ0hFX0RJUiBpbiBkZXIgRGF0ZWkganBnLWNvbmZpZy5pbmMgYW4uJywwKSwKMTIgPT4gYXJyYXkoJ0VzIHd1cmRlIGtlaW4gUGZhZCBm/HIgVFRGX0RJUiBhbmdlZ2ViZW4gdW5kIGRlciBQZmFkIGthbm4gbmljaHQgYXV0b21hdGlzY2ggZXJtaXR0ZWx0IHdlcmRlbi4gQml0dGUgZ2liIGRlbiBQZmFkIGluIGRlciBEYXRlaSBqcGctY29uZmlnLmluYyBhbi4nLDApLAoxMyA9PiBhcnJheSgnVGhlIGluc3RhbGxlZCBQSFAgdmVyc2lvbiAoJXMpIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhpcyByZWxlYXNlIG9mIHRoZSBsaWJyYXJ5LiBUaGUgbGlicmFyeSByZXF1aXJlcyBhdCBsZWFzdCBQSFAgdmVyc2lvbiAlcycsMiksCgovKgoqKiAganBncmFwaF9iYXIKKi8KCjIwMDEgPT4gYXJyYXkoJ0RpZSBBbnphaGwgZGVyIEZhcmJlbiBpc3QgbmljaHQgZ2xlaWNoIGRlciBBbnphaGwgZGVyIFZvcmxhZ2VuIGluIEJhclBsb3Q6OlNldFBhdHRlcm4oKS4nLDApLAoyMDAyID0+IGFycmF5KCdVbmJla2FubnRlIFZvcmxhZ2UgaW0gQXVmcnVmIHZvbiBCYXJQbG90OjpTZXRQYXR0ZXJuKCkuJywwKSwKMjAwMyA9PiBhcnJheSgnQW56YWhsIGRlciBYLSB1bmQgWS1Lb29yZGluYXRlbiBzaW5kIG5pY2h0IGlkZW50aXNjaC4gQW56YWhsIGRlciBYLUtvb3JkaW5hdGVuOiAlZDsgQW56YWhsIGRlciBZLUtvb3JkaW5hdGVuOiAlZC4nLDIpLAoyMDA0ID0+IGFycmF5KCdBbGxlIFdlcnRlIGb8ciBlaW4gQmFsa2VuZGlhZ3JhbW0gKGJhcnBsb3QpIG38c3NlbiBudW1lcmlzY2ggc2Vpbi4gRHUgaGFzdCBkZW4gV2VydCBuciBbJWRdID09ICVzIGFuZ2VnZWJlbi4nLDIpLAoyMDA1ID0+IGFycmF5KCdEdSBoYXN0IGVpbmVuIGxlZXJlbiBWZWt0b3IgZvxyIGRpZSBTY2hhdHRpZXJ1bmdzZmFyYmVuIGltIEJhbGtlbmRpYWdyYW1tIChiYXJwbG90KSBhbmdlZ2ViZW4uJywwKSwKMjAwNiA9PiBhcnJheSgnVW5iZWthbm50ZSBQb3NpdGlvbiBm/HIgZGllIFdlcnRlIGRlciBCYWxrZW46ICVzLicsMSksCjIwMDcgPT4gYXJyYXkoJ0thbm4gR3JvdXBCYXJQbG90IG5pY2h0IGF1cyBlaW5lbSBsZWVyZW4gVmVrdG9yIGVyemV1Z2VuLicsMCksCjIwMDggPT4gYXJyYXkoJ0dyb3VwQmFyUGxvdCBFbGVtZW50IG5iciAlZCB3dXJkZSBuaWNodCBkZWZpbmllcnQgb2RlciBpc3QgbGVlci4nLDApLAoyMDA5ID0+IGFycmF5KCdFaW5zIGRlciBPYmpla3RlLCBkYXMgYW4gR3JvdXBCYXIgd2VpdGVyZ2VnZWJlbiB3dXJkZSBpc3Qga2VpbiBCYWxrZW5kaWFncmFtbSAoQmFyUGxvdCkuIFZlcnNpY2hlcmUgRGljaCwgZGFzcyBEdSBkZW4gR3JvdXBCYXJQbG90IGF1cyBlaW5lbSBWZWt0b3Igdm9uIEJhbGtlbmRpYWdyYW1tZW4gKGJhcnBsb3QpIG9kZXIgQWNjQmFyUGxvdC1PYmpla3RlbiBlcnpldWdzdC4gKENsYXNzID0gJXMpJywxKSwKMjAxMCA9PiBhcnJheSgnS2FubiBBY2NCYXJQbG90IG5pY2h0IGF1cyBlaW5lbSBsZWVyZW4gVmVrdG9yIGVyemV1Z2VuLicsMCksCjIwMTEgPT4gYXJyYXkoJ0FjY0JhclBsb3QtRWxlbWVudCBuYnIgJWQgd3VyZGUgbmljaHQgZGVmaW5pZXJ0IG9kZXIgaXN0IGxlZXIuJywxKSwKMjAxMiA9PiBhcnJheSgnRWlucyBkZXIgT2JqZWt0ZSwgZGFzIGFuIEFjY0JhciB3ZWl0ZXJnZWdlYmVuIHd1cmRlIGlzdCBrZWluIEJhbGtlbmRpYWdyYW1tIChiYXJwbG90KS4gVmVyc2ljaGVyZSBEaWNoLCBkYXNzIER1IGRlbiBBY2NCYXItUGxvdCBhdXMgZWluZW0gVmVrdG9yIHZvbiBCYWxrZW5kaWFncmFtbWVuIChiYXJwbG90KSBlcnpldWdzdC4gKENsYXNzPSVzKScsMSksCjIwMTMgPT4gYXJyYXkoJ0R1IGhhc3QgZWluZW4gbGVlcmVuIFZla3RvciBm/HIgZGllIFNjaGF0dGllcnVuZ3NmYXJiZW4gaW0gQmFsa2VuZGlhZ3JhbW0gKGJhcnBsb3QpIGFuZ2VnZWJlbi4nLDApLAoyMDE0ID0+IGFycmF5KCdEaWUgQW56YWhsIGRlciBEYXRlbnB1bmt0ZSBqZWRlciBEYXRlbnJlaWhlIGluIEFjY0JhclBsb3QgbXVzcyBnbGVpY2ggc2Vpbi4nLDApLAoKCi8qCioqICBqcGdyYXBoX2RhdGUKKi8KCjMwMDEgPT4gYXJyYXkoJ0VzIGlzdCBudXIgbfZnbGljaCwgZW50d2VkZXIgU2V0RGF0ZUFsaWduKCkgb2RlciBTZXRUaW1lQWxpZ24oKSB6dSBiZW51dHplbiwgbmljaHQgYmVpZGVzIScsMCksCgovKgoqKiAganBncmFwaF9lcnJvcgoqLwoKNDAwMiA9PiBhcnJheSgnRmVobGVyIGJlaSBkZW4gRWluZ2FiZWRhdGVuIHZvbiBMaW5lRXJyb3JQbG90LiBEaWUgQW56YWhsIGRlciBEYXRlbnB1bmt0ZSBtdXMgZWluIE1laHJmYWNoZXMgdm9uIGRyZWkgc2VpbiEnLDApLAoKLyoKKiogIGpwZ3JhcGhfZmxhZ3MKKi8KCjUwMDEgPT4gYXJyYXkoJ1VuYmVrYW5udGUgRmxhZ2dlbi1HcvbfZSAoJWQpLicsMSksCjUwMDIgPT4gYXJyYXkoJ0RlciBGbGFnZ2VuLUluZGV4ICVzIGV4aXN0aWVydCBuaWNodC4nLDEpLAo1MDAzID0+IGFycmF5KCdFcyB3dXJkZSBlaW5lIHVuZ/xsdGlnZSBPcmRudW5nc3phaGwgKCVkKSBm/HIgZGVuIEZsYWdnZW4tSW5kZXggYW5nZWdlYmVuLicsMSksCjUwMDQgPT4gYXJyYXkoJ0RlciBMYW5kZXNuYW1lICVzIGhhdCBrZWluIGtvcnJlc3BvbmRpZXJlbmRlcyBGbGFnZ2VuYmlsZC4gRGllIEZsYWdnZSBtYWcgZXhpc3RpZXJlbiwgYWJyIGV2ZW50dWVsbCB1bnRlciBlaW5lbSBhbmRlcmVuIE5hbWVuLCB6LkIuIHZlcnN1Y2hlICJ1bml0ZWQgc3RhdGVzIiBzdGF0dCAidXNhIi4nLDEpLAoKCi8qCioqICBqcGdyYXBoX2dhbnR0CiovCgo2MDAxID0+IGFycmF5KCdJbnRlcm5lciBGZWhsZXIuIERpZSBI9mhlIGb8ciBBY3Rpdml0eVRpdGxlcyBpc3QgPCAwLicsMCksCjYwMDIgPT4gYXJyYXkoJ0VzIGT8cmZlbiBrZWluZSBuZWdhdGl2ZW4gV2VydGUgZvxyIGRpZSBHYW50dC1EaWFncmFtbS1EaW1lbnNpb25lbiBhbmdlZ2ViZW4gd2VyZGVuLiBWZXJ3ZW5kZSAwLCB3ZW5uIGRpZSBEaW1lbnNpb25lbiBhdXRvbWF0aXNjaCBlcm1pdHRlbHQgd2VyZGVuIHNvbGxlbi4nLDApLAo2MDAzID0+IGFycmF5KCdVbmf8bHRpZ2VzIEZvcm1hdCBm/HIgZGVuIEJlZGluZ3VuZ3MtUGFyYW1ldGVyIGJlaSBJbmRleD0lZCBpbiBDcmVhdGVTaW1wbGUoKS4gRGVyIFBhcmFtZXRlciBtdXNzIGJlaSBpbmRleCAwIHN0YXJ0ZW4gdW5kIFZla3RvcmVuIGluIGRlciBGb3JtIChSb3csQ29uc3RyYWluLVRvLENvbnN0cmFpbi1UeXBlKSBlbnRoYWx0ZW4uJywxKSwKNjAwNCA9PiBhcnJheSgnVW5n/Gx0aWdlcyBGb3JtYXQgZvxyIGRlbiBGb3J0c2Nocml0dHMtUGFyYW1ldGVyIGJlaSBJbmRleD0lZCBpbiBDcmVhdGVTaW1wbGUoKS4gRGVyIFBhcmFtZXRlciBtdXNzIGJlaSBJbmRleCAwIHN0YXJ0ZW4gdW5kIFZla3RvcmVuIGluIGRlciBGb3JtIChSb3csUHJvZ3Jlc3MpIGVudGhhbHRlbi4nLDEpLAo2MDA1ID0+IGFycmF5KCdTZXRTY2FsZSgpIGlzdCBuaWNodCBzaW5udm9sbCBiZWkgR2FudHQtRGlhZ3JhbW1lbi4nLDApLAo2MDA2ID0+IGFycmF5KCdEYXMgR2FudHQtRGlhZ3JhbW0ga2FubiBuaWNodCBhdXRvbWF0aXNjaCBza2FsaWVydCB3ZXJkZW4uIEVzIGV4aXN0aWVyZW4ga2VpbmUgQWt0aXZpdOR0ZW4gbWl0IFRlcm1pbi4gW0dldEJhck1pbk1heCgpIHN0YXJ0ID49IG5dJywwKSwKNjAwNyA9PiBhcnJheSgnUGxhdXNpYmlsdOR0c3By/GZ1bmcgZvxyIGRpZSBhdXRvbWF0aXNjaGUgR2FudHQtRGlhZ3JhbW0tR3L232Ugc2NobHVnIGZlaGwuIEVudHdlZGVyIGRpZSBCcmVpdGUgKD0lZCkgb2RlciBkaWUgSPZoZSAoPSVkKSBpc3QgZ3L232VyIGFscyBNQVhfR0FOVFRJTUdfU0laRS4gRGllcyBrYW5uIG32Z2xpY2hlcndlaXNlIGR1cmNoIGVpbmVuIGZhbHNjaGVuIFdlcnQgYmVpIGVpbmVyIEFrdGl2aXTkdCBoZXJ2b3JnZXJ1ZmVuIHdvcmRlbiBzZWluLicsMiksCjYwMDggPT4gYXJyYXkoJ0R1IGhhc3QgZWluZSBCZWRpbmd1bmcgYW5nZWdlYmVuIHZvbiBSZWloZT0lZCBiaXMgUmVpaGU9JWQsIGRpZSBrZWluZSBBa3Rpdml05HQgaGF0LicsMiksCjYwMDkgPT4gYXJyYXkoJ1VuYmVrYW5udGVyIEJlZGluZ3VuZ3N0eXAgdm9uIFJlaWhlPSVkIGJpcyBSZWloZT0lZCcsMiksCjYwMTAgPT4gYXJyYXkoJ1VuZ/xsdGlnZXIgSWNvbi1JbmRleCBm/HIgZGFzIGVpbmdlYmF1dGUgR2FudHQtSWNvbiBbJWRdJywxKSwKNjAxMSA9PiBhcnJheSgnQXJndW1lbnQgZvxyIEljb25JbWFnZSBtdXNzIGVudHdlZGVyIGVpbiBTdHJpbmcgb2RlciBlaW4gSW50ZWdlciBzZWluLicsMCksCjYwMTIgPT4gYXJyYXkoJ1VuYmVrYW5udGVyIFR5cCBiZWkgZGVyIEdhbnR0LU9iamVrdC1UaXRsZS1EZWZpbml0aW9uLicsMCksCjYwMTUgPT4gYXJyYXkoJ1VuZ/xsdGlnZSB2ZXJ0aWthbGUgUG9zaXRpb24gJWQnLDEpLAo2MDE2ID0+IGFycmF5KCdEZXIgZWluZ2VnZWJlbmUgRGF0dW1zLVN0cmluZyAoJXMpIGb8ciBlaW5lIEdhbnR0LUFrdGl2aXTkdCBrYW5uIG5pY2h0IGludGVycHJldGllcnQgd2VyZGVuLiBWZXJzaWNoZXJlIERpY2gsIGRhc3MgZXMgZWluIGf8bHRpZ2VyIERhdHVtc3N0cmluZyBpc3QsIHouQi4gMjAwNS0wNC0yMyAxMzozMCcsMSksCjYwMTcgPT4gYXJyYXkoJ1VuYmVrYW5udGVyIERhdHVtc3R5cCBpbiBHYW50dFNjYWxlICglcykuJywxKSwKNjAxOCA9PiBhcnJheSgnSW50ZXJ2YWxsIGb8ciBNaW51dGVuIG11c3MgZWluIGdlcmFkZXIgVGVpbGVyIGVpbmVyIFN0dW5kZSBzZWluLCB6LkIuIDEsNSwxMCwxMiwxNSwyMCwzMCwgZXRjLiBEdSBoYXN0IGVpbiBJbnRlcnZhbGwgdm9uICVkIE1pbnV0ZW4gYW5nZWdlYmVuLicsMSksCjYwMTkgPT4gYXJyYXkoJ0RpZSB2b3JoYW5kZW5lIEJyZWl0ZSAoJWQpIGb8ciBkaWUgTWludXRlbiBpc3QgenUga2xlaW4sIHVtIGFuZ2V6ZWlndCB6dSB3ZXJkZW4uIEJpdHRlIGJlbnV0emUgZGllIGF1dG9tYXRpc2NoZSBHcvbfZW5lcm1pdHRsdW5nIG9kZXIgdmVyZ3L232VyZSBkaWUgQnJlaXRlIGRlcyBEaWFncmFtbXMuJywxKSwKNjAyMCA9PiBhcnJheSgnRGFzIEludGVydmFsbCBm/HIgZGllIFN0dW5kZW4gbXVzcyBlaW4gZ2VyYWRlciBUZWlsZXIgZWluZXMgVGFnZXMgc2Vpbiwgei5CLiAwOjMwLCAxOjAwLCAxOjMwLCA0OjAwLCBldGMuIER1IGhhc3QgZWluIEludGVydmFsbCB2b24gJWQgZWluZ2VnZWJlbi4nLDEpLAo2MDIxID0+IGFycmF5KCdVbmJla2FubnRlcyBGb3JtYXQgZvxyIGRpZSBXb2NoZS4nLDApLAo2MDIyID0+IGFycmF5KCdEaWUgR2FudHQtU2thbGEgd3VyZGUgbmljaHQgZWluZ2VnZWJlbi4nLDApLAo2MDIzID0+IGFycmF5KCdXZW5uIER1IHNvd29obCBTdHVuZGVuIGFscyBhdWNoIE1pbnV0ZW4gYW56ZWlnZW4gbGFzc2VuIHdpbGxzdCwgbXVzcyBkYXMgU3R1bmRlbi1JbnRlcnZhbCBnbGVpY2ggMSBzZWluIChhbmRlcmVuZmFsbHMgaXN0IGVzIG5pY2h0IHNpbm52b2xsLCBNaW51dGVuIGFuemVpZ2VuIHp1IGxhc3NlbikuJywwKSwKNjAyNCA9PiBhcnJheSgnRGFzIENTSU0tWmllbCBtdXNzIGFscyBTdHJpbmcgYW5nZWdlYmVuIHdlcmRlbi4gRGVyIFN0YXJ0IGRlcyBaaWVscyBpc3Q6ICVkJywxKSwKNjAyNSA9PiBhcnJheSgnRGVyIENTSU0tQWx0LVRleHQgbXVzcyBhbHMgU3RyaW5nIGFuZ2VnZWJlbiB3ZXJkZW4uIERlciBCZWdpbm4gZGVzIEFsdC1UZXh0ZXMgaXN0OiAlZCcsMSksCjYwMjcgPT4gYXJyYXkoJ0RlciBGb3J0c2Nocml0dHN3ZXJ0IG11c3MgaW0gQmVyZWljaCBbMCwgMV0gbGllZ2VuLicsMCksCjYwMjggPT4gYXJyYXkoJ0RpZSBlaW5nZWdlYmVuZSBI9mhlICglZCkgZvxyIEdhbnR0QmFyIGlzdCBuaWNodCBpbSB6dWzkc3NpZ2VuIEJlcmVpY2guJywxKSwKNjAyOSA9PiBhcnJheSgnRGVyIE9mZnNldCBm/HIgZGllIHZlcnRpa2FsZSBMaW5pZSBtdXNzIGltIEJlcmVpY2ggWzAsMV0gc2Vpbi4nLDApLAo2MDMwID0+IGFycmF5KCdVbmJla2FubnRlIFBmZWlscmljaHR1bmcgZvxyIGVpbmUgVmVyYmluZHVuZy4nLDApLAo2MDMxID0+IGFycmF5KCdVbmJla2FubnRlciBQZmVpbHR5cCBm/HIgZWluZSBWZXJiaW5kdW5nLicsMCksCjYwMzIgPT4gYXJyYXkoJ0ludGVybmVyIEZlaGxlcjogVW5iZWthbm50ZXIgUGZhZHR5cCAoPSVkKSBm/HIgZWluZSBWZXJiaW5kdW5nLicsMSksCgovKgoqKiAganBncmFwaF9ncmFkaWVudAoqLwoKNzAwMSA9PiBhcnJheSgnVW5iZWthbm50ZXIgR3JhZGllbnRlbnR5cCAoPSVkKS4nLDEpLAoKLyoKKiogIGpwZ3JhcGhfaWNvbnBsb3QKKi8KCjgwMDEgPT4gYXJyYXkoJ0RlciBNaXgtV2VydCBm/HIgZGFzIEljb24gbXVzcyB6d2lzY2hlbiAwIHVuZCAxMDAgc2Vpbi4nLDApLAo4MDAyID0+IGFycmF5KCdEaWUgQW5rZXJwb3NpdGlvbiBm/HIgSWNvbnMgbXVzcyBlbnR3ZWRlciAidG9wIiwgImJvdHRvbSIsICJsZWZ0IiwgInJpZ2h0IiBvZGVyICJjZW50ZXIiIHNlaW4uJywwKSwKODAwMyA9PiBhcnJheSgnRXMgaXN0IG5pY2h0IG32Z2xpY2gsIGdsZWljaHplaXRpZyBlaW4gQmlsZCB1bmQgZWluZSBMYW5kZXNmbGFnZ2UgZvxyIGRhc3NlbGJlIEljb24genUgZGVmaW5pZXJlbicsMCksCjgwMDQgPT4gYXJyYXkoJ1dlbm4gRHUgTGFuZGVzZmxhZ2dlbiBiZW51dHplbiB3aWxsc3QsIG11c3N0IER1IGRpZSBEYXRlaSAianBncmFwaF9mbGFncy5waHAiIGhpbnp1ZvxnZW4gKHBlciBpbmNsdWRlKS4nLDApLAoKLyoKKiogIGpwZ3JhcGhfaW1ndHJhbnMKKi8KCjkwMDEgPT4gYXJyYXkoJ0RlciBXZXJ0IGb8ciBkaWUgQmlsZHRyYW5zZm9ybWF0aW9uIGlzdCBhdd9lcmhhbGIgZGVzIHp1bORzc2lnZW4gQmVyZWljaHMuIERlciB2ZXJzY2h3aW5kZW5kZSBQdW5rdCBhbSBIb3Jpem9udCBtdXNzIGFscyBXZXJ0IHp3aXNjaGVuIDAgdW5kIDEgYW5nZWdlYmVuIHdlcmRlbi4nLDApLAoKLyoKKiogIGpwZ3JhcGhfbGluZXBsb3QKKi8KCjEwMDAxID0+IGFycmF5KCdEaWUgTWV0aG9kZSBMaW5lUGxvdDo6U2V0RmlsbGVkKCkgc29sbHRlIG5pY2h0IG1laHIgYmVudXR6dCB3ZXJkZW4uIEJlbnV0emUgbGllYmVyIFNldEZpbGxDb2xvcigpJywwKSwKMTAwMDIgPT4gYXJyYXkoJ0RlciBQbG90IGlzdCB6dSBrb21wbGl6aWVydCBm/HIgRmFzdExpbmVTdHJva2UuIEJlbnV0emUgbGllYmVyIGRlbiBTdGFuZGFyZFN0cm9rZSgpJywwKSwKCi8qCioqICBqcGdyYXBoX2xvZwoqLwoKMTEwMDEgPT4gYXJyYXkoJ0RlaW5lIERhdGVuIGVudGhhbHRlbiBuaWNodC1udW1lcmlzY2hlIFdlcnRlLicsMCksCjExMDAyID0+IGFycmF5KCdOZWdhdGl2ZSBXZXJ0ZSBr9m5uZW4gbmljaHQgZvxyIGxvZ2FyaXRobWlzY2hlIEFjaHNlbiB2ZXJ3ZW5kZXQgd2VyZGVuLicsMCksCjExMDAzID0+IGFycmF5KCdEZWluZSBEYXRlbiBlbnRoYWx0ZW4gbmljaHQtbnVtZXJpc2NoZSBXZXJ0ZS4nLDApLAoxMTAwNCA9PiBhcnJheSgnU2thbGllcnVuZ3NmZWhsZXIgZvxyIGRpZSBsb2dhcml0aG1pc2NoZSBBY2hzZS4gRXMgZ2lidCBlaW4gUHJvYmxlbSBtaXQgZGVuIERhdGVuIGRlciBBY2hzZS4gRGVyIGdy9t90ZSBXZXJ0IG11c3MgZ3L232VyIHNlaW4gYWxzIE51bGwuIEVzIGlzdCBtYXRoZW1hdGlzY2ggbmljaHQgbfZnbGljaCwgZWluZW4gV2VydCBnbGVpY2ggTnVsbCBpbiBkZXIgU2thbGEgenUgaGFiZW4uJywwKSwKMTEwMDUgPT4gYXJyYXkoJ0RhcyBUaWNrLUludGVydmFsbCBm/HIgZGllIGxvZ2FyaXRobWlzY2hlIEFjaHNlIGlzdCBuaWNodCBkZWZpbmllcnQuIEz2c2NoZSBqZWRlbiBBdWZydWYgdm9uIFNldFRleHRMYWJlbFN0YXJ0KCkgb2RlciBTZXRUZXh0VGlja0ludGVydmFsKCkgYmVpIGRlciBsb2dhcml0aG1pc2NoZW4gQWNoc2UuJywwKSwKCi8qCioqICBqcGdyYXBoX21ncmFwaAoqLwoKMTIwMDEgPT4gYXJyYXkoIkR1IGJlbnV0enQgR0QgMi54IHVuZCB2ZXJzdWNoc3QgZWluIE5pY2h0LVRydWVjb2xvci1CaWxkIGFscyBIaW50ZXJncnVuZGJpbGQgenUgYmVudXR6ZW4uIFVtIEhpbnRlcmdydW5kYmlsZGVyIG1pdCBHRCAyLnggenUgYmVudXR6ZW4sIGlzdCBlcyBub3R3ZW5kaWcgVHJ1ZWNvbG9yIHp1IGFrdGl2aWVyZW4sIGluZGVtIGRpZSBVU0VfVFJVRUNPTE9SLUtvbnN0YW50ZSBhdWYgVFJVRSBnZXNldHp0IHdpcmQuIFdlZ2VuIGVpbmVzIEJ1Z3MgaW4gR0QgMi4wLjEgaXN0IGRpZSBRdWFsaXTkdCBkZXIgVHJ1ZXR5cGUtU2NocmlmdGVuIHNlaHIgc2NobGVjaHQsIHdlbm4gbWFuIFRydWV0eXBlLVNjaHJpZnRlbiBtaXQgVHJ1ZWNvbG9yLUJpbGRlcm4gdmVyd2VuZGV0LiIsMCksCjEyMDAyID0+IGFycmF5KCdVbmf8bHRpZ2VyIERhdGVpbmFtZSBm/HIgTUdyYXBoOjpTZXRCYWNrZ3JvdW5kSW1hZ2UoKSA6ICVzLiBEaWUgRGF0ZWkgbXVzcyBlaW5lIGf8bHRpZ2UgRGF0ZWllcndlaXRlcnVuZyBoYWJlbiAoanBnLGdpZixwbmcpLCB3ZW5uIGRpZSBhdXRvbWF0aXNjaGUgVHlwZXJrZW5udW5nIHZlcndlbmRldCB3aXJkLicsMSksCjEyMDAzID0+IGFycmF5KCdVbmJla2FubnRlIERhdGVpZXJ3ZWl0ZXJ1bmcgKCVzKSBpbiBNR3JhcGg6OlNldEJhY2tncm91bmRJbWFnZSgpIGb8ciBEYXRlaW5hbWU6ICVzJywyKSwKMTIwMDQgPT4gYXJyYXkoJ0RhcyBCaWxkZm9ybWF0IGRlcyBIaW50ZXJncnVuZGJpbGRlcyAoJXMpIHdpcmQgdm9uIERlaW5lciBTeXN0ZW0tS29uZmlndXJhdGlvbiBuaWNodCB1bnRlcnN0/HR6dC4gJywxKSwKMTIwMDUgPT4gYXJyYXkoJ0RhcyBIaW50ZXJncnVuZGJpbGQga2FubiBuaWNodCBnZWxlc2VuIHdlcmRlbjogJXMnLDEpLAoxMjAwNiA9PiBhcnJheSgnRXMgd3VyZGVuIHVuZ/xsdGlnZSBHcvbfZW4gZvxyIEJyZWl0ZSBvZGVyIEj2aGUgYmVpbSBFcnN0ZWxsZW4gZGVzIEJpbGRlcyBhbmdlZ2ViZW4sIChCcmVpdGU9JWQsIEj2aGU9JWQpJywyKSwKMTIwMDcgPT4gYXJyYXkoJ0RhcyBBcmd1bWVudCBm/HIgTUdyYXBoOjpBZGQoKSBpc3QgbmljaHQgZ/xsdGlnIGb8ciBHRC4nLDApLAoxMjAwOCA9PiBhcnJheSgnRGVpbmUgUEhQLSAodW5kIEdELWxpYi0pIEluc3RhbGxhdGlvbiBzY2hlaW50IGtlaW5lIGJla2FubnRlbiBCaWxkZm9ybWF0ZSB6dSB1bnRlcnN0/HR6ZW4uJywwKSwKMTIwMDkgPT4gYXJyYXkoJ0RlaW5lIFBIUC1JbnN0YWxsYXRpb24gdW50ZXJzdPx0enQgZGFzIGdld+RobHRlIEJpbGRmb3JtYXQgbmljaHQ6ICVzJywxKSwKMTIwMTAgPT4gYXJyYXkoJ0VzIGtvbm50ZSBrZWluIEJpbGQgYWxzIERhdGVpICVzIGVyemV1Z3Qgd2VyZGVuLiDcYmVycHL8ZmUsIG9iIER1IGRpZSBlbnRzcHJlY2hlbmRlbiBTY2hyZWlicmVjaHRlIGltIGFrdHVlbGxlbiBWZXJ6ZWljaG5pcyBoYXN0LicsMSksCjEyMDExID0+IGFycmF5KCdFcyBrb25udGUga2VpbiBUcnVlY29sb3ItQmlsZCBlcnpldWd0IHdlcmRlbi4g3GJlcnBy/GZlLCBvYiBEdSB3aXJrbGljaCBkaWUgR0QyLUJpYmxpb3RoZWsgaW5zdGFsbGllcnQgaGFzdC4nLDApLAoxMjAxMiA9PiBhcnJheSgnRXMga29ubnRlIGtlaW4gQmlsZCBlcnpldWd0IHdlcmRlbi4g3GJlcnBy/GZlLCBvYiBEdSB3aXJrbGljaCBkaWUgR0QyLUJpYmxpb3RoZWsgaW5zdGFsbGllcnQgaGFzdC4nLDApLAoKLyoKKiogIGpwZ3JhcGhfcGllM2QKKi8KCjE0MDAxID0+IGFycmF5KCdQaWUzRDo6U2hvd0JvcmRlcigpLiBNaXNzYmlsbGlndGUgRnVua3Rpb24uIEJlbnV0emUgUGllM0Q6OlNldEVkZ2UoKSwgdW0gZGllIEVja2VuIGRlciBUb3J0ZW5zdPxja2UgenUga29udHJvbGxpZXJlbi4nLDApLAoxNDAwMiA9PiBhcnJheSgnUGllUGxvdDNEOjpTZXRBbmdsZSgpIDNELVRvcnRlbi1Qcm9qZWt0aW9uc3dpbmtlbCBtdXNzIHp3aXNjaGVuIDUgdW5kIDg1IEdyYWQgc2Vpbi4nLDApLAoxNDAwMyA9PiBhcnJheSgnSW50ZXJuZSBGZXN0bGVndW5nIHNjaGx1ZyBmZWhsLiBQaWUzRDo6UGllM0RTbGljZScsMCksCjE0MDA0ID0+IGFycmF5KCdUb3J0ZW5zdPxjay1TdGFydHdpbmtlbCBtdXNzIHp3aXNjaGVuIDAgdW5kIDM2MCBHcmFkIHNlaW4uJywwKSwKMTQwMDUgPT4gYXJyYXkoJ1BpZTNEIEludGVybmVyIEZlaGxlcjogVmVyc3VjaCwgendlaW1hbCB6dSB1bWj8bGxlbiBiZWkgZGVyIFN1Y2hlIG5hY2ggZGVtIFN0YXJ0aW5kZXguJywwLCksCjE0MDA2ID0+IGFycmF5KCdQaWUzRCBJbnRlcm5lciBGZWhsZXI6IFotU29ydGllci1BbGdvcml0aG11cyBm/HIgM0QtVG9ydGVuZGlhZ3JhbW1lIGZ1bmt0aW9uaWVydCBuaWNodCBlaW53YW5kZnJlaSAoMikuIFZlcnN1Y2gsIHp3ZWltYWwgenUgdW1o/GxsZW4gYmVpbSBFcnN0ZWxsZW4gZGVzIEJpbGRlcy4nLDApLAoxNDAwNyA9PiBhcnJheSgnRGllIEJyZWl0ZSBm/HIgZGFzIDNELVRvcnRlbmRpYWdyYW1tIGlzdCAwLiBHaWIgZWluZSBCcmVpdGUgPiAwIGFuLicsMCksCgovKgoqKiAganBncmFwaF9waWUKKi8KCjE1MDAxID0+IGFycmF5KCdQaWVQTG90OjpTZXRUaGVtZSgpIFVuYmVrYW5udGVyIFN0aWw6ICVzJywxKSwKMTUwMDIgPT4gYXJyYXkoJ0FyZ3VtZW50IGb8ciBQaWVQbG90OjpFeHBsb2RlU2xpY2UoKSBtdXNzIGVpbiBJbnRlZ2VyLVdlcnQgc2VpbicsMCksCjE1MDAzID0+IGFycmF5KCdBcmd1bWVudCBm/HIgUGllUGxvdDo6RXhwbG9kZSgpIG11c3MgZWluIFZla3RvciBtaXQgSW50ZWdlci1XZXJ0ZW4gc2Vpbi4nLDApLAoxNTAwNCA9PiBhcnJheSgnVG9ydGVuc3T8Y2stU3RhcnR3aW5rZWwgbXVzcyB6d2lzY2hlbiAwIHVuZCAzNjAgR3JhZCBzZWluLicsMCksCjE1MDA1ID0+IGFycmF5KCdQaWVQbG90OjpTZXRGb250KCkgc29sbHRlIG5pY2h0IG1laHIgdmVyd2VuZGV0IHdlcmRlbi4gQmVudXR6ZSBzdGF0dGRlc3NlbiBQaWVQbG90LT52YWx1ZS0+U2V0Rm9udCgpLicsMCksCjE1MDA2ID0+IGFycmF5KCdQaWVQbG90OjpTZXRTaXplKCkgUmFkaXVzIGb8ciBUb3J0ZW5kaWFncmFtbSBtdXNzIGVudHdlZGVyIGFscyBCcnVjaCBbMCwgMC41XSBkZXIgQmlsZGdy9t9lIG9kZXIgYWxzIEFic29sdXdlcnQgaW4gUGl4ZWwgaW0gQmVyZWljaCBbMTAsIDEwMDBdIGFuZ2VnZWJlbiB3ZXJkZW4uJywwKSwKMTUwMDcgPT4gYXJyYXkoJ1BpZVBsb3Q6OlNldEZvbnRDb2xvcigpIHNvbGx0ZSBuaWNodCBtZWhyIHZlcndlbmRldCB3ZXJkZW4uIEJlbnV0emUgc3RhdHRkZXNzZW4gUGllUGxvdC0+dmFsdWUtPlNldENvbG9yKCkuLicsMCksCjE1MDA4ID0+IGFycmF5KCdQaWVQbG90OjpTZXRMYWJlbFR5cGUoKSBkZXIgVHlwIGb8ciBUb3J0ZW5kaWFncmFtbWUgbXVzcyBlbnR3ZWRlciAwIG9yIDEgc2VpbiAobmljaHQgJWQpLicsMSksCjE1MDA5ID0+IGFycmF5KCdVbmf8bHRpZ2VzIFRvcnRlbmRpYWdyYW1tLiBEaWUgU3VtbWUgYWxsZXIgRGF0ZW4gaXN0IE51bGwuJywwKSwKMTUwMTAgPT4gYXJyYXkoJ0RpZSBTdW1tZSBhbGxlciBEYXRlbiBpc3QgTnVsbC4nLDApLAoxNTAxMSA9PiBhcnJheSgnVW0gQmlsZHRyYW5zZm9ybWF0aW9uZW4gYmVudXR6ZW4genUga/ZubmVuLCBtdXNzIGRpZSBEYXRlaSBqcGdyYXBoX2ltZ3RyYW5zLnBocCBlaW5nZWb8Z3Qgd2VyZGVuIChwZXIgaW5jbHVkZSkuJywwKSwKCi8qCioqICBqcGdyYXBoX3Bsb3RiYW5kCiovCgoxNjAwMSA9PiBhcnJheSgnRGllIERpY2h0ZSBm/HIgZGFzIFBhdHRlcm4gbXVzcyB6d2lzY2hlbiAxIHVuZCAxMDAgc2Vpbi4gKER1IGhhc3QgJWYgZWluZ2VnZWJlbiknLDEpLAoxNjAwMiA9PiBhcnJheSgnRXMgd3VyZGUga2VpbmUgUG9zaXRpb24gZvxyIGRhcyBQYXR0ZXJuIGFuZ2VnZWJlbi4nLDApLAoxNjAwMyA9PiBhcnJheSgnVW5iZWthbm50ZSBQYXR0ZXJuLURlZmluaXRpb24gKCVkKScsMCksCjE2MDA0ID0+IGFycmF5KCdEZXIgTWluZGVzd2VydCBm/HIgZGFzIFBsb3RCYW5kIGlzdCBncvbfZXIgYWxzIGRlciBNYXhpbWFsd2VydC4gQml0dGUga29ycmlnaWVyZSBkaWVzIScsMCksCgoKLyoKKiogIGpwZ3JhcGhfcG9sYXIKKi8KCjE3MDAxID0+IGFycmF5KCdQb2xhclBsb3RzIG38c3NlbiBlaW5lIGdlcmFkZSBBbnphaGwgdm9uIERhdGVucHVua3RlbiBoYWJlbi4gSmVkZXIgRGF0ZW5wdW5rdCBpc3QgZWluIFR1cGVsIChXaW5rZWwsIFJhZGl1cykuJywwKSwKMTcwMDIgPT4gYXJyYXkoJ1VuYmVrYW5udGUgQXVzcmljaHR1bmcgZvxyIFgtQWNoc2VuLVRpdGVsLiAoJXMpJywxKSwKLy8xNzAwMyA9PiBhcnJheSgnU2V0OTBBbmRNYXJnaW4oKSB3aXJkIGb8ciBQb2xhckdyYXBoIG5pY2h0IHVudGVyc3T8dHp0LicsMCksCjE3MDA0ID0+IGFycmF5KCdVbmJla2FubnRlciBBY2hzZW50eXAgZvxyIFBvbGFyR3JhcGguIEVyIG11c3MgZW50d2VkZXIgXCdsaW5cJyBvZGVyIFwnbG9nXCcgc2Vpbi4nLDApLAoKLyoKKiogIGpwZ3JhcGhfcmFkYXIKKi8KCjE4MDAxID0+IGFycmF5KCdDbGllbnRTaWRlSW1hZ2VNYXBzIHdlcmRlbiBm/HIgUmFkYXJQbG90cyBuaWNodCB1bnRlcnN0/HR6dC4nLDApLAoxODAwMiA9PiBhcnJheSgnUmFkYXJHcmFwaDo6U3VwcmVzc1RpY2tNYXJrcygpIHNvbGx0ZSBuaWNodCBtZWhyIHZlcndlbmRldCB3ZXJkZW4uIEJlbnV0emUgc3RhdHRkZXNzZW4gSGlkZVRpY2tNYXJrcygpLicsMCksCjE4MDAzID0+IGFycmF5KCdVbmf8bHRpZ2VyIEFjaHNlbnR5cCBm/HIgUmFkYXJQbG90ICglcykuIEVyIG11c3MgZW50d2VkZXIgXCdsaW5cJyBvZGVyIFwnbG9nXCcgc2Vpbi4nLDEpLAoxODAwNCA9PiBhcnJheSgnRGllIFJhZGFyUGxvdC1HcvbfZSBtdXNzIHp3aXNjaGVuIDAuMSB1bmQgMSBzZWluLiAoRGVpbiBXZXJ0PSVmKScsMSksCjE4MDA1ID0+IGFycmF5KCdSYWRhclBsb3Q6IG5pY2h0IHVudGVyc3T8dHp0ZSBUaWNrLURpY2h0ZTogJWQnLDEpLAoxODAwNiA9PiBhcnJheSgnTWluaW11bSBEYXRlbiAlZiAoUmFkYXJQbG90cyBzb2xsdGVuIG51ciB2ZXJ3ZW5kZXQgd2VyZGVuLCB3ZW5uIGFsbGUgRGF0ZW5wdW5rdGUgZWluZW4gV2VydCA+IDAgaGFiZW4pLicsMSksCjE4MDA3ID0+IGFycmF5KCdEaWUgQW56YWhsIGRlciBUaXRlbCBlbnRzcHJpY2h0IG5pY2h0IGRlciBBbnphaGwgZGVyIERhdGVucHVua3RlLicsMCksCjE4MDA4ID0+IGFycmF5KCdKZWRlciBSYWRhclBsb3QgbXVzcyBkaWUgZ2xlaWNoZSBBbnphaGwgdm9uIERhdGVucHVua3RlbiBoYWJlbi4nLDApLAoKLyoKKiogIGpwZ3JhcGhfcmVnc3RhdAoqLwoKMTkwMDEgPT4gYXJyYXkoJ1NwbGluZTogQW56YWhsIGRlciBYLSB1bmQgWS1Lb29yZGluYXRlbiBtdXNzIGdsZWljaCBzZWluLicsMCksCjE5MDAyID0+IGFycmF5KCdVbmf8bHRpZ2UgRGF0ZW5laW5nYWJlIGb8ciBTcGxpbmUuIFp3ZWkgb2RlciBtZWhyIGF1ZmVpbmFuZGVyZm9sZ2VuZGUgWC1XZXJ0ZSBzaW5kIGlkZW50aXNjaC4gSmVkZXIgZWlnZWdlYmVuZSBYLVdlcnQgbXVzcyB1bnRlcnNjaGllZGxpY2ggc2Vpbiwgd2VpbCB2b20gbWF0aGVtYXRpc2NoZW4gU3RhbmRwdW5rdCBlaW4gRWlucy16dS1FaW5zLU1hcHBpbmcgdm9ybGllZ2VuIG11c3MsIGQuaC4gamVkZXIgWC1XZXJ0IGtvcnJlc3BvbmRpZXJ0IG1pdCBleGFrdCBlaW5lbSBZLVdlcnQuJywwKSwKMTkwMDMgPT4gYXJyYXkoJ0JlemllcjogQW56YWhsIGRlciBYLSB1bmQgWS1Lb29yZGluYXRlbiBtdXNzIGdsZWljaCBzZWluLicsMCksCgovKgoqKiAganBncmFwaF9zY2F0dGVyCiovCgoyMDAwMSA9PiBhcnJheSgnRmllbGRwbG90cyBt/HNzZW4gZGllIGdsZWljaGUgQW56YWhsIHZvbiBYIHVuZCBZIERhdGVucHVua3RlbiBoYWJlbi4nLDApLAoyMDAwMiA9PiBhcnJheSgnQmVpIEZpZWxkcGxvdHMgbXVzcyBlaW4gV2lua2VsIGb8ciBqZWRlbiBYIHVuZCBZIERhdGVucHVua3QgYW5nZWdlYmVuIHdlcmRlbi4nLDApLAoyMDAwMyA9PiBhcnJheSgnU2NhdHRlcnBsb3RzIG38c3NlbiBkaWUgZ2xlaWNoZSBBbnphaGwgdm9uIFgtIHVuZCBZLURhdGVucHVua3RlbiBoYWJlbi4nLDApLAoKLyoKKiogIGpwZ3JhcGhfc3RvY2sKKi8KCjIxMDAxID0+IGFycmF5KCdEaWUgQW56YWhsIGRlciBEYXRlbndlcnRlIGb8ciBTdG9jay1DaGFydHMgbfxzc2VuIGVpbiBNZWhyZmFjaGVzIHZvbiAlZCBEYXRlbnB1bmt0ZW4gc2Vpbi4nLDEpLAoKLyoKKiogIGpwZ3JhcGhfcGxvdG1hcmsKKi8KCjIzMDAxID0+IGFycmF5KCdEZXIgTWFya2VyICIlcyIgZXhpc3RpZXJ0IG5pY2h0IGluIGRlciBGYXJiZTogJWQnLDIpLAoyMzAwMiA9PiBhcnJheSgnRGVyIEZhcmItSW5kZXggaXN0IHp1IGhvY2ggZvxyIGRlbiBNYXJrZXIgIiVzIicsMSksCjIzMDAzID0+IGFycmF5KCdFaW4gRGF0ZWluYW1lIG11c3MgYW5nZWdlYmVuIHdlcmRlbiwgd2VubiBEdSBkZW4gTWFya2VyLVR5cCBhdWYgTUFSS19JTUcgc2V0enQuJywwKSwKCi8qCioqICBqcGdyYXBoX3V0aWxzCiovCgoyNDAwMSA9PiBhcnJheSgnRnVuY0dlbmVyYXRvciA6IEtlaW5lIEZ1bmt0aW9uIGRlZmluaWVydC4gJywwKSwKMjQwMDIgPT4gYXJyYXkoJ0Z1bmNHZW5lcmF0b3IgOiBTeW50YXgtRmVobGVyIGluIGRlciBGdW5rdGlvbnNkZWZpbml0aW9uICcsMCksCjI0MDAzID0+IGFycmF5KCdEYXRlU2NhbGVVdGlsczogVW5rbm93biB0aWNrIHR5cGUgc3BlY2lmaWVkIGluIGNhbGwgdG8gR2V0VGlja3MoKScsMCksCgovKgoqKiAganBncmFwaAoqLwoKMjUwMDEgPT4gYXJyYXkoJ0RpZXNlIFBIUC1JbnN0YWxsYXRpb24gaXN0IG5pY2h0IG1pdCBkZXIgR0QtQmlibGlvdGhlayBrb21waWxpZXJ0LiBCaXR0ZSBrb21waWxpZXJlIFBIUCBtaXQgR0QtVW50ZXJzdPx0enVuZyBuZXUsIGRhbWl0IEpwR3JhcGggZnVua3Rpb25pZXJ0LiAoV2VkZXIgZGllIEZ1bmt0aW9uIGltYWdldHlwZXMoKSBub2NoIGltYWdlY3JlYXRlZnJvbXN0cmluZygpIGV4aXN0aWVydCEpJywwKSwKMjUwMDIgPT4gYXJyYXkoJ0RpZXNlIFBIUC1JbnN0YWxsYXRpb24gc2NoZWludCBuaWNodCBkaWUgYmVu9nRpZ3RlIEdELUJpYmxpb3RoZWsgenUgdW50ZXJzdPx0emVuLiBCaXR0ZSBzY2hhdSBpbiBkZXIgUEhQLURva3VtZW50YXRpb24gbmFjaCwgd2llIG1hbiBkaWUgR0QtQmlibGlvdGhlayBpbnN0YWxsaWVydCB1bmQgYWt0aXZpZXJ0LicsMCksCjI1MDAzID0+IGFycmF5KCdHZW5lcmVsbGVyIFBIUCBGZWhsZXIgOiBCZWkgJXM6JWQgOiAlcycsMyksCjI1MDA0ID0+IGFycmF5KCdHZW5lcmVsbGVyIFBIUCBGZWhsZXIgOiAlcyAnLDEpLAoyNTAwNSA9PiBhcnJheSgnUEhQX1NFTEYsIGRpZSBQSFAtR2xvYmFsLVZhcmlhYmxlIGthbm4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbi4gUEhQIGthbm4gbmljaHQgdm9uIGRlciBLb21tYW5kb3plaWxlIGdlc3RhcnRldCB3ZXJkZW4sIHdlbm4gZGVyIENhY2hlIG9kZXIgZGllIEJpbGRkYXRlaWVuIGF1dG9tYXRpc2NoIGJlbmFubnQgd2VyZGVuIHNvbGxlbi4nLDApLAoyNTAwNiA9PiBhcnJheSgnRGllIEJlbnV0enVuZyBkZXIgRkZfQ0hJTkVTRSAoRkZfQklHNSkgU2NocmlmdGZhbWlsaWUgYmVu9nRpZ3QgZGllIGljb252KCkgRnVua3Rpb24gaW4gRGVpbmVyIFBIUC1Lb25maWd1cmF0aW9uLiBEaWVzIHdpcmQgbmljaHQgZGVmYXVsdG3k32lnIGluIFBIUCBrb21waWxpZXJ0IChiZW72dGlndCAiLS13aWR0aC1pY29udiIgYmVpIGRlciBLb25maWd1cmF0aW9uKS4nLDApLAoyNTAwNyA9PiBhcnJheSgnRHUgdmVyc3VjaHN0IGRhcyBsb2thbGUgKCVzKSB6dSB2ZXJ3ZW5kZW4sIHdhcyB2b24gRGVpbmVyIFBIUC1JbnN0YWxsYXRpb24gbmljaHQgdW50ZXJzdPx0enQgd2lyZC4gSGlud2VpczogQmVudXR6ZSBcJ1wnLCB1bSBkYXMgZGVmYXVsdG3k32lnZSBMb2thbGUgZvxyIGRpZXNlIGdlb2dyYXBoaXNjaGUgUmVnaW9uIGZlc3R6dWxlZ2VuLicsMSksCjI1MDA4ID0+IGFycmF5KCdEaWUgQmlsZC1CcmVpdGUgdW5kIEj2aGUgaW4gR3JhcGg6OkdyYXBoKCkgbfxzc2VuIG51bWVyaXNjaCBzZWluJywwKSwKMjUwMDkgPT4gYXJyYXkoJ0RpZSBTa2FsaWVydW5nIGRlciBBY2hzZW4gbXVzcyBhbmdlZ2ViZW4gd2VyZGVuIG1pdCBHcmFwaDo6U2V0U2NhbGUoKScsMCksCgoyNTAxMCA9PiBhcnJheSgnR3JhcGg6OkFkZCgpIER1IGhhc3QgdmVyc3VjaHQsIGVpbmVuIGxlZXJlbiBQbG90IHp1bSBHcmFwaCBoaW56dXp1ZvxnZW4uJywwKSwKMjUwMTEgPT4gYXJyYXkoJ0dyYXBoOjpBZGRZMigpIER1IGhhc3QgdmVyc3VjaHQsIGVpbmVuIGxlZXJlbiBQbG90IHp1bSBHcmFwaCBoaW56dXp1ZvxnZW4uJywwKSwKMjUwMTIgPT4gYXJyYXkoJ0dyYXBoOjpBZGRZTigpIER1IGhhc3QgdmVyc3VjaHQsIGVpbmVuIGxlZXJlbiBQbG90IHp1bSBHcmFwaCBoaW56dXp1ZvxnZW4uJywwKSwKMjUwMTMgPT4gYXJyYXkoJ0VzIGv2bm5lbiBudXIgU3RhbmRhcmQtUGxvdHMgenUgbXVsdGlwbGVuIFktQWNoc2VuIGhpbnp1Z2Vm/Gd0IHdlcmRlbicsMCksCjI1MDE0ID0+IGFycmF5KCdHcmFwaDo6QWRkVGV4dCgpIER1IGhhc3QgdmVyc3VjaHQsIGVpbmVuIGxlZXJlbiBUZXh0IHp1bSBHcmFwaCBoaW56dXp1ZvxnZW4uJywwKSwKMjUwMTUgPT4gYXJyYXkoJ0dyYXBoOjpBZGRMaW5lKCkgRHUgaGFzdCB2ZXJzdWNodCwgZWluZSBsZWVyZSBMaW5pZSB6dW0gR3JhcGggaGluenV6dWb8Z2VuLicsMCksCjI1MDE2ID0+IGFycmF5KCdHcmFwaDo6QWRkQmFuZCgpIER1IGhhc3QgdmVyc3VjaHQsIGVpbiBsZWVyZXMgQmFuZCB6dW0gR3JhcGggaGluenV6dWb8Z2VuLicsMCksCjI1MDE3ID0+IGFycmF5KCdEdSBiZW51dHp0IEdEIDIueCB1bmQgdmVyc3VjaHN0LCBlaW4gSGludGVyZ3J1bmRiaWxkIGluIGVpbmVtIFRydWVjb2xvci1CaWxkIHp1IHZlcndlbmRlbi4gVW0gSGludGVyZ3J1bmRiaWxkZXIgbWl0IEdEIDIueCB6dSB2ZXJ3ZW5kZW4sIGlzdCBlcyBub3R3ZW5kaWcsIFRydWVjb2xvciB6dSBha3RpdmllcmVuLCBpbmRlbSBkaWUgVVNFX1RSVUVDT0xPUi1Lb25zdGFudGUgYXVmIFRSVUUgZ2VzZXR6dCB3aXJkLiBXZWdlbiBlaW5lcyBCdWdzIGluIEdEIDIuMC4xIGlzdCBkaWUgUXVhbGl05HQgZGVyIFNjaHJpZnQgc2VociBzY2hsZWNodCwgd2VubiBUcnVldHlwZS1TY2hyaWZ0IGluIFRydWVjb2xvci1CaWxkZXJuIHZlcndlbmRldCB3ZXJkZW4uJywwKSwKMjUwMTggPT4gYXJyYXkoJ0ZhbHNjaGVyIERhdGVpbmFtZSBm/HIgR3JhcGg6OlNldEJhY2tncm91bmRJbWFnZSgpIDogIiVzIiBtdXNzIGVpbmUgZ/xsdGlnZSBEYXRlaW5hbWVuZXJ3ZWl0ZXJ1bmcgKGpwZyxnaWYscG5nKSBoYWJlbiwgd2VubiBkaWUgYXV0b21hdGlzY2hlIERhdGVpdHlwZXJrZW5udW5nIHZlcndlbm5kZXQgd2VyZGVuIHNvbGwuJywxKSwKMjUwMTkgPT4gYXJyYXkoJ1VuYmVrYW5udGUgRGF0ZWluYW1lbmVyd2VpdGVydW5nICglcykgaW4gR3JhcGg6OlNldEJhY2tncm91bmRJbWFnZSgpIGb8ciBEYXRlaW5hbWU6ICIlcyInLDIpLAoKMjUwMjAgPT4gYXJyYXkoJ0dyYXBoOjpTZXRTY2FsZSgpOiBEYXIgTWF4aW1hbHdlcnQgbXVzcyBncvbfZXIgc2VpbiBhbHMgZGVyIE1pbmRlc3R3ZXJ0LicsMCksCjI1MDIxID0+IGFycmF5KCdVbmJla2FubnRlIEFjaHNlbmRlZmluaXRpb24gZvxyIGRpZSBZLUFjaHNlLiAoJXMpJywxKSwKMjUwMjIgPT4gYXJyYXkoJ1VuYmVrYW5udGUgQWNoc2VuZGVmaW5pdGlvbiBm/HIgZGllIFgtQWNoc2UuICglcyknLDEpLAoyNTAyMyA9PiBhcnJheSgnTmljaHQgdW50ZXJzdPx0enRlciBZMi1BY2hzZW50eXA6ICIlcyIgbXVzcyBlaW5lciB2b24gKGxpbixsb2csaW50KSBzZWluLicsMSksCjI1MDI0ID0+IGFycmF5KCdOaWNodCB1bnRlcnN0/HR6dGVyIFgtQWNoc2VudHlwOiAiJXMiIG11c3MgZWluZXIgdm9uIChsaW4sbG9nLGludCkgc2Vpbi4nLDEpLAoyNTAyNSA9PiBhcnJheSgnTmljaHQgdW50ZXJzdPx0enRlIFRpY2stRGljaHRlOiAlZCcsMSksCjI1MDI2ID0+IGFycmF5KCdOaWNodCB1bnRlcnN0/HR6dGVyIFR5cCBkZXIgbmljaHQgYW5nZWdlYmVuZW4gWS1BY2hzZS4gRHUgaGFzdCBlbnR3ZWRlcjogMS4gZWluZW4gWS1BY2hzZW50eXAgZvxyIGF1dG9tYXRpc2NoZXMgU2thbGllcmVuIGRlZmluaWVydCwgYWJlciBrZWluZSBQbG90cyBhbmdlZ2ViZW4uIDIuIGVpbmUgQWNoc2UgZGlyZWt0IGRlZmluaWVydCwgYWJlciB2ZXJnZXNzZW4sIGRpZSBUaWNrLURpY2h0ZSB6dSBmZXN0enVsZWdlbi4nLDApLAoyNTAyNyA9PiBhcnJheSgnS2FubiBjYWNoZWQgQ1NJTSAiJXMiIHp1bSBMZXNlbiBuaWNodCD2ZmZuZW4uJywxKSwKMjUwMjggPT4gYXJyYXkoJ0FwYWNoZS9QSFAgaGF0IGtlaW5lIFNjaHJlaWJyZWNodGUsIGluIGRhcyBDU0lNLUNhY2hlLVZlcnplaWNobmlzICglcykgenUgc2NocmVpYmVuLiDcYmVycHL8ZmUgZGllIFJlY2h0ZS4nLDEpLAoyNTAyOSA9PiBhcnJheSgnS2FubiBuaWNodCBpbiBkYXMgQ1NJTSAiJXMiIHNjaHJlaWJlbi4g3GJlcnBy/GZlIGRpZSBTY2hyZWlicmVjaHRlIHVuZCBkZW4gZnJlaWVuIFNwZWljaGVycGxhdHouJywxKSwKCjI1MDMwID0+IGFycmF5KCdGZWhsZW5kZXIgU2tyaXB0bmFtZSBm/HIgU3Ryb2tlQ1NJTSgpLiBEZXIgTmFtZSBkZXMgYWt0dWVsbGVuIFNrcmlwdGVzIG11c3MgYWxzIGVyc3RlciBQYXJhbWV0ZXIgdm9uIFN0cm9rZUNTSU0oKSBhbmdlZ2ViZW4gd2VyZGVuLicsMCksCjI1MDMxID0+IGFycmF5KCdEZXIgQWNoc2VudHlwIG11c3MgbWl0dGVscyBHcmFwaDo6U2V0U2NhbGUoKSBhbmdlZ2ViZW4gd2VyZGVuLicsMCksCjI1MDMyID0+IGFycmF5KCdFcyBleGlzdGllcmVuIGtlaW5lIFBsb3RzIGb8ciBkaWUgWS1BY2hzZSBuYnI6JWQnLDEpLAoyNTAzMyA9PiBhcnJheSgnJywwKSwKMjUwMzQgPT4gYXJyYXkoJ1VuZGVmaW5pZXJ0ZSBYLUFjaHNlIGthbm4gbmljaHQgZ2V6ZWljaG5ldCB3ZXJkZW4uIEVzIHd1cmRlbiBrZWluZSBQbG90cyBkZWZpbmllcnQuJywwKSwKMjUwMzUgPT4gYXJyYXkoJ0R1IGhhc3QgQ2xpcHBpbmcgYWt0aXZpZXJ0LiBDbGlwcGluZyB3aXJkIG51ciBm/HIgRGlhZ3JhbW1lIG1pdCAwIG9kZXIgOTAgR3JhZCBSb3RhdGlvbiB1bnRlcnN0/HR6dC4gQml0dGUgdmVy5G5kZXJlIERlaW5lbiBSb3RhdGlvbnN3aW5rZWwgKD0lZCBHcmFkKSBkZW1lbnRzcHJlY2hlbmQgb2RlciBkZWFrdGl2aWVyZSBDbGlwcGluZy4nLDEpLAoyNTAzNiA9PiBhcnJheSgnVW5iZWthbm50ZXIgQWNoc2VudHlwIEF4aXNTdHlsZSgpIDogJXMnLDEpLAoyNTAzNyA9PiBhcnJheSgnRGFzIEJpbGRmb3JtYXQgRGVpbmVzIEhpbnRlcmdydW5kYmlsZGVzICglcykgd2lyZCB2b24gRGVpbmVyIFN5c3RlbS1Lb25maWd1cmF0aW9uIG5pY2h0IHVudGVyc3T8dHp0LiAnLDEpLAoyNTAzOCA9PiBhcnJheSgnRGFzIEhpbnRlcmdydW5kYmlsZCBzY2hlaW50IHZvbiBlaW5lbSBhbmRlcmVuIFR5cCAodW50ZXJzY2hpZWRsaWNoZSBEYXRlaWVyd2VpdGVydW5nKSB6dSBzZWluIGFscyBkZXIgYW5nZWdlYmVuZSBUeXAuIEFuZ2VnZWJlbmVuOiAlczsgRGF0ZWk6ICVzJywyKSwKMjUwMzkgPT4gYXJyYXkoJ0hpbnRlcmdydW5kYmlsZCBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuOiAiJXMiJywxKSwKCjI1MDQwID0+IGFycmF5KCdFcyBpc3QgbmljaHQgbfZnbGljaCwgc293b2hsIGVpbiBIaW50ZXJncnVuZGJpbGQgYWxzIGF1Y2ggZWluZSBIaW50ZXJncnVuZC1MYW5kZXNmbGFnZ2UgYW56dWdlYmVuLicsMCksCjI1MDQxID0+IGFycmF5KCdVbSBMYW5kZXNmbGFnZ2VuIGFscyBIaW50ZXJncnVuZCBiZW51dHplbiB6dSBr9m5uZW4sIG11c3MgZGllIERhdGVpICJqcGdyYXBoX2ZsYWdzLnBocCIgZWluZ2Vm/Gd0IHdlcmRlbiAocGVyIGluY2x1ZGUpLicsMCksCjI1MDQyID0+IGFycmF5KCdVbmJla2FubnRlcyBIaW50ZXJncnVuZGJpbGQtTGF5b3V0JywwKSwKMjUwNDMgPT4gYXJyYXkoJ1VuYmVrYW5udGVyIFRpdGVsaGludGVyZ3J1bmQtU3RpbC4nLDApLAoyNTA0NCA9PiBhcnJheSgnQXV0b21hdGlzY2hlcyBTa2FsaWVyZW4ga2FubiBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLCB3ZWlsIGVzIHVubfZnbGljaCBpc3QsIGVpbmVuIGf8bHRpZ2VuIG1pbi9tYXggV2VydCBm/HIgZGllIFktQWNoc2UgenUgZXJtaXR0ZWxuIChudXIgTnVsbC1XZXJ0ZSkuJywwKSwKMjUwNDUgPT4gYXJyYXkoJ0RpZSBTY2hyaWZ0ZmFtaWxpZW4gRkZfSEFORFdSVCB1bmQgRkZfQk9PSyBzaW5kIHdlZ2VuIENvcHlyaWdodC1Qcm9ibGVtZW4gbmljaHQgbWVociB2ZXJm/GdiYXIuIERpZXNlIFNjaHJpZnRlbiBr9m5uZW4gbmljaHQgbWVociBtaXQgSnBHcmFwaCB2ZXJ0ZWlsdCB3ZXJkZW4uIEJpdHRlIGxhZGUgRGlyIFNjaHJpZnRlbiB2b24gaHR0cDovL2NvcmVmb250cy5zb3VyY2Vmb3JnZS5uZXQvIGhlcnVudGVyLicsMCksCjI1MDQ2ID0+IGFycmF5KCdBbmdlZ2ViZW5lIFRURi1TY2hyaWZ0ZmFtaWxpZSAoaWQ9JWQpIGlzdCB1bmJla2FubnQgb2RlciBleGlzdGllcnQgbmljaHQuIEJpdHRlIG1lcmtlIERpciwgZGFzcyBUVEYtU2NocmlmdGVuIHdlZ2VuIENvcHlyaWdodC1Qcm9ibGVtZW4gbmljaHQgbWl0IEpwR3JhcGggbWl0Z2VsaWVmZXJ0IHdlcmRlbi4gRHUgZmluZGVzdCBNUy1UVEYtSW50ZXJuZXRzY2hyaWZ0ZW4gKGFyaWFsLCBjb3VyaWVyLCBldGMuKSB6dW0gSGVydW50ZXJsYWRlbiB1bnRlciBodHRwOi8vY29yZWZvbnRzLnNvdXJjZWZvcmdlLm5ldC8nLDEpLAoyNTA0NyA9PiBhcnJheSgnU3RpbCAlcyBpc3QgbmljaHQgdmVyZvxnYmFyIGb8ciBTY2hyaWZ0ZmFtaWxpZSAlcycsMiksCjI1MDQ4ID0+IGFycmF5KCdVbmJla2FubnRlIFNjaHJpZnRzdGlsZGVmaW5pdGlvbiBbJXNdLicsMSksCjI1MDQ5ID0+IGFycmF5KCdTY2hyaWZ0ZGF0ZWkgIiVzIiBpc3QgbmljaHQgbGVzYmFyIG9kZXIgZXhpc3RpZXJ0IG5pY2h0LicsMSksCgoyNTA1MCA9PiBhcnJheSgnRXJzdGVzIEFyZ3VtZW50IGb8ciBUZXh0OjpUZXh0KCkgbXVzcyBlaW4gU3RyaW5nIHNlaW4uJywwKSwKMjUwNTEgPT4gYXJyYXkoJ1VuZ/xsdGlnZSBSaWNodHVuZyBhbmdlZ2ViZW4gZvxyIFRleHQuJywwKSwKMjUwNTIgPT4gYXJyYXkoJ1BBTklLOiBJbnRlcm5lciBGZWhsZXIgaW4gU3VwZXJTY3JpcHQ6OlN0cm9rZSgpLiBVbmJla2FubnRlIHZlcnRpa2FsZSBBdXNyaWNodHVuZyBm/HIgVGV4dC4nLDApLAoyNTA1MyA9PiBhcnJheSgnUEFOSUs6IEludGVybmVyIEZlaGxlciBpbiBTdXBlclNjcmlwdDo6U3Ryb2tlKCkuIFVuYmVrYW5udGUgaG9yaXpvbnRhbGUgQXVzcmljaHR1bmcgZvxyIFRleHQuJywwKSwKMjUwNTQgPT4gYXJyYXkoJ0ludGVybmVyIEZlaGxlcjogVW5iZWthbm50ZSBHcmlkLUFjaHNlICVzJywxKSwKMjUwNTUgPT4gYXJyYXkoJ0F4aXM6OlNldFRpY2tEaXJlY3Rpb24oKSBzb2xsdGUgbmljaHQgbWVociB2ZXJ3ZW5kZXQgd2VyZGVuLiBCZW51dHplIHN0YXR0ZGVzc2VuIEF4aXM6OlNldFRpY2tTaWRlKCkuJywwKSwKMjUwNTYgPT4gYXJyYXkoJ1NldFRpY2tMYWJlbE1hcmdpbigpIHNvbGx0ZSBuaWNodCBtZWhyIHZlcndlbmRldCB3ZXJkZW4uIEJlbnV0emUgc3RhdHRkZXNzZW4gQXhpczo6U2V0TGFiZWxNYXJnaW4oKS4nLDApLAoyNTA1NyA9PiBhcnJheSgnU2V0VGV4dFRpY2tzKCkgc29sbHRlIG5pY2h0IG1laHIgdmVyd2VuZGV0IHdlcmRlbi4gQmVudXR6ZSBzdGF0dGRlc3NlbiBTZXRUZXh0VGlja0ludGVydmFsKCkuJywwKSwKMjUwNTggPT4gYXJyYXkoJ1RleHRMYWJlbEludGV2YWxsID49IDEgbXVzcyBhbmdlZ2ViZW4gd2VyZGVuLicsMCksCjI1MDU5ID0+IGFycmF5KCdTZXRMYWJlbFBvcygpIHNvbGx0ZSBuaWNodCBtZWhyIHZlcndlbmRldCB3ZXJkZW4uIEJlbnV0emUgc3RhdHRkZXNzZW4gQXhpczo6U2V0TGFiZWxTaWRlKCkuJywwKSwKCjI1MDYwID0+IGFycmF5KCdVbmJla2FubnRlIEF1c3JpY2h0dW5nIGFuZ2VnZWJlbiBm/HIgWC1BY2hzZW50aXRlbCAoJXMpLicsMSksCjI1MDYxID0+IGFycmF5KCdVbmJla2FubnRlIEF1c3JpY2h0dW5nIGFuZ2VnZWJlbiBm/HIgWS1BY2hzZW50aXRlbCAoJXMpLicsMSksCjI1MDYyID0+IGFycmF5KCdMYWJlbCB1bnRlciBlaW5lbSBXaW5rZWwgd2VyZGVuIGb8ciBkaWUgWS1BY2hzZSBuaWNodCB1bnRlcnN0/HR6dC4nLDApLAoyNTA2MyA9PiBhcnJheSgnVGlja3M6OlNldFByZWNpc2lvbigpIHNvbGx0ZSBuaWNodCBtZWhyIHZlcndlbmRldCB3ZXJkZW4uIEJlbnV0emUgc3RhdHRkZXNzZW4gVGlja3M6OlNldExhYmVsRm9ybWF0KCkgKG9kZXIgVGlja3M6OlNldEZvcm1hdENhbGxiYWNrKCkpLicsMCksCjI1MDY0ID0+IGFycmF5KCdLbGVpbmVyZSBvZGVyIGdy9t9lcmUgU2Nocml0dGdy9t9lIGlzdCAwLiDcYmVycHL8ZmUsIG9iIER1IGbkbHNjaGxpY2hlcndlaXNlIFNldFRleHRUaWNrcygwKSBpbiBEZWluZW0gU2tyaXB0IGhhc3QuIFdlbm4gZGllcyBuaWNodCBkZXIgRmFsbCBpc3QsIGJpc3QgRHUgZXZlbnR1ZWxsIPxiZXIgZWluZW4gQnVnIGluIEpwR3JhcGggZ2VzdG9scGVydC4gQml0dGUgc2VuZGUgZWluZW4gUmVwb3J0IHVuZCBm/GdlIGRlbiBDb2RlIGFuLCBkZXIgZGVuIEZlaGxlciB2ZXJ1cnNhY2h0IGhhdC4nLDApLAoyNTA2NSA9PiBhcnJheSgnVGljay1Qb3NpdGlvbmVuIG38c3NlbiBhbHMgYXJyYXkoKSBhbmdlZ2ViZW4gd2VyZGVuJywwKSwKMjUwNjYgPT4gYXJyYXkoJ1dlbm4gZGllIFRpY2stUG9zaXRpb25lbiB1bmQgLUxhYmVsIHZvbiBIYW5kIGVpbmdlZ2ViZW4gd2VyZGVuLCBtdXNzIGRpZSBBbnphaGwgZGVyIFRpY2tzIHVuZCBkZXIgTGFiZWwgZ2xlaWNoIHNlaW4uJywwKSwKMjUwNjcgPT4gYXJyYXkoJ0RlaW5lIHZvbiBIYW5kIGVpbmdlZ2ViZW5lIEFjaHNlIHVuZCBUaWNrcyBzaW5kIG5pY2h0IGtvcnJla3QuIERpZSBTa2FsYSBzY2hlaW50IHp1IGtsZWluIHp1IHNlaW4gZvxyIGRlbiBUaWNrYWJzdGFuZC4nLDApLAoyNTA2OCA9PiBhcnJheSgnRWluIFBsb3QgaGF0IGVpbmUgdW5n/Gx0aWdlIEFjaHNlLiBEaWVzIGthbm4gYmVpc3BpZWxzd2Vpc2UgZGVyIEZhbGwgc2Vpbiwgd2VubiBEdSBhdXRvbWF0aXNjaGVzIFRleHQtU2thbGllcmVuIHZlcndlbmRlc3QsIHVtIGVpbiBMaW5pZW5kaWFncmFtbSB6dSB6ZWljaG5lbiBtaXQgbnVyIGVpbmVtIERhdGVucHVua3QsIG9kZXIgd2VubiBkaWUgQmlsZGZs5GNoZSB6dSBrbGVpbiBpc3QuIEVzIGthbm4gYXVjaCBkZXIgRmFsbCBzZWluLCBkYXNzIGtlaW4gRGF0ZW5wdW5rdCBlaW5lbiBudW1lcmlzY2hlbiBXZXJ0IGhhdCAodmllbGxlaWNodCBudXIgXCctXCcgb2RlciBcJ3hcJykuJywwKSwKMjUwNjkgPT4gYXJyYXkoJ0dyYWNlIG11c3MgZ3L232VyIHNlaW4gYWxzIDAnLDApLAoKMjUwNzAgPT4gYXJyYXkoJ0RlaW5lIERhdGVuIGVudGhhbHRlbiBuaWNodC1udW1lcmlzY2hlIFdlcnRlLicsMCksCjI1MDcxID0+IGFycmF5KCdEdSBoYXN0IG1pdCBTZXRBdXRvTWluKCkgZWluZW4gTWluZGVzdHdlcnQgYW5nZWdlYmVuLCBkZXIgZ3L232VyIGlzdCBhbHMgZGVyIE1heGltYWx3ZXJ0IGb8ciBkaWUgQWNoc2UuIERpZXMgaXN0IG5pY2h0IG32Z2xpY2guJywwKSwKMjUwNzIgPT4gYXJyYXkoJ0R1IGhhc3QgbWl0IFNldEF1dG9NYXgoKSBlaW5lbiBNYXhpbWFsd2VydCBhbmdlZ2ViZW4sIGRlciBrbGVpbmVyIGlzdCBhbHMgZGVyIE1pbmltYWx3ZXJ0IGRlciBBY2hzZS4gRGllcyBpc3QgbmljaHQgbfZnbGljaC4nLDApLAoyNTA3MyA9PiBhcnJheSgnSW50ZXJuZXIgRmVobGVyLiBEZXIgSW50ZWdlci1Ta2FsaWVydW5ncy1BbGdvcml0aG11cy1WZXJnbGVpY2ggaXN0IGF132VyaGFsYiBkZXIgR3JlbnplbiAgKHI9JWYpLicsMSksCjI1MDc0ID0+IGFycmF5KCdJbnRlcm5lciBGZWhsZXIuIERlciBTa2FsaWVydW5nc2JlcmVpY2ggaXN0IG5lZ2F0aXYgKCVmKSBbZvxyICVzIEFjaHNlXS4gRGllc2VzIFByb2JsZW0ga/ZubnRlIHZlcnVyc2FjaHQgd2VyZGVuIGR1cmNoIGRlbiBWZXJzdWNoLCBcJ3VuZ/xsdGlnZVwnIFdlcnRlIGluIGRpZSBEYXRlbi1WZWt0b3JlbiBlaW56dWdlYmVuICh6LkIuIG51ciBTdHJpbmctIG9kZXIgTlVMTC1XZXJ0ZSksIHdhcyBiZWltIGF1dG9tYXRpc2NoZW4gU2thbGllcmVuIGVpbmVuIEZlaGxlciBlcnpldWd0LicsMiksCjI1MDc1ID0+IGFycmF5KCdEaWUgYXV0b21hdGlzY2hlbiBUaWNrcyBr9m5uZW4gbmljaHQgZ2VzZXR6dCB3ZXJkZW4sIHdlaWwgbWluPT1tYXguJywwKSwKMjUwNzcgPT4gYXJyYXkoJ0VpbnN0ZWxsZmFrdG9yIGb8ciBkaWUgRmFyYmUgbXVzcyBncvbfZXIgc2VpbiBhbHMgMCcsMCksCjI1MDc4ID0+IGFycmF5KCdVbmJla2FubnRlIEZhcmJlOiAlcycsMSksCjI1MDc5ID0+IGFycmF5KCdVbmJla2FubnRlIEZhcmJkZWZpbml0aW9uOiAlcywgR3L232U9JWQnLDIpLAoKMjUwODAgPT4gYXJyYXkoJ0RlciBBbHBoYS1QYXJhbWV0ZXIgZvxyIEZhcmJlbiBtdXNzIHp3aXNjaGVuIDAuMCB1bmQgMS4wIGxpZWdlbi4nLDApLAoyNTA4MSA9PiBhcnJheSgnRGFzIGF1c2dld+RobHRlIEdyYWZpa2Zvcm1hdCB3aXJkIGVudHdlZGVyIG5pY2h0IHVudGVyc3T8dHp0IG9kZXIgaXN0IHVuYmVrYW5udCBbJXNdJywxKSwKMjUwODIgPT4gYXJyYXkoJ0VzIHd1cmRlbiB1bmf8bHRpZ2UgR3L232VuIGb8ciBCcmVpdGUgdW5kIEj2aGUgYmVpbSBFcnN0ZWxsZW4gZGVzIEJpbGRlcyBkZWZpbmllcnQgKEJyZWl0ZT0lZCwgSPZoZT0lZCkuJywyKSwKMjUwODMgPT4gYXJyYXkoJ0VzIHd1cmRlIGVpbmUgdW5n/Gx0aWdlIEdy9t9lIGJlaW0gS29waWVyZW4gZGVzIEJpbGRlcyBhbmdlZ2ViZW4uIERpZSBHcvbfZSBm/HIgZGFzIGtvcGllcnRlIEJpbGQgd3VyZGUgYXVmIDEgUGl4ZWwgb2RlciB3ZW5pZ2VyIGdlc2V0enQuJywwKSwKMjUwODQgPT4gYXJyYXkoJ0ZlaGxlciBiZWltIEVyc3RlbGxlbiBlaW5lcyB0ZW1wb3LkcmVuIEdELUNhbnZhcy4gTfZnbGljaGVyd2Vpc2UgbGllZ3QgZWluIEFyYmVpdHNzcGVpY2hlcnByb2JsZW0gdm9yLicsMCksCjI1MDg1ID0+IGFycmF5KCdFaW4gQmlsZCBrYW5uIG5pY2h0IGF1cyBkZW0gYW5nZWdlYmVuZW4gU3RyaW5nIGVyemV1Z3Qgd2VyZGVuLiBFciBpc3QgZW50d2VkZXIgaW4gZWluZW0gbmljaHQgdW50ZXJzdPx0emVuIEZvcm1hdCBvZGVyIGVyIHJlcHJlc+RudGllcnQgZWluIGthcHV0dGVzIEJpbGQuJywwKSwKMjUwODYgPT4gYXJyYXkoJ0R1IHNjaGVpbnN0IG51ciBHRCAxLnggaW5zdGFsbGllcnQgenUgaGFiZW4uIFVtIEFscGhhYmxlbmRpbmcgenUgYWt0aXZpZXJlbiwgaXN0IEdEIDIueCBvZGVyIGj2aGVyIG5vdHdlbmRpZy4gQml0dGUgaW5zdGFsbGllcmUgR0QgMi54IG9kZXIgdmVyc2ljaGVyZSBEaWNoLCBkYXNzIGRpZSBLb25zdGFudGUgVVNFX0dEMiByaWNodGlnIGdlc2V0enQgaXN0LiBTdGFuZGFyZG3k32lnIHdpcmQgZGllIGluc3RhbGxpZXJ0ZSBHRC1WZXJzaW9uIGF1dG9tYXRpc2NoIGVya2FubnQuIEdhbnogc2VsdGVuIHdpcmQgR0QyIGVya2FubnQsIG9id29obCBudXIgR0QxIGluc3RhbGxpZXJ0IGlzdC4gRGllIEtvbnN0YW50ZSBVU0VfR0QyIG11c3MgZGFubiB6dSAiZmFsc2UiIGdlc2V0enQgd2VyZGVuLicsMCksCjI1MDg3ID0+IGFycmF5KCdEaWVzZSBQSFAtVmVyc2lvbiB3dXJkZSBvaG5lIFRURi1VbnRlcnN0/HR6dW5nIGtvbmZpZ3VyaWVydC4gUEhQIG11c3MgbWl0IFRURi1VbnRlcnN0/HR6dW5nIG5ldSBrb21waWxpZXJ0IHVuZCBpbnN0YWxsaWVydCB3ZXJkZW4uJywwKSwKMjUwODggPT4gYXJyYXkoJ0RpZSBHRC1TY2hyaWZ0dW50ZXJzdPx0enVuZyB3dXJkZSBmYWxzY2gga29uZmlndXJpZXJ0LiBEZXIgQXVmcnVmIHZvbiBpbWFnZWZvbnR3aWR0aCgpIGlzdCBmZWhsZXJoYWZ0LicsMCksCjI1MDg5ID0+IGFycmF5KCdEaWUgR0QtU2NocmlmdHVudGVyc3T8dHp1bmcgd3VyZGUgZmFsc2NoIGtvbmZpZ3VyaWVydC4gRGVyIEF1ZnJ1ZiB2b24gaW1hZ2Vmb250aGVpZ2h0KCkgaXN0IGZlaGxlcmhhZnQuJywwKSwKCjI1MDkwID0+IGFycmF5KCdVbmJla2FubnRlIFJpY2h0dW5nIGFuZ2VnZWJlbiBpbSBBdWZydWYgdm9uIFN0cm9rZUJveGVkVGV4dCgpIFslc10uJywxKSwKMjUwOTEgPT4gYXJyYXkoJ0RpZSBpbnRlcm5lIFNjaHJpZnQgdW50ZXN0/HR6dCBkYXMgU2NocmVpYmVuIHZvbiBUZXh0IGluIGVpbmVtIGJlbGllYmlnZW4gV2lua2VsIG5pY2h0LiBCZW51dHplIHN0YXR0ZGVzc2VuIFRURi1TY2hyaWZ0ZW4uJywwKSwKMjUwOTIgPT4gYXJyYXkoJ0VzIGxpZWd0IGVudHdlZGVyIGVpbiBLb25maWd1cmF0aW9uc3Byb2JsZW0gbWl0IFRydWVUeXBlIG9kZXIgZWluIFByb2JsZW0gYmVpbSBMZXNlbiBkZXIgU2NocmlmdGRhdGVpICIlcyIgdm9yLiBWZXJzaWNoZXJlIERpY2gsIGRhc3MgZGllIERhdGVpIGV4aXN0aWVydCB1bmQgTGVzZXJlY2h0ZSB1bmQgLXBmYWQgdmVyZ2ViZW4gc2luZC4gKHdlbm4gXCdiYXNlZGlyXCcgcmVzdHJpY3Rpb24gaW4gUEhQIGFrdGl2aWVydCBpc3QsIG11c3MgZGllIFNjaHJpZnRkYXRlaSBpbSBEb2t1bWVudHd1cnplbHZlcnplaWNobmlzIGFiZ2VsZWd0IHdlcmRlbikuIE32Z2xpY2hlcndlaXNlIGlzdCBkaWUgRnJlZVR5cGUtQmlibGlvdGhlayBmYWxzY2ggaW5zdGFsbGllcnQuIFZlcnN1Y2hlLCBtaW5kZXN0ZW5zIHp1ciBGcmVlVHlwZS1WZXJzaW9uIDIuMS4xMyB6dSBha3R1YWxpc2llcmVuIHVuZCBrb21waWxpZXJlIEdEIG1pdCBlaW5lbSBrb3JyZWt0ZW4gU2V0dXAgbmV1LCBkYW1pdCBkaWUgRnJlZVR5cGUtQmlibGlvdGhlayBnZWZ1bmRlbiB3ZXJkZW4ga2Fubi4nLDEpLAoyNTA5MyA9PiBhcnJheSgnRGllIFNjaHJpZnRkYXRlaSAiJXMiIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4gYmVpbSBBdWZydWYgdm9uIEltYWdlOjpHZXRCQm94VFRGLiBCaXR0ZSB2ZXJzaWNoZXJlIERpY2gsIGRhc3MgZGllIFNjaHJpZnQgZ2VzZXR6dCB3dXJkZSwgYmV2b3IgZGllc2UgTWV0aG9kZSBhdWZnZXJ1ZmVuIHdpcmQsIHVuZCBkYXNzIGRpZSBTY2hyaWZ0IGltIFRURi1WZXJ6ZWljaG5pcyBpbnN0YWxsaWVydCBpc3QuJywxKSwKMjUwOTQgPT4gYXJyYXkoJ0RpZSBUZXh0cmljaHR1bmcgbXVzcyBpbiBlaW5lbSBXaW5rZWwgendpc2NoZW4gMCB1bmQgOTAgZW5nZWdlYmVuIHdlcmRlbi4nLDApLAoyNTA5NSA9PiBhcnJheSgnVW5iZWthbm50ZSBTY2hyaWZ0ZmFtaWxpZW4tRGVmaW5pdGlvbi4gJywwKSwKMjUwOTYgPT4gYXJyYXkoJ0RlciBGYXJicGFsZXR0ZSBr9m5uZW4ga2VpbmUgd2VpdGVyZW4gRmFyYmVuIHp1Z2V3aWVzZW4gd2VyZGVuLiBEZW0gQmlsZCB3dXJkZSBiZXJlaXRzIGRpZSBncvbfdG32Z2xpY2hlIEFuemFobCB2b24gRmFyYmVuICglZCkgenVnZXdpZXNlbiB1bmQgZGllIFBhbGV0dGUgaXN0IHZvbGwuIFZlcndlbmRlIHN0YXR0ZGVzc2VuIGVpbiBUcnVlQ29sb3ItQmlsZCcsMCksCjI1MDk3ID0+IGFycmF5KCdFaW5lIEZhcmJlIHd1cmRlIGFscyBsZWVyZXIgU3RyaW5nIGltIEF1ZnJ1ZiB2b24gUHVzaENvbG9yKCkgYW5nZWdlZ2ViZW4uJywwKSwKMjUwOTggPT4gYXJyYXkoJ05lZ2F0aXZlciBGYXJiaW5kZXguIFVucGFzc2VuZGVyIEF1ZnJ1ZiB2b24gUG9wQ29sb3IoKS4nLDApLAoyNTA5OSA9PiBhcnJheSgnRGllIFBhcmFtZXRlciBm/HIgSGVsbGlna2VpdCB1bmQgS29udHJhc3Qgc2luZCBhdd9lcmhhbGIgZGVzIHp1bORzc2lnZW4gQmVyZWljaHMgWy0xLDFdJywwKSwKCjI1MTAwID0+IGFycmF5KCdFcyBsaWVndCBlaW4gUHJvYmxlbSBtaXQgZGVyIEZhcmJwYWxldHRlIHVuZCBkZW0gR0QtU2V0dXAgdm9yLiBCaXR0ZSBkZWFrdGl2aWVyZSBhbnRpLWFsaWFzaW5nIG9kZXIgdmVyd2VuZGUgR0QyIG1pdCBUcnVlQ29sb3IuIFdlbm4gZGllIEdEMi1CaWJsaW90aGVrIGluc3RhbGxpZXJ0IGlzdCwgdmVyc2ljaGVyZSBEaWNoLCBkYXNzIGRpZSBLb25zdGFudGUgVVNFX0dEMiBhdWYgInRydWUiIGdlc2V0enQgdW5kIFRydWVDb2xvciBha3RpdmllcnQgaXN0LicsMCksCjI1MTAxID0+IGFycmF5KCdVbmf8bHRpZ2VzIG51bWVyaXNjaGVzIEFyZ3VtZW50IGb8ciBTZXRMaW5lU3R5bGUoKTogKCVkKScsMSksCjI1MTAyID0+IGFycmF5KCdVbmf8bHRpZ2VzIFN0cmluZy1Bcmd1bWVudCBm/HIgU2V0TGluZVN0eWxlKCk6ICVzJywxKSwKMjUxMDMgPT4gYXJyYXkoJ1VuZ/xsdGlnZXMgQXJndW1lbnQgZvxyIFNldExpbmVTdHlsZSAlcycsMSksCjI1MTA0ID0+IGFycmF5KCdVbmJla2FubnRlciBMaW5pZW50eXA6ICVzJywxKSwKMjUxMDUgPT4gYXJyYXkoJ0VzIHd1cmRlbiBOVUxMLURhdGVuIGb8ciBlaW4gZ2Vm/GxsdGVzIFBvbHlnb24gYW5nZWdlYmVuLiBTb3JnZSBkYWb8ciwgZGFzcyBrZWluZSBOVUxMLURhdGVuIGFuZ2VnZWJlbiB3ZXJkZW4uJywwKSwKMjUxMDYgPT4gYXJyYXkoJ0ltYWdlOjpGaWxsVG9Cb3JkZXIgOiBlcyBr9m5uZW4ga2VpbmUgd2VpdGVyZW4gRmFyYmVuIHp1Z2V3aWVzZW4gd2VyZGVuLicsMCksCjI1MTA3ID0+IGFycmF5KCdJbiBEYXRlaSAiJXMiIGthbm4gbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuLiDcYmVycHL8ZmUgZGllIGFrdHVlbGxlbiBTY2hyZWlicmVjaHRlLicsMSksCjI1MTA4ID0+IGFycmF5KCdEYXMgQmlsZCBrYW5uIG5pY2h0IGdlc3RyZWFtdCB3ZXJkZW4uIE32Z2xpY2hlcndlaXNlIGxpZWd0IGVpbiBGZWhsZXIgaW0gUEhQL0dELVNldHVwIHZvci4gS29tcGlsaWVyZSBQSFAgbmV1IHVuZCB2ZXJ3ZW5kZSBkaWUgZWluZ2ViYXV0ZSBHRC1CaWJsaW90aGVrLCBkaWUgbWl0IFBIUCBhbmdlYm90ZW4gd2lyZC4nLDApLAoyNTEwOSA9PiBhcnJheSgnRGVpbmUgUEhQLSAodW5kIEdELWxpYi0pIEluc3RhbGxhdGlvbiBzY2hlaW50IGtlaW5lIGJla2FubnRlbiBHcmFmaWtmb3JtYXRlIHp1IHVudGVyc3T8dHplbi4gU29yZ2UgenVu5GNoc3QgZGFm/HIsIGRhc3MgR0QgYWxzIFBIUC1Nb2R1bCBrb21waWxpZXJ0IGlzdC4gV2VubiBEdSBhdd9lcmRlbSBKUEVHLUJpbGRlciB2ZXJ3ZW5kZW4gd2lsbHN0LCBtdXNzdCBEdSBkaWUgSlBFRy1CaWJsaW90aGVrIGluc3RhbGxpZXJlbi4gV2VpdGVyZSBEZXRhaWxzIHNpbmQgaW4gZGVyIFBIUC1Eb2t1bWVudGF0aW9uIHp1IGZpbmRlbi4nLDApLAoKMjUxMTAgPT4gYXJyYXkoJ0RlaW4gUEhQLUluc3RhbGxhdGlvbiB1bnRlcnN0/HR6dCBkYXMgZ2V35GhsdGUgR3JhZmlrZm9ybWF0IG5pY2h0OiAlcycsMSksCjI1MTExID0+IGFycmF5KCdEYXMgZ2VjYWNoZXRlIEJpbGQgJXMga2FubiBuaWNodCBnZWz2c2NodCB3ZXJkZW4uIFByb2JsZW0gbWl0IGRlbiBSZWNodGVuPycsMSksCjI1MTEyID0+IGFycmF5KCdEYXMgRGF0dW0gZGVyIGdlY2FjaGV0ZW4gRGF0ZWkgKCVzKSBsaWVndCBpbiBkZXIgWnVrdW5mdC4nLDEpLAoyNTExMyA9PiBhcnJheSgnRGFzIGdlY2FjaGV0ZSBCaWxkICVzIGthbm4gbmljaHQgZ2Vs9nNjaHQgd2VyZGVuLiBQcm9ibGVtIG1pdCBkZW4gUmVjaHRlbj8nLDEpLAoyNTExNCA9PiBhcnJheSgnUEhQIGhhdCBuaWNodCBkaWUgZXJmb3JkZXJsaWNoZW4gUmVjaHRlLCB1bSBpbiBkaWUgQ2FjaGUtRGF0ZWkgJXMgenUgc2NocmVpYmVuLiBCaXR0ZSB2ZXJzaWNoZXJlIERpY2gsIGRhc3MgZGVyIEJlbnV0emVyLCBkZXIgUEhQIGFud2VuZGV0LCBkaWUgZW50c3ByZWNoZW5kZW4gU2NocmVpYnJlY2h0ZSBm/HIgZGllIERhdGVpIGhhdCwgd2VubiBEdSBkYXMgQ2FjaGUtU3lzdGVtIGluIEpQR3JhcGggdmVyd2VuZGVuIHdpbGxzdC4nLDEpLAoyNTExNSA9PiBhcnJheSgnQmVyZWNodGlndW5nIGb8ciBnZWNhY2hldGVzIEJpbGQgJXMga2FubiBuaWNodCBnZXNldHp0IHdlcmRlbi4gUHJvYmxlbSBtaXQgZGVuIFJlY2h0ZW4/JywxKSwKMjUxMTYgPT4gYXJyYXkoJ0RhdGVpIGthbm4gbmljaHQgYXVzIGRlbSBDYWNoZSAlcyBnZfZmZm5ldCB3ZXJkZW4nLDEpLAoyNTExNyA9PiBhcnJheSgnR2VjYWNoZXRlcyBCaWxkICVzIGthbm4gbmljaHQgenVtIExlc2VuIGdl9mZmbmV0IHdlcmRlbi4nLDEpLAoyNTExOCA9PiBhcnJheSgnVmVyemVpY2huaXMgJXMga2FubiBuaWNodCBhbmdlbGVndCB3ZXJkZW4uIFZlcnNpY2hlcmUgRGljaCwgZGFzcyBQSFAgZGllIFNjaHJlaWJyZWNodGUgaW4gZGllc2VtIFZlcnplaWNobmlzIGhhdC4nLDEpLAoyNTExOSA9PiBhcnJheSgnUmVjaHRlIGb8ciBEYXRlaSAlcyBr9m5uZW4gbmljaHQgZ2VzZXR6dCB3ZXJkZW4uIFByb2JsZW0gbWl0IGRlbiBSZWNodGVuPycsMSksCgoyNTEyMCA9PiBhcnJheSgnRGllIFBvc2l0aW9uIGb8ciBkaWUgTGVnZW5kZSBtdXNzIGFscyBQcm96ZW50d2VydCBpbSBCZXJlaWNoIDAtMSBhbmdlZ2ViZW4gd2VyZGVuLicsMCksCjI1MTIxID0+IGFycmF5KCdFaW5lIGxlZXJlciBEYXRlbnZla3RvciB3dXJkZSBm/HIgZGVuIFBsb3QgZWluZ2VnZWJlbi4gRXMgbXVzcyB3ZW5pZ3N0ZW5zIGVpbiBEYXRlbnB1bmt0IHZvcmxpZWdlbi4nLDApLAoyNTEyMiA9PiBhcnJheSgnU3Ryb2tlKCkgbXVzcyBhbHMgU3Via2xhc3NlIGRlciBLbGFzc2UgUGxvdCBkZWZpbmllcnQgc2Vpbi4nLDApLAoyNTEyMyA9PiBhcnJheSgnRHUga2FubnN0IGtlaW5lIFRleHQtWC1BY2hzZSBtaXQgWC1Lb29yZGluYXRlbiB2ZXJ3ZW5kZW4uIEJlbnV0emUgc3RhdHRkZXNzZW4gZWluZSAiaW50IiBvZGVyICJsaW4iIEFjaHNlLicsMCksCjI1MTI0ID0+IGFycmF5KCdEZXIgRWluZ2FiZWRhdGVudmVrdG9yIG11cyBhdWZlaW5hbmRlcmZvbGdlbmRlIFdlcnRlIHZvbiAwIGF1ZnfkcnRzIGJlaW5oYWx0ZW4uIERlciBhbmdlZ2ViZW5lIFktVmVrdG9yIGJlZ2lubnQgbWl0IGxlZXJlbiBXZXJ0ZW4gKE5VTEwpLicsMCksCjI1MTI1ID0+IGFycmF5KCdVbmf8bHRpZ2UgUmljaHR1bmcgZvxyIHN0YXRpc2NoZSBMaW5pZS4nLDApLAoyNTEyNiA9PiBhcnJheSgnRXMga2FubiBrZWluIFRydWVDb2xvci1CaWxkIGVyemV1Z3Qgd2VyZGVuLiDcYmVycHL8ZmUsIG9iIGRpZSBHRDItQmlibGlvdGhlayB1bmQgUEhQIGtvcnJla3QgYXVmZ2VzZXR6dCB3dXJkZW4uJywwKSwKMjUxMjcgPT4gYXJyYXkoJ1RoZSBsaWJyYXJ5IGhhcyBiZWVuIGNvbmZpZ3VyZWQgZm9yIGF1dG9tYXRpYyBlbmNvZGluZyBjb252ZXJzaW9uIG9mIEphcGFuZXNlIGZvbnRzLiBUaGlzIHJlcXVpcmVzIHRoYXQgUEhQIGhhcyB0aGUgbWJfY29udmVydF9lbmNvZGluZygpIGZ1bmN0aW9uLiBZb3VyIFBIUCBpbnN0YWxsYXRpb24gbGFja3MgdGhpcyBmdW5jdGlvbiAoUEhQIG5lZWRzIHRoZSAiLS1lbmFibGUtbWJzdHJpbmciIHdoZW4gY29tcGlsZWQpLicsMCksCgovKgoqKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqKiBQcm8tdmVyc2lvbiBzdHJpbmdzCioqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCgovKgoqKiAganBncmFwaF90YWJsZQoqLwoKMjcwMDEgPT4gYXJyYXkoJ0dUZXh0VGFibGU6IFVuZ/xsdGlnZXMgQXJndW1lbnQgZvxyIFNldCgpLiBEYXMgQXJyYXktQXJndW1lbnQgbXVzcyAyLS0gZGltZW5zaW9uYWwgc2Vpbi4nLDApLAoyNzAwMiA9PiBhcnJheSgnR1RleHRUYWJsZTogVW5n/Gx0aWdlcyBBcmd1bWVudCBm/HIgU2V0KCknLDApLAoyNzAwMyA9PiBhcnJheSgnR1RleHRUYWJsZTogRmFsc2NoZSBBbnphaGwgdm9uIEFyZ3VtZW50ZW4gZvxyIEdUZXh0VGFibGU6OlNldENvbG9yKCknLDApLAoyNzAwNCA9PiBhcnJheSgnR1RleHRUYWJsZTogQW5nZWdlYmVuZXIgWmVsbGVuYmVyZWljaCwgZGVyIHZlcnNjaG1vbHplbiB3ZXJkZW4gc29sbCwgaXN0IHVuZ/xsdGlnLicsMCksCjI3MDA1ID0+IGFycmF5KCdHVGV4dFRhYmxlOiBCZXJlaXRzIHZlcnNjaG1vbHplbmUgWmVsbGVuIGltIEJlcmVpY2ggKCVkLCVkKSBiaXMgKCVkLCVkKSBr9m5uZW4gbmljaHQgZWluIHdlaXRlcmVzIE1hbCB2ZXJzY2htb2x6ZW4gd2VyZGVuLicsNCksCjI3MDA2ID0+IGFycmF5KCdHVGV4dFRhYmxlOiBTcGFsdGVuLUFyZ3VtZW50ID0gJWQgbGllZ3QgYXXfZXJoYWxiIGRlciBmZXN0Z2VsZWd0ZW4gVGFiZWxsZW5ncvbfZS4nLDEpLAoyNzAwNyA9PiBhcnJheSgnR1RleHRUYWJsZTogWmVpbGVuLUFyZ3VtZW50ID0gJWQgbGllZ3QgYXXfZXJoYWxiIGRlciBmZXN0Z2VsZWd0ZW4gVGFiZWxsZW5ncvbfZS4nLDEpLAoyNzAwOCA9PiBhcnJheSgnR1RleHRUYWJsZTogU3BhbHRlbi0gdW5kIFplaWxlbmdy9t9lIG38c3NlbiB6dSBkZW4gRGltZW5zaW9uZW4gZGVyIFRhYmVsbGUgcGFzc2VuLicsMCksCjI3MDA5ID0+IGFycmF5KCdHVGV4dFRhYmxlOiBEaWUgQW56YWhsIGRlciBUYWJlbGxlbnNwYWx0ZW4gb2RlciAtemVpbGVuIGlzdCAwLiBWZXJzaWNoZXJlIERpY2gsIGRhc3MgZGllIE1ldGhvZGVuIEluaXQoKSBvZGVyIFNldCgpIGF1ZmdlcnVmZW4gd2VyZGVuLicsMCksCjI3MDEwID0+IGFycmF5KCdHVGV4dFRhYmxlOiBFcyB3dXJkZSBrZWluZSBBdXNyaWNodHVuZyBiZWltIEF1ZnJ1ZiB2b24gU2V0QWxpZ24oKSBhbmdlZ2ViZW4uJywwKSwKMjcwMTEgPT4gYXJyYXkoJ0dUZXh0VGFibGU6IEVzIHd1cmRlIGVpbmUgdW5iZWthbm50ZSBBdXNyaWNodHVuZyBiZWltIEF1ZnJ1ZiB2b24gU2V0QWxpZ24oKSBhYmdlZ2ViZW4uIEhvcml6b250YWw9JXMsIFZlcnRpa2FsPSVzJywyKSwKMjcwMTIgPT4gYXJyYXkoJ0dUZXh0VGFibGU6IEludGVybmVyIEZlaGxlci4gRXMgd3VyZGUgZWluIHVuZ/xsdGlnZXMgQXJndW1lbnQgZmVzdGdlbGVnZXQgJXMnLDEpLAoyNzAxMyA9PiBhcnJheSgnR1RleHRUYWJsZTogRGFzIEFyZ3VtZW50IGb8ciBGb3JtYXROdW1iZXIoKSBtdXNzIGVpbiBTdHJpbmcgc2Vpbi4nLDApLAoyNzAxNCA9PiBhcnJheSgnR1RleHRUYWJsZTogRGllIFRhYmVsbGUgd3VyZGUgd2VkZXIgbWl0IGVpbmVtIEF1ZnJ1ZiB2b24gU2V0KCkgbm9jaCB2b24gSW5pdCgpIGluaXRpYWxpc2llcnQuJywwKSwKMjcwMTUgPT4gYXJyYXkoJ0dUZXh0VGFibGU6IERlciBaZWxsZW5iaWxkYmVkaW5ndW5nc3R5cCBtdXNzIGVudHdlZGVyIFRJTUdfV0lEVEggb2RlciBUSU1HX0hFSUdIVCBzZWluLicsMCksCgovKgoqKiAganBncmFwaF93aW5kcm9zZQoqLwoKMjIwMDEgPT4gYXJyYXkoJ0RpZSBHZXNhbXRzdW1tZSBkZXIgcHJvemVudHVhbGVuIEFudGVpbGUgYWxsZXIgV2luZHJvc2VuYXJtZSBkYXJmIDEwMCUgbmljaHQg/GJlcnNjaHJlaXRlbiFcbihBa3R1ZWxsIG1heDogJWQpJywxKSwKMjIwMDIgPT4gYXJyYXkoJ0RhcyBCaWxkIGlzdCB6dSBrbGVpbiBm/HIgZWluZSBTa2FsYS4gQml0dGUgdmVyZ3L232VyZSBkYXMgQmlsZC4nLDApLAoyMjAwNCA9PiBhcnJheSgnRGllIEV0aWtldHRlbmRlZmluaXRpb24gZvxyIFdpbmRyb3NlbnJpY2h0dW5nZW4gbfxzc2VuIDE2IFdlcnRlIGhhYmVuIChlaW5lIGb8ciBqZWRlIEtvbXBhc3NyaWNodHVuZykuJywwKSwKMjIwMDUgPT4gYXJyYXkoJ0RlciBMaW5pZW50eXAgZvxyIHJhZGlhbGUgTGluaWVuIG11c3MgZWluZXIgdm9uICgic29saWQiLCJkb3R0ZWQiLCJkYXNoZWQiLCJsb25nZGFzaGVkIikgc2Vpbi4nLDApLAoyMjAwNiA9PiBhcnJheSgnRXMgd3VyZGUgZWluIHVuZ/xsdGlnZXIgV2luZHJvc2VudHlwIGFuZ2VnZWJlbi4nLDApLAoyMjAwNyA9PiBhcnJheSgnRXMgd3VyZGVuIHp1IHdlbmlnIFdlcnRlIGb8ciBkaWUgQmVyZWljaHNsZWdlbmRlIGFuZ2VnZWJlbi4nLDApLAoyMjAwOCA9PiBhcnJheSgnSW50ZXJuZXIgRmVobGVyOiBWZXJzdWNoLCBlaW5lIGZyZWllIFdpbmRyb3NlIHp1IHBsb3R0ZW4sIG9id29obCBkZXIgVHlwIGtlaW5lIGZyZWllIFdpbmRyb3NlIGlzdC4nLDApLAoyMjAwOSA9PiBhcnJheSgnRHUgaGFzdCBkaWUgZ2xlaWNoZSBSaWNodHVuZyB6d2VpbWFsIGFuZ2VnZWJlbiwgZWlubWFsIG1pdCBlaW5lbSBXaW5rZWwgdW5kIGVpbm1hbCBtaXQgZWluZXIgS29tcGFzc3JpY2h0dW5nICglZiBHcmFkKS4nLDApLAoyMjAxMCA9PiBhcnJheSgnRGllIFJpY2h0dW5nIG11c3MgZW50d2VkZXIgZWluIG51bWVyaXNjaGVyIFdlcnQgc2VpbiBvZGVyIGVpbmUgZGVyIDE2IEtvbXBhc3NyaWNodHVuZ2VuJywwKSwKMjIwMTEgPT4gYXJyYXkoJ0RlciBXaW5kcm9zZW5pbmRleCBtdXNzIGVpbiBudW1lcmlzY2hlciBvZGVyIFJpY2h0dW5nc3dlcnQgc2Vpbi4gRHUgaGFzdCBhbmdlZ2ViZW4gSW5kZXg9JWQnLDEpLAoyMjAxMiA9PiBhcnJheSgnRGllIHJhZGlhbGUgQWNoc2VuZGVmaW5pdGlvbiBm/HIgZGllIFdpbmRyb3NlIGVudGjkbHQgZWluZSBuaWNodCBha3RpdmllcnRlIFJpY2h0dW5nLicsMCksCjIyMDEzID0+IGFycmF5KCdEdSBoYXN0IGRhc3NlbGJlIExvb2smRmVlbCBm/HIgZGllIGdsZWljaGUgS29tcGFzc3JpY2h0dW5nIHp3ZWltYWwgZW5nZWdlYmVuLCBlaW5tYWwgbWl0IFRleHQgdW5kIGVpbm1hbCBtaXQgZWluZW0gSW5kZXggKEluZGV4PSVkKScsMSksCjIyMDE0ID0+IGFycmF5KCdEZXIgSW5kZXggZvxyIGVpbmUgS29tcGFzc3JpY2h0dW5nIG11c3Mgendpc2NoZW4gMCB1bmQgMTUgc2Vpbi4nLDApLAoyMjAxNSA9PiBhcnJheSgnRHUgaGFzdCBlaW5lbiB1bmJla2FubnRlbiBXaW5kcm9zZW5wbG90dHlwIGFuZ2VnZWJlbi4nLDApLAoyMjAxNiA9PiBhcnJheSgnRGVyIFdpbmRyb3NlbmFybWluZGV4IG11c3MgZWluIG51bWVyaXNjaGVyIG9kZXIgZWluIFJpY2h0dW5nc3dlcnQgc2Vpbi4nLDApLAoyMjAxNyA9PiBhcnJheSgnRGllIFdpbmRyb3NlbmRhdGVuIGVudGhhbHRlbiBlaW5lIFJpY2h0dW5nLCBkaWUgbmljaHQgYWt0aXZpZXJ0IGlzdC4gQml0dGUgYmVyaWNodGlnZSwgd2VsY2hlIExhYmVsIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuLicsMCksCjIyMDE4ID0+IGFycmF5KCdEdSBoYXN0IGb8ciBkaWVzZWxiZSBLb21wYXNzcmljaHR1bmcgendlaW1hbCBEYXRlbiBhbmdlZ2ViZW4sIGVpbm1hbCBtaXQgVGV4dCB1bmQgZWlubWFsIG1pdCBlaW5lbSBJbmRleCAoSW5kZXg9JWQpJywxKSwKMjIwMTkgPT4gYXJyYXkoJ0RlciBJbmRleCBm/HIgZWluZSBSaWNodHVuZyBtdXNzIHp3aXNjaGVuIDAgdW5kIDE1IHNlaW4uIFdpbmtlbCBk/HJmZW4gbmljaHQgZvxyIGVpbmVuIHJlZ2VsbeTfaWdlbiBXaW5kcGxvdCBhbmdlZ2ViZW4gd2VyZGVuLCBzb25kZXJuIGVudHdlZGVyIGVpbiBJbmRleCBvZGVyIGVpbmUgS29tcGFzc3JpY2h0dW5nLicsMCksCjIyMDIwID0+IGFycmF5KCdEZXIgV2luZHJvc2VucGxvdCBpc3QgenUgZ3Jv3yBm/HIgZGllIGFuZ2VnZWJlbmUgQmlsZGdy9t9lLiBCZW51dHplIGVudHdlZGVyIFdpbmRyb3NlUGxvdDo6U2V0U2l6ZSgpLCB1bSBkZW4gUGxvdCBrbGVpbmVyIHp1IG1hY2hlbiBvZGVyIHZlcmdy9t9lcmUgZGFzIEJpbGQgaW0gdXJzcHL8bmdsaWNoZW4gQXVmcnVmIHZvbiBXaW5kcm9zZUdyYXBoKCkuJywwKSwKCi8qCioqICBqcGdyYXBoX29kb21ldGVyCiovCgoxMzAwMSA9PiBhcnJheSgnVW5iZWthbm50ZXIgTmFkZWx0eXBzdGlsICglZCkuJywxKSwKMTMwMDIgPT4gYXJyYXkoJ0VpbiBXZXJ0IGb8ciBkYXMgT2RvbWV0ZXIgKCVmKSBpc3QgYXXfZXJoYWxiIGRlcyBhbmdlZ2ViZW5lbiBCZXJlaWNocyBbJWYsJWZdJywzKSwKCi8qCioqICBqcGdyYXBoX2JhcmNvZGUKKi8KCjEwMDEgPT4gYXJyYXkoJ1VuYmVrYW5udGUgS29kaWVyLVNwZWNpZmlrYXRpb246ICVzJywxKSwKMTAwMiA9PiBhcnJheSgnZGF0ZW52YWxpZGllcnVuZyBzY2hsdWcgZmVobC4gWyVzXSBrYW5uIG5pY2h0IG1pdHRlbHMgZGVyIEtvZGllcnVuZyAiJXMiIGtvZGllcnQgd2VyZGVuJywyKSwKMTAwMyA9PiBhcnJheSgnSW50ZXJuZXIgS29kaWVyZmVobGVyLiBLb2RpZXJlbiB2b24gJXMgaXN0IG5pY2h0IG32Z2xpY2ggaW4gQ29kZSAxMjgnLDEpLAoxMDA0ID0+IGFycmF5KCdJbnRlcm5lciBiYXJjb2RlIEZlaGxlci4gVW5iZWthbm50ZXIgVVBDLUUgS29kaWVydHlwOiAlcycsMSksCjEwMDUgPT4gYXJyYXkoJ0ludGVybmVyIEZlaGxlci4gRGFzIFRleHR6ZWljaGVuLVR1cGVsICglcywgJXMpIGthbm4gbmljaHQgaW0gQ29kZS0xMjggWmVpY2hlbnNhdHogQyBrb2RpZXJ0IHdlcmRlbi4nLDIpLAoxMDA2ID0+IGFycmF5KCdJbnRlcm5lciBLb2RpZXJmZWhsZXIgZvxyIENPREUgMTI4LiBFcyB3dXJkZSB2ZXJzdWNodCwgQ1RSTCBpbiBDSEFSU0VUICE9IEEgenUga29kaWVyZW4uJywwKSwKMTAwNyA9PiBhcnJheSgnSW50ZXJuZXIgS29kaWVyZmVobGVyIGb8ciBDT0RFIDEyOC4gRXMgd3VyZGUgdmVyc3VjaHQsIERFTCBpbiBDSEFSU0VUICE9IEIgenUga29kaWVyZW4uJywwKSwKMTAwOCA9PiBhcnJheSgnSW50ZXJuZXIgS29kaWVyZmVobGVyIGb8ciBDT0RFIDEyOC4gRXMgd3VyZGUgdmVyc3VjaHQsIGtsZWluZSBCdWNoc3RhYmVuIGluIENIQVJTRVQgIT0gQiB6dSBrb2RpZXJlbi4nLDApLAoxMDA5ID0+IGFycmF5KCdLb2RpZXJlbiBtaXR0ZWxzIENPREUgOTMgd2lyZCBub2NoIG5pY2h0IHVudGVyc3T8dHp0LicsMCksCjEwMTAgPT4gYXJyYXkoJ0tvZGllcmVuIG1pdHRlbHMgUE9TVE5FVCB3aXJkIG5vY2ggbmljaHQgdW50ZXJzdPx0enQuJywwKSwKMTAxMSA9PiBhcnJheSgnTmljaHQgdW50cnN0/HR6dGVzIEJhcmNvZGUtQmFja2VuZCBm/HIgZGVuIFR5cCAlcycsMSksCgovKgoqKiBQREY0MTcKKi8KCjI2MDAxID0+IGFycmF5KCdQREY0MTc6IERpZSBBbnphaGwgZGVyIFNwYWx0ZW4gbXVzcyB6d2lzY2hlbiAxIHVuZCAzMCBzZWluLicsMCksCjI2MDAyID0+IGFycmF5KCdQREY0MTc6IERlciBGZWhsZXItTGV2ZWwgbXVzcyB6d2lzY2hlbiAwIHVuZCA4IHNlaW4uJywwKSwKMjYwMDMgPT4gYXJyYXkoJ1BERjQxNzogVW5n/Gx0aWdlcyBGb3JtYXQgZvxyIEVpbmdhYmVkYXRlbiwgdW0gc2llIG1pdCBQREY0MTcgenUga29kaWVyZW4uJywwKSwKMjYwMDQgPT4gYXJyYXkoJ1BERjQxNzogZGllIGVpZ2ViZW5lbiBEYXRlbiBr9m5uZW4gbmljaHQgbWl0IEZlaGxlci1MZXZlbCAlZCB1bmQgJWQgc3BhbHRlbiBrb2RpZXJ0IHdlcmRlbiwgd2VpbCBkYXJhdXMgenUgdmllbGUgU3ltYm9sZSBvZGVyIG1laHIgYWxzIDkwIFplaWxlbiByZXN1bHRpZXJlbi4nLDIpLAoyNjAwNSA9PiBhcnJheSgnUERGNDE3OiBEaWUgRGF0ZWkgIiVzIiBrYW5uIG5pY2h0IHp1bSBTY2hyZWliZW4gZ2X2ZmZuZXQgd2VyZGVuLicsMSksCjI2MDA2ID0+IGFycmF5KCdQREY0MTc6IEludGVybmVyIEZlaGxlci4gRGllIEVpbmdhYmVkYXRlbmRhdGVpIGb8ciBQREY0MTctQ2x1c3RlciAlZCBpc3QgZmVobGVyaGFmdC4nLDEpLAoyNjAwNyA9PiBhcnJheSgnUERGNDE3OiBJbnRlcm5lciBGZWhsZXIuIEdldFBhdHRlcm46IFVuZ/xsdGlnZXIgQ29kZS1XZXJ0ICVkIChaZWlsZSAlZCknLDIpLAoyNjAwOCA9PiBhcnJheSgnUERGNDE3OiBJbnRlcm5lciBGZWhsZXIuIE1vZHVzIHd1cmRlIG5pY2h0IGluIGRlciBNb2R1c2xpc3RlISEgTW9kdXMgJWQnLDEpLAoyNjAwOSA9PiBhcnJheSgnUERGNDE3OiBLb2RpZXJmZWhsZXI6IFVuZ/xsdGlnZXMgWmVpY2hlbi4gWmVpY2hlbiBrYW5uIG5pY2h0IG1pdCBBU0NJSS1Db2RlICVkIGtvZGllcnQgd2VyZGVuLicsMSksCjI2MDEwID0+IGFycmF5KCdQREY0MTc6IEludGVybmVyIEZlaGxlcjogS2VpbmUgRWluZ2FiZWRhdGVuIGJlaW0gRGVrb2RpZXJlbi4nLDApLAoyNjAxMSA9PiBhcnJheSgnUERGNDE3OiBLb2RpZXJmZWhsZXIuIE51bWVyaXNjaGVzIEtvZGllcmVuIGJlaSBuaWNodC1udW1lcmlzY2hlbiBEYXRlbiBuaWNodCBt9mdsaWNoLicsMCksCjI2MDEyID0+IGFycmF5KCdQREY0MTc6IEludGVybmVyIEZlaGxlci4gRXMgd3VyZGVuIGb8ciBkZW4gQmluYXJ5LUtvbXByZXNzb3Iga2VpbmUgRGF0ZW4genVtIERla29kaWVyZW4gZWluZ2VnZWJlbi4nLDApLAoyNjAxMyA9PiBhcnJheSgnUERGNDE3OiBJbnRlcm5lciBGZWhsZXIuIENoZWNrc3VtIEZlaGxlci4gS29lZmZpemllbnRlbnRhYmVsbGVuIHNpbmQgZmVobGVyaGFmdC4nLDApLAoyNjAxNCA9PiBhcnJheSgnUERGNDE3OiBJbnRlcm5lciBGZWhsZXIuIEVzIHd1cmRlbiBrZWluZSBEYXRlbiB6dW0gQmVyZWNobmVuIHZvbiBLb2Rld/ZydGVybiBlaW5nZWdlYmVuLicsMCksCjI2MDE1ID0+IGFycmF5KCdQREY0MTc6IEludGVybmVyIEZlaGxlci4gRWluIEVpbnRyYWcgMCBpbiBkaWUgU3RhdHVz/GJlcnRyYWd1bmdzdGFiZWxsZW4gaXN0IG5pY2h0IE5VTEwuIEVpbnRyYWcgMSA9ICglcyknLDEpLAoyNjAxNiA9PiBhcnJheSgnUERGNDE3OiBJbnRlcm5lciBGZWhsZXI6IE5pY2h0cmVnaXN0cmllcnRlciBTdGF0dXP8YmVydHJhZ3VuZ3Ntb2R1cyBiZWltIERla29kaWVyZW4uJywwKSwKCgopOwoKPz4K