IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJCXNoZWxsIChzaCkgS29ybiBzaGVsbCAoa3NoKSBiYXNoIChzaCkKIiBNYWludGFpbmVyOgkJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiAgPE5kck9jaGlwU0BQY2FtcGJlbGxBZmFtaWx5Lk1iaXo+CiIgUHJldmlvdXMgTWFpbnRhaW5lcjoJTGVubmFydCBTY2h1bHR6IDxMZW5uYXJ0LlNjaHVsdHpAZWNtd2YuaW50PgoiIExhc3QgQ2hhbmdlOgkJRmViIDE2LCAyMDA1CiIgVmVyc2lvbjoJCTcyCiIgVVJMOgkJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAoiCiIgVXNpbmcgdGhlIGZvbGxvd2luZyBWSU0gdmFyaWFibGVzOiB7e3sxCiIgYjppc19rb3Juc2hlbGwJaWYgZGVmaW5lZCwgZW5oYW5jZSB3aXRoIGtvcm5zaGVsbCBzeW50YXgKIiBiOmlzX2Jhc2gJCWlmIGRlZmluZWQsIGVuaGFuY2Ugd2l0aCBiYXNoIHN5bnRheAoiICAgaXNfa29ybnNoZWxsCWlmIG5laXRoZXIgYjppc19rb3Juc2hlbGwgb3IgYjppc19iYXNoIGlzCiIJCWRlZmluZWQsIHRoZW4gaWYgaXNfa29ybnNoZWxsIGlzIHNldAoiCQliOmlzX2tvcm5zaGVsbCBpcyBkZWZhdWx0CiIgICBpc19iYXNoCQlpZiBub25lIG9mIHRoZSBwcmV2aW91cyB0aHJlZSB2YXJpYWJsZXMgYXJlCiIJCWRlZmluZWQsIHRoZW4gaWYgaXNfYmFzaCBpcyBzZXQgYjppc19iYXNoIGlzIGRlZmF1bHQKIiBnOnNoX2ZvbGRfZW5hYmxlZAlpZiBub24temVybywgc3ludGF4IGZvbGRpbmcgaXMgZW5hYmxlZAoiICAgc2hfbWlubGluZXMJCXNldHMgdXAgc3luIHN5bmMgbWlubGluZXMgIChkZWZhdWx0OiAyMDApCiIgICBzaF9tYXhsaW5lcwkJc2V0cyB1cCBzeW4gc3luYyBtYXhsaW5lcyAgKGRlZmF1bHQ6IHR3aWNlIHNoX21pbmxpbmVzKQoiCiIgVGhpcyBmaWxlIGluY2x1ZGVzIG1hbnkgaWRlYXMgZnJvbSDJcmljIEJydW5ldCAoZXJpYy5icnVuZXRAZW5zLmZyKQoKIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMge3t7MQoiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCmlmIHZlcnNpb24gPCA2MDAKICBzeW50YXggY2xlYXIKZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgZmluaXNoCmVuZGlmCgoiIGhhbmRsaW5nIC9iaW4vc2ggd2l0aCBpc19rb3Juc2hlbGwvaXNfc2gge3t7MQoiIGI6aXNfc2ggaXMgc2V0IHdoZW4gIiMhIC9iaW4vc2giIGlzIGZvdW5kOwoiIEhvd2V2ZXIsIGl0IG9mdGVuIGlzIGp1c3QgYSBtYXNxdWVyYWRlIGJ5IGJhc2ggKHR5cGljYWxseSBMaW51eCkKIiBvciBrb3Juc2hlbGwgKHR5cGljYWxseSB3b3Jrc3RhdGlvbnMgd2l0aCBQb3NpeCAic2giKS4KIiBTbywgd2hlbiB0aGUgdXNlciBzZXRzICJpc19iYXNoIiBvciAiaXNfa29ybnNoZWxsIiwKIiBhIGI6aXNfc2ggaXMgY29udmVydGVkIGludG8gYjppc19iYXNoL2I6aXNfa29ybnNoZWxsLAoiIHJlc3BlY3RpdmVseS4KaWYgIWV4aXN0cygiYjppc19rb3Juc2hlbGwiKSAmJiAhZXhpc3RzKCJiOmlzX2Jhc2giKQogIGlmIGV4aXN0cygiaXNfa29ybnNoZWxsIikKICAgIGxldCBiOmlzX2tvcm5zaGVsbD0gMQogICAgaWYgZXhpc3RzKCJiOmlzX3NoIikKICAgICAgdW5sZXQgYjppc19zaAogICAgZW5kaWYKICBlbHNlaWYgZXhpc3RzKCJpc19iYXNoIikKICAgIGxldCBiOmlzX2Jhc2g9IDEKICAgIGlmIGV4aXN0cygiYjppc19zaCIpCiAgICAgIHVubGV0IGI6aXNfc2gKICAgIGVuZGlmCiAgZWxzZQogICAgbGV0IGI6aXNfc2g9IDEKICBlbmRpZgplbmRpZgoKaWYgIWV4aXN0cygiZzpzaF9mb2xkX2VuYWJsZWQiKQogbGV0IGc6c2hfZm9sZF9lbmFibGVkPSAwCmVsc2VpZiBnOnNoX2ZvbGRfZW5hYmxlZCAhPSAwICYmICFoYXMoImZvbGRpbmciKQogbGV0IGc6c2hfZm9sZF9lbmFibGVkPSAwCiBlY2hvbXNnICJJZ25vcmluZyBnOnNoX2ZvbGRfZW5hYmxlZD0iLmc6c2hfZm9sZF9lbmFibGVkLiI7IHJlLWNvbXBpbGUgdmltIGZvciArZm9sZCBzdXBwb3J0IgplbmRpZgoKIiBzaCBzeW50YXggaXMgY2FzZSBzZW5zaXRpdmUKc3luIGNhc2UgbWF0Y2gKCiIgQ2x1c3RlcnM6IGNvbnRhaW5zPUAuLi4gY2x1c3RlcnMge3t7MQoiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpzeW4gY2x1c3RlciBzaENhc2VFc2FjTGlzdAljb250YWlucz1zaENhc2VTdGFydCxzaENhc2Usc2hDYXNlQmFyLHNoQ2FzZUluLHNoQ29tbWVudCxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hDYXNlQ29tbWFuZFN1YixzaENhc2VFeFNpbmdsZVF1b3RlLHNoQ2FzZVNpbmdsZVF1b3RlLHNoQ2FzZURvdWJsZVF1b3RlLHNoU3BlY2lhbApzeW4gY2x1c3RlciBzaENhc2VMaXN0CWNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0LHNoQ2FzZUVzYWMsc2hDb2xvbixzaENvbW1hbmRTdWIsc2hDb21tYW5kU3ViLHNoQ29tbWVudCxzaERvLHNoRWNobyxzaEV4cHIsc2hGb3Isc2hIZXJlRG9jLHNoSWYsc2hSZWRpcixzaFNldExpc3Qsc2hTb3VyY2Usc2hTdGF0ZW1lbnQsc2hWYXJpYWJsZSxia3NoRnVuY3Rpb24sc2hTcGVjaWFsCnN5biBjbHVzdGVyIHNoQ29sb25MaXN0CWNvbnRhaW5zPUBzaENhc2VMaXN0CnN5biBjbHVzdGVyIHNoQ29tbWFuZFN1Ykxpc3QJY29udGFpbnM9c2hBcml0aG1ldGljLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaE51bWJlcixzaE9wZXJhdG9yLHNoUG9zblBhcm0sc2hTcGVjaWFsLHNoRXhTaW5nbGVRdW90ZSxzaFNpbmdsZVF1b3RlLHNoRG91YmxlUXVvdGUsc2hTdGF0ZW1lbnQsc2hWYXJpYWJsZSxzaFN1YlNoLHNoQWxpYXMsc2hUZXN0CnN5biBjbHVzdGVyIHNoRGJsUXVvdGVMaXN0CWNvbnRhaW5zPXNoQ29tbWFuZFN1YixzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hTcGVjaWFsLHNoUG9zblBhcm0Kc3luIGNsdXN0ZXIgc2hEZXJlZkxpc3QJY29udGFpbnM9c2hEZXJlZixzaERlcmVmU2ltcGxlLHNoRGVyZWZWYXIsc2hEZXJlZlNwZWNpYWwsc2hEZXJlZldvcmRFcnJvcgpzeW4gY2x1c3RlciBzaERlcmVmVmFyTGlzdAljb250YWlucz1zaERlcmVmT3Asc2hEZXJlZlZhckFycmF5LHNoRGVyZWZPcEVycm9yCnN5biBjbHVzdGVyIHNoRWNob0xpc3QJY29udGFpbnM9c2hBcml0aG1ldGljLHNoQ29tbWFuZFN1YixzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hFeHByLHNoRXhTaW5nbGVRdW90ZSxzaFNpbmdsZVF1b3RlLHNoRG91YmxlUXVvdGUsc2hTcGVjaWFsCnN5biBjbHVzdGVyIHNoRXhwckxpc3QxCWNvbnRhaW5zPXNoQ2hhckNsYXNzLHNoTnVtYmVyLHNoT3BlcmF0b3Isc2hFeFNpbmdsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hEb3VibGVRdW90ZSxzaFNwZWNpYWwsc2hFeHByLHNoRGJsQnJhY2Usc2hEZXJlZixzaERlcmVmU2ltcGxlCnN5biBjbHVzdGVyIHNoRXhwckxpc3QyCWNvbnRhaW5zPUBzaEV4cHJMaXN0MSxAc2hDYXNlTGlzdCxzaFRlc3QKc3luIGNsdXN0ZXIgc2hGdW5jdGlvbkxpc3QJY29udGFpbnM9QHNoQ2FzZUxpc3Qsc2hPcGVyYXRvcgpzeW4gY2x1c3RlciBzaEhlcmVCZWdpbkxpc3QJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKc3luIGNsdXN0ZXIgc2hIZXJlTGlzdAljb250YWlucz1zaEJlZ2luSGVyZSxzaEhlcmVQYXlsb2FkCnN5biBjbHVzdGVyIHNoSGVyZUxpc3REUQljb250YWlucz1zaEJlZ2luSGVyZSxAc2hEYmxRdW90ZUxpc3Qsc2hIZXJlUGF5bG9hZApzeW4gY2x1c3RlciBzaElkTGlzdAljb250YWlucz1zaENvbW1hbmRTdWIsc2hXcmFwTGluZU9wZXJhdG9yLHNoSWRXaGl0ZVNwYWNlLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaFNwZWNpYWwsc2hSZWRpcixzaEV4U2luZ2xlUXVvdGUsc2hTaW5nbGVRdW90ZSxzaERvdWJsZVF1b3RlLHNoRXhwcgpzeW4gY2x1c3RlciBzaExvb3BMaXN0CWNvbnRhaW5zPUBzaENhc2VMaXN0LHNoVGVzdE9wcixzaEV4cHIsc2hEYmxCcmFjZSxzaENvbmRpdGlvbmFsLHNoQ2FzZUVzYWMsc2hUZXN0CnN5biBjbHVzdGVyIHNoU3ViU2hMaXN0CWNvbnRhaW5zPUBzaENhc2VMaXN0CnN5biBjbHVzdGVyIHNoVGVzdExpc3QJY29udGFpbnM9c2hDaGFyQ2xhc3Msc2hDb21tZW50LHNoQ29tbWFuZFN1YixzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hEb3VibGVRdW90ZSxzaEV4cHIsc2hFeHByLHNoTnVtYmVyLHNoT3BlcmF0b3Isc2hFeFNpbmdsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hTcGVjaWFsLHNoVGVzdE9wcixzaFRlc3QKCgoiIEVjaG86IHt7ezEKIiA9PT09CiIgVGhpcyBvbmUgaXMgbmVlZGVkIElOU0lERSBhIENvbW1hbmRTdWIsIHNvIHRoYXQgYGVjaG8gYmxhYCBiZSBjb3JyZWN0CnN5biByZWdpb24gc2hFY2hvIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8ZWNob1w+IiAgc2tpcD0iXFwkIiBtYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSIkIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbPD47JnwoKV0ibWU9ZS0xIGVuZD0iXGRbPD5dIm1lPWUtMiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaEVjaG9MaXN0CnN5biByZWdpb24gc2hFY2hvIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8cHJpbnRcPiIgc2tpcD0iXFwkIiBtYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSIkIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbPD47JnwoKV0ibWU9ZS0xIGVuZD0iXGRbPD5dIm1lPWUtMiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaEVjaG9MaXN0CgoiIFRoaXMgbXVzdCBiZSBhZnRlciB0aGUgc3RyaW5ncywgc28gdGhhdCBibGEgXCIgYmUgY29ycmVjdApzeW4gcmVnaW9uIHNoRW1iZWRkZWRFY2hvIGNvbnRhaW5lZCBtYXRjaGdyb3VwPXNoU3RhdGVtZW50IHN0YXJ0PSJcPHByaW50XD4iIHNraXA9IlxcJCIgbWF0Y2hncm91cD1zaE9wZXJhdG9yIGVuZD0iJCIgbWF0Y2hncm91cD1OT05FIGVuZD0iWzw+OyZ8YCldIm1lPWUtMSBlbmQ9IlxkWzw+XSJtZT1lLTIgZW5kPSIjIm1lPWUtMSBjb250YWlucz1zaE51bWJlcixzaEV4U2luZ2xlUXVvdGUsc2hTaW5nbGVRdW90ZSxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hTcGVjaWFsVmFyLHNoU3BlY2lhbCxzaE9wZXJhdG9yLHNoRG91YmxlUXVvdGUsc2hDaGFyQ2xhc3MKCiIgQWxpYXM6IHt7ezEKIiA9PT09PQppZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikgfHwgZXhpc3RzKCJiOmlzX2Jhc2giKQogc3luIG1hdGNoIHNoU3RhdGVtZW50ICJcPGFsaWFzXD4iCiBzeW4gcmVnaW9uIHNoQWxpYXMgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxhbGlhc1w+XHNcK1woXHdcK1wpXEA9IiBza2lwPSJcXCQiIGVuZD0iXD5cfGAiCiBzeW4gcmVnaW9uIHNoQWxpYXMgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxhbGlhc1w+XHNcK1woXHdcKz1cKVxAPSIgc2tpcD0iXFwkIiBlbmQ9Ij0iCmVuZGlmCgoiIEVycm9yIENvZGVzOiB7e3sxCiIgPT09PT09PT09PT09CnN5biBtYXRjaCAgIHNoRG9FcnJvciAiXDxkb25lXD4iCnN5biBtYXRjaCAgIHNoSWZFcnJvciAiXDxmaVw+IgpzeW4gbWF0Y2ggICBzaEluRXJyb3IgIlw8aW5cPiIKc3luIG1hdGNoICAgc2hDYXNlRXJyb3IgIjs7IgpzeW4gbWF0Y2ggICBzaEVzYWNFcnJvciAiXDxlc2FjXD4iCnN5biBtYXRjaCAgIHNoQ3VybHlFcnJvciAifSIKc3luIG1hdGNoICAgc2hQYXJlbkVycm9yICIpIgppZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikKIHN5biBtYXRjaCAgICAgc2hEVGVzdEVycm9yICJdXSIKZW5kaWYKc3luIG1hdGNoICAgICBzaFRlc3RFcnJvciAiXSIKCiIgT3B0aW9ucyBJbnRlcmNlcHRvcjoge3t7MQoiID09PT09PT09PT09PT09PT09PT09CnN5biBtYXRjaCAgIHNoT3B0aW9uICAiXHNbXC0rXVthLXpBLVowLTldXCtcPiJtcz1zKzEKc3luIG1hdGNoICAgc2hPcHRpb24gICJccy0tXFNcKyJtcz1zKzEKCiIgT3BlcmF0b3JzOiB7e3sxCiIgPT09PT09PT09PQpzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSJbISY7fF0iCnN5biBtYXRjaCAgIHNoT3BlcmF0b3IJIlxbW1teOl1cfFxdXSIKc3luIG1hdGNoICAgc2hPcGVyYXRvcgkiIVw9PSIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9c2hQYXR0ZXJuCnN5biBtYXRjaCAgIHNoUGF0dGVybgkiXDxcU1wrXCgpKVwpXEA9Igljb250YWluZWQgY29udGFpbnM9c2hFeFNpbmdsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hEb3VibGVRdW90ZSxzaERlcmVmCgoiIFN1YnNoZWxsczoge3t7MQoiID09PT09PT09PT0Kc3luIHJlZ2lvbiBzaEV4cHIgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hFeHByUmVnaW9uICBzdGFydD0ieyIgZW5kPSJ9Igljb250YWlucz1Ac2hFeHByTGlzdDIKc3luIHJlZ2lvbiBzaFN1YlNoIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hTdWJTaFJlZ2lvbiBzdGFydD0iKCIgZW5kPSIpIgljb250YWlucz1Ac2hTdWJTaExpc3QKCiIgVGVzdHM6IHt7ezEKIj09PT09PT0KInN5biByZWdpb24gIHNoRXhwciB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoUmFuZ2Ugc3RhcnQ9IlxbIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iXF0iIGNvbnRhaW5zPUBzaFRlc3RMaXN0CnN5biByZWdpb24gIHNoRXhwciBtYXRjaGdyb3VwPXNoUmFuZ2Ugc3RhcnQ9IlxbIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iXF0iIGNvbnRhaW5zPUBzaFRlc3RMaXN0CnN5biByZWdpb24gIHNoVGVzdCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoU3RhdGVtZW50IHN0YXJ0PSJcPHRlc3RcPiIgc2tpcD0rXFxcXFx8XFwkKyBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbOyZ8XSJtZT1lLTEgZW5kPSIkIiBjb250YWlucz1Ac2hFeHByTGlzdDEKc3luIG1hdGNoICAgc2hUZXN0T3ByIGNvbnRhaW5lZCAiPD1cfD49XHwhPVx8PT1cfC0uXD5cfC1cKG50XHxvdFx8ZWZcfGVxXHxuZVx8bHRcfGxlXHxndFx8Z2VcKVw+XHxbIT08Pl0iCmlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCiBzeW4gcmVnaW9uICBzaERibEJyYWNlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcW1xbIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iXF1cXSIJY29udGFpbnM9QHNoVGVzdExpc3QKIHN5biByZWdpb24gIHNoRGJsUGFyZW4gbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigoIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iKSkiCWNvbnRhaW5zPUBzaFRlc3RMaXN0CmVuZGlmCgoiIENoYXJhY3RlciBDbGFzcyBJbiBSYW5nZToge3t7MQoiID09PT09PT09PT09PT09PT09PT09PT09PT0Kc3luIG1hdGNoICAgc2hDaGFyQ2xhc3MJY29udGFpbmVkCSJcWzpcKGJhY2tzcGFjZVx8ZXNjYXBlXHxyZXR1cm5cfHhkaWdpdFx8YWxudW1cfGFscGhhXHxibGFua1x8Y250cmxcfGRpZ2l0XHxncmFwaFx8bG93ZXJcfHByaW50XHxwdW5jdFx8c3BhY2VcfHVwcGVyXHx0YWJcKTpcXSIKCiIgTG9vcHM6IGRvLCBpZiwgd2hpbGUsIHVudGlsIHt7ezEKIiA9PT09PT0Kc3luIHJlZ2lvbiBzaERvCQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8ZG9cPiIgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIGVuZD0iXDxkb25lXD4iIGNvbnRhaW5zPUBzaExvb3BMaXN0CnN5biByZWdpb24gc2hJZgkJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIHN0YXJ0PSJcPGlmXD4iIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBlbmQ9Ilw8O1xfcyp0aGVuXD4iIGVuZD0iXDxmaVw+IiAgIGNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsQnJhY2Usc2hEYmxQYXJlbgpzeW4gcmVnaW9uIHNoRm9yCW1hdGNoZ3JvdXA9c2hMb29wIHN0YXJ0PSJcPGZvclw+IiBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4KaWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpIHx8IGV4aXN0cygiYjppc19iYXNoIikKIHN5biBjbHVzdGVyIHNoQ2FzZUxpc3QgYWRkPXNoUmVwZWF0CiBzeW4gcmVnaW9uIHNoUmVwZWF0ICAgbWF0Y2hncm91cD1zaExvb3AgICBzdGFydD0iXDx3aGlsZVw+IiBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4sc2hEYmxCcmFjZQogc3luIHJlZ2lvbiBzaFJlcGVhdCAgIG1hdGNoZ3JvdXA9c2hMb29wICAgc3RhcnQ9Ilw8dW50aWxcPiIgZW5kPSJcPGluXD4iIGVuZD0iXDxkb1w+Im1lPWUtMgljb250YWlucz1Ac2hMb29wTGlzdCxzaERibFBhcmVuLHNoRGJsQnJhY2UKIHN5biByZWdpb24gc2hDYXNlRXNhYyBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8c2VsZWN0XD4iIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4iIGNvbnRhaW5zPUBzaExvb3BMaXN0CmVsc2UKIHN5biByZWdpb24gc2hSZXBlYXQgICBtYXRjaGdyb3VwPXNoTG9vcCAgIHN0YXJ0PSJcPHdoaWxlXD4iIGVuZD0iXDxkb1w+Im1lPWUtMgkJY29udGFpbnM9QHNoTG9vcExpc3QKIHN5biByZWdpb24gc2hSZXBlYXQgICBtYXRjaGdyb3VwPXNoTG9vcCAgIHN0YXJ0PSJcPHVudGlsXD4iIGVuZD0iXDxkb1w+Im1lPWUtMgkJY29udGFpbnM9QHNoTG9vcExpc3QKZW5kaWYKCiIgQ2FzZTogY2FzZS4uLmVzYWMge3t7MQoiID09PT0Kc3luIG1hdGNoICAgc2hDYXNlQmFyCWNvbnRhaW5lZCBza2lwd2hpdGUgIltefCJgJygpXVx7LX18ImhzPWUJCW5leHRncm91cD1zaENhc2Usc2hDYXNlU3RhcnQsc2hDYXNlQmFyLHNoQ29tbWVudCxzaENhc2VFeFNpbmdsZVF1b3RlLHNoQ2FzZVNpbmdsZVF1b3RlLHNoQ2FzZURvdWJsZVF1b3RlCnN5biBtYXRjaCAgIHNoQ2FzZVN0YXJ0CWNvbnRhaW5lZCBza2lwd2hpdGUgc2tpcG5sICIoIgkJCW5leHRncm91cD1zaENhc2Usc2hDYXNlQmFyCnN5biByZWdpb24gIHNoQ2FzZQljb250YWluZWQgc2tpcHdoaXRlIHNraXBubCBtYXRjaGdyb3VwPXNoU25nbENhc2Ugc3RhcnQ9IlteJCgpXVx7LX0pIm1zPXMsaHM9ZSAgZW5kPSI7OyIgZW5kPSJlc2FjIm1lPXMtMSBjb250YWlucz1Ac2hDYXNlTGlzdCBuZXh0Z3JvdXA9c2hDYXNlU3RhcnQsc2hDYXNlLCxzaENvbW1lbnQKc3luIHJlZ2lvbiAgc2hDYXNlRXNhYwltYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8Y2FzZVw+IiBlbmQ9Ilw8ZXNhY1w+Igljb250YWlucz1Ac2hDYXNlRXNhY0xpc3QKc3luIGtleXdvcmQgc2hDYXNlSW4JY29udGFpbmVkIHNraXB3aGl0ZSBza2lwbmwgaW4JCQluZXh0Z3JvdXA9c2hDYXNlLHNoQ2FzZVN0YXJ0LHNoQ2FzZUJhcixzaENvbW1lbnQsc2hDYXNlRXhTaW5nbGVRdW90ZSxzaENhc2VTaW5nbGVRdW90ZSxzaENhc2VEb3VibGVRdW90ZQppZiBleGlzdHMoImI6aXNfYmFzaCIpCiBzeW4gcmVnaW9uICBzaENhc2VFeFNpbmdsZVF1b3RlCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBzdGFydD0rXCQnKyBza2lwPStcXFxcXHxcXC4rIGVuZD0rJysJY29udGFpbnM9c2hTdHJpbmdTcGVjaWFsLHNoU3BlY2lhbAlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaENhc2VCYXIJY29udGFpbmVkCmVsc2UKIHN5biByZWdpb24gIHNoQ2FzZUV4U2luZ2xlUXVvdGUJbWF0Y2hncm91cD1FcnJvciBzdGFydD0rXCQnKyBza2lwPStcXFxcXHxcXC4rIGVuZD0rJysJY29udGFpbnM9c2hTdHJpbmdTcGVjaWFsCXNraXB3aGl0ZSBza2lwbmwgbmV4dGdyb3VwPXNoQ2FzZUJhcgljb250YWluZWQKZW5kaWYKc3luIHJlZ2lvbiAgc2hDYXNlU2luZ2xlUXVvdGUJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PSsnKyBlbmQ9KycrCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbAkJc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9c2hDYXNlQmFyCWNvbnRhaW5lZApzeW4gcmVnaW9uICBzaENhc2VEb3VibGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcLisgZW5kPSsiKwljb250YWlucz1Ac2hEYmxRdW90ZUxpc3Qsc2hTdHJpbmdTcGVjaWFsCXNraXB3aGl0ZSBza2lwbmwgbmV4dGdyb3VwPXNoQ2FzZUJhcgljb250YWluZWQKc3luIHJlZ2lvbiAgc2hDYXNlQ29tbWFuZFN1YglzdGFydD0rYCsgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9K2ArCQljb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAkJc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9c2hDYXNlQmFyCWNvbnRhaW5lZAoKIiBNaXNjOiB7e3sxCiI9PT09PT0Kc3luIG1hdGNoICAgc2hXcmFwTGluZU9wZXJhdG9yICJcXCQiCnN5biByZWdpb24gIHNoQ29tbWFuZFN1YiAgIHN0YXJ0PSJgIiBza2lwPSJcXFxcXHxcXC4iIGVuZD0iYCIgY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKCiIgJCgpIGFuZCAkKCgpKToge3t7MQoiICQoLi4pIGlzIG5vdCBzdXBwb3J0ZWQgYnkgc2ggKEJvdXJuZSBzaGVsbCkuICBIb3dldmVyLCBhcHBhcmVudGx5CiIgc29tZSBzeXN0ZW1zIChIUD8pIGhhdmUgYXMgdGhlaXIgL2Jpbi9zaCBhIChsaW5rIHRvKSBLb3JuIHNoZWxsCiIgKGllLiBQb3NpeCBjb21wbGlhbnQgc2hlbGwpLiAgL2Jpbi9rc2ggc2hvdWxkIHdvcmsgZm9yIHRob3NlCiIgc3lzdGVtcyB0b28sIGhvd2V2ZXIsIHNvIHRoZSBmb2xsb3dpbmcgc3ludGF4IHdpbGwgZmxhZyAkKC4uKSBhcwoiIGFuIEVycm9yIHVuZGVyIC9iaW4vc2guICBCeSBjb25zZW5zdXMgb2YgdmltZGV2J2VycyEKaWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpIHx8IGV4aXN0cygiYjppc19iYXNoIikKIHN5biByZWdpb24gc2hDb21tYW5kU3ViIG1hdGNoZ3JvdXA9c2hDbWRTdWJSZWdpb24gc3RhcnQ9IlwkKCIgIHNraXA9J1xcXFxcfFxcLicgZW5kPSIpIiAgY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKIHN5biByZWdpb24gc2hBcml0aG1ldGljIG1hdGNoZ3JvdXA9c2hBcml0aFJlZ2lvbiAgc3RhcnQ9IlwkKCgiIHNraXA9J1xcXFxcfFxcLicgZW5kPSIpKSIgY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKIHN5biBtYXRjaCAgc2hTa2lwSW5pdFdTIGNvbnRhaW5lZAkiXlxzXCsiCmVsc2UKIHN5biByZWdpb24gc2hDb21tYW5kU3ViIG1hdGNoZ3JvdXA9RXJyb3Igc3RhcnQ9IlwkKCIgZW5kPSIpIiBjb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAplbmRpZgoKaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogc3luIGNsdXN0ZXIgc2hDb21tYW5kU3ViTGlzdCBhZGQ9YmFzaFNwZWNpYWxWYXJpYWJsZXMsYmFzaFN0YXRlbWVudAogc3luIGNsdXN0ZXIgc2hDYXNlTGlzdCBhZGQ9YmFzaEFkbWluU3RhdGVtZW50LGJhc2hTdGF0ZW1lbnQKIHN5biBrZXl3b3JkIGJhc2hTcGVjaWFsVmFyaWFibGVzIGNvbnRhaW5lZCBCQVNIIEJBU0hfRU5WIEJBU0hfVkVSU0lORk8gQkFTSF9WRVJTSU9OIENEUEFUSCBESVJTVEFDSyBFVUlEIEZDRURJVCBGSUdOT1JFIEdMT0JJR05PUkUgR1JPVVBTIEhJU1RDTUQgSElTVENPTlRST0wgSElTVEZJTEUgSElTVEZJTEVTSVpFIEhJU1RJR05PUkUgSElTVFNJWkUgSE9NRSBIT1NURklMRSBIT1NUTkFNRSBIT1NUVFlQRSBJRlMgSUdOT1JFRU9GIElOUFVUUkMgTEFORyBMQ19BTEwgTENfQ09MTEFURSBMQ19NRVNTQUdFUyBMSU5FTk8gTUFDSFRZUEUgTUFJTCBNQUlMQ0hFQ0sgTUFJTFBBVEggT0xEUFdEIE9QVEFSRyBPUFRFUlIgT1BUSU5EIE9TVFlQRSBQQVRIIFBJUEVTVEFUVVMgUFBJRCBQUk9NUFRfQ09NTUFORCBQUzEgUFMyIFBTMyBQUzQgUFdEIFJBTkRPTSBSRVBMWSBTRUNPTkRTIFNIRUxMT1BUUyBTSExWTCBUSU1FRk9STUFUIFRJTUVPVVQgVUlEIGF1dG9fcmVzdW1lIGhpc3RjaGFycwogc3luIGtleXdvcmQgYmFzaFN0YXRlbWVudCBjaG1vZCBjbGVhciBjb21wbGV0ZSBkdSBlZ3JlcCBleHByIGZncmVwIGZpbmQgZ251ZmluZCBnbnVncmVwIGdyZXAgaW5zdGFsbCBsZXNzIGxzIG1rZGlyIG12IHJtIHJtZGlyIHJwbSBzZWQgc2xlZXAgc29ydCBzdHJpcCB0YWlsIHRvdWNoCiBzeW4ga2V5d29yZCBiYXNoQWRtaW5TdGF0ZW1lbnQgZGFlbW9uIGtpbGxhbGwga2lsbHByb2MgbmljZSByZWxvYWQgcmVzdGFydCBzdGFydCBzdGF0dXMgc3RvcAplbmRpZgoKaWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCiBzeW4gY2x1c3RlciBzaENvbW1hbmRTdWJMaXN0IGFkZD1rc2hTcGVjaWFsVmFyaWFibGVzLGtzaFN0YXRlbWVudAogc3luIGNsdXN0ZXIgc2hDYXNlTGlzdCBhZGQ9a3NoU3RhdGVtZW50CiBzeW4ga2V5d29yZCBrc2hTcGVjaWFsVmFyaWFibGVzIGNvbnRhaW5lZCBDRFBBVEggQ09MVU1OUyBFRElUT1IgRU5WIEVSUk5PIEZDRURJVCBGUEFUSCBISVNURklMRSBISVNUU0laRSBIT01FIElGUyBMSU5FTk8gTElORVMgTUFJTCBNQUlMQ0hFQ0sgTUFJTFBBVEggT0xEUFdEIE9QVEFSRyBPUFRJTkQgUEFUSCBQUElEIFBTMSBQUzIgUFMzIFBTNCBQV0QgUkFORE9NIFJFUExZIFNFQ09ORFMgU0hFTEwgVE1PVVQgVklTVUFMCiBzeW4ga2V5d29yZCBrc2hTdGF0ZW1lbnQgY2F0IGNobW9kIGNsZWFyIGNwIGR1IGVncmVwIGV4cHIgZmdyZXAgZmluZCBncmVwIGluc3RhbGwga2lsbGFsbCBsZXNzIGxzIG1rZGlyIG12IG5pY2UgcHJpbnRlbnYgcm0gcm1kaXIgc2VkIHNvcnQgc3RyaXAgc3R0eSB0YWlsIHRvdWNoIHRwdXQKZW5kaWYKCnN5biBtYXRjaCAgIHNoU291cmNlCSJeXC5ccyIKc3luIG1hdGNoICAgc2hTb3VyY2UJIlxzXC5ccyIKc3luIHJlZ2lvbiAgc2hDb2xvbglzdGFydD0iXlxzKjoiIGVuZD0iJFx8IiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaENvbG9uTGlzdAoKIiBTdHJpbmcgQW5kIENoYXJhY3RlciBDb25zdGFudHM6IHt7ezEKIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CnN5biBtYXRjaCAgIHNoTnVtYmVyCSItXD1cPFxkXCtcPiIKaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogc3luIG1hdGNoICAgc2hTcGVjaWFsCSJcXFxvXG9cb1x8XFx4XHhceFx8XFxjLlx8XFxbYWJlZm5ydHZdIgljb250YWluZWQKZWxzZQogc3luIG1hdGNoICAgc2hTcGVjaWFsCSJcXFxkXGRcZFx8XFxbYWJjZm5ydHYwXSIJY29udGFpbmVkCmVuZGlmCmlmIGV4aXN0cygiYjppc19iYXNoIikKIHN5biByZWdpb24gIHNoRXhTaW5nbGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9K1wkJysgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9KycrCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbCxzaFNwZWNpYWwKZWxzZQogc3luIHJlZ2lvbiAgc2hFeFNpbmdsZVF1b3RlCW1hdGNoR3JvdXA9RXJyb3Igc3RhcnQ9K1wkJysgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9KycrCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbCxzaFNwZWNpYWwKZW5kaWYKc3luIHJlZ2lvbiAgc2hTaW5nbGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9KycrIGVuZD0rJysJCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbApzeW4gcmVnaW9uICBzaERvdWJsZVF1b3RlCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdCxzaFN0cmluZ1NwZWNpYWwKc3luIG1hdGNoICAgc2hTdHJpbmdTcGVjaWFsCSJbXls6cHJpbnQ6XV0iCWNvbnRhaW5lZApzeW4gbWF0Y2ggICBzaFNwZWNpYWwJIlxcW1xcXCJcJ2AkKCkjXSIKCiIgQ29tbWVudHM6IHt7ezEKIj09PT09PT09PT0Kc3luIGNsdXN0ZXIgICAgc2hDb21tZW50R3JvdXAJY29udGFpbnM9c2hUb2RvLEBTcGVsbApzeW4ga2V5d29yZCAgICBzaFRvZG8JY29udGFpbmVkCVRPRE8Kc3luIG1hdGNoICAgICAgc2hDb21tZW50CSIjLiokIiBjb250YWlucz1Ac2hDb21tZW50R3JvdXAKCiIgRmlsZSBSZWRpcmVjdGlvbiBIaWdobGlnaHRlZCBBcyBPcGVyYXRvcnM6IHt7ezEKIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPT5cKCZbLTAtOV1cKVw9IgpzeW4gbWF0Y2ggICAgICBzaFJlZGlyCSJcZFw9Pj4tXD0iCnN5biBtYXRjaCAgICAgIHNoUmVkaXIJIlxkXD08XCgmWy0wLTldXClcPSIKc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGQ8PC1cPSIKCiIgSGVyZSBEb2N1bWVudHM6IHt7ezEKIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQppZiB2ZXJzaW9uIDwgNjAwCiBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqXCoqRU5EW2EtekEtWl8wLTldKlwqKiIgIG1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5FTkRbYS16QS1aXzAtOV0qJCIgY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0CiBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8LVxzKlwqKkVORFthLXpBLVpfMC05XSpcKioiIG1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypFTkRbYS16QS1aXzAtOV0qJCIgY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0CiBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqXCoqRU9GXCoqIgltYXRjaGdyb3VwPXNoUmVkaXIJZW5kPSJeRU9GJCIJY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0CiBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8LVxzKlwqKkVPRlwqKiIgbWF0Y2hncm91cD1zaFJlZGlyCWVuZD0iXlxzKkVPRiQiCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAogc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlwqKlwuXCoqIgltYXRjaGdyb3VwPXNoUmVkaXIJZW5kPSJeXC4kIgljb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXCoqXC5cKioiCW1hdGNoZ3JvdXA9c2hSZWRpcgllbmQ9Il5ccypcLiQiCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAoKZWxzZWlmIGc6c2hfZm9sZF9lbmFibGVkCgogaWYgdjp2ZXJzaW9uID4gNjAyIHx8ICh2OnZlcnNpb24gPT0gNjAyICYmIGhhcygicGF0Y2gyMTkiKSkKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBmb2xkIHN0YXJ0PSJcKDw8XHMqXFxcPVx6KFxTKlwpXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0RFEJa2VlcGVuZAogIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDxccypcIlx6KFxTKlwpXCJcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIiIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBmb2xkIHN0YXJ0PSJcKDw8XHMqJ1x6KFxTKlwpJ1wpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiIgkJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAogIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDxccypcXFxfJFxfcypceihcUypcKVwpXEA9IgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PFxzKlxcXF8kXF9zKlwiXHooXFMqXClcIlwpXEA9IgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PFxzKlxcXF8kXF9zKidceihcUypcKSdcKVxAPSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PC1ccypceihcUypcKVwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBmb2xkIHN0YXJ0PSJcKDw8LVxzKlwiXHooXFMqXClcIlwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiIgljb250YWlucz1Ac2hIZXJlTGlzdERRCWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBmb2xkIHN0YXJ0PSJcKDw8LVxzKidceihcUypcKSdcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIiIJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAogIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDwtXHMqXFxcXyRcX3MqJ1x6KFxTKlwpJ1wpXEA9IgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAogIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDwtXHMqXFxcXyRcX3MqXHooXFMqXClcKVxAPSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBmb2xkIHN0YXJ0PSJcKDw8LVxzKlxcXF8kXF9zKlwiXHooXFMqXClcIlwpXEA9IgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAogZWxzZQogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PFxzKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCQljb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgZm9sZCBzdGFydD0iPDxccypcIlx6KFxTKlwpXCIiCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgZm9sZCBzdGFydD0iPDxccyonXHooXFMqXCknIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8LVxzKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PC1ccypcIlx6KFxTKlwpXCIiCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgZm9sZCBzdGFydD0iPDwtXHMqJ1x6KFxTKlwpJyIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIgogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PFxzKlxcXF8kXF9zKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8XHMqXFxcXyRcX3MqXCJceihcUypcKVwiIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgZm9sZCBzdGFydD0iPDwtXHMqXFxcXyRcX3MqJ1x6KFxTKlwpJyIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8LVxzKlxcXF8kXF9zKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8LVxzKlxcXF8kXF9zKlwiXHooXFMqXClcIiIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8XHMqXFxcXyRcX3MqJ1x6KFxTKlwpJyIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgogZW5kaWYKZWxzZQogaWYgdjp2ZXJzaW9uID4gNjAyIHx8ICh2OnZlcnNpb24gPT0gNjAyICYmIGhhcygicGF0Y2gyMTkiKSkKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PFxzKlxcXD1ceihcUypcKVwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDxccypcIlx6KFxTKlwpXCJcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIiIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0RFEJa2VlcGVuZAogIHN5biByZWdpb24gc2hIZXJlRG9jIHN0YXJ0PSJcKDw8XHMqJ1x6KFxTKlwpJ1wpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiIgkJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAogIHN5biByZWdpb24gc2hIZXJlRG9jIHN0YXJ0PSJcKDw8XHMqXFxcXyRcX3MqXHooXFMqXClcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIiIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PFxzKlxcXF8kXF9zKlwiXHooXFMqXClcIlwpXEA9IgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDxccypcXFxfJFxfcyonXHooXFMqXCknXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PC1ccypceihcUypcKVwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PC1ccypcIlx6KFxTKlwpXCJcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIiIJY29udGFpbnM9QHNoSGVyZUxpc3REUQlrZWVwZW5kCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDwtXHMqJ1x6KFxTKlwpJ1wpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiIgljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDwtXHMqXFxcXyRcX3MqJ1x6KFxTKlwpJ1wpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PC1ccypcXFxfJFxfcypceihcUypcKVwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PC1ccypcXFxfJFxfcypcIlx6KFxTKlwpXCJcKVxAPSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKICBzeW4gbWF0Y2ggIHNoSGVyZVBheWxvYWQgIl4uKiQiCWNvbnRhaW5lZAlza2lwbmwJbmV4dGdyb3VwPXNoSGVyZVBheWxvYWQJY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0CiAgc3luIG1hdGNoICBzaEJlZ2luTGluZSAiLiokIgkJY29udGFpbmVkCXNraXBubAluZXh0Z3JvdXA9c2hIZXJlUGF5bG9hZAljb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAogIHN5biBtYXRjaCAgc2hCZWdpbkhlcmUgIjw8LVw9XHMqXFNcKyIJY29udGFpbmVkCQluZXh0Z3JvdXA9c2hCZWdpbkxpbmUKIGVsc2UKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqXFxcPVx6KFxTKlwpIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIgICAgY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0CiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlwiXHooXFMqXClcIiIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PC1ccypceihcUypcKSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiIGNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqJ1x6KFxTKlwpJyIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKidceihcUypcKSciCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXCJceihcUypcKVwiIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqXFxcXyRcX3MqXHooXFMqXCkiCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXFxcXyRcX3MqXHooXFMqXCkiCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIgogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXFxcXyRcX3MqJ1x6KFxTKlwpJyIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlxcXF8kXF9zKidceihcUypcKSciCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDxccypcXFxfJFxfcypcIlx6KFxTKlwpXCIiCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXFxcXyRcX3MqXCJceihcUypcKVwiIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIKIGVuZGlmCmVuZGlmCgoiIEhlcmUgU3RyaW5nczoge3t7MQoiID09PT09PT09PT09PT0KaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogc3luIG1hdGNoIHNoUmVkaXIgIjw8PCIKZW5kaWYKCiIgSWRlbnRpZmllcnM6IHt7ezEKIj09PT09PT09PT09PT0Kc3luIG1hdGNoICBzaFZhcmlhYmxlICJcPFwoW2J3Z2xzYXZdOlwpXD1bYS16QS1aMC05LiFAXyUrLF0qXHplPSIJbmV4dGdyb3VwPXNoU2V0SWRlbnRpZmllcgpzeW4gbWF0Y2ggIHNoSWRXaGl0ZVNwYWNlICBjb250YWluZWQJIlxzIgpzeW4gbWF0Y2ggIHNoU2V0SWRlbnRpZmllciBjb250YWluZWQJIj0iCW5leHRncm91cD1zaFBhdHRlcm4sc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoRG91YmxlUXVvdGUsc2hTaW5nbGVRdW90ZSxzaEV4U2luZ2xlUXVvdGUKaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogIHN5biByZWdpb24gc2hTZXRMaXN0IG1hdGNoZ3JvdXA9c2hTZXQgc3RhcnQ9Ilw8XChkZWNsYXJlXHx0eXBlc2V0XHxsb2NhbFx8ZXhwb3J0XHx1bnNldFwpXD5cemVbXi9dIiBlbmQ9IiQiIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9Ils7Jl0ibWU9ZS0xIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IiNcfD0ibWU9ZS0xIGNvbnRhaW5zPUBzaElkTGlzdAogIHN5biByZWdpb24gc2hTZXRMaXN0IG1hdGNoZ3JvdXA9c2hTZXQgc3RhcnQ9Ilw8c2V0XD5bXi9dIm1lPWUtMSBlbmQ9IiQiIGVuZD0iXFx6ZVt8KV0iCQkgbWF0Y2hncm91cD1zaE9wZXJhdG9yIGVuZD0iWzsmXSJtZT1lLTEgbWF0Y2hncm91cD1OT05FIGVuZD0iWyM9XSJtZT1lLTEgY29udGFpbnM9QHNoSWRMaXN0CiAgc3luIG1hdGNoICBzaFNldCAiXDxcKGRlY2xhcmVcfHR5cGVzZXRcfGxvY2FsXHxleHBvcnRcfHNldFx8dW5zZXRcKSQiCmVsc2VpZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikKICBzeW4gcmVnaW9uIHNoU2V0TGlzdCBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPFwodHlwZXNldFx8ZXhwb3J0XHx1bnNldFwpXD5cemVbXi9dIiBlbmQ9IiQiCQltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJbOyZdIm1lPWUtMSBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbIz1dIm1lPWUtMSBjb250YWlucz1Ac2hJZExpc3QKICBzeW4gcmVnaW9uIHNoU2V0TGlzdCBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPHNldFw+XHplW14vXSIgZW5kPSIkXHxcemVbfSldIgkJCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9Ils7Jl0ibWU9ZS0xIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IlsjPV0ibWU9ZS0xIGNvbnRhaW5zPUBzaElkTGlzdAogIHN5biBtYXRjaCAgc2hTZXQgIlw8XCh0eXBlc2V0XHxzZXRcfGV4cG9ydFx8dW5zZXRcKSQiCmVsc2UKICBzeW4gcmVnaW9uIHNoU2V0TGlzdCBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPFwoc2V0XHxleHBvcnRcfHVuc2V0XClcPlx6ZVteL10iIGVuZD0iJFx8XHplW3wpXSIJbWF0Y2hncm91cD1zaE9wZXJhdG9yIGVuZD0iWzsmXSIgbWF0Y2hncm91cD1OT05FIGVuZD0iWyM9XSJtZT1lLTEgY29udGFpbnM9QHNoSWRMaXN0CiAgc3luIG1hdGNoICBzaFN0YXRlbWVudCAiXDxcKHNldFx8ZXhwb3J0XHx1bnNldFwpJCIKZW5kaWYKCiIgRnVuY3Rpb25zOiB7e3sxCiIgaGFuZGxlcyBmdW5jdGlvbnMgd2hpY2ggc3RhcnQ6ICBGdW5jdGlvbiAoKSB7CiIgICBBcHBhcmVudGx5IEJvdXJuZSBzaGVsbCBhY2NlcHRzIGZ1bmN0aW9ucyB0b28sCiIgICBldmVuIHRob3VnaCBpdCBpc24ndCBkb2N1bWVudGVkIGJ5IG15IG1hbiBwYWdlcwoiICAgZm9yIGl0LgpzeW4gY2x1c3RlciBzaENvbW1hbmRTdWJMaXN0ICBhZGQ9YmtzaEZ1bmN0aW9uCmlmIGc6c2hfZm9sZF9lbmFibGVkCiBzeW4gcmVnaW9uIGJrc2hGdW5jdGlvbkJvZHkJdHJhbnNwYXJlbnQgZm9sZAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXlxzKlw8XGhcdypcPlxzKigpXHMqeyIgZW5kPSJ9IiBjb250YWlucz1ia3NoRnVuY3Rpb24sYmtzaEZ1bmN0aW9uRGVsaW0sQHNoRnVuY3Rpb25MaXN0CmVsc2UKIHN5biByZWdpb24gYmtzaEZ1bmN0aW9uQm9keQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXlxzKlw8XGhcdypcPlxzKigpXHMqeyIgZW5kPSJ9IiBjb250YWlucz1ia3NoRnVuY3Rpb24sYmtzaEZ1bmN0aW9uRGVsaW0sQHNoRnVuY3Rpb25MaXN0CmVuZGlmCnN5biBtYXRjaCBia3NoRnVuY3Rpb24JIl5ccypcPFxoXHcqXD5ccyooKSIJc2tpcHdoaXRlIHNraXBubCBjb250YWlucz1ia3NoRnVuY3Rpb25QYXJlbgpzeW4gbWF0Y2ggYmtzaEZ1bmN0aW9uUGFyZW4JIlsoKV0iCWNvbnRhaW5lZApzeW4gbWF0Y2ggYmtzaEZ1bmN0aW9uRGVsaW0JIlt7fV0iCWNvbnRhaW5lZAoKIiBQYXJhbWV0ZXIgRGVyZWZlcmVuY2luZzoge3t7MQoiID09PT09PT09PT09PT09PT09PT09PT09PQpzeW4gbWF0Y2ggIHNoRGVyZWZTaW1wbGUJIlwkXCUoXGhcdypcfFxkXCkiCnN5biByZWdpb24gc2hEZXJlZgltYXRjaGdyb3VwPVByZVByb2Mgc3RhcnQ9IlwkeyIgZW5kPSJ9Igljb250YWlucz1Ac2hEZXJlZkxpc3Qsc2hEZXJlZlZhckFycmF5CnN5biBtYXRjaCAgc2hEZXJlZldvcmRFcnJvcgkiW159JFtdIgljb250YWluZWQKc3luIG1hdGNoICBzaERlcmVmU2ltcGxlCSJcJFstIypAIT9dIgpzeW4gbWF0Y2ggIHNoRGVyZWZTaW1wbGUJIlwkXCQiCmlmIGV4aXN0cygiYjppc19iYXNoIikgfHwgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCiBzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHsjI1w9IiBlbmQ9In0iCWNvbnRhaW5zPUBzaERlcmVmTGlzdAplbmRpZgoKIiBiYXNoOiAkeyFwcmVmaXgqfSBhbmQgJHsjcGFyYW1ldGVyfToge3t7MQoiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQppZiBleGlzdHMoImI6aXNfYmFzaCIpCiBzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHshIiBlbmQ9IlwqXD19Igljb250YWlucz1Ac2hEZXJlZkxpc3Qsc2hEZXJlZk9wCiBzeW4gbWF0Y2ggIHNoRGVyZWZWYXIJY29udGFpbmVkCSJ7XEA8PSFcd1wrIgkJbmV4dGdyb3VwPUBzaERlcmVmVmFyTGlzdAplbmRpZgoKc3luIG1hdGNoICBzaERlcmVmU3BlY2lhbAljb250YWluZWQJIntcQDw9Wy0qQD8wXSIJCW5leHRncm91cD1zaERlcmVmT3Asc2hEZXJlZk9wRXJyb3IKc3luIG1hdGNoICBzaERlcmVmU3BlY2lhbAljb250YWluZWQJIlwoe1sjIV1cKVxAPD1bWzphbG51bTpdKkBfXVwrIgluZXh0Z3JvdXA9QHNoRGVyZWZWYXJMaXN0LHNoRGVyZWZPcApzeW4gbWF0Y2ggIHNoRGVyZWZWYXIJY29udGFpbmVkCSJ7XEA8PVx3XCsiCQluZXh0Z3JvdXA9QHNoRGVyZWZWYXJMaXN0CgoiIHNoIGtzaCBiYXNoIDogJHt2YXJbLi4uIF0uLi59ICBhcnJheSByZWZlcmVuY2U6IHt7ezEKc3luIHJlZ2lvbiAgc2hEZXJlZlZhckFycmF5ICAgY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hEZXJlZiBzdGFydD0iXFsiIGVuZD0iXSIJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QgbmV4dGdyb3VwPXNoRGVyZWZPcCxzaERlcmVmT3BFcnJvcgoKIiBTcGVjaWFsICR7cGFyYW1ldGVyIE9QRVJBVE9SIHdvcmR9IGhhbmRsaW5nOiB7e3sxCiIgc2gga3NoIGJhc2ggOiAke3BhcmFtZXRlcjotd29yZH0gICAgd29yZCBpcyBkZWZhdWx0IHZhbHVlCiIgc2gga3NoIGJhc2ggOiAke3BhcmFtZXRlcjo9d29yZH0gICAgYXNzaWduIHdvcmQgYXMgZGVmYXVsdCB2YWx1ZQoiIHNoIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXI6P3dvcmR9ICAgIGRpc3BsYXkgd29yZCBpZiBwYXJhbWV0ZXIgaXMgbnVsbAoiIHNoIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXI6K3dvcmR9ICAgIHVzZSB3b3JkIGlmIHBhcmFtZXRlciBpcyBub3QgbnVsbCwgb3RoZXJ3aXNlIG5vdGhpbmcKIiAgICBrc2ggYmFzaCA6ICR7cGFyYW1ldGVyI3BhdHRlcm59ICByZW1vdmUgc21hbGwgbGVmdCAgcGF0dGVybgoiICAgIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXIjI3BhdHRlcm59IHJlbW92ZSBsYXJnZSBsZWZ0ICBwYXR0ZXJuCiIgICAga3NoIGJhc2ggOiAke3BhcmFtZXRlciVwYXR0ZXJufSAgcmVtb3ZlIHNtYWxsIHJpZ2h0IHBhdHRlcm4KIiAgICBrc2ggYmFzaCA6ICR7cGFyYW1ldGVyJSVwYXR0ZXJufSByZW1vdmUgbGFyZ2UgcmlnaHQgcGF0dGVybgpzeW4gY2x1c3RlciBzaERlcmVmUGF0dGVybkxpc3QJY29udGFpbnM9c2hEZXJlZlBhdHRlcm4sc2hEZXJlZlN0cmluZwpzeW4gbWF0Y2ggc2hEZXJlZk9wRXJyb3IJY29udGFpbmVkCSI6W1s6cHVuY3Q6XV0iCnN5biBtYXRjaCAgc2hEZXJlZk9wCWNvbnRhaW5lZAkiOlw9Wy09P10iCW5leHRncm91cD1Ac2hEZXJlZlBhdHRlcm5MaXN0CnN5biBtYXRjaCAgc2hEZXJlZk9wCWNvbnRhaW5lZAkiOlw9KyIJbmV4dGdyb3VwPUBzaERlcmVmUGF0dGVybkxpc3QKaWYgZXhpc3RzKCJiOmlzX2Jhc2giKSB8fCBleGlzdHMoImI6aXNfa29ybnNoZWxsIikKIHN5biBtYXRjaCAgc2hEZXJlZk9wCWNvbnRhaW5lZAkiI1x7MSwyfSIJbmV4dGdyb3VwPUBzaERlcmVmUGF0dGVybkxpc3QKIHN5biBtYXRjaCAgc2hEZXJlZk9wCWNvbnRhaW5lZAkiJVx7MSwyfSIJbmV4dGdyb3VwPUBzaERlcmVmUGF0dGVybkxpc3QKIHN5biBtYXRjaCAgc2hEZXJlZlBhdHRlcm4JY29udGFpbmVkCSJbXnt9XVwrIgljb250YWlucz1zaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hEZXJlZlBhdHRlcm4sc2hEZXJlZlN0cmluZyxzaENvbW1hbmRTdWIgbmV4dGdyb3VwPXNoRGVyZWZQYXR0ZXJuCiBzeW4gcmVnaW9uIHNoRGVyZWZQYXR0ZXJuCWNvbnRhaW5lZAlzdGFydD0ieyIgZW5kPSJ9Igljb250YWlucz1zaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hEZXJlZlN0cmluZyxzaENvbW1hbmRTdWIgbmV4dGdyb3VwPXNoRGVyZWZQYXR0ZXJuCmVuZGlmCnN5biByZWdpb24gc2hEZXJlZlN0cmluZwljb250YWluZWQJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PSsnKyBlbmQ9KycrCQljb250YWlucz1zaFN0cmluZ1NwZWNpYWwKc3luIHJlZ2lvbiBzaERlcmVmU3RyaW5nCWNvbnRhaW5lZAltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKwljb250YWlucz1Ac2hEYmxRdW90ZUxpc3Qsc2hTdHJpbmdTcGVjaWFsCnN5biBtYXRjaCAgc2hEZXJlZlN0cmluZwljb250YWluZWQJIlxcWyInXSIKCiIJYmFzaCA6ICR7cGFyYW1ldGVyOm9mZnNldH0KIgliYXNoIDogJHtwYXJhbWV0ZXI6b2Zmc2V0Omxlbmd0aH0KIgliYXNoIDogJHtwYXJhbWV0ZXIvL3BhdHRlcm4vc3RyaW5nfQoiCWJhc2ggOiAke3BhcmFtZXRlci8vcGF0dGVybn0KaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogc3luIHJlZ2lvbiBzaERlcmVmT3AJY29udGFpbmVkCXN0YXJ0PSI6WyRbOmFsbnVtOl1fXSJtZT1lLTEgZW5kPSI6Im1lPWUtMSBlbmQ9In0ibWU9ZS0xIGNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0IG5leHRncm91cD1zaERlcmVmUE9MCiBzeW4gbWF0Y2ggIHNoRGVyZWZQT0wJY29udGFpbmVkCSI6W159XVx7MSx9Igljb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAogc3luIG1hdGNoICBzaERlcmVmT3AJY29udGFpbmVkCSIvXHsxLDJ9IgluZXh0Z3JvdXA9c2hEZXJlZlBhdAogc3luIG1hdGNoICBzaERlcmVmUGF0CWNvbnRhaW5lZAkiW14vfV1cezEsfSIJbmV4dGdyb3VwPXNoRGVyZWZQYXRTdHJpbmdPcAogc3luIG1hdGNoICBzaERlcmVmUGF0U3RyaW5nT3AJY29udGFpbmVkCSIvIgluZXh0Z3JvdXA9c2hEZXJlZlBhdFN0cmluZwogc3luIG1hdGNoICBzaERlcmVmUGF0U3RyaW5nCWNvbnRhaW5lZAkiW159XVx7MSx9IgplbmRpZgoKIiBVc2VmdWwgc2ggS2V5d29yZHM6IHt7ezEKIiA9PT09PT09PT09PT09PT09PT09CnN5biBrZXl3b3JkIHNoU3RhdGVtZW50IGJyZWFrIGNkIGNoZGlyIGNvbnRpbnVlIGV2YWwgZXhlYyBleGl0IGtpbGwgbmV3Z3JwIHB3ZCByZWFkIHJlYWRvbmx5IHJldHVybiBzaGlmdCB0ZXN0IHRyYXAgdWxpbWl0IHVtYXNrIHdhaXQKc3luIGtleXdvcmQgc2hDb25kaXRpb25hbCBjb250YWluZWQgZWxpZiBlbHNlIHRoZW4Kc3luIGtleXdvcmQgc2hDb25kRXJyb3IgZWxpZiBlbHNlIHRoZW4KCiIgVXNlZnVsIGtzaCBLZXl3b3Jkczoge3t7MQoiID09PT09PT09PT09PT09PT09PT09CmlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCiBzeW4ga2V5d29yZCBzaEZ1bmN0aW9uCWZ1bmN0aW9uCiBzeW4ga2V5d29yZCBzaFN0YXRlbWVudCBhdXRvbG9hZCBiZyBmYWxzZSBmYyBmZyBmdW5jdGlvbnMgZ2V0b3B0cyBoYXNoIGhpc3RvcnkgaW50ZWdlciBqb2JzIGxldCBub2h1cCBwcmludCBwcmludGYgciBzdG9wIHN1c3BlbmQgdGltZSB0aW1lcyB0cnVlIHR5cGUgdW5hbGlhcyB3aGVuY2UKCiIgVXNlZnVsIGJhc2ggS2V5d29yZHM6IHt7ezEKIiA9PT09PT09PT09PT09PT09PT09PT0KIGlmIGV4aXN0cygiYjppc19iYXNoIikKICBzeW4ga2V5d29yZCBzaFN0YXRlbWVudCBiaW5kIGJ1aWx0aW4gZGlycyBkaXNvd24gZW5hYmxlIGhlbHAgbG9jYWwgbG9nb3V0IHBvcGQgcHVzaGQgc2hvcHQgc291cmNlCiBlbHNlCiAgc3luIGtleXdvcmQgc2hTdGF0ZW1lbnQgbG9naW4gbmV3Z3JwCiBlbmRpZgplbmRpZgoKIiBTeW5jaHJvbml6YXRpb246IHt7ezEKIiA9PT09PT09PT09PT09PT09CmlmICFleGlzdHMoInNoX21pbmxpbmVzIikKICBsZXQgc2hfbWlubGluZXMgPSAyMDAKZW5kaWYKaWYgIWV4aXN0cygic2hfbWF4bGluZXMiKQogIGxldCBzaF9tYXhsaW5lcyA9IDIgKiBzaF9taW5saW5lcwplbmRpZgpleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gc2hfbWlubGluZXMgLiAiIG1heGxpbmVzPSIgLiBzaF9tYXhsaW5lcwpzeW4gc3luYyBtYXRjaCBzaENhc2VFc2FjU3luYwlncm91cGhlcmUJc2hDYXNlRXNhYwkiXDxjYXNlXD4iCnN5biBzeW5jIG1hdGNoIHNoQ2FzZUVzYWNTeW5jCWdyb3VwdGhlcmUJc2hDYXNlRXNhYwkiXDxlc2FjXD4iCnN5biBzeW5jIG1hdGNoIHNoRG9TeW5jCWdyb3VwaGVyZQlzaERvCSJcPGRvXD4iCnN5biBzeW5jIG1hdGNoIHNoRG9TeW5jCWdyb3VwdGhlcmUJc2hEbwkiXDxkb25lXD4iCnN5biBzeW5jIG1hdGNoIHNoRm9yU3luYwlncm91cGhlcmUJc2hGb3IJIlw8Zm9yXD4iCnN5biBzeW5jIG1hdGNoIHNoRm9yU3luYwlncm91cHRoZXJlCXNoRm9yCSJcPGluXD4iCnN5biBzeW5jIG1hdGNoIHNoSWZTeW5jCWdyb3VwaGVyZQlzaElmCSJcPGlmXD4iCnN5biBzeW5jIG1hdGNoIHNoSWZTeW5jCWdyb3VwdGhlcmUJc2hJZgkiXDxmaVw+IgpzeW4gc3luYyBtYXRjaCBzaFVudGlsU3luYwlncm91cGhlcmUJc2hSZXBlYXQJIlw8dW50aWxcPiIKc3luIHN5bmMgbWF0Y2ggc2hXaGlsZVN5bmMJZ3JvdXBoZXJlCXNoUmVwZWF0CSJcPHdoaWxlXD4iCgoiIERlZmF1bHQgSGlnaGxpZ2h0aW5nOiB7e3sxCiIgPT09PT09PT09PT09PT09PT09PT09CmhpIGRlZiBsaW5rIHNoQXJpdGhSZWdpb24Jc2hTaGVsbFZhcmlhYmxlcwpoaSBkZWYgbGluayBzaEJlZ2luSGVyZQlzaFJlZGlyCmhpIGRlZiBsaW5rIHNoQ2FzZUJhcglzaENvbmRpdGlvbmFsCmhpIGRlZiBsaW5rIHNoQ2FzZUNvbW1hbmRTdWIJc2hDb21tYW5kU3ViCmhpIGRlZiBsaW5rIHNoQ2FzZURvdWJsZVF1b3RlCXNoRG91YmxlUXVvdGUKaGkgZGVmIGxpbmsgc2hDYXNlSW4Jc2hDb25kaXRpb25hbApoaSBkZWYgbGluayBzaENhc2VTaW5nbGVRdW90ZQlzaFNpbmdsZVF1b3RlCmhpIGRlZiBsaW5rIHNoQ2FzZVN0YXJ0CXNoQ29uZGl0aW9uYWwKaGkgZGVmIGxpbmsgc2hDbWRTdWJSZWdpb24Jc2hTaGVsbFZhcmlhYmxlcwpoaSBkZWYgbGluayBzaENvbG9uCXNoU3RhdGVtZW50CmhpIGRlZiBsaW5rIHNoRGVyZWZPcAlzaE9wZXJhdG9yCmhpIGRlZiBsaW5rIHNoRGVyZWZQYXRTdHJpbmdPcAlzaERlcmVmT3AKaGkgZGVmIGxpbmsgc2hEZXJlZlBhdFN0cmluZwlzaERlcmVmUGF0dGVybgpoaSBkZWYgbGluayBzaERlcmVmUE9MCXNoRGVyZWZPcApoaSBkZWYgbGluayBzaERlcmVmCXNoU2hlbGxWYXJpYWJsZXMKaGkgZGVmIGxpbmsgc2hEZXJlZlNpbXBsZQlzaERlcmVmCmhpIGRlZiBsaW5rIHNoRGVyZWZTcGVjaWFsCXNoRGVyZWYKaGkgZGVmIGxpbmsgc2hEZXJlZlN0cmluZwlzaERvdWJsZVF1b3RlCmhpIGRlZiBsaW5rIHNoRGVyZWZWYXIJc2hEZXJlZgpoaSBkZWYgbGluayBzaERvdWJsZVF1b3RlCXNoU3RyaW5nCmhpIGRlZiBsaW5rIHNoRWNobwlzaFN0cmluZwpoaSBkZWYgbGluayBzaEVtYmVkZGVkRWNobwlzaFN0cmluZwpoaSBkZWYgbGluayBzaEV4U2luZ2xlUXVvdGUJc2hTaW5nbGVRdW90ZQpoaSBkZWYgbGluayBzaEhlcmVEb2MJc2hTdHJpbmcKaGkgZGVmIGxpbmsgc2hIZXJlUGF5bG9hZAlzaEhlcmVEb2MKaGkgZGVmIGxpbmsgc2hMb29wCXNoU3RhdGVtZW50CmhpIGRlZiBsaW5rIHNoT3B0aW9uCXNoQ29tbWFuZFN1YgpoaSBkZWYgbGluayBzaFBhdHRlcm4Jc2hTdHJpbmcKaGkgZGVmIGxpbmsgc2hQb3NuUGFybQlzaFNoZWxsVmFyaWFibGVzCmhpIGRlZiBsaW5rIHNoUmFuZ2UJc2hPcGVyYXRvcgpoaSBkZWYgbGluayBzaFJlZGlyCXNoT3BlcmF0b3IKaGkgZGVmIGxpbmsgc2hTaW5nbGVRdW90ZQlzaFN0cmluZwpoaSBkZWYgbGluayBzaFNvdXJjZQlzaE9wZXJhdG9yCmhpIGRlZiBsaW5rIHNoU3RyaW5nU3BlY2lhbAlzaFNwZWNpYWwKaGkgZGVmIGxpbmsgc2hTdWJTaFJlZ2lvbglzaE9wZXJhdG9yCmhpIGRlZiBsaW5rIHNoVGVzdE9wcglzaENvbmRpdGlvbmFsCmhpIGRlZiBsaW5rIHNoVmFyaWFibGUJc2hTZXRMaXN0CmhpIGRlZiBsaW5rIHNoV3JhcExpbmVPcGVyYXRvcglzaE9wZXJhdG9yCgppZiBleGlzdHMoImI6aXNfYmFzaCIpCiAgaGkgZGVmIGxpbmsgYmFzaEFkbWluU3RhdGVtZW50CXNoU3RhdGVtZW50CiAgaGkgZGVmIGxpbmsgYmFzaFNwZWNpYWxWYXJpYWJsZXMJc2hTaGVsbFZhcmlhYmxlcwogIGhpIGRlZiBsaW5rIGJhc2hTdGF0ZW1lbnQJCXNoU3RhdGVtZW50CiAgaGkgZGVmIGxpbmsgYmtzaEZ1bmN0aW9uCQlGdW5jdGlvbgogIGhpIGRlZiBsaW5rIGJrc2hGdW5jdGlvblBhcmVuCQlEZWxpbWl0ZXIKICBoaSBkZWYgbGluayBia3NoRnVuY3Rpb25EZWxpbQkJRGVsaW1pdGVyCmVuZGlmCmlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKQogIGhpIGRlZiBsaW5rIGtzaFNwZWNpYWxWYXJpYWJsZXMJc2hTaGVsbFZhcmlhYmxlcwogIGhpIGRlZiBsaW5rIGtzaFN0YXRlbWVudAkJc2hTdGF0ZW1lbnQKICBoaSBkZWYgbGluayBia3NoRnVuY3Rpb24JCUZ1bmN0aW9uCiAgaGkgZGVmIGxpbmsgYmtzaEZ1bmN0aW9uUGFyZW4JCURlbGltaXRlcgplbmRpZgoKaGkgZGVmIGxpbmsgc2hDYXNlRXJyb3IJCUVycm9yCmhpIGRlZiBsaW5rIHNoQ29uZEVycm9yCQlFcnJvcgpoaSBkZWYgbGluayBzaEN1cmx5RXJyb3IJCUVycm9yCmhpIGRlZiBsaW5rIHNoRGVyZWZFcnJvcgkJRXJyb3IKaGkgZGVmIGxpbmsgc2hEZXJlZk9wRXJyb3IJCUVycm9yCmhpIGRlZiBsaW5rIHNoRGVyZWZXb3JkRXJyb3IJCUVycm9yCmhpIGRlZiBsaW5rIHNoRG9FcnJvcgkJRXJyb3IKaGkgZGVmIGxpbmsgc2hFc2FjRXJyb3IJCUVycm9yCmhpIGRlZiBsaW5rIHNoSWZFcnJvcgkJRXJyb3IKaGkgZGVmIGxpbmsgc2hJbkVycm9yCQlFcnJvcgpoaSBkZWYgbGluayBzaFBhcmVuRXJyb3IJCUVycm9yCmhpIGRlZiBsaW5rIHNoVGVzdEVycm9yCQlFcnJvcgppZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikKICBoaSBkZWYgbGluayBzaERUZXN0RXJyb3IJCUVycm9yCmVuZGlmCgpoaSBkZWYgbGluayBzaEFyaXRobWV0aWMJCVNwZWNpYWwKaGkgZGVmIGxpbmsgc2hDaGFyQ2xhc3MJCUlkZW50aWZpZXIKaGkgZGVmIGxpbmsgc2hTbmdsQ2FzZQkJU3RhdGVtZW50CmhpIGRlZiBsaW5rIHNoQ29tbWFuZFN1YgkJU3BlY2lhbApoaSBkZWYgbGluayBzaENvbW1lbnQJCUNvbW1lbnQKaGkgZGVmIGxpbmsgc2hDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKaGkgZGVmIGxpbmsgc2hFeHByUmVnaW9uCQlEZWxpbWl0ZXIKaGkgZGVmIGxpbmsgc2hGdW5jdGlvbgkJRnVuY3Rpb24KaGkgZGVmIGxpbmsgc2hGdW5jdGlvbk5hbWUJCUZ1bmN0aW9uCmhpIGRlZiBsaW5rIHNoTnVtYmVyCQlOdW1iZXIKaGkgZGVmIGxpbmsgc2hPcGVyYXRvcgkJT3BlcmF0b3IKaGkgZGVmIGxpbmsgc2hSZXBlYXQJCVJlcGVhdApoaSBkZWYgbGluayBzaFNldAkJU3RhdGVtZW50CmhpIGRlZiBsaW5rIHNoU2V0TGlzdAkJSWRlbnRpZmllcgpoaSBkZWYgbGluayBzaFNoZWxsVmFyaWFibGVzCQlQcmVQcm9jCmhpIGRlZiBsaW5rIHNoU3BlY2lhbAkJU3BlY2lhbApoaSBkZWYgbGluayBzaFN0YXRlbWVudAkJU3RhdGVtZW50CmhpIGRlZiBsaW5rIHNoU3RyaW5nCQlTdHJpbmcKaGkgZGVmIGxpbmsgc2hUb2RvCQlUb2RvCmhpIGRlZiBsaW5rIHNoQWxpYXMJCUlkZW50aWZpZXIKCiIgU2V0IEN1cnJlbnQgU3ludGF4OiB7e3sxCiIgPT09PT09PT09PT09PT09PT09PQppZiBleGlzdHMoImI6aXNfYmFzaCIpCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJiYXNoIgplbHNlaWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJrc2giCmVsc2UKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNoIgplbmRpZgoKIiB2aW06IHRzPTE2IGZkbT1tYXJrZXIK