IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZTogICAgTG91dAoiIE1haW50YWluZXI6ICBDaHJpc3RpYW4gVi4gSi4gQnL8c3NvdyA8Y3ZqYkBjdmpiLmRlPgoiIExhc3QgQ2hhbmdlOiBTbyAxMiBGZWIgMjAxMiAxNToxNTowMyBDRVQKIiBGaWxlbmFtZXM6ICAgKi5sb3V0LCoubHQKIiBVUkw6ICAgICAgICAgaHR0cDovL3d3dy5jdmpiLmRlL2NvbXAvdmltL2xvdXQudmltCgoiICRJZDogbG91dC52aW0sdiAxLjQgMjAxMi8wMi8xMiAxNToxNjoxNyBicnVlc3NvdyBFeHAgJAoiCiIgTG91dDogQmFzc2VyIExvdXQgZG9jdW1lbnQgZm9ybWF0dGluZyBzeXN0ZW0uCgoiIE1hbnkgVGhhbmtzIHRvLi4uCiIgCiIgMjAxMi0wMi0xMjoKIiBUaGlsbyBTaXggPFQuU2l4IGF0IGdteCBkb3QgZGU+IHNlbmQgYSBwYXRjaCBmb3IgY3BvcHRpb25zLgoiIFNlZSB0aGUgZGlzY3Vzc2lvbiBhdCBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5lZGl0b3JzLnZpbS5kZXZlbC8zMjE1MQoKCiIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCmlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCglmaW5pc2gKZW5kaWYKCmxldCBzOmNwb19zYXZlPSZjcG8Kc2V0IGNwbyZ2aW0KCiIgTG91dCBpcyBjYXNlIHNlbnNpdGl2ZQpzeW4gY2FzZSBtYXRjaAoKIiBTeW5jaHJvbml6YXRpb24sIEkga25vdyBpdCBpcyBhIGh1Z2UgbnVtYmVyLCBidXQgbm9ybWFsIHRleHRzIGNhbiBiZQoiIF92ZXJ5XyBsb25nIDstKQpzeW4gc3luYyBsaW5lcz0xMDAwCgoiIENoYXJhY3RlcnMgYWxsb3dlZCBpbiBrZXl3b3JkcwoiIEkgZG9uJ3Qga25vdyBpZiAxMjgtMjU1IGFyZSBhbGxvd2VkIGluIEFOUy1GT1JIVApzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywuLEAtQCxfLDE5Mi0yNTUKCiIgU29tZSBzcGVjaWFsIGtleXdvcmRzCnN5biBrZXl3b3JkIGxvdXRUb2RvIGNvbnRhaW5lZCBUT0RPIGxvdXQgTG91dCBMT1VUCnN5biBrZXl3b3JkIGxvdXREZWZpbmUgZGVmIG1hY3JvCgoiIFNvbWUgYmlnIHN0cnVjdHVyZXMKc3luIGtleXdvcmQgbG91dEtleXdvcmQgQEJlZ2luIEBFbmQgQEZpZ3VyZSBAVGFiCnN5biBrZXl3b3JkIGxvdXRLZXl3b3JkIEBCb29rIEBEb2MgQERvY3VtZW50IEBSZXBvcnQKc3luIGtleXdvcmQgbG91dEtleXdvcmQgQEludHJvZHVjdGlvbiBAQWJzdHJhY3QgQEFwcGVuZGl4CnN5biBrZXl3b3JkIGxvdXRLZXl3b3JkIEBDaGFwdGVyIEBTZWN0aW9uIEBCZWdpblNlY3Rpb25zIEBFbmRTZWN0aW9ucwoKIiBBbGwga2luZCBvZiBMb3V0IGtleXdvcmRzCnN5biBtYXRjaCBsb3V0RnVuY3Rpb24gJ1w8QFteIFx0e31dXCtcPicKCiIgQnJhY2VzIC0tIERvbmB0IGVkaXQgdGhlc2UgbGluZXMhCnN5biBtYXRjaCBsb3V0TUJyYWNlcyAnW3t9XScKc3luIG1hdGNoIGxvdXRJQnJhY2VzICdbe31dJwpzeW4gbWF0Y2ggbG91dEJCcmFjZSAnW3t9XScKc3luIG1hdGNoIGxvdXRCSUJyYWNlcyAnW3t9XScKc3luIG1hdGNoIGxvdXRIZWFkcyAnW3t9XScKCiIgVW5tYXRjaGVkIGJyYWNlcy4Kc3luIG1hdGNoIGxvdXRCcmFjZUVycm9yICd9JwoKIiBFbmQgb2YgbXVsdGktbGluZSBkZWZpbml0aW9ucywgbGlrZSBARG9jdW1lbnQsIEBSZXBvcnQgYW5kIEBCb29rLgpzeW4gbWF0Y2ggbG91dEVPbWxEZWYgJ14vLyQnCgoiIEdyb3VwaW5nIG9mIHBhcmFtZXRlcnMgYW5kIG9iamVjdHMuCnN5biByZWdpb24gbG91dE9iamVjdCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0neycgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKCiIgVGhlIE5VTEwgb2JqZWN0IGhhcyBhIHNwZWNpYWwgbWVhbmluZwpzeW4ga2V5d29yZCBsb3V0TlVMTCB7fQoKIiBDb21tZW50cwpzeW4gcmVnaW9uIGxvdXRDb21tZW50IHN0YXJ0PSdcIycgZW5kPSckJyBjb250YWlucz1sb3V0VG9kbwoKIiBEb3VibGUgcXVvdGVzCnN5biByZWdpb24gbG91dFNwZWNpYWwgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKwoKIiBJU08tTEFUSU4tMSBjaGFyYWN0ZXJzIGNyZWF0ZWQgd2l0aCBAQ2hhciwgb3IgQWRvYmUgc3ltYm9scwoiIGNyZWF0ZWQgd2l0aCBAU3ltCnN5biBtYXRjaCBsb3V0U3ltYm9scyAnQFwoXChDaGFyXClcfFwoU3ltXClcKVxzXCtbQS1aYS16XVwrJwoKIiBJbmNsdWRlIGZpbGVzCnN5biBtYXRjaCBsb3V0SW5jbHVkZSAnQEluY2x1ZGVHcmFwaGljXHNcK1xrXCsnCnN5biByZWdpb24gbG91dEluY2x1ZGUgc3RhcnQ9J0BcKFwoU3lzSW5jbHVkZVwpXHxcKEluY2x1ZGVHcmFwaGljXClcfFwoSW5jbHVkZVwpXClccyp7JyBlbmQ9J30nCgoiIFRhZ3MKc3luIG1hdGNoIGxvdXRUYWcgJ0BcKFwoVGFnXClcfFwoUGFnZU1hcmtcKVx8XChQYWdlT2ZcKVx8XChOdW1iZXJPZlwpXClcc1wrXGtcKycKc3luIHJlZ2lvbiBsb3V0VGFnIHN0YXJ0PSdAVGFnXHMqeycgZW5kPSd9JwoKIiBFcXVhdGlvbnMKc3luIG1hdGNoIGxvdXRNYXRoICdARXFcc1wrXGtcKycKc3luIHJlZ2lvbiBsb3V0TWF0aCBtYXRjaGdyb3VwPWxvdXRNQnJhY2VzIHN0YXJ0PSdARXFccyp7JyBtYXRjaGdyb3VwPWxvdXRNQnJhY2VzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCiIKIiBGb250cwpzeW4gbWF0Y2ggbG91dEl0YWxpYyAnQElcc1wrXGtcKycKc3luIHJlZ2lvbiBsb3V0SXRhbGljIG1hdGNoZ3JvdXA9bG91dElCcmFjZXMgc3RhcnQ9J0BJXHMqeycgbWF0Y2hncm91cD1sb3V0SUJyYWNlcyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxsb3V0QnJhY2VFcnJvcgpzeW4gbWF0Y2ggbG91dEJvbGQgJ0BCXHNcK1xrXCsnCnN5biByZWdpb24gbG91dEJvbGQgbWF0Y2hncm91cD1sb3V0QkJyYWNlcyBzdGFydD0nQEJccyp7JyBtYXRjaGdyb3VwPWxvdXRCQnJhY2VzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCnN5biBtYXRjaCBsb3V0Qm9sZEl0YWxpYyAnQEJJXHNcK1xrXCsnCnN5biByZWdpb24gbG91dEJvbGRJdGFsaWMgbWF0Y2hncm91cD1sb3V0QklCcmFjZXMgc3RhcnQ9J0BCSVxzKnsnIG1hdGNoZ3JvdXA9bG91dEJJQnJhY2VzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCnN5biByZWdpb24gbG91dEhlYWRpbmdzIG1hdGNoZ3JvdXA9bG91dEhlYWRzIHN0YXJ0PSdAXChcKFRpdGxlXClcfFwoQ2FwdGlvblwpXClccyp7JyBtYXRjaGdyb3VwPWxvdXRIZWFkcyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxsb3V0QnJhY2VFcnJvcgoKIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgoiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CgoiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJycmlkZW4gbGF0ZXIuCmhpIGRlZiBsaW5rIGxvdXRUb2RvIFRvZG8KaGkgZGVmIGxpbmsgbG91dERlZmluZSBEZWZpbmUKaGkgZGVmIGxpbmsgbG91dEVPbWxEZWYgRGVmaW5lCmhpIGRlZiBsaW5rIGxvdXRGdW5jdGlvbiBGdW5jdGlvbgpoaSBkZWYgbGluayBsb3V0QnJhY2VFcnJvciBFcnJvcgpoaSBkZWYgbGluayBsb3V0TlVMTCBTcGVjaWFsCmhpIGRlZiBsaW5rIGxvdXRDb21tZW50IENvbW1lbnQKaGkgZGVmIGxpbmsgbG91dFNwZWNpYWwgU3BlY2lhbApoaSBkZWYgbGluayBsb3V0U3ltYm9scyBDaGFyYWN0ZXIKaGkgZGVmIGxpbmsgbG91dEluY2x1ZGUgSW5jbHVkZQpoaSBkZWYgbGluayBsb3V0S2V5d29yZCBLZXl3b3JkCmhpIGRlZiBsaW5rIGxvdXRUYWcgVGFnCmhpIGRlZiBsaW5rIGxvdXRNYXRoIE51bWJlcgoKaGkgZGVmIGxpbmsgbG91dE1CcmFjZXMgbG91dE1hdGgKaGkgbG91dEl0YWxpYyB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYwpoaSBkZWYgbGluayBsb3V0SUJyYWNlcyBsb3V0SXRhbGljCmhpIGxvdXRCb2xkIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCmhpIGRlZiBsaW5rIGxvdXRCQnJhY2VzIGxvdXRCb2xkCmhpIGxvdXRCb2xkSXRhbGljIHRlcm09Ym9sZCxpdGFsaWMgY3Rlcm09Ym9sZCxpdGFsaWMgZ3VpPWJvbGQsaXRhbGljCmhpIGRlZiBsaW5rIGxvdXRCSUJyYWNlcyBsb3V0Qm9sZEl0YWxpYwpoaSBsb3V0SGVhZGluZ3MgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpZmc9aW5kaWFucmVkCmhpIGRlZiBsaW5rIGxvdXRIZWFkcyBsb3V0SGVhZGluZ3MKCgpsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsb3V0IgoKbGV0ICZjcG89czpjcG9fc2F2ZQp1bmxldCBzOmNwb19zYXZlCgoiIHZpbTp0cz04OnN3PTQ6bm9jaW5kZW50OnNtYXJ0aW5kZW50Ogo=