IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJQ2FzY2FkaW5nIFN0eWxlIFNoZWV0cwoiIE1haW50YWluZXI6CUNsYXVkaW8gRmxlaW5lciA8Y2xhdWRpb0BmbGVpbmVyLmNvbT4KIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvY3NzLnZpbQoiIExhc3QgQ2hhbmdlOgkyMDA1IE5vdiAyMwoiIENTUzIgYnkgTmlrb2xhaSBXZWlidWxsCiIgRnVsbCBDU1MyLCBIVE1MNCBzdXBwb3J0IGJ5IFlldGkKCiIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQogIGlmIHZlcnNpb24gPCA2MDAKICAgIHN5bnRheCBjbGVhcgogIGVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogIGZpbmlzaAplbmRpZgogIGxldCBtYWluX3N5bnRheCA9ICdjc3MnCmVuZGlmCgpzeW4gY2FzZSBpZ25vcmUKCnN5biBrZXl3b3JkIGNzc1RhZ05hbWUgYWJiciBhY3JvbnltIGFkZHJlc3MgYXBwbGV0IGFyZWEgYSBiIGJhc2UKc3luIGtleXdvcmQgY3NzVGFnTmFtZSBiYXNlZm9udCBiZG8gYmlnIGJsb2NrcXVvdGUgYm9keSBiciBidXR0b24Kc3luIGtleXdvcmQgY3NzVGFnTmFtZSBjYXB0aW9uIGNlbnRlciBjaXRlIGNvZGUgY29sIGNvbGdyb3VwIGRkIGRlbApzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGRmbiBkaXIgZGl2IGRsIGR0IGVtIGZpZWxkc2V0IGZvbnQgZm9ybSBmcmFtZQpzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGZyYW1lc2V0IGgxIGgyIGgzIGg0IGg1IGg2IGhlYWQgaHIgaHRtbCBpbWcgaQpzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGlmcmFtZSBpbWcgaW5wdXQgaW5zIGlzaW5kZXgga2JkIGxhYmVsIGxlZ2VuZCBsaQpzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGxpbmsgbWFwIG1lbnUgbWV0YSBub2ZyYW1lcyBub3NjcmlwdCBvbCBvcHRncm91cApzeW4ga2V5d29yZCBjc3NUYWdOYW1lIG9wdGlvbiBwIHBhcmFtIHByZSBxIHMgc2FtcCBzY3JpcHQgc2VsZWN0IHNtYWxsCnN5biBrZXl3b3JkIGNzc1RhZ05hbWUgc3BhbiBzdHJpa2Ugc3Ryb25nIHN0eWxlIHN1YiBzdXAgdGJvZHkgdGQKc3luIGtleXdvcmQgY3NzVGFnTmFtZSB0ZXh0YXJlYSB0Zm9vdCB0aCB0aGVhZCB0aXRsZSB0ciB0dCB1bCB1IHZhcgpzeW4gbWF0Y2ggY3NzVGFnTmFtZSAiXDx0YWJsZVw+IgpzeW4gbWF0Y2ggY3NzVGFnTmFtZSAiXCoiCgpzeW4gbWF0Y2ggY3NzVGFnTmFtZSAiQHBhZ2VcPiIgbmV4dGdyb3VwPWNzc0RlZmluaXRpb24KCnN5biBtYXRjaCBjc3NTZWxlY3Rvck9wICJbKz4uXSIKc3luIG1hdGNoIGNzc1NlbGVjdG9yT3AyICJbfnxdXD89IiBjb250YWluZWQKc3luIHJlZ2lvbiBjc3NBdHRyaWJ1dGVTZWxlY3RvciBtYXRjaGdyb3VwPWNzc1NlbGVjdG9yT3Agc3RhcnQ9IlxbIiBlbmQ9Il0iIHRyYW5zcGFyZW50IGNvbnRhaW5zPWNzc1VuaWNvZGVFc2NhcGUsY3NzU2VsZWN0b3JPcDIsY3NzU3RyaW5nUSxjc3NTdHJpbmdRUQoKdHJ5CnN5biBtYXRjaCBjc3NJZGVudGlmaWVyICIjW0EtWmEtesAt/19AXVtBLVphLXrALf8wLTlfQC1dKiIKY2F0Y2ggL14uKi8Kc3luIG1hdGNoIGNzc0lkZW50aWZpZXIgIiNbQS1aYS16X0BdW0EtWmEtejAtOV9ALV0qIgplbmR0cnkKCgpzeW4gbWF0Y2ggY3NzTWVkaWEgIkBtZWRpYVw+IiBuZXh0Z3JvdXA9Y3NzTWVkaWFUeXBlIHNraXB3aGl0ZSBza2lwbmwKc3luIGtleXdvcmQgY3NzTWVkaWFUeXBlIGNvbnRhaW5lZCBzY3JlZW4gcHJpbnQgYXVyYWwgYnJhaWxlIGVtYm9zZWQgaGFuZGhlbGQgcHJvamVjdGlvbiB0eSB0diBhbGwgbmV4dGdyb3VwPWNzc01lZGlhQ29tbWEsY3NzTWVkaWFCbG9jayBza2lwd2hpdGUgc2tpcG5sCnN5biBtYXRjaCBjc3NNZWRpYUNvbW1hICIsIiBuZXh0Z3JvdXA9Y3NzTWVkaWFUeXBlIHNraXB3aGl0ZSBza2lwbmwKc3luIHJlZ2lvbiBjc3NNZWRpYUJsb2NrIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9Y3NzQnJhY2VzIHN0YXJ0PSd7JyBlbmQ9J30nIGNvbnRhaW5zPWNzc1RhZ05hbWUsY3NzRXJyb3IsY3NzQ29tbWVudCxjc3NEZWZpbml0aW9uLGNzc1VSTCxjc3NVbmljb2RlRXNjYXBlLGNzc0lkZW50aWZpZXIKCnN5biBtYXRjaCBjc3NWYWx1ZUludGVnZXIgY29udGFpbmVkICJbLStdXD1cZFwrIgpzeW4gbWF0Y2ggY3NzVmFsdWVOdW1iZXIgY29udGFpbmVkICJbLStdXD1cZFwrXChcLlxkKlwpXD0iCnN5biBtYXRjaCBjc3NWYWx1ZUxlbmd0aCBjb250YWluZWQgIlstK11cPVxkXCtcKFwuXGQqXClcPVwoJVx8bW1cfGNtXHxpblx8cHRcfHBjXHxlbVx8ZXhcfHB4XCkiCnN5biBtYXRjaCBjc3NWYWx1ZUFuZ2xlIGNvbnRhaW5lZCAiWy0rXVw9XGRcK1woXC5cZCpcKVw9XChkZWdcfGdyYWRcfHJhZFwpIgpzeW4gbWF0Y2ggY3NzVmFsdWVUaW1lIGNvbnRhaW5lZCAiK1w9XGRcK1woXC5cZCpcKVw9XChtc1x8c1wpIgpzeW4gbWF0Y2ggY3NzVmFsdWVGcmVxdWVuY3kgY29udGFpbmVkICIrXD1cZFwrXChcLlxkKlwpXD1cKEh6XHxrSHpcKSIKCnN5biBtYXRjaCBjc3NGb250RGVzY3JpcHRvciAiQGZvbnQtZmFjZVw+IiBuZXh0Z3JvdXA9Y3NzRm9udERlc2NyaXB0b3JCbG9jayBza2lwd2hpdGUgc2tpcG5sCnN5biByZWdpb24gY3NzRm9udERlc2NyaXB0b3JCbG9jayBjb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1jc3NCcmFjZXMgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbnM9Y3NzQ29tbWVudCxjc3NFcnJvcixjc3NVbmljb2RlRXNjYXBlLGNzc0ZvbnRQcm9wLGNzc0ZvbnRBdHRyLGNzc0NvbW1vbkF0dHIsY3NzU3RyaW5nUSxjc3NTdHJpbmdRUSxjc3NGb250RGVzY3JpcHRvclByb3AsY3NzVmFsdWUuKixjc3NGb250RGVzY3JpcHRvckZ1bmN0aW9uLGNzc1VuaWNvZGVSYW5nZSxjc3NGb250RGVzY3JpcHRvckF0dHIKc3luIG1hdGNoIGNzc0ZvbnREZXNjcmlwdG9yUHJvcCBjb250YWluZWQgIlw8XCh1bmljb2RlLXJhbmdlXHx1bml0LXBlci1lbVx8cGFub3NlLTFcfGNhcC1oZWlnaHRcfHgtaGVpZ2h0XHxkZWZpbml0aW9uLXNyY1wpXD4iCnN5biBrZXl3b3JkIGNzc0ZvbnREZXNjcmlwdG9yUHJvcCBjb250YWluZWQgc3JjIHN0ZW12IHN0ZW1oIHNsb3BlIGFzY2VudCBkZXNjZW50IHdpZHRocyBiYm94IGJhc2VsaW5lIGNlbnRlcmxpbmUgbWF0aGxpbmUgdG9wbGluZQpzeW4ga2V5d29yZCBjc3NGb250RGVzY3JpcHRvckF0dHIgY29udGFpbmVkIGFsbApzeW4gcmVnaW9uIGNzc0ZvbnREZXNjcmlwdG9yRnVuY3Rpb24gY29udGFpbmVkIG1hdGNoZ3JvdXA9Y3NzRnVuY3Rpb25OYW1lIHN0YXJ0PSJcPFwodXJpXHx1cmxcfGxvY2FsXHxmb3JtYXRcKVxzKigiIGVuZD0iKSIgY29udGFpbnM9Y3NzU3RyaW5nUSxjc3NTdHJpbmdRUSBvbmVsaW5lIGtlZXBlbmQKc3luIG1hdGNoIGNzc1VuaWNvZGVSYW5nZSBjb250YWluZWQgIlUrWzAtOUEtRmEtZj9dXCsiCnN5biBtYXRjaCBjc3NVbmljb2RlUmFuZ2UgY29udGFpbmVkICJVK1x4XCstXHhcKyIKCnN5biBrZXl3b3JkIGNzc0NvbG9yIGNvbnRhaW5lZCBhcXVhIGJsYWNrIGJsdWUgZnVjaHNpYSBncmF5IGdyZWVuIGxpbWUgbWFyb29uIG5hdnkgb2xpdmUgcHVycGxlIHJlZCBzaWx2ZXIgdGVhbCB5ZWxsb3cKIiBGSVhNRTogVGhlc2UgYXJlIGFjdHVhbGx5IGNhc2UtaW5zZW50aXZpZSB0b28sIGJ1dCAoYSkgc3BlY3MgcmVjb21tZW5kIHVzaW5nCiIgbWl4ZWQtY2FzZSAoYikgaXQncyBoYXJkIHRvIGhpZ2hsaWdodCB0aGUgd29yZCBgQmFja2dyb3VuZCcgY29ycmVjdGx5IGluCiIgYWxsIHNpdHVhdGlvbnMKc3luIGNhc2UgbWF0Y2gKc3luIGtleXdvcmQgY3NzQ29sb3IgY29udGFpbmVkIEFjdGl2ZUJvcmRlciBBY3RpdmVDYXB0aW9uIEFwcFdvcmtzcGFjZSBCdXR0b25GYWNlIEJ1dHRvbkhpZ2hsaWdodCBCdXR0b25TaGFkb3cgQnV0dG9uVGV4dCBDYXB0aW9uVGV4dCBHcmF5VGV4dCBIaWdobGlnaHQgSGlnaGxpZ2h0VGV4dCBJbmFjdGl2ZUJvcmRlciBJbmFjdGl2ZUNhcHRpb24gSW5hY3RpdmVDYXB0aW9uVGV4dCBJbmZvQmFja2dyb3VuZCBJbmZvVGV4dCBNZW51IE1lbnVUZXh0IFNjcm9sbGJhciBUaHJlZUREYXJrU2hhZG93IFRocmVlREZhY2UgVGhyZWVESGlnaGxpZ2h0IFRocmVlRExpZ2h0U2hhZG93IFRocmVlRFNoYWRvdyBXaW5kb3cgV2luZG93RnJhbWUgV2luZG93VGV4dCBCYWNrZ3JvdW5kCnN5biBjYXNlIGlnbm9yZQpzeW4gbWF0Y2ggY3NzQ29sb3IgY29udGFpbmVkICJcPHRyYW5zcGFyZW50XD4iCnN5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIlw8d2hpdGVcPiIKc3luIG1hdGNoIGNzc0NvbG9yIGNvbnRhaW5lZCAiI1swLTlBLUZhLWZdXHszXH1cPiIKc3luIG1hdGNoIGNzc0NvbG9yIGNvbnRhaW5lZCAiI1swLTlBLUZhLWZdXHs2XH1cPiIKInN5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIlw8cmdiXHMqKFxzKlxkXCtcKFwuXGQqXClcPSVcPVxzKixccypcZFwrXChcLlxkKlwpXD0lXD1ccyosXHMqXGRcK1woXC5cZCpcKVw9JVw9XHMqKSIKc3luIHJlZ2lvbiBjc3NVUkwgY29udGFpbmVkIG1hdGNoZ3JvdXA9Y3NzRnVuY3Rpb25OYW1lIHN0YXJ0PSJcPHVybFxzKigiIGVuZD0iKSIgb25lbGluZSBrZWVwZW5kCnN5biByZWdpb24gY3NzRnVuY3Rpb24gY29udGFpbmVkIG1hdGNoZ3JvdXA9Y3NzRnVuY3Rpb25OYW1lIHN0YXJ0PSJcPFwocmdiXHxjbGlwXHxhdHRyXHxjb3VudGVyXHxyZWN0XClccyooIiBlbmQ9IikiIG9uZWxpbmUga2VlcGVuZAoKc3luIG1hdGNoIGNzc0ltcG9ydGFudCBjb250YWluZWQgIiFccyppbXBvcnRhbnRcPiIKCnN5biBrZXl3b3JkIGNzc0NvbW1vbkF0dHIgY29udGFpbmVkIGF1dG8gbm9uZSBpbmhlcml0CnN5biBrZXl3b3JkIGNzc0NvbW1vbkF0dHIgY29udGFpbmVkIHRvcCBib3R0b20Kc3luIGtleXdvcmQgY3NzQ29tbW9uQXR0ciBjb250YWluZWQgbWVkaXVtIG5vcm1hbAoKc3luIG1hdGNoIGNzc0ZvbnRQcm9wIGNvbnRhaW5lZCAiXDxmb250XD5cKC1cKGZhbWlseVx8c3R5bGVcfHZhcmlhbnRcfHdlaWdodFx8c2l6ZVwoLWFkanVzdFwpXD1cfHN0cmV0Y2hcKVw+XClcPSIKc3luIG1hdGNoIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCAiXDxcKHNhbnMtXClcPVw8c2VyaWZcPiIKc3luIG1hdGNoIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCAiXDxzbWFsbFw+XCgtXChjYXBzXHxjYXB0aW9uXClcPlwpXD0iCnN5biBtYXRjaCBjc3NGb250QXR0ciBjb250YWluZWQgIlw8eFx7MSwyXH0tXChsYXJnZVx8c21hbGxcKVw+IgpzeW4gbWF0Y2ggY3NzRm9udEF0dHIgY29udGFpbmVkICJcPG1lc3NhZ2UtYm94XD4iCnN5biBtYXRjaCBjc3NGb250QXR0ciBjb250YWluZWQgIlw8c3RhdHVzLWJhclw+IgpzeW4gbWF0Y2ggY3NzRm9udEF0dHIgY29udGFpbmVkICJcPFwoXCh1bHRyYVx8ZXh0cmFcfHNlbWlcfHN0YXR1cy1iYXJcKS1cKVw9XChjb25kZW5zZWRcfGV4cGFuZGVkXClcPiIKc3luIGtleXdvcmQgY3NzRm9udEF0dHIgY29udGFpbmVkIGN1cnNpdmUgZmFudGFzeSBtb25vc3BhY2UgaXRhbGljIG9ibGlxdWUKc3luIGtleXdvcmQgY3NzRm9udEF0dHIgY29udGFpbmVkIGJvbGQgYm9sZGVyIGxpZ2h0ZXIgbGFyZ2VyIHNtYWxsZXIKc3luIGtleXdvcmQgY3NzRm9udEF0dHIgY29udGFpbmVkIGljb24gbWVudQpzeW4gbWF0Y2ggY3NzRm9udEF0dHIgY29udGFpbmVkICJcPGNhcHRpb25cPiIKc3luIGtleXdvcmQgY3NzRm9udEF0dHIgY29udGFpbmVkIGxhcmdlIHNtYWxsZXIgbGFyZ2VyCnN5biBrZXl3b3JkIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCBuYXJyb3dlciB3aWRlcgoKc3luIGtleXdvcmQgY3NzQ29sb3JQcm9wIGNvbnRhaW5lZCBjb2xvcgpzeW4gbWF0Y2ggY3NzQ29sb3JQcm9wIGNvbnRhaW5lZCAiXDxiYWNrZ3JvdW5kXCgtXChjb2xvclx8aW1hZ2VcfGF0dGFjaG1lbnRcfHBvc2l0aW9uXClcKVw9IgpzeW4ga2V5d29yZCBjc3NDb2xvckF0dHIgY29udGFpbmVkIGNlbnRlciBzY3JvbGwgZml4ZWQKc3luIG1hdGNoIGNzc0NvbG9yQXR0ciBjb250YWluZWQgIlw8cmVwZWF0XCgtW3h5XVwpXD1cPiIKc3luIG1hdGNoIGNzc0NvbG9yQXR0ciBjb250YWluZWQgIlw8bm8tcmVwZWF0XD4iCgpzeW4gbWF0Y2ggY3NzVGV4dFByb3AgIlw8XChcKHdvcmRcfGxldHRlclwpLXNwYWNpbmdcfHRleHRcKC1cKGRlY29yYXRpb25cfHRyYW5zZm9ybVx8YWxpZ25cfGluZGV4XHxzaGFkb3dcKVwpXD1cfHZlcnRpY2FsLWFsaWduXHx1bmljb2RlLWJpZGlcfGxpbmUtaGVpZ2h0XClcPiIKc3luIG1hdGNoIGNzc1RleHRBdHRyIGNvbnRhaW5lZCAiXDxsaW5lLXRocm91Z2hcPiIKc3luIG1hdGNoIGNzc1RleHRBdHRyIGNvbnRhaW5lZCAiXDx0ZXh0LWluZGVudFw+IgpzeW4gbWF0Y2ggY3NzVGV4dEF0dHIgY29udGFpbmVkICJcPFwodGV4dC1cKVw9XCh0b3BcfGJvdHRvbVwpXD4iCnN5biBrZXl3b3JkIGNzc1RleHRBdHRyIGNvbnRhaW5lZCB1bmRlcmxpbmUgb3ZlcmxpbmUgYmxpbmsgc3ViIHN1cGVyIG1pZGRsZQpzeW4ga2V5d29yZCBjc3NUZXh0QXR0ciBjb250YWluZWQgY2FwaXRhbGl6ZSB1cHBlcmNhc2UgbG93ZXJjYXNlIGNlbnRlciBqdXN0aWZ5IGJhc2VsaW5lIHN1YiBzdXBlcgoKc3luIG1hdGNoIGNzc0JveFByb3AgY29udGFpbmVkICJcPFwobWFyZ2luXHxwYWRkaW5nXHxib3JkZXJcKVwoLVwodG9wXHxyaWdodFx8Ym90dG9tXHxsZWZ0XClcKVw9XD4iCnN5biBtYXRjaCBjc3NCb3hQcm9wIGNvbnRhaW5lZCAiXDxib3JkZXItXChcKFwodG9wXHxyaWdodFx8Ym90dG9tXHxsZWZ0XCktXClcPVwod2lkdGhcfGNvbG9yXHxzdHlsZVwpXClcPVw+IgpzeW4gbWF0Y2ggY3NzQm94UHJvcCBjb250YWluZWQgIlw8XCh3aWR0aFx8ei1pbmRleFwpXD4iCnN5biBtYXRjaCBjc3NCb3hQcm9wIGNvbnRhaW5lZCAiXDxcKG1pblx8bWF4XCktXCh3aWR0aFx8aGVpZ2h0XClcPiIKc3luIGtleXdvcmQgY3NzQm94UHJvcCBjb250YWluZWQgd2lkdGggaGVpZ2h0IGZsb2F0IGNsZWFyIG92ZXJmbG93IGNsaXAgdmlzaWJpbGl0eQpzeW4ga2V5d29yZCBjc3NCb3hBdHRyIGNvbnRhaW5lZCB0aGluIHRoaWNrIGJvdGgKc3luIGtleXdvcmQgY3NzQm94QXR0ciBjb250YWluZWQgZG90dGVkIGRhc2hlZCBzb2xpZCBkb3VibGUgZ3Jvb3ZlIHJpZGdlIGluc2V0IG91dHNldApzeW4ga2V5d29yZCBjc3NCb3hBdHRyIGNvbnRhaW5lZCBoaWRkZW4gdmlzaWJsZSBzY3JvbGwgY29sbGFwc2UKCnN5biBrZXl3b3JkIGNzc0dlbmVyYXRlZENvbnRlbnRQcm9wIGNvbnRhaW5lZCBjb250ZW50IHF1b3RlcwpzeW4gbWF0Y2ggY3NzR2VuZXJhdGVkQ29udGVudFByb3AgY29udGFpbmVkICJcPGNvdW50ZXItXChyZXNldFx8aW5jcmVtZW50XClcPiIKc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRQcm9wIGNvbnRhaW5lZCAiXDxsaXN0LXN0eWxlXCgtXCh0eXBlXHxwb3NpdGlvblx8aW1hZ2VcKVwpXD1cPiIKc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIGNvbnRhaW5lZCAiXDxcKG5vLVwpXD1cKG9wZW5cfGNsb3NlXCktcXVvdGVcPiIKc3luIG1hdGNoIGNzc0F1cmFsQXR0ciBjb250YWluZWQgIlw8bG93ZXJcPiIKc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIGNvbnRhaW5lZCAiXDxcKGxvd2VyXHx1cHBlclwpLVwocm9tYW5cfGFscGhhXHxncmVla1x8bGF0aW5cKVw+IgpzeW4gbWF0Y2ggY3NzR2VuZXJhdGVkQ29udGVudEF0dHIgY29udGFpbmVkICJcPFwoaGlyYWdhbmFcfGthdGFrYW5hXClcKC1pcm9oYVwpXD1cPiIKc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIGNvbnRhaW5lZCAiXDxcKGRlY2ltYWxcKC1sZWFkaW5nLXplcm9cKVw9XHxjamstaWRlb2dyYXBoaWNcKVw+IgpzeW4ga2V5d29yZCBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBjb250YWluZWQgZGlzYyBjaXJjbGUgc3F1YXJlIGhlYnJldyBhcm1lbmlhbiBnZW9yZ2lhbgpzeW4ga2V5d29yZCBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBjb250YWluZWQgaW5zaWRlIG91dHNpZGUKCnN5biBtYXRjaCBjc3NQYWdpbmdQcm9wIGNvbnRhaW5lZCAiXDxwYWdlXCgtYnJlYWstXChiZWZvcmVcfGFmdGVyXHxpbnNpZGVcKVwpXD1cPiIKc3luIGtleXdvcmQgY3NzUGFnaW5nUHJvcCBjb250YWluZWQgc2l6ZSBtYXJrcyBpbnNpZGUgb3JwaGFucyB3aWRvd3MKc3luIGtleXdvcmQgY3NzUGFnaW5nQXR0ciBjb250YWluZWQgbGFuZHNjYXBlIHBvcnRyYWl0IGNyb3AgY3Jvc3MgYWx3YXlzIGF2b2lkCgpzeW4ga2V5d29yZCBjc3NVSVByb3AgY29udGFpbmVkIGN1cnNvcgpzeW4gbWF0Y2ggY3NzVUlQcm9wIGNvbnRhaW5lZCAiXDxvdXRsaW5lXCgtXCh3aWR0aFx8c3R5bGVcfGNvbG9yXClcKVw9XD4iCnN5biBtYXRjaCBjc3NVSUF0dHIgY29udGFpbmVkICJcPFtuc11cPVtld11cPS1yZXNpemVcPiIKc3luIGtleXdvcmQgY3NzVUlBdHRyIGNvbnRhaW5lZCBkZWZhdWx0IGNyb3NzaGFpciBwb2ludGVyIG1vdmUgd2FpdCBoZWxwCnN5biBrZXl3b3JkIGNzc1VJQXR0ciBjb250YWluZWQgdGhpbiB0aGljawpzeW4ga2V5d29yZCBjc3NVSUF0dHIgY29udGFpbmVkIGRvdHRlZCBkYXNoZWQgc29saWQgZG91YmxlIGdyb292ZSByaWRnZSBpbnNldCBvdXRzZXQKc3luIGtleXdvcmQgY3NzVUlBdHRyIGNvbnRhaW5lZCBpbnZlcnQKCnN5biBtYXRjaCBjc3NSZW5kZXJBdHRyIGNvbnRhaW5lZCAiXDxtYXJrZXJcPiIKc3luIG1hdGNoIGNzc1JlbmRlclByb3AgY29udGFpbmVkICJcPFwoZGlzcGxheVx8bWFya2VyLW9mZnNldFx8dW5pY29kZS1iaWRpXHx3aGl0ZS1zcGFjZVx8bGlzdC1pdGVtXHxydW4taW5cfGlubGluZS10YWJsZVwpXD4iCnN5biBrZXl3b3JkIGNzc1JlbmRlclByb3AgY29udGFpbmVkIHBvc2l0aW9uIHRvcCBib3R0b20gZGlyZWN0aW9uCnN5biBtYXRjaCBjc3NSZW5kZXJQcm9wIGNvbnRhaW5lZCAiXDxcKGxlZnRcfHJpZ2h0XClcPiIKc3luIGtleXdvcmQgY3NzUmVuZGVyQXR0ciBjb250YWluZWQgYmxvY2sgaW5saW5lIGNvbXBhY3QKc3luIG1hdGNoIGNzc1JlbmRlckF0dHIgY29udGFpbmVkICJcPHRhYmxlXCgtXChyb3ctZ29ydXBcfFwoaGVhZGVyXHxmb290ZXJcKS1ncm91cFx8cm93XHxjb2x1bW5cKC1ncm91cFwpXD1cfGNlbGxcfGNhcHRpb25cKVwpXD1cPiIKc3luIGtleXdvcmQgY3NzUmVuZGVyQXR0ciBjb250YWluZWQgc3RhdGljIHJlbGF0aXZlIGFic29sdXRlIGZpeGVkCnN5biBrZXl3b3JkIGNzc1JlbmRlckF0dHIgY29udGFpbmVkIGx0ciBydGwgZW1iZWQgYmlkaS1vdmVycmlkZSBwcmUgbm93cmFwCnN5biBtYXRjaCBjc3NSZW5kZXJBdHRyIGNvbnRhaW5lZCAiXDxiaWRpLW92ZXJyaWRlXD4iCgoKc3luIG1hdGNoIGNzc0F1cmFsUHJvcCBjb250YWluZWQgIlw8XChwYXVzZVx8Y3VlXClcKC1cKGJlZm9yZVx8YWZ0ZXJcKVwpXD1cPiIKc3luIG1hdGNoIGNzc0F1cmFsUHJvcCBjb250YWluZWQgIlw8XChwbGF5LWR1cmluZ1x8c3BlZWNoLXJhdGVcfHZvaWNlLWZhbWlseVx8cGl0Y2hcKC1yYW5nZVwpXD1cfHNwZWFrXCgtXChwdW5jdHVhdGlvblx8bnVtZXJhbHNcKVwpXD1cKVw+IgpzeW4ga2V5d29yZCBjc3NBdXJhbFByb3AgY29udGFpbmVkIHZvbHVtZSBkdXJpbmcgYXppbXV0aCBlbGV2YXRpb24gc3RyZXNzIHJpY2huZXNzCnN5biBtYXRjaCBjc3NBdXJhbEF0dHIgY29udGFpbmVkICJcPFwoeC1cKVw9XChzb2Z0XHxsb3VkXClcPiIKc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBzaWxlbnQKc3luIG1hdGNoIGNzc0F1cmFsQXR0ciBjb250YWluZWQgIlw8c3BlbGwtb3V0XD4iCnN5biBrZXl3b3JkIGNzc0F1cmFsQXR0ciBjb250YWluZWQgbm9uIG1peApzeW4gbWF0Y2ggY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCAiXDxcKGxlZnRcfHJpZ2h0XCktc2lkZVw+IgpzeW4gbWF0Y2ggY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCAiXDxcKGZhclx8Y2VudGVyXCktXChsZWZ0XHxjZW50ZXJcfHJpZ2h0XClcPiIKc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBsZWZ0d2FyZHMgcmlnaHR3YXJkcyBiZWhpbmQKc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBiZWxvdyBsZXZlbCBhYm92ZSBoaWdoZXIKc3luIG1hdGNoIGNzc0F1cmFsQXR0ciBjb250YWluZWQgIlw8XCh4LVwpXD1cKHNsb3dcfGZhc3RcKVw+IgpzeW4ga2V5d29yZCBjc3NBdXJhbEF0dHIgY29udGFpbmVkIGZhc3RlciBzbG93ZXIKc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBtYWxlIGZlbWFsZSBjaGlsZCBjb2RlIGRpZ2l0cyBjb250aW51b3VzCgpzeW4gbWF0Y2ggY3NzVGFibGVQcm9wIGNvbnRhaW5lZCAiXDxcKGNhcHRpb24tc2lkZVx8dGFibGUtbGF5b3V0XHxib3JkZXItY29sbGFwc2VcfGJvcmRlci1zcGFjaW5nXHxlbXB0eS1jZWxsc1x8c3BlYWstaGVhZGVyXClcPiIKc3luIGtleXdvcmQgY3NzVGFibGVBdHRyIGNvbnRhaW5lZCBmaXhlZCBjb2xsYXBzZSBzZXBhcmF0ZSBzaG93IGhpZGUgb25jZSBhbHdheXMKCiIgRklYTUU6IFRoaXMgYWxsb3dzIGNzc01lZGlhQmxvY2sgYmVmb3JlIHRoZSBzZW1pY29sb24sIHdoaWNoIGlzIHdyb25nLgpzeW4gcmVnaW9uIGNzc0luY2x1ZGUgc3RhcnQ9IkBpbXBvcnQiIGVuZD0iOyIgY29udGFpbnM9Y3NzQ29tbWVudCxjc3NVUkwsY3NzVW5pY29kZUVzY2FwZSxjc3NNZWRpYVR5cGUKc3luIG1hdGNoIGNzc0JyYWNlcyBjb250YWluZWQgIlt7fV0iCnN5biBtYXRjaCBjc3NFcnJvciBjb250YWluZWQgIntAPD4iCnN5biByZWdpb24gY3NzRGVmaW5pdGlvbiB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWNzc0JyYWNlcyBzdGFydD0neycgZW5kPSd9JyBjb250YWlucz1jc3MuKkF0dHIsY3NzLipQcm9wLGNzc0NvbW1lbnQsY3NzVmFsdWUuKixjc3NDb2xvcixjc3NVUkwsY3NzSW1wb3J0YW50LGNzc0Vycm9yLGNzc1N0cmluZ1EsY3NzU3RyaW5nUVEsY3NzRnVuY3Rpb24sY3NzVW5pY29kZUVzY2FwZQpzeW4gbWF0Y2ggY3NzQnJhY2VFcnJvciAifSIKCnN5biBtYXRjaCBjc3NQc2V1ZG9DbGFzcyAiOlxTKiIgY29udGFpbnM9Y3NzUHNldWRvQ2xhc3NJZCxjc3NVbmljb2RlRXNjYXBlCnN5biBrZXl3b3JkIGNzc1BzZXVkb0NsYXNzSWQgY29udGFpbmVkIGxpbmsgdmlzaXRlZCBhY3RpdmUgaG92ZXIgZm9jdXMgYmVmb3JlIGFmdGVyIGxlZnQgcmlnaHQKc3luIG1hdGNoIGNzc1BzZXVkb0NsYXNzSWQgY29udGFpbmVkICJcPGZpcnN0XCgtXChsaW5lXHxsZXR0ZXJcfGNoaWxkXClcKVw9XD4iCnN5biByZWdpb24gY3NzUHNldWRvQ2xhc3NMYW5nIG1hdGNoZ3JvdXA9Y3NzUHNldWRvQ2xhc3NJZCBzdGFydD0iOmxhbmcoIiBlbmQ9IikiIG9uZWxpbmUKCnN5biByZWdpb24gY3NzQ29tbWVudCBzdGFydD0iL1wqIiBlbmQ9IlwqLyIKCnN5biBtYXRjaCBjc3NVbmljb2RlRXNjYXBlICJcXFx4XHsxLDZ9XHNcPyIKc3luIG1hdGNoIGNzc1NwZWNpYWxDaGFyUVEgK1xcIisgY29udGFpbmVkCnN5biBtYXRjaCBjc3NTcGVjaWFsQ2hhclEgK1xcJysgY29udGFpbmVkCnN5biByZWdpb24gY3NzU3RyaW5nUVEgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1jc3NVbmljb2RlRXNjYXBlLGNzc1NwZWNpYWxDaGFyUVEKc3luIHJlZ2lvbiBjc3NTdHJpbmdRIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysgY29udGFpbnM9Y3NzVW5pY29kZUVzY2FwZSxjc3NTcGVjaWFsQ2hhclEKCmlmIG1haW5fc3ludGF4ID09ICJjc3MiCiAgc3luIHN5bmMgbWlubGluZXM9MTAKZW5kaWYKCiIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CiIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2Nzc19zeW5faW5pdHMiKQogIGlmIHZlcnNpb24gPCA1MDgKICAgIGxldCBkaWRfY3NzX3N5bl9pbml0cyA9IDEKICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CiAgZWxzZQogICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAgZW5kaWYKCiAgSGlMaW5rIGNzc0NvbW1lbnQgQ29tbWVudAogIEhpTGluayBjc3NUYWdOYW1lIFN0YXRlbWVudAogIEhpTGluayBjc3NTZWxlY3Rvck9wIFNwZWNpYWwKICBIaUxpbmsgY3NzU2VsZWN0b3JPcDIgU3BlY2lhbAogIEhpTGluayBjc3NGb250UHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzQ29sb3JQcm9wIFN0b3JhZ2VDbGFzcwogIEhpTGluayBjc3NUZXh0UHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzQm94UHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzUmVuZGVyUHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzQXVyYWxQcm9wIFN0b3JhZ2VDbGFzcwogIEhpTGluayBjc3NSZW5kZXJQcm9wIFN0b3JhZ2VDbGFzcwogIEhpTGluayBjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzUGFnaW5nUHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzVGFibGVQcm9wIFN0b3JhZ2VDbGFzcwogIEhpTGluayBjc3NVSVByb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc0ZvbnRBdHRyIFR5cGUKICBIaUxpbmsgY3NzQ29sb3JBdHRyIFR5cGUKICBIaUxpbmsgY3NzVGV4dEF0dHIgVHlwZQogIEhpTGluayBjc3NCb3hBdHRyIFR5cGUKICBIaUxpbmsgY3NzUmVuZGVyQXR0ciBUeXBlCiAgSGlMaW5rIGNzc0F1cmFsQXR0ciBUeXBlCiAgSGlMaW5rIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIFR5cGUKICBIaUxpbmsgY3NzUGFnaW5nQXR0ciBUeXBlCiAgSGlMaW5rIGNzc1RhYmxlQXR0ciBUeXBlCiAgSGlMaW5rIGNzc1VJQXR0ciBUeXBlCiAgSGlMaW5rIGNzc0NvbW1vbkF0dHIgVHlwZQogIEhpTGluayBjc3NQc2V1ZG9DbGFzc0lkIFByZVByb2MKICBIaUxpbmsgY3NzUHNldWRvQ2xhc3NMYW5nIENvbnN0YW50CiAgSGlMaW5rIGNzc1ZhbHVlTGVuZ3RoIE51bWJlcgogIEhpTGluayBjc3NWYWx1ZUludGVnZXIgTnVtYmVyCiAgSGlMaW5rIGNzc1ZhbHVlTnVtYmVyIE51bWJlcgogIEhpTGluayBjc3NWYWx1ZUFuZ2xlIE51bWJlcgogIEhpTGluayBjc3NWYWx1ZVRpbWUgTnVtYmVyCiAgSGlMaW5rIGNzc1ZhbHVlRnJlcXVlbmN5IE51bWJlcgogIEhpTGluayBjc3NGdW5jdGlvbiBDb25zdGFudAogIEhpTGluayBjc3NVUkwgU3RyaW5nCiAgSGlMaW5rIGNzc0Z1bmN0aW9uTmFtZSBGdW5jdGlvbgogIEhpTGluayBjc3NDb2xvciBDb25zdGFudAogIEhpTGluayBjc3NJZGVudGlmaWVyIEZ1bmN0aW9uCiAgSGlMaW5rIGNzc0luY2x1ZGUgSW5jbHVkZQogIEhpTGluayBjc3NJbXBvcnRhbnQgU3BlY2lhbAogIEhpTGluayBjc3NCcmFjZXMgRnVuY3Rpb24KICBIaUxpbmsgY3NzQnJhY2VFcnJvciBFcnJvcgogIEhpTGluayBjc3NFcnJvciBFcnJvcgogIEhpTGluayBjc3NJbmNsdWRlIEluY2x1ZGUKICBIaUxpbmsgY3NzVW5pY29kZUVzY2FwZSBTcGVjaWFsCiAgSGlMaW5rIGNzc1N0cmluZ1FRIFN0cmluZwogIEhpTGluayBjc3NTdHJpbmdRIFN0cmluZwogIEhpTGluayBjc3NNZWRpYSBTcGVjaWFsCiAgSGlMaW5rIGNzc01lZGlhVHlwZSBTcGVjaWFsCiAgSGlMaW5rIGNzc01lZGlhQ29tbWEgTm9ybWFsCiAgSGlMaW5rIGNzc0ZvbnREZXNjcmlwdG9yIFNwZWNpYWwKICBIaUxpbmsgY3NzRm9udERlc2NyaXB0b3JGdW5jdGlvbiBDb25zdGFudAogIEhpTGluayBjc3NGb250RGVzY3JpcHRvclByb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc0ZvbnREZXNjcmlwdG9yQXR0ciBUeXBlCiAgSGlMaW5rIGNzc1VuaWNvZGVSYW5nZSBDb25zdGFudAogIGRlbGNvbW1hbmQgSGlMaW5rCmVuZGlmCgpsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc3MiCgppZiBtYWluX3N5bnRheCA9PSAnY3NzJwogIHVubGV0IG1haW5fc3ludGF4CmVuZGlmCgoKIiB2aW06IHRzPTgKCg==