Global presence
Customers in more than
60 Countries

MENADIONA IN FIGURES

With a sustainable growth since 1970, MENADIONA is proud to have today:

Production Workshops
Years of experience
Employees
+50 Products
Your trusted European manufacturer in specialty chemicals

Menadiona Strengths

MENADIONA is operating in three main business units such as Life Science, Performance Products and Contract Manufacturing services. Two of its main diferenciating assets are the AZIRIDINE know-how and its strong production capabilities. Moreover, MENADIONA’s heritage on Vitamin K, allowed us to develop the ACT-2 tehnology.

Life Science

MENADIONA is a well established European manufacturer with extensive experience in Regulatory affairs, GMP compliance, ISO 9001 certificate, and inspected by most Health Agencies worldwide.

Learn More

Performance Products

MENADIONA is a producer of Special Chemicals used in a myriad of market segments. Our products allow our customers to develop differentiated and unique properties for their portfolio.

Learn More

Aziridine

MENADIONA is a leading player in the manufacturing of EI (ethylene imine) and PI (propylene imine).

Learn More

Contract Manufacturing

It’s a key activity at MENADIONA. We produce Intermediates of very different features for third parties, under exclusivity and NDA, with long term partnership.

Learn More

Manufacturing Sites

MENADIONA has two production plants located in Spain, one in Palafolls, Barcelona and the other in Málaga.

Learn More

Plant Health

MENADIONA’s heritage on Vitamin K, allowed us to develop a unique technology for formulations addressed to the Agricultural market.

Learn More

Regulatory & Certificates

Menadiona News

Our day to day in life science, aziridine, contract manufacturing and more.

CgkJPGRpdiBjbGFzcz0iY29va2llcyIgZGF0YS1ub3NuaXBwZXQ+CgkJCTxkaXYgY2xhc3M9ImNjb29raWUiPgoJCQkJPGRpdiBjbGFzcz0iY2NvbnRlbnQgcHJlZmVyZW5jZXMgY2hpZGUiPgoJCQkJCTxkaXYgY2xhc3M9IiI+CgkJCQkJCTxoND5HZXN0aW9uYXIgbGFzIHByZWZlcmVuY2lhcyBkZSBjb25zZW50aW1pZW50bzwvaDQ+CgkJCQkJCTxkaXYgY2xhc3M9InByZWZjb24iPgoJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2hrMSIgY2hlY2tlZD0iY2hlY2tlZCIgZGlzYWJsZWQ+PGxhYmVsIGZvcj0iY2hrMSI+Q29va2llcyB0w6ljbmljYXMgbmVjZXNhcmlhczwvbGFiZWw+PHNwYW4gaHJlZj0iI05vbmUiIGNsYXNzPSJjcGx1c2ljb24iIGRhdGEtdGFiPSJjaGsxIj4rPC9zcGFuPgoJCQkJCQkJPGRpdiBjbGFzcz0iIiBkYXRhLXRhYmM9ImNoazEiPgoJCQkJCQkJCUxhcyBjb29raWVzIHTDqWNuaWNhcyBzb24gZXN0cmljdGFtZW50ZSBuZWNlc2FyaWFzIHBhcmEgcXVlIG51ZXN0cmEgcMOhZ2luYSB3ZWIgZnVuY2lvbmUgeSBwdWVkYXMgbmF2ZWdhciBwb3IgbGEgbWlzbWEuIEVzdGUgdGlwbyBkZSBjb29raWVzIHNvbiBsYXMgcXVlLCBwb3IgZWplbXBsbywgbm9zIHBlcm1pdGVuIGlkZW50aWZpY2FydGUsIGRhcnRlIGFjY2VzbyBhIGRldGVybWluYWRhcyBwYXJ0ZXMgcmVzdHJpbmdpZGFzIGRlIGxhIHDDoWdpbmEgc2kgZnVlc2UgbmVjZXNhcmlvLCBvIHJlY29yZGFyIGRpZmVyZW50ZXMgb3BjaW9uZXMgbyBzZXJ2aWNpb3MgeWEgc2VsZWNjaW9uYWRvcyBwb3IgdGksIGNvbW8gdHVzIHByZWZlcmVuY2lhcyBkZSBwcml2YWNpZGFkLiBQb3IgZWxsbywgZXN0w6FuIGFjdGl2YWRhcyBwb3IgZGVmZWN0bywgbm8gc2llbmRvIG5lY2VzYXJpYSB0dSBhdXRvcml6YWNpw7NuIGFsIHJlc3BlY3RvLgoJCQkJCQkJCUEgdHJhdsOpcyBkZSBsYSBjb25maWd1cmFjacOzbiBkZSB0dSBuYXZlZ2Fkb3IsIHB1ZWRlcyBibG9xdWVhciBvIGFsZXJ0YXIgZGUgbGEgcHJlc2VuY2lhIGRlIGVzdGUgdGlwbyBkZSBjb29raWVzLCBzaSBiaWVuIGRpY2hvIGJsb3F1ZW8gYWZlY3RhcsOhIGFsIGNvcnJlY3RvIGZ1bmNpb25hbWllbnRvIGRlIGxhcyBkaXN0aW50YXMgZnVuY2lvbmFsaWRhZGVzIGRlIG51ZXN0cmEgcMOhZ2luYSB3ZWIuCgkJCQkJCQkJPGJyLz48YnIvPgoJCQkJCQkJPC9kaXY+CgkJCQkJCQkKCQkJCQkJCTxkaXYgY2xhc3M9ImNjbGVhciI+PC9kaXY+CgkJCQkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNoZWNrZWQ9ImNoZWNrZWQiIGlkPSJjaGsyIj48bGFiZWwgZm9yPSJjaGsyIj5Db29raWVzIGRlIGFuw6FsaXNpczwvbGFiZWw+PHNwYW4gaHJlZj0iI05vbmUiIGNsYXNzPSJjcGx1c2ljb24iIGRhdGEtdGFiPSJjaGsyIj4rPC9zcGFuPgoJCQkJCQkJPGRpdiBjbGFzcz0iIiBkYXRhLXRhYmM9ImNoazIiPgoJCQkJCQkJCUxhcyBjb29raWVzIGRlIGFuw6FsaXNpcyBub3MgcGVybWl0ZW4gZXN0dWRpYXIgbGEgbmF2ZWdhY2nDs24gZGUgbG9zIHVzdWFyaW9zIGRlIG51ZXN0cmEgcMOhZ2luYSB3ZWIgZW4gZ2VuZXJhbCAocG9yIGVqZW1wbG8sIHF1w6kgc2VjY2lvbmVzIGRlIGxhIHDDoWdpbmEgc29uIGxhcyBtw6FzIHZpc2l0YWRhcywgcXXDqSBzZXJ2aWNpb3Mgc2UgdXNhbiBtw6FzIHkgc2kgZnVuY2lvbmFuIGNvcnJlY3RhbWVudGUsIGV0Yy4pLiAKCQkJCQkJCQlBIHBhcnRpciBkZSBsYSBpbmZvcm1hY2nDs24gZXN0YWTDrXN0aWNhIHNvYnJlIGxhIG5hdmVnYWNpw7NuIGVuIG51ZXN0cmEgcMOhZ2luYSB3ZWIsIHBvZGVtb3MgbWVqb3JhciB0YW50byBlbCBwcm9waW8gZnVuY2lvbmFtaWVudG8gZGUgbGEgcMOhZ2luYSBjb21vIGxvcyBkaXN0aW50b3Mgc2VydmljaW9zIHF1ZSBvZnJlY2UuIFBvciB0YW50bywgZXN0YXMgY29va2llcyBubyB0aWVuZW4gdW5hIGZpbmFsaWRhZCBwdWJsaWNpdGFyaWEsIHNpbm8gcXVlIMO6bmljYW1lbnRlIHNpcnZlbiBwYXJhIHF1ZSBudWVzdHJhIHDDoWdpbmEgd2ViIGZ1bmNpb25lIG1lam9yLCBhZGFwdMOhbmRvc2UgYSBudWVzdHJvcyB1c3VhcmlvcyBlbiBnZW5lcmFsLiBBY3RpdsOhbmRvbGFzIGNvbnRyaWJ1aXLDoXMgYSBkaWNoYSBtZWpvcmEgY29udGludWEuCgkJCQkJCQkJUHVlZGVzIGFjdGl2YXIgbyBkZXNhY3RpdmFyIGVzdGFzIGNvb2tpZXMgbWFyY2FuZG8gbGEgY2FzaWxsYSBjb3JyZXNwb25kaWVudGUsIGVzdGFuZG8gZGVzYWN0aXZhZGFzIHBvciBkZWZlY3RvLgoJCQkJCQkJCTxici8+PGJyLz4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJCgkJCQkJCQk8ZGl2IGNsYXNzPSJjY2xlYXIiPjwvZGl2PgoJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjaGVja2VkPSJjaGVja2VkIiBpZD0iY2hrMyI+PGxhYmVsIGZvcj0iY2hrMyI+Q29va2llcyBkZSBmdW5jaW9uYWxpZGFkIHkgcGVyc29uYWxpemFjacOzbjwvbGFiZWw+PHNwYW4gaHJlZj0iI05vbmUiIGNsYXNzPSJjcGx1c2ljb24iIGRhdGEtdGFiPSJjaGszIj4rPC9zcGFuPgoJCQkJCQkJPGRpdiBjbGFzcz0iIiBkYXRhLXRhYmM9ImNoazMiPgoJCQkJCQkJCUxhcyBjb29raWVzIGRlIGZ1bmNpb25hbGlkYWQgbm9zIHBlcm1pdGVuIHJlY29yZGFyIHR1cyBwcmVmZXJlbmNpYXMsIHBhcmEgcGVyc29uYWxpemFyIGEgdHUgbWVkaWRhIGRldGVybWluYWRhcyBjYXJhY3RlcsOtc3RpY2FzIHkgb3BjaW9uZXMgZ2VuZXJhbGVzIGRlIG51ZXN0cmEgcMOhZ2luYSB3ZWIsIGNhZGEgdmV6IHF1ZSBhY2NlZGFzIGEgbGEgbWlzbWEgKHBvciBlamVtcGxvLCBlbCBpZGlvbWEgZW4gcXVlIHNlIHRlIHByZXNlbnRhIGxhIGluZm9ybWFjacOzbiwgbGFzIHNlY2Npb25lcyBtYXJjYWRhcyBjb21vIGZhdm9yaXRhcywgdHUgdGlwbyBkZSBuYXZlZ2Fkb3IsIGV0Yy4pLgoJCQkJCQkJCVBvciB0YW50bywgZXN0ZSB0aXBvIGRlIGNvb2tpZXMgbm8gdGllbmVuIHVuYSBmaW5hbGlkYWQgcHVibGljaXRhcmlhLCBzaW5vIHF1ZSBhY3RpdsOhbmRvbGFzIG1lam9yYXLDoXMgbGEgZnVuY2lvbmFsaWRhZCBkZSBsYSBww6FnaW5hIHdlYiAocG9yIGVqZW1wbG8sIGFkYXB0w6FuZG9zZSBhIHR1IHRpcG8gZGUgbmF2ZWdhZG9yKSB5IGxhIHBlcnNvbmFsaXphY2nDs24gZGUgbGEgbWlzbWEgZW4gYmFzZSBhIHR1cyBwcmVmZXJlbmNpYXMgKHBvciBlamVtcGxvLCBwcmVzZW50YW5kbyBsYSBpbmZvcm1hY2nDs24gZW4gZWwgaWRpb21hIHF1ZSBoYXlhcyBlc2NvZ2lkbyBlbiBhbnRlcmlvcmVzIG9jYXNpb25lcyksIGxvIGN1YWwgY29udHJpYnVpcsOhIGEgbGEgZmFjaWxpZGFkLCB1c2FiaWxpZGFkIHkgY29tb2RpZGFkIGRlIG51ZXN0cmEgcMOhZ2luYSBkdXJhbnRlIHR1IG5hdmVnYWNpw7NuLgoJCQkJCQkJCVB1ZWRlcyBhY3RpdmFyIG8gZGVzYWN0aXZhciBlc3RhcyBjb29raWVzIG1hcmNhbmRvIGxhIGNhc2lsbGEgY29ycmVzcG9uZGllbnRlLCBlc3RhbmRvIGRlc2FjdGl2YWRhcyBwb3IgZGVmZWN0by4KCQkJCQkJCQk8YnIvPjxici8+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCQoJCQkJCQkJPGRpdiBjbGFzcz0iY2NsZWFyIj48L2Rpdj4KCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2hlY2tlZD0iY2hlY2tlZCIgaWQ9ImNoazQiPjxsYWJlbCBmb3I9ImNoazQiPkNvb2tpZXMgZGUgcHVibGljaWRhZDwvbGFiZWw+PHNwYW4gaHJlZj0iI05vbmUiIGNsYXNzPSJjcGx1c2ljb24iIGRhdGEtdGFiPSJjaGs0Ij4rPC9zcGFuPgoJCQkJCQkJPGRpdiBjbGFzcz0iIiBkYXRhLXRhYmM9ImNoazQiPgoJCQkJCQkJCUxhcyBjb29raWVzIGRlIHB1YmxpY2lkYWQgbm9zIHBlcm1pdGVuIGxhIGdlc3Rpw7NuIGRlIGxvcyBlc3BhY2lvcyBwdWJsaWNpdGFyaW9zIGluY2x1aWRvcyBlbiBudWVzdHJhIHDDoWdpbmEgd2ViIGVuIGJhc2UgYSBjcml0ZXJpb3MgY29tbyBlbCBjb250ZW5pZG8gbW9zdHJhZG8gbyBsYSBmcmVjdWVuY2lhIGVuIGxhIHF1ZSBzZSBtdWVzdHJhbiBsb3MgYW51bmNpb3MuCgkJCQkJCQkJQXPDrSBwb3IgZWplbXBsbywgc2kgc2UgdGUgaGEgbW9zdHJhZG8gdmFyaWFzIHZlY2VzIHVuIG1pc21vIGFudW5jaW8gZW4gbnVlc3RyYSBww6FnaW5hIHdlYiwgeSBubyBoYXMgbW9zdHJhZG8gdW4gaW50ZXLDqXMgcGVyc29uYWwgaGFjaWVuZG8gY2xpYyBzb2JyZSDDqWwsIGVzdGUgbm8gdm9sdmVyw6EgYSBhcGFyZWNlci4gRW4gcmVzdW1lbiwgYWN0aXZhbmRvIGVzdGUgdGlwbyBkZSBjb29raWVzLCBsYSBwdWJsaWNpZGFkIG1vc3RyYWRhIGVuIG51ZXN0cmEgcMOhZ2luYSB3ZWIgc2Vyw6EgbcOhcyDDunRpbCB5IGRpdmVyc2EsIHkgbWVub3MgcmVwZXRpdGl2YS4gCgkJCQkJCQkJUHVlZGVzIGFjdGl2YXIgbyBkZXNhY3RpdmFyIGVzdGFzIGNvb2tpZXMgbWFyY2FuZG8gbGEgY2FzaWxsYSBjb3JyZXNwb25kaWVudGUsIGVzdGFuZG8gZGVzYWN0aXZhZGFzIHBvciBkZWZlY3RvLgoJCQkJCQkJCTxici8+PGJyLz4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJCgkJCQkJCQk8ZGl2IGNsYXNzPSJjY2xlYXIiPjwvZGl2PgoJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjaGVja2VkPSJjaGVja2VkIiBpZD0iY2hrNSI+PGxhYmVsIGZvcj0iY2hrNSI+Q29va2llcyBkZSBwdWJsaWNpZGFkIGNvbXBvcnRhbWVudGFsPC9sYWJlbD48c3BhbiBocmVmPSIjTm9uZSIgY2xhc3M9ImNwbHVzaWNvbiIgZGF0YS10YWI9ImNoazUiPis8L3NwYW4+CgkJCQkJCQk8ZGl2IGNsYXNzPSIiIGRhdGEtdGFiYz0iY2hrNSI+CgkJCQkJCQkJTGFzIGNvb2tpZXMgZGUgcHVibGljaWRhZCBjb21wb3J0YW1lbnRhbCBub3MgcGVybWl0ZW4gb2J0ZW5lciBpbmZvcm1hY2nDs24gYmFzYWRhIGVuIGxhIG9ic2VydmFjacOzbiBkZSB0dXMgaMOhYml0b3MgeSBjb21wb3J0YW1pZW50b3MgZGUgbmF2ZWdhY2nDs24gZW4gbGEgd2ViLCBhIGZpbiBkZSBwb2RlciBtb3N0cmFydGUgY29udGVuaWRvcyBwdWJsaWNpdGFyaW9zIHF1ZSBzZSBhanVzdGVuIG1lam9yIGEgdHVzIGd1c3RvcyBlIGludGVyZXNlcyBwZXJzb25hbGVzLgoJCQkJCQkJCVBhcmEgcXVlIGxvIGVudGllbmRhcyBkZSBtYW5lcmEgbXV5IHNlbmNpbGxhLCB0ZSBwb25kcmVtb3MgdW4gZWplbXBsbyBmaWN0aWNpbzogc2kgdHVzIMO6bHRpbWFzIGLDunNxdWVkYXMgZW4gbGEgd2ViIGVzdHV2aWVzZW4gcmVsYWNpb25hZGFzIGNvbiBsaXRlcmF0dXJhIGRlIHN1c3BlbnNlLCB0ZSBtb3N0cmFyw61hbW9zIHB1YmxpY2lkYWQgc29icmUgbGlicm9zIGRlIHN1c3BlbnNlLiAKCQkJCQkJCQlQb3IgdGFudG8sIGFjdGl2YW5kbyBlc3RlIHRpcG8gZGUgY29va2llcywgbGEgcHVibGljaWRhZCBxdWUgdGUgbW9zdHJlbW9zIGVuIG51ZXN0cmEgcMOhZ2luYSB3ZWIgbm8gc2Vyw6EgZ2Vuw6lyaWNhLCBzaW5vIHF1ZSBlc3RhcsOhIG9yaWVudGFkYSBhIHR1cyBiw7pzcXVlZGFzLCBndXN0b3MgZSBpbnRlcmVzZXMsIGFqdXN0w6FuZG9zZSBwb3IgdGFudG8gZXhjbHVzaXZhbWVudGUgYSB0aS4KCQkJCQkJCQlQdWVkZXMgYWN0aXZhciBvIGRlc2FjdGl2YXIgZXN0YXMgY29va2llcyBtYXJjYW5kbyBsYSBjYXNpbGxhIGNvcnJlc3BvbmRpZW50ZSwgZXN0YW5kbyBkZXNhY3RpdmFkYXMgcG9yIGRlZmVjdG8uCgkJCQkJCQkJPGJyLz4KCQkJCQkJCQlQYXJhIHF1ZSBsbyBlbnRpZW5kYXMgZGUgbWFuZXJhIG11eSBzZW5jaWxsYSwgdGUgcG9uZHJlbW9zIHVuIGVqZW1wbG8gZmljdGljaW86IHNpIHR1cyDDumx0aW1hcyBiw7pzcXVlZGFzIGVuIGxhIHdlYiBlc3R1dmllc2VuIHJlbGFjaW9uYWRhcyBjb24gbGl0ZXJhdHVyYSBkZSBzdXNwZW5zZSwgdGUgbW9zdHJhcsOtYW1vcyBwdWJsaWNpZGFkIHNvYnJlIGxpYnJvcyBkZSBzdXNwZW5zZS4gCgkJCQkJCQkJUG9yIHRhbnRvLCBhY3RpdmFuZG8gZXN0ZSB0aXBvIGRlIGNvb2tpZXMsIGxhIHB1YmxpY2lkYWQgcXVlIHRlIG1vc3RyZW1vcyBlbiBudWVzdHJhIHDDoWdpbmEgd2ViIG5vIHNlcsOhIGdlbsOpcmljYSwgc2lubyBxdWUgZXN0YXLDoSBvcmllbnRhZGEgYSB0dXMgYsO6c3F1ZWRhcywgZ3VzdG9zIGUgaW50ZXJlc2VzLCBhanVzdMOhbmRvc2UgcG9yIHRhbnRvIGV4Y2x1c2l2YW1lbnRlIGEgdGkuCgkJCQkJCQkJUHVlZGVzIGFjdGl2YXIgbyBkZXNhY3RpdmFyIGVzdGFzIGNvb2tpZXMgbWFyY2FuZG8gbGEgY2FzaWxsYSBjb3JyZXNwb25kaWVudGUsIGVzdGFuZG8gZGVzYWN0aXZhZGFzIHBvciBkZWZlY3RvLgoJCQkJCQkJCTxici8+PGJyLz4KCQkJCQkJCTwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJjbXQiPgoJCQkJCQk8YSBocmVmPSIjTm9uZSIgaWQ9IiIgY2xhc3M9ImNidXR0b24gY29va2llcy1hY2NlcHQiPkFDRVBUQVIgVE9EQVM8L2E+CgkJCQkJCTxhIGhyZWY9IiNOb25lIiBpZD0iIiBjbGFzcz0iY2J1dHRvbiBjb29raWVzLXNhdmUiPkdVQVJEQVIgQ09ORklHVVJBQ0nDk048L2E+CgkJCQkJCTxhIGhyZWY9IiNOb25lIiBpZD0iIiBjbGFzcz0iY2J1dHRvbi0yIGNvb2tpZXMtbmVlZGVkIGNvb2tpZXMtcmVqZWN0Ij5SRUNIQVpBUiBUT0RBUzwvYT4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJjY2xlYXIiPjwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJjY29udGVudCBmaXJzdHBhZ2UiPgoJCQkJCTxkaXYgY2xhc3M9IiI+CgkJCQkJCTxoND5Db25maWd1cmFjacOzbiBkZSBDb29raWVzPC9oND4KCQkJCQkJVXRpbGl6YW1vcyBjb29raWVzIHByb3BpYXMgeSBkZSB0ZXJjZXJvcyBwYXJhIGFuYWxpemFyIG51ZXN0cm9zIHNlcnZpY2lvcyB5IG1vc3RyYXJ0ZSBwdWJsaWNpZGFkIHJlbGFjaW9uYWRhIGNvbiB0dXMgcHJlZmVyZW5jaWFzIGVuIGJhc2UgYSB1biBwZXJmaWwgZWxhYm9yYWRvIGEgcGFydGlyIGRlIHR1cyBow6FiaXRvcyBkZSBuYXZlZ2FjacOzbiAocG9yIGVqZW1wbG8sIHDDoWdpbmFzIHZpc2l0YWRhcykuIFB1ZWRlcyBhY2VwdGFyIHRvZGFzIGVzdGFzIGNvb2tpZXMgcHVsc2FuZG8gZWwgYm90w7NuIEFDRVBUQVIgbyBjb25maWd1cmFybGFzIG8gcmVjaGF6YXIgc3UgdXNvIGNsaWNhbmRvIGVuIGVsIGFwYXJ0YWRvIDxhIGhyZWY9IiNOb25lIiBjbGFzcz0iY29va2llLXByZWYiPkNPTkZJR1VSQUNJw5NOIERFIENPT0tJRVM8L2E+LgoJCQkJCQk8YnIgLz48YnIgLz4KCQkJCQkJU2kgcXVpZXJlcyBtw6FzIGluZm9ybWFjacOzbiwgY29uc3VsdGEgbGEgPGEgaHJlZj0iL3BvbGl0aWNhLWRlLWNvb2tpZXMvIj5Qb2zDrXRpY2EgZGUgQ29va2llczwvYT4geSA8YSBocmVmPSIjTm9uZSIgY2xhc3M9ImNvb2tpZS1wcmVmIj5MaXN0YSBkZSBDb29raWVzPC9hPiBkZQoJCQkJCQludWVzdHJhIHDDoWdpbmEgd2ViLgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImNtdCI+CgkJCQkJCTxhIGhyZWY9IiNOb25lIiBpZD0iIiBjbGFzcz0iY2J1dHRvbiBjb29raWVzLWFjY2VwdCI+QUNFUFRBUiBUT0RBUzwvYT4KCQkJCQkJPGEgaHJlZj0iI05vbmUiIGlkPSIiIGNsYXNzPSJjb29raWUtcHJlZiBjYnV0dG9uIj5DT05GSUdVUkFSIENPT0tJRVM8L2E+CgkJCQkJCTxhIGhyZWY9IiNOb25lIiBpZD0iIiBjbGFzcz0iY2J1dHRvbi0yIGNvb2tpZXMtbmVlZGVkIGNvb2tpZXMtcmVqZWN0Ij5SRUNIQVpBUiBUT0RBUzwvYT4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJjY2xlYXIiPjwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2Pgo8c2NyaXB0Pgp2YXIgaGV4Y29va2llQmFzZSA9ICIvaENvb2tpZXMiOyAvKmpRdWVyeSBsb2FkZWQgb24gRE9NIGNoZWNrKi8KaWYgKHR5cGVvZiBqUXVlcnkgPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHZhciBUQUcgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdOwogICAgdmFyIGpxVGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICBqcVRhZy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICBqcVRhZy5zcmMgPSBoZXhjb29raWVCYXNlICsgJy9saWJzLmpxdWVyeS5jb29raWVzLmpzJzsKICAgIFRBRy5hcHBlbmRDaGlsZChqcVRhZyk7CiAgICBpZiAobmF2aWdhdG9yLmFwcE5hbWUuaW5kZXhPZigiSW50ZXJuZXQgRXhwbG9yZXIiKSAhPSAtMSkgewogICAgICAgIC8qSWYgSUUqLwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIEhleEluaXQoKTsKICAgICAgICB9LCAxMDAwKTsKICAgIH0gZWxzZSB7CiAgICAgICAganFUYWcub25sb2FkID0gSGV4SW5pdDsKICAgIH0KfSBlbHNlIHsKICAgIHZhciBUQUcgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdOwogICAgdmFyIGpxVGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICBqcVRhZy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICBqcVRhZy5zcmMgPSBoZXhjb29raWVCYXNlICsgJy9saWJzLmNvb2tpZS5qcyc7CiAgICBUQUcuYXBwZW5kQ2hpbGQoanFUYWcpOwogICAganFUYWcub25sb2FkID0gSGV4SW5pdDsKICAgIGlmIChuYXZpZ2F0b3IuYXBwTmFtZS5pbmRleE9mKCJJbnRlcm5ldCBFeHBsb3JlciIpICE9IC0xKSB7CiAgICAgICAgLypJZiBJRSovCiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgSGV4SW5pdCgpOwogICAgICAgIH0sIDEwMDApOwogICAgfSBlbHNlIHsKICAgICAgICBqcVRhZy5vbmxvYWQgPSBIZXhJbml0OwogICAgfQp9CgpmdW5jdGlvbiBIZXhJbml0KCkgeyAKCWpRdWVyeS5leHRlbmQoewoJCWVtcHR5OiBmdW5jdGlvbiAobykgewoJCQlpZiAoIWpRdWVyeS5pc0Z1bmN0aW9uKG8pICYmIChvID09IG51bGwgfHwgbyA9PSB1bmRlZmluZWQgfHwgbyA9PSAiIiB8fCBvLmxlbmd0aCA9PSAwKSkgewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQkJcmV0dXJuIGZhbHNlCgkJfQoJfSk7CgkKCWlmIChqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkIikgIT0gIjEiKSB7CgkJalF1ZXJ5KCJib2R5IC5jb29raWVzIikuY3NzKHsKCQkJImRpc3BsYXkiOiAiZmxleCIKCQl9KTsKCX0KCQoJalF1ZXJ5KCIjY29va2llcy1jb25maWciKS5jbGljayhmdW5jdGlvbigpewoJCWpRdWVyeSgiYm9keSAuY29va2llcyIpLmNzcyh7CgkJCSJkaXNwbGF5IjogImZsZXgiCgkJfSk7Cgl9KTsJCgkKCS8qU2F2ZWQgb3B0aW9ucyovCglpZihqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkLTEiKSA9PSAiMSIpIHsKCQlqUXVlcnkoIiNjaGsxIikuYXR0cigiY2hlY2tlZCIsImNoZWNrZWQiKTsKCX0KCWlmKGpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMiIpID09ICIxIikgewoJCWpRdWVyeSgiI2NoazIiKS5hdHRyKCJjaGVja2VkIiwiY2hlY2tlZCIpOwoJfQoJaWYoalF1ZXJ5LmNvb2tpZSgiSGV4Q29va2llU2VlZC0zIikgPT0gIjEiKSB7CgkJalF1ZXJ5KCIjY2hrMyIpLmF0dHIoImNoZWNrZWQiLCJjaGVja2VkIik7Cgl9CglpZihqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkLTQiKSA9PSAiMSIpIHsKCQlqUXVlcnkoIiNjaGs0IikuYXR0cigiY2hlY2tlZCIsImNoZWNrZWQiKTsKCX0KCWlmKGpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtNSIpID09ICIxIikgewoJCWpRdWVyeSgiI2NoazUiKS5hdHRyKCJjaGVja2VkIiwiY2hlY2tlZCIpOwoJfQoJCgkvKkdvb2dsZSBBbmFseXRpY3MqLwoJaWYoalF1ZXJ5LmNvb2tpZSgiSGV4Q29va2llU2VlZC0yIikgIT0gIjEiKSB7CgkJLypSZW1vdmUgdGFnKi8KCQlqUXVlcnkoInNjcmlwdDpjb250YWlucyhnb29nbGV0YWdtYW5hZ2VyKSIpLnJlbW92ZSgpOwoJfQoJCQoJalF1ZXJ5KCIuY29va2llLXByZWYsIGE6Y29udGFpbnMoJ0NvbmZpZ3VyYWRvciBkZSBDb29raWVzJykiKS5jbGljayhmdW5jdGlvbiAoKSB7CgkJalF1ZXJ5KCJib2R5IC5jb29raWVzIikuc2hvdygpOwoJCWpRdWVyeSgiLnByZWZlcmVuY2VzIikucmVtb3ZlQ2xhc3MoImNoaWRlIik7CgkJalF1ZXJ5KCIuY29va2llcyIpLmFkZENsYXNzKCJwcmVmZXJlbmNlIik7CgkJalF1ZXJ5KCIuZmlyc3RwYWdlIikuYWRkQ2xhc3MoImNoaWRlIik7Cgl9KTsKCQoJLypDbG9zZSBidXR0b24qLwoJalF1ZXJ5KCIuY29va2llcy1zYXZlIikuY2xpY2soZnVuY3Rpb24oKXsKCQoJCS8qQ3VzdG9tIGNoZWNrcyovCgkJaWYoalF1ZXJ5KCIjY2hrMSIpLmlzKCI6Y2hlY2tlZCIpICl7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMSIsIjEiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJfWVsc2V7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMSIsIiIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQl9CgkJaWYoalF1ZXJ5KCIjY2hrMiIpLmlzKCI6Y2hlY2tlZCIpICl7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMiIsIjEiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJfWVsc2V7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMiIsIiIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQl9CgkJaWYoalF1ZXJ5KCIjY2hrMyIpLmlzKCI6Y2hlY2tlZCIpICl7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMyIsIjEiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJfWVsc2V7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMyIsIiIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQl9CgkJaWYoalF1ZXJ5KCIjY2hrNCIpLmlzKCI6Y2hlY2tlZCIpICl7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtNCIsIjEiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJfWVsc2V7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtNCIsIiIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQl9CgkJaWYoalF1ZXJ5KCIjY2hrNSIpLmlzKCI6Y2hlY2tlZCIpICl7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtNSIsIjEiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJfWVsc2V7CgkJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtNSIsIiIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQl9CgkJCgkJLypDb29raWVzIGFjY2VwdCBhbmQgc2F2ZWQqLwoJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQiLCIxIix7IGV4cGlyZXM6IDM2NSwgcGF0aDogJy8nIH0pOwoJCQoJCS8qSGlkZSBkaXNjbGFpbWVyKi8KCQlqUXVlcnkoImJvZHkgLmNvb2tpZXMiKS5oaWRlKCk7Cgl9KTsKCQoJalF1ZXJ5KCIuY29va2llcy1uZWVkZWQiKS5jbGljayhmdW5jdGlvbigpewoJCgkJLypORUVERUQgQ09PS0lFUyovCgkJalF1ZXJ5LmNvb2tpZSgiSGV4Q29va2llU2VlZC0xIiwiMSIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQlqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkLTIiLCIwIix7IGV4cGlyZXM6IDM2NSwgcGF0aDogJy8nIH0pOwoJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMyIsIjAiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJalF1ZXJ5LmNvb2tpZSgiSGV4Q29va2llU2VlZC00IiwiMCIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQlqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkLTUiLCIwIix7IGV4cGlyZXM6IDM2NSwgcGF0aDogJy8nIH0pOwoJCQoJCWpRdWVyeSgiI2NoazEiKS5wcm9wKCAiY2hlY2tlZCIsIHRydWUgKTsKCQlqUXVlcnkoIiNjaGsyIikucHJvcCggImNoZWNrZWQiLCBmYWxzZSApOwoJCWpRdWVyeSgiI2NoazMiKS5wcm9wKCAiY2hlY2tlZCIsIGZhbHNlICk7CgkJalF1ZXJ5KCIjY2hrNCIpLnByb3AoICJjaGVja2VkIiwgZmFsc2UgKTsKCQlqUXVlcnkoIiNjaGs1IikucHJvcCggImNoZWNrZWQiLCBmYWxzZSApOwoJCQoJCS8qQ29va2llcyBhY2NlcHQgYW5kIHNhdmVkKi8KCQlqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkIiwiMSIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQkKCQkvKkhpZGUgZGlzY2xhaW1lciovCgkJalF1ZXJ5KCJib2R5IC5jb29raWVzIikuaGlkZSgpOwoJfSk7CgkKCWpRdWVyeSgiLmNvb2tpZXMtYWNjZXB0IikuY2xpY2soZnVuY3Rpb24oKXsKCQoJCS8qQUxMIENPT0tJRVMqLwoJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtMSIsIjEiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJalF1ZXJ5LmNvb2tpZSgiSGV4Q29va2llU2VlZC0yIiwiMSIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQlqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkLTMiLCIxIix7IGV4cGlyZXM6IDM2NSwgcGF0aDogJy8nIH0pOwoJCWpRdWVyeS5jb29raWUoIkhleENvb2tpZVNlZWQtNCIsIjEiLHsgZXhwaXJlczogMzY1LCBwYXRoOiAnLycgfSk7CgkJalF1ZXJ5LmNvb2tpZSgiSGV4Q29va2llU2VlZC01IiwiMSIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQkKCQlqUXVlcnkoIiNjaGsxIikucHJvcCggImNoZWNrZWQiLCB0cnVlICk7CgkJalF1ZXJ5KCIjY2hrMiIpLnByb3AoICJjaGVja2VkIiwgdHJ1ZSApOwoJCWpRdWVyeSgiI2NoazMiKS5wcm9wKCAiY2hlY2tlZCIsIHRydWUgKTsKCQlqUXVlcnkoIiNjaGs0IikucHJvcCggImNoZWNrZWQiLCB0cnVlICk7CgkJalF1ZXJ5KCIjY2hrNSIpLnByb3AoICJjaGVja2VkIiwgdHJ1ZSApOwoJCQoJCS8qQ29va2llcyBhY2NlcHQgYW5kIHNhdmVkKi8KCQlqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkIiwiMSIseyBleHBpcmVzOiAzNjUsIHBhdGg6ICcvJyB9KTsKCQkKCQkvKkhpZGUgZGlzY2xhaW1lciovCgkJalF1ZXJ5KCJib2R5IC5jb29raWVzIikuaGlkZSgpOwoJfSk7CgkKCWpRdWVyeSgiLmNvb2tpZXMtcmVqZWN0IikuY2xpY2soZnVuY3Rpb24gKCkgeyAKCQlqUXVlcnkuY29va2llKCJIZXhDb29raWVTZWVkIiwgIjEiLCB7CgkJCWV4cGlyZXM6IDM2NSwKCQkJcGF0aDogJy8nCgkJfSk7IAoJCWpRdWVyeSgiYm9keSAuY29va2llcyIpLmhpZGUoKTsKCX0pOwoJCglqUXVlcnkoIi5jb29raWVwcmVmIikuY2xpY2soZnVuY3Rpb24oKXsKCQlqUXVlcnkoIiNjb29raWUtcHJlZiIpLnRyaWdnZXIoImNsaWNrIik7Cgl9KTsKCQoJLy/ilr0g4pazCglqUXVlcnkoIi5jb29raWVzIFtkYXRhLXRhYmNdIikuYWRkQ2xhc3MoImNoaWRlIik7CglqUXVlcnkoIi5jb29raWVzIC5jcGx1c2ljb24iKS5jbGljayhmdW5jdGlvbigpewoJCXZhciBvcmdTdGF0ZSA9IGpRdWVyeSh0aGlzKS5odG1sKCkrIiI7CgkJCgkJalF1ZXJ5KCIuY29va2llcyBbZGF0YS10YWJjXSIpLmFkZENsYXNzKCJjaGlkZSIpOwoJCWpRdWVyeSgiLmNvb2tpZXMgW2RhdGEtdGFiXSIpLmh0bWwoIisiKTsKCQlqUXVlcnkoIi5jb29raWVzIFtkYXRhLXRhYl0iKS5hdHRyKCJzdHlsZSIsIiIpOwoJCQoJCWlmKCBvcmdTdGF0ZS5pbmRleE9mKCIrIikgPj0gMCl7CgkJCXZhciB0YWJTZWwgPSBqUXVlcnkodGhpcykuYXR0cigiZGF0YS10YWIiKTsKCQkJalF1ZXJ5KHRoaXMpLmh0bWwoIi0iKTsKCQkJalF1ZXJ5KHRoaXMpLmF0dHIoInN0eWxlIiwicGFkZGluZy1sZWZ0OjdweDsiKTsKCQkJalF1ZXJ5KCIuY29va2llcyBbZGF0YS10YWJjPSciK3RhYlNlbCsiJ10iKS5yZW1vdmVDbGFzcygiY2hpZGUiKTsKCQl9Cgl9KTsKfQo8L3NjcmlwdD4KPHN0eWxlPgovKkNvbG9ycyBDU1MqLwouY29va2llcyAucHJlZmNvbnsKCW1heC1oZWlnaHQ6NTB2aDsKICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7CglvdmVyZmxvdy15OnNjcm9sbDsKfQouY29va2llcyAuY2NsZWFyewoJY2xlYXI6Ym90aDsKfQoKCi5jb29raWVzIC5jcGx1c2ljb257CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogIzAwMDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBwYWRkaW5nOiAwcHggMCAwIDBweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHdpZHRoOiAxOHB4OwogICAgaGVpZ2h0OiAxOHB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luOiAycHggMCAwIDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwp9Ci5jb29raWVzIC5jcGx1c2ljb246aG92ZXJ7CiAgICBjb2xvcjogIzY2NjsKfQogLmNvb2tpZXMgYXsKICAgICBjb2xvcjojMDAwOwp9CiAuY29va2llcyAuY210ewoJIG1hcmdpbi10b3A6MjBweDsKfQogLmNvb2tpZXMgLmNjb250ZW50IGEud2hpdGV7CiAgICAgY29sb3I6IzAwMDsKfQogLmNvb2tpZXMgLmNjb250ZW50IC5jYnV0dG9uewogICAgIGJhY2tncm91bmQ6I2ZmZjsKCWJvcmRlci1jb2xvcjogIzAwMDsKCWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7Cglib3JkZXI6IDJweCBzb2xpZDsKfQouY29va2llcyAuY2NvbnRlbnQgLmNidXR0b24tMnsKICAgIGJhY2tncm91bmQ6I2ZmZjsKCWJvcmRlci1jb2xvcjogIzAwMDsKCWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7Cglib3JkZXI6IDJweCBzb2xpZDsKfQovKkdlbmVyYWwgQ1NTKi8KCSNjb29raWVzLWNvbmZpZyB7CgkJY3Vyc29yOnBvaW50ZXI7Cgl9CiAuY29va2llcyAqewogICAgIGZvbnQtc2l6ZToxMnB4OwogICAgIGxpbmUtaGVpZ2h0OjIwcHg7CiAgICAgY29sb3I6IzAwMDsKfQouY29va2llcyBoNCB7Cglmb250LXNpemU6IDI0cHggIWltcG9ydGFudDsKCWxpbmUtaGVpZ2h0OiAyOHB4OwoJZm9udC13ZWlnaHQ6IDcwMDsKfQogLmNvb2tpZXMgYXsKICAgICBmb250LXNpemU6MTBweDsKfQogLmNvb2tpZXMgYTpob3ZlcnsKICAgICBmb250LXNpemU6MTBweCAhaW1wb3J0YW50Owp9CiAuY29va2llcyAud3JpZ2h0IGF7CiAgICAgZm9udC1zaXplOjE2cHggIWltcG9ydGFudDsKfQouY29va2llc3sgICAgIAogICAgIHBvc2l0aW9uOmZpeGVkOwkKCSBkaXNwbGF5Om5vbmU7CiAgICAgYm90dG9tOiA0MHB4OwogICAgIGxlZnQ6IDUwJTsKCSB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgei1pbmRleDo5OTk5OwoJIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjAwMDA7CgkgdmVydGljYWwtYWxpZ246Ym90dG9tOwoJIGJveC1zaGFkb3c6IDEwcHggMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsKfQogLmNvb2tpZXMgLmNjb29raWV7CgkgYWxpZ24tc2VsZjogY2VudGVyOwogICAgIHdpZHRoOjY1MHB4OwogICAgIGhlaWdodDphdXRvOwoJIG1hcmdpbjogYXV0bzsKfQogLmNvb2tpZXMgLmNjb250ZW50ewogICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSk7CiAgICAgY29sb3I6IzMzMzsKICAgICBwYWRkaW5nOjQwcHg7CiAgICAgZm9udC1zaXplOjEwcHg7Cn0KIC5jb29raWVzIC5jY29udGVudC5wcmVmZXJlbmNlcyBpbnB1dHsKICAgICB3aWR0aDphdXRvOwogICAgIG1hcmdpbjogMCAxMHB4IDAgMDsKfQogLmNvb2tpZXMgLmNjb250ZW50LnByZWZlcmVuY2VzIGxhYmVsewogICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CiAgICAgY3Vyc29yOnBvaW50ZXI7Cn0KIC5jb29raWVzIC5jY29udGVudCBhewogICAgIG1hcmdpbjowcHg7CiAgICAgZm9udC13ZWlnaHQ6NDAwOwp9CiAuY29va2llcyAuY2NvbnRlbnQgYTpob3ZlcnsKICAgICBjb2xvcjojMDAwOwogICAgIGZvbnQtc2l6ZToxMnB4Owp9CiAuY29va2llcyAuY2NvbnRlbnQgLmNidXR0b24sIC5jb29raWVzIC5jY29udGVudCAuY2J1dHRvbi0yewogICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogICAgIGNvbG9yOiMzMzM7CiAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7CgkgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICAgZm9udC13ZWlnaHQ6NjAwOwogICAgIGZvbnQtc2l6ZToxMXB4ICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAxMHB4IDJweDsKICAgIG1hcmdpbjogMHB4IDAgMTBweCAwOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgd2lkdGg6IDMyJTsKfQogLmNvb2tpZXMgLmNjb250ZW50IC5jYnV0dG9uOmhvdmVyLCAgLmNvb2tpZXMgLmNjb250ZW50IC5jYnV0dG9uLTI6aG92ZXJ7CiAgICAgYmFja2dyb3VuZDojMzMzOwogICAgIGNvbG9yOiNmZmYhaW1wb3J0YW50Owp9CiAuY29va2llcyAuY2NsZWFyewogICAgIGNsZWFyOmJvdGg7Cn0KIC5jb29raWVzIGxhYmVsIHsKCXZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICBtYXJnaW4tbGVmdDogNXB4OwogICAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgICBtYXJnaW4tdG9wOiAtMnB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiA5NzZweCkgewoJLmNvb2tpZXMgLnByZWZjb24gewoJCW1heC1oZWlnaHQ6IDQwdmg7Cgl9CgkuY29va2llcyBoNCB7CgkJZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7CgkJbGluZS1oZWlnaHQ6IDI0cHg7Cgl9CiAuY29va2llc3sgICAgIAogICAgIHBvc2l0aW9uOmZpeGVkOwkKCSBkaXNwbGF5Om5vbmU7CiAgICAgYm90dG9tOiAwOwogICAgIGxlZnQ6IDA7CiAgICAgd2lkdGg6MTAwJTsKICAgICBtYXgtaGVpZ2h0OjEwMCU7CgkgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsKCSBvdmVyZmxvdy15OnNjcm9sbDsKfQogLmNvb2tpZXMgLmNjb29raWV7CiAgICAgd2lkdGg6MTAwJTsKICAgICBoZWlnaHQ6MTAwJTsKfQoJLmNvb2tpZXMgbGFiZWwgewoJCW1hcmdpbi1sZWZ0OiAzcHg7CgkJbWFyZ2luLXJpZ2h0OiA1cHg7Cgl9CgkuY29va2llcyAuY2NvbnRlbnQgewoJCXBhZGRpbmc6IDE1cHg7Cgl9CgkuY29va2llcyAuY2NvbnRlbnQgLmNidXR0b24sIC5jb29raWVzIC5jY29udGVudCAuY2J1dHRvbi0yewoJCXdpZHRoOiAxMDAlOwoJfQp9CiAuY2hpZGV7CiAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7Cn0KPC9zdHlsZT4=