Muscle & Authority Fitness Media
UPDATE
  • Home
  • Trainer Spotlights
  • Categories
    • Trainer Spotlights
    • Workout Systems
    • Strength & Muscle
    • Fat Loss & Conditioning
    • Coaching & Training Methods
    • Strength Systems
  • About the Magazine
  • Get Featured
Where Real Strength Meets Real Authority.
Featuring Trainers, Coaches & Systems That Deliver Real Results.
15 Minutes Read

Inside 4Life Fitness Studio: A Greer Gym Focused on Strength, Nutrition, and Personal Support

This is a custom HTML / JavaScript Element

In order To See Your Custom HTML/JavaScript Code in Action You Must Click On The Preview Page Button, Your Code is NOT going to be active in the edit mode

PHRpdGxlPjRMaWZlIEZpdG5lc3MgU3R1ZGlvOiBUaGUgTm8tRnJpbGxzIFRyYWluaW5nIFN0YW5kYXJkIEJlaGluZCBTdXN0YWluYWJsZSBTdHJlbmd0aCBpbiBHcmVlciB8IE11c2NsZSAmYW1wOyBBdXRob3JpdHkgTWFnYXppbmU8L3RpdGxlPgoKPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkEgTXVzY2xlICZhbXA7IEF1dGhvcml0eSBNYWdhemluZSBzcG90bGlnaHQgb24gNExpZmUgRml0bmVzcyBTdHVkaW8gaW4gR3JlZXIsIFNvdXRoIENhcm9saW5hLCBmb2N1c2VkIG9uIEp1c3RpbiBCb3dlcnPigJkgc2VtaS1wcml2YXRlIGFuZCAxLW9uLTEgcGVyc29uYWwgdHJhaW5pbmcgbWV0aG9kLCBzaW1wbGUgc3RyZW5ndGgtYmFzZWQgd29ya291dHMsIG51dHJpdGlvbiBndWlkYW5jZSwgY2xpZW50IGNvbmZpZGVuY2UsIGFuZCBmYW1pbHktbGlrZSBzdHVkaW8gY3VsdHVyZS4iPgoKPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IjRMaWZlIEZpdG5lc3MgU3R1ZGlvLCBKdXN0aW4gQm93ZXJzLCBHcmVlciBTQyBwZXJzb25hbCB0cmFpbmVyLCBwZXJzb25hbCB0cmFpbmluZyBHcmVlciBTQywgc2VtaS1wcml2YXRlIHBlcnNvbmFsIHRyYWluaW5nIEdyZWVyLCAxLW9uLTEgcGVyc29uYWwgdHJhaW5pbmcgR3JlZXIsIHN0cmVuZ3RoIHRyYWluaW5nIEdyZWVyIFNDLCBudXRyaXRpb24gY29hY2hpbmcgR3JlZXIgU0MsIGZpdG5lc3Mgc3R1ZGlvIEdyZWVyIFNvdXRoIENhcm9saW5hLCBwYWdlYW50IHBlcnNvbmFsIHRyYWluaW5nIFNvdXRoIENhcm9saW5hIj4KCjxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iNExpZmUgRml0bmVzcyBTdHVkaW86IEluc2lkZSB0aGUgU2ltcGxlIFRyYWluaW5nIFN0YW5kYXJkIEJ1aWx0IGZvciBTdXN0YWluYWJsZSBSZXN1bHRzIj4KCjxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iQSBNdXNjbGUgJmFtcDsgQXV0aG9yaXR5IE1hZ2F6aW5lIGF1dGhvcml0eSBzcG90bGlnaHQgb24gSnVzdGluIEJvd2VycyBhbmQgNExpZmUgRml0bmVzcyBTdHVkaW8gaW4gR3JlZXIsIFNvdXRoIENhcm9saW5hLCBmb2N1c2VkIG9uIHNpbXBsZSBzdHJlbmd0aCB0cmFpbmluZywgc2VtaS1wcml2YXRlIGNvYWNoaW5nLCBudXRyaXRpb24gc3VwcG9ydCwgY29uZmlkZW5jZSwgYW5kIGEgZmFtaWx5LWxpa2UgbG9jYWwgdHJhaW5pbmcgY3VsdHVyZS4iPgoKPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL2lpbGkuaW8vQ0h3cDg1Ti5tZC5wbmciPgoKPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9ImFydGljbGUiPgoKPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5X2xhcmdlX2ltYWdlIj4KCjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CnsKICAiQGNvbnRleHQiOiAiaHR0cHM6Ly9zY2hlbWEub3JnIiwKICAiQGdyYXBoIjogWwogICAgewogICAgICAiQHR5cGUiOiAiQXJ0aWNsZSIsCiAgICAgICJAaWQiOiAiaHR0cHM6Ly93d3cuNGxpZmVmaXRuZXNzc3R1ZGlvLmNvbS8jbXVzY2xlLWF1dGhvcml0eS1zcG90bGlnaHQiLAogICAgICAiaGVhZGxpbmUiOiAiNExpZmUgRml0bmVzcyBTdHVkaW86IFRoZSBOby1GcmlsbHMgVHJhaW5pbmcgU3RhbmRhcmQgQmVoaW5kIFN1c3RhaW5hYmxlIFN0cmVuZ3RoIGluIEdyZWVyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkEgTXVzY2xlICYgQXV0aG9yaXR5IE1hZ2F6aW5lIGF1dGhvcml0eSBzcG90bGlnaHQgb24gNExpZmUgRml0bmVzcyBTdHVkaW8gaW4gR3JlZXIsIFNvdXRoIENhcm9saW5hLCBmb2N1c2VkIG9uIEp1c3RpbiBCb3dlcnPigJkgc2VtaS1wcml2YXRlIGFuZCAxLW9uLTEgcGVyc29uYWwgdHJhaW5pbmcgbWV0aG9kLCBzaW1wbGUgc3RyZW5ndGgtYmFzZWQgd29ya291dHMsIG51dHJpdGlvbiBndWlkYW5jZSwgY2xpZW50IGNvbmZpZGVuY2UsIGFuZCBmYW1pbHktbGlrZSBzdHVkaW8gY3VsdHVyZS4iLAogICAgICAiaW1hZ2UiOiAiaHR0cHM6Ly9paWxpLmlvL0NId3A4NU4ubWQucG5nIiwKICAgICAgImF1dGhvciI6IHsKICAgICAgICAiQHR5cGUiOiAiUGVyc29uIiwKICAgICAgICAibmFtZSI6ICJEYW5pZWwgRm9yZCIKICAgICAgfSwKICAgICAgInB1Ymxpc2hlciI6IHsKICAgICAgICAiQHR5cGUiOiAiT3JnYW5pemF0aW9uIiwKICAgICAgICAibmFtZSI6ICJNdXNjbGUgJiBBdXRob3JpdHkgTWFnYXppbmUiCiAgICAgIH0sCiAgICAgICJhYm91dCI6IHsKICAgICAgICAiQHR5cGUiOiAiSGVhbHRoQ2x1YiIsCiAgICAgICAgIm5hbWUiOiAiNExpZmUgRml0bmVzcyBTdHVkaW8iLAogICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cuNGxpZmVmaXRuZXNzc3R1ZGlvLmNvbS8iLAogICAgICAgICJhZGRyZXNzIjogewogICAgICAgICAgIkB0eXBlIjogIlBvc3RhbEFkZHJlc3MiLAogICAgICAgICAgInN0cmVldEFkZHJlc3MiOiAiNDA1IFRoZSBQYXJrd2F5IiwKICAgICAgICAgICJhZGRyZXNzTG9jYWxpdHkiOiAiR3JlZXIiLAogICAgICAgICAgImFkZHJlc3NSZWdpb24iOiAiU0MiLAogICAgICAgICAgInBvc3RhbENvZGUiOiAiMjk2NTAiLAogICAgICAgICAgImFkZHJlc3NDb3VudHJ5IjogIlVTIgogICAgICAgIH0sCiAgICAgICAgImFyZWFTZXJ2ZWQiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiQ2l0eSIsCiAgICAgICAgICAibmFtZSI6ICJHcmVlciIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJAdHlwZSI6ICJQZXJzb24iLAogICAgICAibmFtZSI6ICJKdXN0aW4gQm93ZXJzIiwKICAgICAgImpvYlRpdGxlIjogIk93bmVyIGFuZCBQZXJzb25hbCBUcmFpbmVyIiwKICAgICAgIndvcmtzRm9yIjogewogICAgICAgICJAdHlwZSI6ICJIZWFsdGhDbHViIiwKICAgICAgICAibmFtZSI6ICI0TGlmZSBGaXRuZXNzIFN0dWRpbyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIkB0eXBlIjogIkZBUVBhZ2UiLAogICAgICAiQGlkIjogImh0dHBzOi8vd3d3LjRsaWZlZml0bmVzc3N0dWRpby5jb20vI3JlYWRlci1icmllZmluZyIsCiAgICAgICJtYWluRW50aXR5IjogWwogICAgICAgIHsKICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAibmFtZSI6ICJXaGF0IGlzIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIGtub3duIGZvcj8iLAogICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgInRleHQiOiAiNExpZmUgRml0bmVzcyBTdHVkaW8gaXMga25vd24gZm9yIHNlbWktcHJpdmF0ZSBhbmQgMS1vbi0xIHBlcnNvbmFsIHRyYWluaW5nIGluIEdyZWVyLCBTb3V0aCBDYXJvbGluYSwgd2l0aCBhIGZvY3VzIG9uIHNpbXBsZSBzdHJlbmd0aCB0cmFpbmluZywgcHJhY3RpY2FsIG51dHJpdGlvbiBndWlkYW5jZSwgY2xpZW50IGNvbWZvcnQsIGFuZCBhIGZhbWlseS1saWtlIHRyYWluaW5nIGN1bHR1cmUuIgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAgICJuYW1lIjogIldoYXQgaXMgSnVzdGluIEJvd2Vyc+KAmSB0cmFpbmluZyBwaGlsb3NvcGh5PyIsCiAgICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgICAidGV4dCI6ICJKdXN0aW4gQm93ZXJzIGRlc2NyaWJlcyBoaXMgdHJhaW5pbmcgcGhpbG9zb3BoeSBhcm91bmQgbGlzdGVuaW5nIGZpcnN0LCBrZWVwaW5nIHdvcmtvdXRzIHNpbXBsZSwgdXNpbmcgc3RydWN0dXJlZCByZXNpc3RhbmNlIHRyYWluaW5nLCBhZGp1c3RpbmcgZXhlcmNpc2VzIHRvIHRoZSBpbmRpdmlkdWFsLCBhbmQgaGVscGluZyBjbGllbnRzIGJ1aWxkIGNvbnNpc3RlbmN5IHdpdGggdHJhaW5pbmcgYW5kIG51dHJpdGlvbi4iCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgIm5hbWUiOiAiV2hhdCBpcyB0aGUgYmVzdCBmaXJzdCBzdGVwIGZvciBhIG5ldyBjbGllbnQ/IiwKICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICJ0ZXh0IjogIlRoZSBiZXN0IGZpcnN0IHN0ZXAgZm9yIGEgbmV3IGNsaWVudCBpcyB0byB2aXNpdCB0aGUgb2ZmaWNpYWwgNExpZmUgRml0bmVzcyBTdHVkaW8gd2Vic2l0ZSBhbmQgYm9vayBhIGZyZWUgY29uc3VsdGF0aW9uIHRvIGV4cGxvcmUgdGhlIHN0dWRpbywgdHJhaW5pbmcgZW52aXJvbm1lbnQsIGFuZCBhdmFpbGFibGUgY29hY2hpbmcgb3B0aW9ucy4iCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBdCiAgICB9CiAgXQp9Cjwvc2NyaXB0PgoKPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7IHdpZHRoOjEwMCUgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDsgcGFkZGluZzowICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsgb3ZlcmZsb3c6dmlzaWJsZSAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9Im1heC13aWR0aDoxMTIwcHggIWltcG9ydGFudDsgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBtYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7IHBhZGRpbmc6MCAxOHB4IDkycHggMThweCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsgY29sb3I6IzE1MTUxNSAhaW1wb3J0YW50OyBmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7IG92ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50OyI+CgogICAgPGRpdiBzdHlsZT0icGFkZGluZzoyNnB4IDAgMThweCAwICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6M3B4IHNvbGlkICMxMTExMTEgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzdiNzE2NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDZweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICBBdXRob3JpdHkgU3BvdGxpZ2h0CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgzMHB4LCA3dncsIDQycHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuMDQgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6LTEuMnB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50OyBjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7IG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7Ij4KICAgICAgICBNdXNjbGUgJmFtcDsgQXV0aG9yaXR5IE1hZ2F6aW5lPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IGZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjExcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MSAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MC41cHggIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246dG9wICFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OjJweCAhaW1wb3J0YW50OyBwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50OyB0b3A6NnB4ICFpbXBvcnRhbnQ7IGNvbG9yOiMxMTExMTEgIWltcG9ydGFudDsiPlRNPC9zcGFuPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjIuNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNyAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7IG1hcmdpbjo4cHggMCAwIDAgIWltcG9ydGFudDsiPgogICAgICAgIFRyYWluaW5nIE1ldGhvZHMgLyBDb2FjaGluZyBTdGFuZGFyZHMgLyBMb2NhbCBGaXRuZXNzIExlYWRlcnNoaXAKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoycHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiM3YTcxNjcgIWltcG9ydGFudDsgbWFyZ2luOjE2cHggMCAwIDAgIWltcG9ydGFudDsiPgogICAgICAgIFByZW1pdW0gRWRpdG9yaWFsIEZlYXR1cmUKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjE2cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS40NSAhaW1wb3J0YW50OyBjb2xvcjojMTUxNTE1ICFpbXBvcnRhbnQ7IG1hcmdpbjo0cHggMCAwIDAgIWltcG9ydGFudDsiPgogICAgICAgIEJ5IERhbmllbCBGb3JkCiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MS44cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS44ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjZweCAwIDAgMCAhaW1wb3J0YW50OyI+CiAgICAgICAgRWRpdG9yaWFsbHkgcHJlcGFyZWQgZnJvbSBhIEZpdG5lc3MgTGl2aW5nIE1hZ2F6aW5l4oSiIGludGVydmlldyB3aXRoIEp1c3RpbiBCb3dlcnMKICAgICAgPC9kaXY+CgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0icGFkZGluZzozMnB4IDAgMzZweCAwICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWQ3Y2IgIWltcG9ydGFudDsgdGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzozLjFweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzdiNzE2NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEzcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVGhlIEF1dGhvcml0eSBTdGFuZGFyZAogICAgICA8L2Rpdj4KCiAgICAgIDxoMiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTo1MnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgzNXB4LCA4dncsIDU2cHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6LTEuNnB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50OyBjb2xvcjojMGYwZjBmICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQgIWltcG9ydGFudDsgd29yZC13cmFwOmJyZWFrLXdvcmQgIWltcG9ydGFudDsiPgogICAgICAgIDRMaWZlIEZpdG5lc3MgU3R1ZGlvOiBUaGUgTm8tRnJpbGxzIFRyYWluaW5nIFN0YW5kYXJkIEJlaGluZCBTdXN0YWluYWJsZSBTdHJlbmd0aCBpbiBHcmVlcgogICAgICA8L2gyPgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNSAhaW1wb3J0YW50OyBjb2xvcjojMzAyZDI4ICFpbXBvcnRhbnQ7IG1heC13aWR0aDo5MTBweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyBvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQgIWltcG9ydGFudDsiPgogICAgICAgIEluIEdyZWVyLCBTb3V0aCBDYXJvbGluYSwgSnVzdGluIEJvd2VycyBoYXMgYnVpbHQgYSBwZXJzb25hbCB0cmFpbmluZyBzdHVkaW8gYXJvdW5kIGEgZGlyZWN0IGlkZWE6IGZpdG5lc3Mgc2hvdWxkIGJlIHNpbXBsZSBlbm91Z2ggdG8gZm9sbG93LCBwZXJzb25hbCBlbm91Z2ggdG8gdHJ1c3QsIGFuZCBzdHJ1Y3R1cmVkIGVub3VnaCB0byBwcm9kdWNlIHJlc3VsdHMgd2hlbiBjbGllbnRzIGNvbW1pdCB0byB0aGUgd29yay4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IzExMTExMSAhaW1wb3J0YW50OyB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IG1heC13aWR0aDo5ODBweCAhaW1wb3J0YW50OyBtYXJnaW46MjJweCAwIDEzcHggMCAhaW1wb3J0YW50OyI+PC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoycHggIWltcG9ydGFudDsgZm9udC1zaXplOjExcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS45ICFpbXBvcnRhbnQ7IGNvbG9yOiM1ZDU1NGIgIWltcG9ydGFudDsgbWF4LXdpZHRoOjkyMHB4ICFpbXBvcnRhbnQ7Ij4KICAgICAgICBHcmVlciwgU291dGggQ2Fyb2xpbmEgJm5ic3A7IC8gJm5ic3A7IFNlbWktUHJpdmF0ZSBQZXJzb25hbCBUcmFpbmluZyAmbmJzcDsgLyAmbmJzcDsgMS1vbi0xIENvYWNoaW5nICZuYnNwOyAvICZuYnNwOyBTdHJlbmd0aCAmYW1wOyBOdXRyaXRpb24KICAgICAgPC9kaXY+CgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0icGFkZGluZzozNHB4IDAgMzJweCAwICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBvdmVyZmxvdzp2aXNpYmxlICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWQ3Y2IgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDsiPgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MTE4cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDQycHgsIDEzdncsIDExOHB4KSAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDowLjkgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6MzAwICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzotMy40cHggIWltcG9ydGFudDsgY29sb3I6I2Q2ZDBjNSAhaW1wb3J0YW50OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjojZDZkMGM1ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTBweCAwICFpbXBvcnRhbnQ7IG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7IHdoaXRlLXNwYWNlOm5vcm1hbCAhaW1wb3J0YW50OyBvdmVyZmxvdzp2aXNpYmxlICFpbXBvcnRhbnQ7IHdvcmQtYnJlYWs6bm9ybWFsICFpbXBvcnRhbnQ7IG92ZXJmbG93LXdyYXA6bm9ybWFsICFpbXBvcnRhbnQ7Ij4KICAgICAgICBTSU1QTEUKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjYycHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDI3cHgsIDUuNHZ3LCA2MnB4KSAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzotMS41cHggIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50OyBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBvdmVyZmxvdy13cmFwOm5vcm1hbCAhaW1wb3J0YW50OyB3b3JkLWJyZWFrOm5vcm1hbCAhaW1wb3J0YW50OyB3aGl0ZS1zcGFjZTpub3JtYWwgIWltcG9ydGFudDsiPgogICAgICAgIEJ5Jm5ic3A7RGVzaWduCiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0id2lkdGg6OTBweCAhaW1wb3J0YW50OyBoZWlnaHQ6MnB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6I2I4OWE1ZiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDIycHggMCAhaW1wb3J0YW50OyI+PC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjNweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjkgIWltcG9ydGFudDsgY29sb3I6IzVhNTI0OCAhaW1wb3J0YW50OyBtYXgtd2lkdGg6OTAwcHggIWltcG9ydGFudDsiPgogICAgICAgIEEgY2xvc2VyIGxvb2sgYXQgaG93IDRMaWZlIEZpdG5lc3MgU3R1ZGlvIHVzZXMgc3RydWN0dXJlZCByZXNpc3RhbmNlIHRyYWluaW5nLCBwcmFjdGljYWwgbnV0cml0aW9uIGhhYml0cywgc2VtaS1wcml2YXRlIGNvYWNoaW5nLCBpbmRpdmlkdWFsaXplZCBleGVyY2lzZSB2YXJpYXRpb24sIGFuZCBhIHJlbGF0aW9uc2hpcC1maXJzdCBjdWx0dXJlIHRvIGhlbHAgY2xpZW50cyBidWlsZCBzdHJlbmd0aCwgY29uZmlkZW5jZSwgYW5kIGxvbmctdGVybSBjb25zaXN0ZW5jeS4KICAgICAgPC9kaXY+CgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZmJmYWY3ICFpbXBvcnRhbnQ7IGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjYjg5YTVmICFpbXBvcnRhbnQ7IHBhZGRpbmc6MjRweCAyNnB4ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMzRweCAwICFpbXBvcnRhbnQ7IG1heC13aWR0aDo3NjBweCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6Mi40cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTdhNTggIWltcG9ydGFudDsgbWFyZ2luOjAgMCA5cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgRWRpdG9y4oCZcyBBdXRob3JpdHkgTm90ZQogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjJweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjYyICFpbXBvcnRhbnQ7IGNvbG9yOiMyNDIxMWUgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDsiPgogICAgICAgIEJvd2Vyc+KAmSBzdGFuZGFyZCBpcyBub3QgYnVpbHQgYXJvdW5kIGNvbmZ1c2luZyBjbGllbnRzIHdpdGggbm92ZWx0eS4gSXQgaXMgYnVpbHQgYXJvdW5kIGxpc3RlbmluZyBmaXJzdCwga2VlcGluZyB0aGUgd29yayBkaXJlY3QsIG1hdGNoaW5nIHRoZSBwbGFuIHRvIHRoZSBwZXJzb24sIGFuZCBoZWxwaW5nIGNsaWVudHMgdW5kZXJzdGFuZCB0aGF0IHN0cmVuZ3RoLCBudXRyaXRpb24sIGFuZCBjb25zaXN0ZW5jeSBkbyBub3QgbmVlZCB0byBiZSBtYWRlIG1vcmUgY29tcGxpY2F0ZWQgdGhhbiB0aGV5IGFscmVhZHkgYXJlLgogICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJib3JkZXItdG9wOjFweCBzb2xpZCAjZDhjZmJmICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkOGNmYmYgIWltcG9ydGFudDsgcGFkZGluZzoyMHB4IDAgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAzNnB4IDAgIWltcG9ydGFudDsgbWF4LXdpZHRoOjc2MHB4ICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzhhODE3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEycHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVHJhaW5pbmcgRG9zc2llcgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MTlweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzFmMWYxZCAhaW1wb3J0YW50OyBtYXJnaW46MCAhaW1wb3J0YW50OyI+CiAgICAgICAgPHN0cm9uZz5CdXNpbmVzczo8L3N0cm9uZz4gNExpZmUgRml0bmVzcyBTdHVkaW88YnI+CiAgICAgICAgPHN0cm9uZz5Mb2NhdGlvbjo8L3N0cm9uZz4gR3JlZXIsIFNvdXRoIENhcm9saW5hPGJyPgogICAgICAgIDxzdHJvbmc+Rm91bmRlciAvIFRyYWluaW5nIExlYWQ6PC9zdHJvbmc+IEp1c3RpbiBCb3dlcnM8YnI+CiAgICAgICAgPHN0cm9uZz5CdXNpbmVzcyBUeXBlOjwvc3Ryb25nPiBTZW1pLXByaXZhdGUgYW5kIDEtb24tMSBwZXJzb25hbCB0cmFpbmluZyBzdHVkaW88YnI+CiAgICAgICAgPHN0cm9uZz5UcmFpbmluZyBGb2N1czo8L3N0cm9uZz4gUmVzaXN0YW5jZSB0cmFpbmluZywgc3RyZW5ndGggZGV2ZWxvcG1lbnQsIGJvZHkgcmVjb21wb3NpdGlvbiwgd2VpZ2h0IGxvc3Mgc3VwcG9ydCwgbnV0cml0aW9uIGd1aWRhbmNlLCBwYWdlYW50IGNvbXBldGl0b3IgdHJhaW5pbmcsIGxpZmVzdHlsZSBmaXRuZXNzLCBjb25maWRlbmNlIGJ1aWxkaW5nLCBhbmQgaW5kaXZpZHVhbGl6ZWQgY29hY2hpbmcgaW4gYSBzbWFsbCBzdHVkaW8gZW52aXJvbm1lbnQuCiAgICAgIDwvZGl2PgoKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50OyBib3JkZXItdG9wOjFweCBzb2xpZCAjZDhjZmJmICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkOGNmYmYgIWltcG9ydGFudDsgcGFkZGluZzoyMnB4IDAgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAzNnB4IDAgIWltcG9ydGFudDsgbWF4LXdpZHRoOjc2MHB4ICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzhhODE3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEycHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgRWRpdG9yaWFsIFRydXN0IE5vdGUKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjE4cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43MiAhaW1wb3J0YW50OyBjb2xvcjojMmEyNzIzICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7Ij4KICAgICAgICBUaGlzIGZlYXR1cmUgaXMgYmFzZWQgb24gYSByZWNvcmRlZCBGaXRuZXNzIExpdmluZyBNYWdhemluZeKEoiBpbnRlcnZpZXcgd2l0aCBKdXN0aW4gQm93ZXJzLCB0aGUgYnVzaW5lc3Mgc291cmNlIG1hdGVyaWFsIHByb3ZpZGVkIGZvciA0TGlmZSBGaXRuZXNzIFN0dWRpbywgYW5kIHB1YmxpY2x5IGF2YWlsYWJsZSBzdHVkaW8gaW5mb3JtYXRpb24uIEl0IGhpZ2hsaWdodHMgdHJhaW5pbmcgcGhpbG9zb3BoeSwgd29ya291dCBzdHJ1Y3R1cmUsIGNvYWNoaW5nIHN0YW5kYXJkcywgbnV0cml0aW9uIHN1cHBvcnQsIGNsaWVudCBleHBlcmllbmNlLCBhbmQgbG9jYWwgYXV0aG9yaXR5LiBJdCBpcyBub3QgbWVkaWNhbCBhZHZpY2UsIGFuZCByZWFkZXJzIHNob3VsZCBjb25zdWx0IGEgcXVhbGlmaWVkIHByb2Zlc3Npb25hbCBiZWZvcmUgYmVnaW5uaW5nIG9yIGNoYW5naW5nIGEgZml0bmVzcyBwcm9ncmFtLgogICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOjE4cHggMCAzNHB4IDAgIWltcG9ydGFudDsgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgIDxpbWcgc3JjPSJodHRwczovL2lpbGkuaW8vQ0h3cDg1Ti5tZC5wbmciIGFsdD0iNExpZmUgRml0bmVzcyBTdHVkaW8gZXh0ZXJpb3IgaW4gR3JlZXIsIFNvdXRoIENhcm9saW5hIiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50OyB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IG1heC13aWR0aDo1NjBweCAhaW1wb3J0YW50OyBoZWlnaHQ6YXV0byAhaW1wb3J0YW50OyBib3JkZXI6MCAhaW1wb3J0YW50OyBtYXJnaW46MCBhdXRvIDEycHggYXV0byAhaW1wb3J0YW50OyI+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjEzcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS41OCAhaW1wb3J0YW50OyBjb2xvcjojNmI2NDViICFpbXBvcnRhbnQ7IG1heC13aWR0aDo2MjBweCAhaW1wb3J0YW50OyBtYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjEuNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsiPkJ1c2luZXNzIFNuYXBzaG90Ojwvc3Bhbj4gNExpZmUgRml0bmVzcyBTdHVkaW8gaXMgcHJlc2VudGVkIGFzIGEgbG9jYWwgdHJhaW5pbmcgZW52aXJvbm1lbnQgd2hlcmUgY2xpZW50cyBjYW4gcHVyc3VlIHN0cmVuZ3RoLCBib2R5IGNvbXBvc2l0aW9uLCBudXRyaXRpb24gaGFiaXRzLCBhbmQgY29uZmlkZW5jZSB3aXRob3V0IHRoZSBpbnRpbWlkYXRpb24gb2Z0ZW4gYXNzb2NpYXRlZCB3aXRoIGxhcmdlciBneW0gc2V0dGluZ3MuCiAgICAgIDwvZGl2PgoKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6IzExMTExMSAhaW1wb3J0YW50OyBib3JkZXItbGVmdDo1cHggc29saWQgI2I4OWE1ZiAhaW1wb3J0YW50OyBwYWRkaW5nOjMycHggMjhweCAzMHB4IDI4cHggIWltcG9ydGFudDsgbWFyZ2luOjAgMCAzNHB4IDAgIWltcG9ydGFudDsgbWF4LXdpZHRoOjgyMHB4ICFpbXBvcnRhbnQ7IHdpZHRoOjEwMCUgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjIuNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNyAhaW1wb3J0YW50OyBjb2xvcjojY2RiZDk4ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTJweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICBGZWF0dXJlZCBQdWxsIFF1b3RlCiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozMnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgyNXB4LCA2LjZ2dywgMzVweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4zNCAhaW1wb3J0YW50OyBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTZweCAwICFpbXBvcnRhbnQ7IG92ZXJmbG93LXdyYXA6YnJlYWstd29yZCAhaW1wb3J0YW50OyI+CiAgICAgICAg4oCcRml0bmVzcyBkb2VzIG5vdCBoYXZlIHRvIGJlIGFzIGRpZmZpY3VsdCBhcyBpdOKAmXMgYmVpbmcgcG9ydHJheWVkIHRvIHlvdS7igJ0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoxLjhweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjYgIWltcG9ydGFudDsgY29sb3I6I2JkYjVhYSAhaW1wb3J0YW50OyI+CiAgICAgICAgSnVzdGluIEJvd2VycwogICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmYmZhZjcgIWltcG9ydGFudDsgYm9yZGVyLXRvcDo0cHggc29saWQgIzExMTExMSAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDhjZmJmICFpbXBvcnRhbnQ7IHBhZGRpbmc6MjhweCAyMnB4IDI4cHggMjJweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQ0cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudDsiPgoKICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICNiODlhNWYgIWltcG9ydGFudDsgcGFkZGluZzowIDAgMCAxNnB4ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMjBweCAwICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6M3B4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuOSAhaW1wb3J0YW50OyBjb2xvcjojNzQ2ZDYzICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIEF1dGhvcml0eSBTdGFuZGFyZAogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjlweCAhaW1wb3J0YW50OyBmb250LXNpemU6Y2xhbXAoMjRweCwgNi41dncsIDMxcHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNDIgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6LTAuMnB4ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYzFhMTggIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxNnB4IDAgIWltcG9ydGFudDsgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDsgb3ZlcmZsb3ctd3JhcDpicmVhay13b3JkICFpbXBvcnRhbnQ7IHdvcmQtYnJlYWs6bm9ybWFsICFpbXBvcnRhbnQ7Ij4KICAgICAgICBUaGUgNExpZmUgc3RhbmRhcmQgaXMgYnVpbHQgYXJvdW5kIGEgc2ltcGxlIGJ1dCBkZW1hbmRpbmcgcHJlbWlzZTogbGlzdGVuIHRvIHRoZSBjbGllbnQsIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb25mdXNpb24sIHRyYWluIHdpdGggc3RydWN0dXJlLCBndWlkZSB0aGUgZm9vZCBoYWJpdHMgdGhhdCBtYXR0ZXIsIGFuZCBtYWtlIHRoZSByb29tIGZlZWwgY29tZm9ydGFibGUgZW5vdWdoIGZvciBwZW9wbGUgdG8ga2VlcCBzaG93aW5nIHVwLgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDoxcHggIWltcG9ydGFudDsgd2lkdGg6NzZweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiNiODlhNWYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDsiPjwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuOCAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7Ij4KICAgICAgICBFZGl0b3JpYWwgQXNzZXNzbWVudCAvIE11c2NsZSAmYW1wOyBBdXRob3JpdHkgTWFnYXppbmXihKIKICAgICAgPC9kaXY+CgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjg0MHB4ICFpbXBvcnRhbnQ7IHdpZHRoOjEwMCUgIWltcG9ydGFudDsgbWFyZ2luOjAgYXV0byAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgIDxwIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIxcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS44NCAhaW1wb3J0YW50OyBjb2xvcjojMWIxYjE5ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMjhweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICBKdXN0aW4gQm93ZXJzIGRvZXMgbm90IGRlc2NyaWJlIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIGFzIGEgcGxhY2UgYnVpbHQgb24gZml0bmVzcyB0aGVhdGVyLiBUaGUgR3JlZXIgc3R1ZGlvIGlzIHNtYWxsZXIgYnkgZGVzaWduLCBwZXJzb25hbCBieSBjdWx0dXJlLCBhbmQgZGlyZWN0IGluIGl0cyBtZXRob2QuIFRoZSB3b3JrIGlzIG5vdCBwcmVzZW50ZWQgYXMgYSBwYXJhZGUgb2YgdHJlbmRzLiBJdCBpcyBidWlsdCBhcm91bmQgcmVzaXN0YW5jZSB0cmFpbmluZywgcHJhY3RpY2FsIG51dHJpdGlvbiBndWlkYW5jZSwgY29uc2lzdGVuY3ksIGFuZCB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gY29hY2ggYW5kIGNsaWVudC4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAzOHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFRoYXQgbWFrZXMgdGhlIGF1dGhvcml0eSBvZiB0aGUgc3R1ZGlvIHF1aWV0ZXIgdGhhbiB0aGUgdXN1YWwgb25saW5lIGZpdG5lc3MgbGFuZ3VhZ2UuIEJvd2VycyBpcyBub3QgdHJ5aW5nIHRvIG1ha2UgZml0bmVzcyBzb3VuZCBteXN0ZXJpb3VzLiBIZSBpcyB0cnlpbmcgdG8gbWFrZSBpdCB1bmRlcnN0YW5kYWJsZS4gRm9yIGNsaWVudHMgd2hvIGhhdmUgYmVlbiBvdmVyd2hlbG1lZCBieSBiaWctYm94IGd5bSBwcmVzc3VyZSwgb25saW5lIGNvbnRyYWRpY3Rpb25zLCBhZ2dyZXNzaXZlIHRyYWluZXIgcGVyc29uYWxpdGllcywgb3IgY29tcGxpY2F0ZWQgYWR2aWNlLCB0aGF0IHNpbXBsaWNpdHkgYmVjb21lcyBwYXJ0IG9mIHRoZSB2YWx1ZS4KICAgICAgPC9wPgoKICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luOjAgMCA0NnB4IDAgIWltcG9ydGFudDsgcGFkZGluZzoyNnB4IDAgMTZweCAwICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6MnB4IHNvbGlkICMxMTExMTEgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q0Y2JiYiAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBmb250LXNpemU6MTFweCAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjVweCAhaW1wb3J0YW50OyBjb2xvcjojNWU1NzRiICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBXaGF0IFlvdeKAmWxsIExlYXJuCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MzZweCAhaW1wb3J0YW50OyBmb250LXNpemU6Y2xhbXAoMjlweCwgN3Z3LCAzNnB4KSAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7IGNvbG9yOiMxMTExMTEgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgV2hhdCBUaGlzIEF1dGhvcml0eSBGZWF0dXJlIENvdmVycwogICAgICAgIDwvZGl2PgoKICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbjowICFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDoyM3B4ICFpbXBvcnRhbnQ7IGZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjggIWltcG9ydGFudDsgY29sb3I6IzI0MjExZSAhaW1wb3J0YW50OyI+CiAgICAgICAgICA8bGkgc3R5bGU9Im1hcmdpbjowIDAgOHB4IDAgIWltcG9ydGFudDsiPldoeSBKdXN0aW4gQm93ZXJzIGJlZ2lucyB3aXRoIGxpc3RlbmluZyBpbnN0ZWFkIG9mIGZvcmNpbmcgZXZlcnkgY2xpZW50IGludG8gdGhlIHNhbWUgcmlnaWQgdHJhaW5pbmcgaWRlbnRpdHkuPC9saT4KICAgICAgICAgIDxsaSBzdHlsZT0ibWFyZ2luOjAgMCA4cHggMCAhaW1wb3J0YW50OyI+SG93IDRMaWZlIEZpdG5lc3MgU3R1ZGlvIHVzZXMgc2ltcGxlIHJlc2lzdGFuY2UgdHJhaW5pbmcgcHJpbmNpcGxlcyB0byBzdXBwb3J0IHN0cmVuZ3RoLCBib2R5IGNvbXBvc2l0aW9uLCBhbmQgY29uZmlkZW5jZS48L2xpPgogICAgICAgICAgPGxpIHN0eWxlPSJtYXJnaW46MCAwIDhweCAwICFpbXBvcnRhbnQ7Ij5XaHkgQm93ZXJzIGtlZXBzIG51dHJpdGlvbiBndWlkYW5jZSBwcmFjdGljYWwsIHdpdGggZW1waGFzaXMgb24gY29uc2lzdGVuY3ksIGNhbG9yaWVzLCBwcm90ZWluLCBhbmQgb25lIGltcHJvdmVtZW50IGF0IGEgdGltZS48L2xpPgogICAgICAgICAgPGxpIHN0eWxlPSJtYXJnaW46MCAwIDhweCAwICFpbXBvcnRhbnQ7Ij5Ib3cgdGhlIHN0dWRpb+KAmXMgZmFtaWx5LWxpa2UgY3VsdHVyZSByZWR1Y2VzIGludGltaWRhdGlvbiBmb3IgbmV3IGNsaWVudHMuPC9saT4KICAgICAgICAgIDxsaSBzdHlsZT0ibWFyZ2luOjAgIWltcG9ydGFudDsiPldoeSB0aGUgbG9jYWwgYXV0aG9yaXR5IG9mIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIGNvbWVzIGZyb20gcGVyc29uYWwgY29hY2hpbmcsIHJldGVudGlvbiwgcmVsYXRpb25zaGlwcywgYW5kIGEgbWV0aG9kIGNsaWVudHMgY2FuIGFjdHVhbGx5IGZvbGxvdy48L2xpPgogICAgICAgIDwvdWw+CgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZiZmFmNyAhaW1wb3J0YW50OyBib3JkZXItbGVmdDo0cHggc29saWQgI2I4OWE1ZiAhaW1wb3J0YW50OyBwYWRkaW5nOjI0cHggMjZweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQycHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzhhN2E1OCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDlweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIFdoeSBUaGlzIEZlYXR1cmUgV2FzIFNlbGVjdGVkCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcyICFpbXBvcnRhbnQ7IGNvbG9yOiMyNDIxMWUgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDsiPgogICAgICAgICAgTXVzY2xlICZhbXA7IEF1dGhvcml0eSBNYWdhemluZeKEoiBzZWxlY3RlZCB0aGlzIHNwb3RsaWdodCBhbmdsZSBiZWNhdXNlIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIGRlbW9uc3RyYXRlcyBhIGRlZmluZWQgY29hY2hpbmcgcGhpbG9zb3BoeToga2VlcCB0cmFpbmluZyBzaW1wbGUsIGN1c3RvbWl6ZSB0aGUgdmFyaWF0aW9uLCBzdXBwb3J0IHRoZSBudXRyaXRpb24gaGFiaXRzIHRoYXQgZHJpdmUgcmVzdWx0cywgYW5kIG1ha2UgdGhlIHN0dWRpbyBwZXJzb25hbCBlbm91Z2ggdGhhdCBjbGllbnRzIGZlZWwga25vd24gcmF0aGVyIHRoYW4gcHJvY2Vzc2VkLgogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM2cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDMwcHgsIDd2dywgMzZweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xNCAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVGhlIE1ldGhvZCBCZWhpbmQgdGhlIFJlc3VsdHMKICAgICAgPC9kaXY+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgQm93ZXJz4oCZIG1ldGhvZCBiZWdpbnMgd2l0aCBsaXN0ZW5pbmcuIFdoZW4gYSBjbGllbnQgdGVsbHMgaGltIHRoZXkgaGF0ZSBhIGNlcnRhaW4gZXhlcmNpc2UsIGhlIGRvZXMgbm90IHRyZWF0IHRoYXQgYXMgYSBjaGFyYWN0ZXIgZmxhdy4gSGUgdHJlYXRzIGl0IGFzIGluZm9ybWF0aW9uLiBUaGVyZSBpcyBtb3JlIHRoYW4gb25lIHdheSB0byB0cmFpbiBhIG1vdmVtZW50IHBhdHRlcm4sIGJ1aWxkIHN0cmVuZ3RoLCBjaGFsbGVuZ2UgbXVzY2xlLCBhbmQga2VlcCBhIGNsaWVudCBwcm9ncmVzc2luZy4gVGhhdCBwcmFjdGljYWwgZmxleGliaWxpdHkgYWxsb3dzIHRoZSBwcm9ncmFtIHRvIHN0YXkgcGVyc29uYWwgd2l0aG91dCBiZWNvbWluZyByYW5kb20uCiAgICAgIDwvcD4KCiAgICAgIDxwIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIxcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS44NCAhaW1wb3J0YW50OyBjb2xvcjojMWIxYjE5ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMjRweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICBVbmRlcm5lYXRoIHRoYXQgZmxleGliaWxpdHkgaXMgYSB0cmFpbmluZyBzdHJ1Y3R1cmUgQm93ZXJzIGRlc2NyaWJlcyBwbGFpbmx5OiByZXNpc3RhbmNlIHRyYWluaW5nIGJ1aWx0IGFyb3VuZCBmYW1pbGlhciBib2R5YnVpbGRpbmcgcHJpbmNpcGxlcy4gRm9yIG1hbnkgY2xpZW50cywgdGhhdCBtZWFucyBjb250cm9sbGVkIHNldHMsIGFwcHJvcHJpYXRlIHJlcCByYW5nZXMsIGVub3VnaCB2b2x1bWUgdG8gc3RpbXVsYXRlIGNoYW5nZSwgYW5kIGFkanVzdG1lbnRzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIGdvYWwgaXMgc3RyZW5ndGgsIGZhdCBsb3NzLCBtdXNjbGUgZ2FpbiwgcGFnZWFudCBwcmVwYXJhdGlvbiwgb3IgZ2VuZXJhbCBmaXRuZXNzLgogICAgICA8L3A+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDM4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVGhlIHBvaW50IGlzIG5vdCB0byB0dXJuIGV2ZXJ5IGNsaWVudCBpbnRvIGEgYm9keWJ1aWxkZXIuIFRoZSBwb2ludCBpcyB0byB1c2UgcHJvdmVuIHJlc2lzdGFuY2UgdHJhaW5pbmcgbG9naWMgaW4gYSB3YXkgdGhhdCBvcmRpbmFyeSBjbGllbnRzIGNhbiB1bmRlcnN0YW5kIGFuZCBjb250aW51ZS4gSW4gQm93ZXJz4oCZIHZpZXcsIG1vc3QgcGVvcGxlIGFyZSBub3QgY2hhc2luZyBleG90aWMgZ29hbHMuIFRoZXkgd2FudCB0byBsb3NlIGJvZHkgZmF0LCBnYWluIG9yIHByZXNlcnZlIG11c2NsZSwgZmVlbCBzdHJvbmdlciwgbG9vayBiZXR0ZXIsIGFuZCByZWdhaW4gY29uZmlkZW5jZSBpbiB0aGVpciBvd24gc2tpbi4KICAgICAgPC9wPgoKICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZjhmNmYxICFpbXBvcnRhbnQ7IGJvcmRlcjoxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyBib3JkZXItdG9wOjRweCBzb2xpZCAjMTExMTExICFpbXBvcnRhbnQ7IHBhZGRpbmc6MjhweCAyNnB4IDE4cHggMjZweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQycHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjVweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzdhNzE2NyAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDhweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIFN0YW5kYXJkcyBMZWRnZXIKICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgyOHB4LCA3dncsIDM0cHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuMTIgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7IGNvbG9yOiMxMTExMTEgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgVGhlIE9wZXJhdGluZyBEZXRhaWxzIEJlaGluZCB0aGUgU3R1ZGlvCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlci10b3A6MXB4IHNvbGlkICNkNGNiYmIgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDRjYmJiICFpbXBvcnRhbnQ7IHBhZGRpbmc6MTVweCAwICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjEuN3B4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNiAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgNXB4IDAgIWltcG9ydGFudDsiPkJ1c2luZXNzIFR5cGU8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNjUgIWltcG9ydGFudDsgY29sb3I6IzFmMWYxZCAhaW1wb3J0YW50OyI+U2VtaS1wcml2YXRlIGFuZCAxLW9uLTEgcGVyc29uYWwgdHJhaW5pbmcgc3R1ZGlvIHNlcnZpbmcgR3JlZXIsIFNvdXRoIENhcm9saW5hIGFuZCB0aGUgc3Vycm91bmRpbmcgVXBzdGF0ZSBjb21tdW5pdHkuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDRjYmJiICFpbXBvcnRhbnQ7IHBhZGRpbmc6MTVweCAwICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjEuN3B4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNiAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgNXB4IDAgIWltcG9ydGFudDsiPkNvcmUgTWV0aG9kPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MTlweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjY1ICFpbXBvcnRhbnQ7IGNvbG9yOiMxZjFmMWQgIWltcG9ydGFudDsiPlNpbXBsZSByZXNpc3RhbmNlIHRyYWluaW5nLCBpbmRpdmlkdWFsaXplZCBleGVyY2lzZSB2YXJpYXRpb24sIHByYWN0aWNhbCBudXRyaXRpb24gc3VwcG9ydCwgYW5kIGNvbnNpc3RlbmN5LWJhc2VkIGNvYWNoaW5nLjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q0Y2JiYiAhaW1wb3J0YW50OyBwYWRkaW5nOjE1cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoxLjdweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjYgIWltcG9ydGFudDsgY29sb3I6IzhhODE3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDVweCAwICFpbXBvcnRhbnQ7Ij5UcmFpbmluZyBFbXBoYXNpczwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjE5cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42NSAhaW1wb3J0YW50OyBjb2xvcjojMWYxZjFkICFpbXBvcnRhbnQ7Ij5TdHJlbmd0aCwgbXVzY2xlIGRldmVsb3BtZW50LCBmYXQgbG9zcyBzdXBwb3J0LCBjb25maWRlbmNlLCBzdXN0YWluYWJsZSBoYWJpdHMsIG51dHJpdGlvbiBhd2FyZW5lc3MsIGFuZCB0cmFpbmluZyB0aGF0IGNhbiBiZSBhZGFwdGVkIHRvIHRoZSBwZXJzb24gcmF0aGVyIHRoYW4gZm9yY2VkIHRocm91Z2ggYSB0ZW1wbGF0ZS48L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkNGNiYmIgIWltcG9ydGFudDsgcGFkZGluZzoxNXB4IDAgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MS43cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA1cHggMCAhaW1wb3J0YW50OyI+Q2xpZW50IEV4cGVyaWVuY2U8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNjUgIWltcG9ydGFudDsgY29sb3I6IzFmMWYxZCAhaW1wb3J0YW50OyI+QSBzbWFsbCwgY29tZm9ydGFibGUsIGZhbWlseS1saWtlIGVudmlyb25tZW50IHdoZXJlIGNsaWVudHMgYXJlIGtub3duIHBlcnNvbmFsbHksIGludHJvZHVjZWQgdG8gdGhlIGN1bHR1cmUsIGFuZCBlbmNvdXJhZ2VkIHRvIGZlZWwgaW4gY29udHJvbCBvZiB0aGUgcHJvY2Vzcy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkNGNiYmIgIWltcG9ydGFudDsgcGFkZGluZzoxNXB4IDAgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MS43cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA1cHggMCAhaW1wb3J0YW50OyI+TnV0cml0aW9uIFN0YW5kYXJkPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MTlweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjY1ICFpbXBvcnRhbnQ7IGNvbG9yOiMxZjFmMWQgIWltcG9ydGFudDsiPlByYWN0aWNhbCBmb29kLWxvZyByZXZpZXcsIHByb3RlaW4gYXdhcmVuZXNzLCBjYWxvcmllIGVkdWNhdGlvbiwgYW5kIG9uZS13ZWVrLWF0LWEtdGltZSBpbXByb3ZlbWVudHMgcmF0aGVyIHRoYW4gb3ZlcndoZWxtaW5nIGNsaWVudHMgd2l0aCB1bm5lY2Vzc2FyeSBjb21wbGV4aXR5LjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzoxNXB4IDAgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MS43cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA1cHggMCAhaW1wb3J0YW50OyI+Q29yZSBTdGFuZGFyZDwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjE5cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42NSAhaW1wb3J0YW50OyBjb2xvcjojMWYxZjFkICFpbXBvcnRhbnQ7Ij5GaXRuZXNzIHNob3VsZCBiZSBzaW1wbGUgZW5vdWdoIHRvIGZvbGxvdywgaG9uZXN0IGVub3VnaCB0byB0cnVzdCwgYW5kIHBlcnNvbmFsIGVub3VnaCB0aGF0IGNsaWVudHMgd2FudCB0byByZXR1cm4uPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbjowIGF1dG8gNDBweCBhdXRvICFpbXBvcnRhbnQ7IG1heC13aWR0aDo3NjBweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9paWxpLmlvL0NId3lKcWIubWQucG5nIiBhbHQ9Ikp1c3RpbiBCb3dlcnMgYW5kIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIHRyYWluaW5nIGVudmlyb25tZW50IiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50OyB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7IGJvcmRlcjowICFpbXBvcnRhbnQ7IG1hcmdpbjowIGF1dG8gIWltcG9ydGFudDsiPgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MTNweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjU1ICFpbXBvcnRhbnQ7IGNvbG9yOiM2NjYxNTggIWltcG9ydGFudDsgbWFyZ2luOjEwcHggMCAwIDA7Ij4KICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoxLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7Ij5JbnNpZGUgdGhlIE1ldGhvZDo8L3NwYW4+IFRoZSA0TGlmZSBGaXRuZXNzIFN0dWRpbyBtb2RlbCBjb21iaW5lcyBzdHJlbmd0aCB0cmFpbmluZywgcHJhY3RpY2FsIG51dHJpdGlvbiBndWlkYW5jZSwgYW5kIGEgcGVyc29uYWwgc3R1ZGlvIGN1bHR1cmUgZGVzaWduZWQgdG8gaGVscCBjbGllbnRzIHN0YXkgY29uc2lzdGVudC4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM2cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDMwcHgsIDd2dywgMzZweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xNCAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVHJhaW5pbmcgUGhpbG9zb3BoeTogTGlzdGVuIEZpcnN0LCBUaGVuIFNpbXBsaWZ5CiAgICAgIDwvZGl2PgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFdoZW4gYXNrZWQgYWJvdXQgaGlzIG92ZXJhbGwgdHJhaW5pbmcgcGhpbG9zb3BoeSwgQm93ZXJzIGRpZCBub3QgYmVnaW4gd2l0aCBhIHNsb2dhbi4gSGUgYmVnYW4gd2l0aCBsaXN0ZW5pbmcuIFRoYXQgYW5zd2VyIG1hdHRlcnMgYmVjYXVzZSBpdCBleHBsYWlucyBob3cgdGhlIHN0dWRpbyBrZWVwcyBhIHN0cnVjdHVyZWQgbWV0aG9kIHdpdGhvdXQgbWFraW5nIGV2ZXJ5IGNsaWVudCBmZWVsIGxpa2UgdGhleSBoYXZlIGJlZW4gZHJvcHBlZCBpbnRvIHNvbWVvbmUgZWxzZeKAmXMgcHJvZ3JhbS4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFRoZSBwaGlsb3NvcGh5IGlzIHByYWN0aWNhbC4gSWYgYSBjbGllbnQgZGlzbGlrZXMgYW4gZXhlcmNpc2UsIHRoZXJlIG1heSBiZSBhbm90aGVyIHZhcmlhdGlvbi4gSWYgYSBjbGllbnQgd2FudHMgdG8gYmVjb21lIHN0cm9uZ2VyLCB0aGUgd2VpZ2h0IGFuZCByZXAgYXBwcm9hY2ggY2FuIHNoaWZ0LiBJZiB0aGUgZ29hbCBpcyBsZWFubmVzcyBvciBmYXQgbG9zcywgdGhlIHRyYWluaW5nIHN0aWxsIG1hdHRlcnMsIGJ1dCB0aGUgbnV0cml0aW9uIGNvbnZlcnNhdGlvbiBiZWNvbWVzIGNlbnRyYWwuIEJvd2VycyBkb2VzIG5vdCBwcmV0ZW5kIHRoYXQgdGhlIHByb2Nlc3MgaXMgZWZmb3J0bGVzcy4gSGUgc2ltcGx5IHJlZnVzZXMgdG8gbWFrZSBpdCBtb3JlIGNvbmZ1c2luZyB0aGFuIG5lY2Vzc2FyeS4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAzOHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIEluIGFuIGluZHVzdHJ5IHdoZXJlIG9ubGluZSB0cmFpbmVycyBvZnRlbiBjb21wZXRlIHRvIHNvdW5kIG1vcmUgYWR2YW5jZWQgdGhhbiBvbmUgYW5vdGhlciwgQm93ZXJz4oCZIGxvY2FsIGF1dGhvcml0eSBjb21lcyBmcm9tIGEgZGlmZmVyZW50IHBvc3R1cmUuIEhlIGlzIG5vdCB0cnlpbmcgdG8gaW1wcmVzcyBjbGllbnRzIHdpdGggamFyZ29uLiBIZSBpcyB0cnlpbmcgdG8gaGVscCB0aGVtIHVuZGVyc3RhbmQgd2hhdCB0byBkbyBuZXh0LgogICAgICA8L3A+CgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDsgYm9yZGVyLXRvcDozcHggc29saWQgIzExMTExMSAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDFjOGI4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6MjZweCAwIDE2cHggMCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQ0cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBmb250LXNpemU6MTFweCAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjNweCAhaW1wb3J0YW50OyBjb2xvcjojNWU1NzQ5ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBNZXRob2QgQnJpZWYKICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozNnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgzMHB4LCA3dncsIDM2cHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE2cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBXaGF0IERyaXZlcyB0aGUgUHJvZ3Jlc3MKICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyLXRvcDoxcHggc29saWQgI2QxYzhiOCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkMWM4YjggIWltcG9ydGFudDsgcGFkZGluZzoxN3B4IDAgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MS43cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA2cHggMCAhaW1wb3J0YW50OyI+UHJpbWFyeSBNZXRob2Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNyAhaW1wb3J0YW50OyBjb2xvcjojMWYxZjFkICFpbXBvcnRhbnQ7Ij5TdHJ1Y3R1cmVkIHJlc2lzdGFuY2UgdHJhaW5pbmcgc3VwcG9ydGVkIGJ5IGV4ZXJjaXNlIHZhcmlhdGlvbiwgZ29hbC1zcGVjaWZpYyByZXAgYW5kIGxvYWQgYWRqdXN0bWVudHMsIGFuZCBudXRyaXRpb24gZ3VpZGFuY2UgdGhhdCBrZWVwcyB0aGUgY2xpZW50IGZvY3VzZWQgb24gdGhlIGhhYml0cyB0aGF0IG1hdHRlciBtb3N0LjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2QxYzhiOCAhaW1wb3J0YW50OyBwYWRkaW5nOjE3cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoxLjdweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjYgIWltcG9ydGFudDsgY29sb3I6IzhhODE3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDZweCAwICFpbXBvcnRhbnQ7Ij5Xb3Jrb3V0IFN5c3RlbTwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiMxZjFmMWQgIWltcG9ydGFudDsiPkJvZHlidWlsZGluZy1pbmZsdWVuY2VkIHN0cmVuZ3RoIHRyYWluaW5nLCBoeXBlcnRyb3BoeSB3b3JrLCBwcm9ncmVzc2l2ZSByZXNpc3RhbmNlLCBpbmRpdmlkdWFsaXplZCBzdWJzdGl0dXRpb25zLCBhbmQgc2VtaS1wcml2YXRlIG9yIDEtb24tMSBjb2FjaGluZy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkMWM4YjggIWltcG9ydGFudDsgcGFkZGluZzoxN3B4IDAgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MS43cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA2cHggMCAhaW1wb3J0YW50OyI+UHJvZ3Jlc3MgRHJpdmVyczwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiMxZjFmMWQgIWltcG9ydGFudDsiPkNvbnNpc3RlbmN5LCBhZGVxdWF0ZSBwcm90ZWluLCBjYWxvcmllIGF3YXJlbmVzcywgd2VpZ2h0IHRyYWluaW5nLCBwcm9ncmVzc2l2ZSBlZmZvcnQsIHJlYWxpc3RpYyBjb2FjaGluZywgYW5kIGEgc3R1ZGlvIGVudmlyb25tZW50IHRoYXQgY2xpZW50cyBlbmpveSByZXR1cm5pbmcgdG8uPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOjE3cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoxLjdweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjYgIWltcG9ydGFudDsgY29sb3I6IzhhODE3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDZweCAwICFpbXBvcnRhbnQ7Ij5DbGllbnQgUmFuZ2U8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNyAhaW1wb3J0YW50OyBjb2xvcjojMWYxZjFkICFpbXBvcnRhbnQ7Ij5HZW5lcmFsIGZpdG5lc3MgY2xpZW50cywgd2VpZ2h0LWxvc3MgY2xpZW50cywgc3RyZW5ndGgtZm9jdXNlZCBjbGllbnRzLCBwYWdlYW50IGNvbXBldGl0b3JzLCBtb2RlbHMsIGRhbmNlcnMsIGF0aGxldGVzLCBvbGRlciBhZHVsdHMsIGFuZCBwZW9wbGUgd2hvIHdhbnQgYSBtb3JlIHBlcnNvbmFsIGFsdGVybmF0aXZlIHRvIGJpZy1ib3ggZ3ltIHRyYWluaW5nLjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiMxMTExMTEgIWltcG9ydGFudDsgYm9yZGVyOjFweCBzb2xpZCAjMTExMTExICFpbXBvcnRhbnQ7IGJvcmRlci1sZWZ0OjVweCBzb2xpZCAjYjg5YTVmICFpbXBvcnRhbnQ7IHBhZGRpbmc6MzRweCAzMHB4IDMycHggMzBweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQ2cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6I2NkYmQ5OCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBUaGUgNExpZmUgRml0bmVzcyBTdHVkaW8gU3RhbmRhcmQKICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgyN3B4LCA3dncsIDM2cHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuMTggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7IGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxNnB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgU2ltcGxlIGRvZXMgbm90IG1lYW4gY2FyZWxlc3MuIEl0IG1lYW5zIHRoZSB3b3JrIGlzIGNsZWFyIGVub3VnaCB0byByZXBlYXQuCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDoxcHggIWltcG9ydGFudDsgd2lkdGg6ODhweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiNiODlhNWYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDsiPjwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIxcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43MiAhaW1wb3J0YW50OyBjb2xvcjojZThlMWQ1ICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIFRoZSBjcmVkaWJpbGl0eSBvZiBCb3dlcnPigJkgbWV0aG9kIGNvbWVzIGZyb20gdGhlIGNvbm5lY3Rpb24gYmV0d2VlbiB0cmFpbmluZywgZm9vZCBoYWJpdHMsIGFuZCBlbW90aW9uYWwgY29tZm9ydC4gQ2xpZW50cyBhcmUgbm90IGp1c3QgYXNrZWQgdG8gd29yayBoYXJkLiBUaGV5IGFyZSBnaXZlbiBhIGNsZWFyZXIgd2F5IHRvIHVuZGVyc3RhbmQgd2hhdCB0aGVpciB3b3JrIGlzIHN1cHBvc2VkIHRvIGRvLgogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM2cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDMwcHgsIDd2dywgMzZweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xNCAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgSG93IHRoZSBXb3Jrb3V0cyBBcmUgQnVpbHQKICAgICAgPC9kaXY+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgQm93ZXJz4oCZIHdvcmtvdXRzIGFyZSBidWlsdCBhcm91bmQgcmVzaXN0YW5jZSB0cmFpbmluZyB0aGF0IGNhbiBiZSBzY2FsZWQgdG8gdGhlIGNsaWVudC4gVGhlIHRyYWluaW5nIG1heSBsb29rIHNpbWlsYXIgZnJvbSBhIGRpc3RhbmNlIGJlY2F1c2UgdGhlIGxhcmdlciBwcmluY2lwbGVzIGFyZSBzaW1pbGFyOiBidWlsZCBzdHJlbmd0aCwgY2hhbGxlbmdlIG11c2NsZSwgY29udHJvbCB0aGUgbW92ZW1lbnQsIGFuZCBhcHBseSB0aGUgYXBwcm9wcmlhdGUgYW1vdW50IG9mIHdvcmsuIEJ1dCB0aGUgZGV0YWlscyBjaGFuZ2UgYmFzZWQgb24gdGhlIHBlcnNvbi4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIEZvciBhIGNsaWVudCBmb2N1c2VkIG9uIGZhdCBsb3NzLCB0aGUgd29ya291dCBzdXBwb3J0cyB0aGUgbGFyZ2VyIG51dHJpdGlvbiBhbmQgY29uc2lzdGVuY3kgZ29hbC4gRm9yIGEgY2xpZW50IHdobyB3YW50cyBzdHJlbmd0aCwgdGhlIGxvYWRpbmcgYW5kIHJlcCByYW5nZXMgY2FuIHNoaWZ0LiBGb3IgYSBwYWdlYW50IGNvbXBldGl0b3IsIHRoZSBtZXRob2QgbWF5IGJlIHVzZWQgdG8gYnVpbGQgYSBzdHJvbmcsIGxlYW4sIHN0YWdlLXJlYWR5IGJvZHkgd2l0aG91dCBlbmNvdXJhZ2luZyB0aGUgZmVhciB0aGF0IGxpZnRpbmcgd2VpZ2h0cyBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgYnVsay4gRm9yIGdlbmVyYWwgY2xpZW50cywgdGhlIG1ldGhvZCBtYXkgc2ltcGx5IGhlbHAgdGhlbSBmZWVsIHN0cm9uZ2VyLCBzbGVlcCBiZXR0ZXIsIG1vdmUgYmV0dGVyLCBhbmQgcmVnYWluIHNlbGYtYmVsaWVmLgogICAgICA8L3A+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDMycHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVGhlIGNvbW1vbiBkZW5vbWluYXRvciBpcyBjbGFyaXR5LiBCb3dlcnMgZG9lcyBub3QgcHJlc2VudCBmaXRuZXNzIGFzIGEgbWF6ZS4gSGUgcHJlc2VudHMgaXQgYXMgYSBzZXQgb2YgYmFzaWNzIHRoYXQgbXVzdCBiZSBwcmFjdGljZWQgY29uc2lzdGVudGx5OiBsaWZ0LCBhZGp1c3QsIGVhdCB3aXRoIGF3YXJlbmVzcywgZ2V0IGVub3VnaCBwcm90ZWluLCBrZWVwIHNob3dpbmcgdXAsIGFuZCBkbyBub3QgY29uZnVzZSBjb21wbGljYXRpb24gd2l0aCBwcm9ncmVzcy4KICAgICAgPC9wPgoKICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyLXRvcDoxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDhjZmJmICFpbXBvcnRhbnQ7IHBhZGRpbmc6MzBweCAwICFpbXBvcnRhbnQ7IG1hcmdpbjo0MHB4IDAgNDRweCAwICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjIuM3B4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNiAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTJweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIFRoZSBDb2FjaGluZyBTdGFuZGFyZAogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjMxcHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDI1cHgsIDZ2dywgMzFweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS40NiAhaW1wb3J0YW50OyBjb2xvcjojMjQyMTFlICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIFRoZSB3b3Jrb3V0IGlzIHRoZSB2aXNpYmxlIHBhcnQuIFRoZSBkZWVwZXIgc3RhbmRhcmQgaXMgdGhlIHRydXN0IHRoYXQgYWxsb3dzIGNsaWVudHMgdG8ga2VlcCBkb2luZyB0aGUgd29yayBsb25nIGVub3VnaCBmb3IgdGhlIHdvcmsgdG8gbWF0dGVyLgogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM2cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDMwcHgsIDd2dywgMzZweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xNCAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgTnV0cml0aW9uIFdpdGhvdXQgdGhlIE5vaXNlCiAgICAgIDwvZGl2PgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFRoZSBudXRyaXRpb24gc2lkZSBvZiA0TGlmZSBGaXRuZXNzIFN0dWRpbyBmb2xsb3dzIHRoZSBzYW1lIHBhdHRlcm46IGRpcmVjdCwgcHJhY3RpY2FsLCBhbmQgbWFuYWdlYWJsZS4gQm93ZXJzIGRlc2NyaWJlZCByZXZpZXdpbmcgY2xpZW50IGZvb2QgbG9ncywgbG9va2luZyBhdCBwcm90ZWluIGludGFrZSwgYW5kIG9mZmVyaW5nIHNpbXBsZSBzdWdnZXN0aW9ucyB0aGF0IGEgY2xpZW50IGNhbiBhcHBseSBvbmUgd2VlayBhdCBhIHRpbWUuCiAgICAgIDwvcD4KCiAgICAgIDxwIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIxcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS44NCAhaW1wb3J0YW50OyBjb2xvcjojMWIxYjE5ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMjRweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICBJbnN0ZWFkIG9mIHR1cm5pbmcgZXZlcnkgZm9vZCBjb252ZXJzYXRpb24gaW50byBhIGxlY3R1cmUgYWJvdXQgZXZlcnkgbWFjcm9udXRyaWVudCwgaGUga2VlcHMgdGhlIGZvY3VzIGFjY2Vzc2libGUuIElmIGEgY2xpZW50IG5lZWRzIHRvIGxvc2Ugd2VpZ2h0LCB0aGV5IG11c3QgdW5kZXJzdGFuZCB0aGUgcm9sZSBvZiBhIGNhbG9yaWUgZGVmaWNpdC4gSWYgYSBjbGllbnQgd2FudHMgdG8gZ2FpbiBtdXNjbGUgb3Igc3RyZW5ndGgsIHRoZXkgbXVzdCB1bmRlcnN0YW5kIHRoZSByb2xlIG9mIGFkZXF1YXRlIGZvb2QgYW5kIHByb3RlaW4uIFRoZSBzY2llbmNlIGlzIG5vdCBpZ25vcmVkLiBJdCBpcyB0cmFuc2xhdGVkIGludG8gYmVoYXZpb3IuCiAgICAgIDwvcD4KCiAgICAgIDxwIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIxcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS44NCAhaW1wb3J0YW50OyBjb2xvcjojMWIxYjE5ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMzZweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICBUaGF0IHRyYW5zbGF0aW9uIGlzIG9uZSBvZiB0aGUgc3Ryb25nZXN0IGF1dGhvcml0eSBzaWduYWxzIGluIHRoZSBpbnRlcnZpZXcuIEJvd2VycyBpcyBub3QgdHJ5aW5nIHRvIG1ha2UgY2xpZW50cyBkZXBlbmRlbnQgb24gY29uZnVzaW9uLiBIZSBpcyB0cnlpbmcgdG8gaGVscCB0aGVtIHNlZSB0aGUgZmV3IGxldmVycyB0aGF0IG1hdHRlciBtb3N0IGFuZCB0aGVuIHB1bGwgdGhvc2UgbGV2ZXJzIHdpdGggY29uc2lzdGVuY3kuCiAgICAgIDwvcD4KCiAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2Y3ZjZmMyAhaW1wb3J0YW50OyBib3JkZXItbGVmdDo0cHggc29saWQgI2M5YzJiNSAhaW1wb3J0YW50OyBwYWRkaW5nOjMwcHggMjhweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQ0cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjMxcHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDI1cHgsIDZ2dywgMzFweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS40MiAhaW1wb3J0YW50OyBjb2xvcjojMWIxYjFiICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIOKAnEV2ZXJ5b25lIHdhbnRzIHRvIGxvc2UgYm9keSBmYXQgYW5kIGV2ZXJ5b25lIHdhbnRzIHRvIGdhaW4gbXVzY2xlLiBJdCBqdXN0IGRlcGVuZHMgb24gdGhlIHZhcmlhdGlvbi7igJ0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MS43cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEycHggIWltcG9ydGFudDsgY29sb3I6IzdhN2E3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAhaW1wb3J0YW50OyI+CiAgICAgICAgICDigJQgSnVzdGluIEJvd2VycwogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM2cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDMwcHgsIDd2dywgMzZweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xNCAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVGhlIENsaWVudCBFeHBlcmllbmNlOiBDb21mb3J0YWJsZSBCZWZvcmUgQ29tcGxpY2F0ZWQKICAgICAgPC9kaXY+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgVGhlIHBoeXNpY2FsIHNpemUgb2YgdGhlIHN0dWRpbyBpcyBwYXJ0IG9mIGl0cyBvcGVyYXRpbmcgaWRlbnRpdHkuIEJvd2VycyBkZXNjcmliZWQgYSByb3VnaGx5IDEsNTAwLXNxdWFyZS1mb290IHRyYWluaW5nIGVudmlyb25tZW50IHdoZXJlIGEgbmV3IGNsaWVudCBpcyBub3QgbGVmdCB0byB3YW5kZXIsIGd1ZXNzLCBvciBmZWVsIGFub255bW91cy4gSGUgd2FudHMgdGhlIGZpcnN0IGltcHJlc3Npb24gdG8gYmUgdGhlIG9wcG9zaXRlIG9mIHRoZSBpbnRpbWlkYXRpbmcgZ3ltIHN0ZXJlb3R5cGU6IG5vIHNsYW1taW5nIHdlaWdodHMgYXMgdGhlYXRlciwgbm8gcGVyZm9ybWFuY2Ugb2Ygc3VwZXJpb3JpdHksIG5vIGN1bHR1cmUgYnVpbHQgYXJvdW5kIG1ha2luZyB0aGUgYmVnaW5uZXIgZmVlbCBzbWFsbC4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIEluc3RlYWQsIGhlIHdhbnRzIHBlb3BsZSB0byBmZWVsIGltbWVkaWF0ZWx5IGluY2x1ZGVkLiBIZSBpbnRyb2R1Y2VzIGNsaWVudHMgdG8gdGhlIHN0dWRpbyBjdWx0dXJlLCB0aGUgdHJhaW5lcnMsIGFuZCB0aGUgcGVvcGxlIGFyb3VuZCB0aGVtLiBIZSByZW1lbWJlcnMgcGVyc29uYWwgZGV0YWlscy4gSGUgYXNrcyBhYm91dCBsaWZlLCBmb29kLCBmYW1pbHksIG11c2ljLCByZXN0YXVyYW50cywgYW5kIGhvdyBzb21lb25lIGlzIGFjdHVhbGx5IGRvaW5nLiBJbiBoaXMgbW9kZWwsIHRoZSByZWxhdGlvbnNoaXAgaXMgbm90IHNlcGFyYXRlIGZyb20gdGhlIGNvYWNoaW5nLiBJdCBpcyBwYXJ0IG9mIHRoZSBjb2FjaGluZy4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA0MHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFRoYXQgYXBwcm9hY2ggbWF0dGVycyBiZWNhdXNlIG1hbnkgY2xpZW50cyBkbyBub3QgbmVlZCBhIHRyYWluZXIgd2hvIG9ubHkgY291bnRzIHJlcHMuIFRoZXkgbmVlZCBzb21lb25lIHdobyBjYW4gcmVhZCB0aGUgcm9vbSwgbm90aWNlIHdoZW4gdGhleSBhcmUgb2ZmLCBtYWtlIHRoZSB3b3Jrb3V0IGFwcHJvYWNoYWJsZSwgYW5kIGhlbHAgdGhlbSBmZWVsIGluIGNvbnRyb2wgb2YgdGhlaXIgb3duIHByb2Nlc3MuCiAgICAgIDwvcD4KCiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbjowIGF1dG8gNDBweCBhdXRvICFpbXBvcnRhbnQ7IG1heC13aWR0aDo3NjBweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9paWxpLmlvL0NId3BlZ1IubWQucG5nIiBhbHQ9IjRMaWZlIEZpdG5lc3MgU3R1ZGlvIHBlcnNvbmFsIHRyYWluaW5nIGVudmlyb25tZW50IGluIEdyZWVyIFNvdXRoIENhcm9saW5hIiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50OyB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7IGJvcmRlcjowICFpbXBvcnRhbnQ7IG1hcmdpbjowIGF1dG8gIWltcG9ydGFudDsiPgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MTNweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjU1ICFpbXBvcnRhbnQ7IGNvbG9yOiM2NjYxNTggIWltcG9ydGFudDsgbWFyZ2luOjEwcHggMCAwIDA7Ij4KICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoxLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7Ij5UcmFpbmluZyBFbnZpcm9ubWVudDo8L3NwYW4+IDRMaWZlIEZpdG5lc3MgU3R1ZGlvIGlzIGZyYW1lZCBhcm91bmQgcGVyc29uYWwgYXR0ZW50aW9uLCBzbWFsbC1zdHVkaW8gY29tZm9ydCwgYW5kIGEgbm8tZnJpbGxzIHRyYWluaW5nIGF0bW9zcGhlcmUgd2hlcmUgdGhlIHdvcmsgcmVtYWlucyB0aGUgcHJpb3JpdHkuCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozNnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgzMHB4LCA3dncsIDM2cHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuMTQgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7IGNvbG9yOiMxMTExMTEgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFJlc3VsdHM6IFN0cmVuZ3RoLCBDb25maWRlbmNlLCBhbmQgdGhlIE1vbWVudCBPdGhlciBQZW9wbGUgTm90aWNlCiAgICAgIDwvZGl2PgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIEJvd2VycyBpcyBjYXJlZnVsIG5vdCB0byB0cmVhdCByZXN1bHRzIGFzIGF1dG9tYXRpYyBwcm9taXNlcy4gSGUgcmVjb2duaXplcyB0aGF0IHByb2dyZXNzIGRlcGVuZHMgb24gdGhlIGNsaWVudOKAmXMgY29uc2lzdGVuY3ksIG51dHJpdGlvbiwgc3RhcnRpbmcgcG9pbnQsIHNjaGVkdWxlLCBhbmQgd2lsbGluZ25lc3MgdG8gZm9sbG93IHRoZSBwbGFuLiBCdXQgaGUgaXMgYWxzbyBjbGVhciBhYm91dCB3aGF0IHRlbmRzIHRvIGhhcHBlbiB3aGVuIGNsaWVudHMgZG8gY29tbWl0OiB0aGV5IGdldCBzdHJvbmdlciwgdGhleSBvZnRlbiBiZWdpbiB0byBjaGFuZ2UgcGh5c2ljYWxseSwgYW5kIHRoZXkgc3RhcnQgdG8gZXhwZXJpZW5jZSB0aGUgY29uZmlkZW5jZSB0aGF0IGNvbWVzIGZyb20gZG9pbmcgaGFyZCB0aGluZ3MgY29uc2lzdGVudGx5LgogICAgICA8L3A+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgT25lIG9mIHRoZSBjbGllbnQgd2lucyB0aGF0IG1hdHRlcnMgbW9zdCB0byBoaW0gaXMgbm90IG9ubHkgdGhlIG51bWJlciBvbiB0aGUgc2NhbGUuIEl0IGlzIHRoZSBtb21lbnQgYSBjbGllbnQgc2F5cyBzb21lb25lIGVsc2Ugbm90aWNlZC4gQSBjb21wbGltZW50LCBhIGNoYW5nZSBpbiBob3cgY2xvdGhlcyBmaXQsIG9yIGEgbmV3IHNlbnNlIG9mIHNlbGYtYmVsaWVmIGNhbiBiZWNvbWUgZnVlbC4gQm93ZXJzIHVuZGVyc3RhbmRzIHRoYXQgbWFueSBjbGllbnRzIGNvbXBhcmUgdGhlbXNlbHZlcyB0byB5ZXN0ZXJkYXnigJlzIHZlcnNpb24gb2YgdGhlbXNlbHZlcyBhbmQgbWlzcyB0aGUgbGFyZ2VyIGNoYW5nZS4gT3V0c2lkZSByZWNvZ25pdGlvbiBjYW4gaGVscCB0aGVtIHNlZSB0aGF0IHRoZSB3b3JrIGlzIGJlY29taW5nIHZpc2libGUuCiAgICAgIDwvcD4KCiAgICAgIDxwIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIxcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS44NCAhaW1wb3J0YW50OyBjb2xvcjojMWIxYjE5ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMzZweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICBUaGF0IGlzIHdoeSB0aGUgc3R1ZGlv4oCZcyBkZWZpbml0aW9uIG9mIHJlc3VsdHMgaXMgYnJvYWRlciB0aGFuIGFlc3RoZXRpY3MgYWxvbmUuIFN0cmVuZ3RoIG1hdHRlcnMuIFdlaWdodCBsb3NzIGNhbiBtYXR0ZXIuIE11c2NsZSBtYXR0ZXJzLiBCdXQgc28gZG9lcyBjb25maWRlbmNlLCBtb29kLCBzbGVlcCwgZW5lcmd5LCBwcm9kdWN0aXZpdHksIGFuZCB0aGUgcGVyc29uYWwgcHJpZGUgdGhhdCBjb21lcyBmcm9tIGtlZXBpbmcgYSBwcm9taXNlIHRvIG9uZXNlbGYuCiAgICAgIDwvcD4KCiAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50OyBib3JkZXItdG9wOjNweCBzb2xpZCAjMTExMTExICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkOGNmYmYgIWltcG9ydGFudDsgcGFkZGluZzoyOHB4IDAgMjZweCAwICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgNDRweCAwICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjIuNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNyAhaW1wb3J0YW50OyBjb2xvcjojN2E3MTY3ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTBweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIE1hcmtldCBQb3NpdGlvbgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjMycHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDI2cHgsIDYuNXZ3LCAzNHB4KSAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjIyICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50OyBjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTZweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIEluIEdyZWVy4oCZcyBwZXJzb25hbCB0cmFpbmluZyBsYW5kc2NhcGUsIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIG9jY3VwaWVzIGEgc3BlY2lmaWMgbGFuZTogbG9jYWwsIGNvbWZvcnRhYmxlLCBzZW1pLXByaXZhdGUsIG5vLWZyaWxscyBjb2FjaGluZyBmb3IgY2xpZW50cyB3aG8gd2FudCBwcmFjdGljYWwgc3RyZW5ndGggYW5kIG51dHJpdGlvbiBzdXBwb3J0IHdpdGhvdXQgYmVpbmcgdHJlYXRlZCBsaWtlIGEgbnVtYmVyLgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7IHdpZHRoOjkwcHggIWltcG9ydGFudDsgYmFja2dyb3VuZDojYjg5YTVmICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMTZweCAwICFpbXBvcnRhbnQ7Ij48L2Rpdj4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNzYgIWltcG9ydGFudDsgY29sb3I6IzJhMjcyMyAhaW1wb3J0YW50OyBtYXJnaW46MCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBJdHMgcG9zaXRpb24gaXMgbm90IGJ1aWx0IG9uIGJlaW5nIHRoZSBsb3VkZXN0IHN0dWRpbyBpbiB0aGUgcm9vbS4gSXQgaXMgYnVpbHQgb24gdHJ1c3QsIHJldGVudGlvbiwgc2ltcGxlIHByb2dyYW1taW5nLCBwZXJzb25hbCByZWxhdGlvbnNoaXBzLCBhbmQgYSB0cmFpbmluZyBjdWx0dXJlIHdoZXJlIHRoZSBjbGllbnQgaXMgbm90IGZvcmNlZCB0byBiZWNvbWUgc29tZW9uZSBlbHNlIGluIG9yZGVyIHRvIGJlZ2luLgogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM2cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDMwcHgsIDd2dywgMzZweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xNCAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgV2hhdCBTZXRzIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIEFwYXJ0CiAgICAgIDwvZGl2PgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIEJvd2VycyBiZWxpZXZlcyB0aGUgZGlmZmVyZW5jZSBpcyBub3QgYSBzZWNyZXQgZXhlcmNpc2UuIEl0IGlzIHRoZSBwZXJzb24gbGVhZGluZyB0aGUgcm9vbS4gSGUgc3BlYWtzIG9wZW5seSBhYm91dCB0aGUgeWVhcnMgaGUgaGFzIHNwZW50IGRldmVsb3BpbmcgdGhlIGFiaWxpdHkgdG8gbGlzdGVuLCByZWFkIHBlb3BsZSwgYW5kIG1ha2UgY2xpZW50cyBmZWVsIGF0IGVhc2UuIEluIGhpcyB2aWV3LCB0aGUgc3Ryb25nZXN0IHRyYWluZXIgaXMgbm90IGFsd2F5cyB0aGUgb25lIHdpdGggdGhlIG1vc3QgY29tcGxleCB2b2NhYnVsYXJ5LiBJdCBpcyBvZnRlbiB0aGUgb25lIHdobyBjYW4gaGVscCB0aGUgY2xpZW50IGZlZWwgdW5kZXJzdG9vZCBhbmQgdGhlbiBnZXQgdGhlbSB0byBkbyB0aGUgYmFzaWNzIGNvbnNpc3RlbnRseS4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFRoYXQgZGlmZmVyZW5jZSBhbHNvIGV4cGxhaW5zIHdoeSBoZSBoYXMgcmVzaXN0ZWQgdHVybmluZyB0aGUgc3R1ZGlvIGludG8gc29tZXRoaW5nIHRvbyBsYXJnZSBvciBpbXBlcnNvbmFsLiBIZSBoYXMgdGhvdWdodCBhYm91dCBncm93dGgsIGJ1dCBub3QgaW4gYSB3YXkgdGhhdCBzYWNyaWZpY2VzIHRoZSBjdWx0dXJlLiBIaXMgcHJlZmVycmVkIGZ1dHVyZSBpcyBub3QgbmVjZXNzYXJpbHkgYSBjaGFpbiBvZiBsb2NhdGlvbnMuIEl0IGlzIGEgc2xpZ2h0bHkgbGFyZ2VyIHZlcnNpb24gb2YgdGhlIHNhbWUgc3RhbmRhcmQ6IHN0aWxsIGxvY2FsLCBzdGlsbCBmYW1pbHktbGlrZSwgc3RpbGwgcGVyc29uYWwsIHN0aWxsIGFmZm9yZGFibGUsIHN0aWxsIGZvY3VzZWQgb24gdGhlIGNsaWVudCBleHBlcmllbmNlLgogICAgICA8L3A+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgRm9yIHJlYWRlcnMsIHRoYXQgbWF0dGVycy4gNExpZmUgRml0bmVzcyBTdHVkaW8gaXMgbm90IHRyeWluZyB0byBiZWNvbWUgYSBiaWctYm94IGd5bSBpbiBtaW5pYXR1cmUuIEl0cyBhdXRob3JpdHkgY29tZXMgZnJvbSBiZWluZyBzb21ldGhpbmcgbW9yZSBzcGVjaWZpYzogYSBsb2NhbCBwZXJzb25hbCB0cmFpbmluZyBzdHVkaW8gd2hlcmUgdGhlIG1ldGhvZCBpcyBjbGVhciwgdGhlIGN1bHR1cmUgaXMgcGVyc29uYWwsIGFuZCB0aGUgY29hY2ggdW5kZXJzdGFuZHMgdGhhdCBhIGNsaWVudOKAmXMgdHJ1c3QgaXMgZWFybmVkIHNlc3Npb24gYnkgc2Vzc2lvbi4KICAgICAgPC9wPgoKICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozNnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgzMHB4LCA3dncsIDM2cHgpICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuMTQgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7IGNvbG9yOiMxMTExMTEgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFdoeSBMb2NhbCBSZWFkZXJzIFNob3VsZCBQYXkgQXR0ZW50aW9uCiAgICAgIDwvZGl2PgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIG1hdHRlcnMgbG9jYWxseSBiZWNhdXNlIGl0IG9mZmVycyBhIHNlcmlvdXMgYWx0ZXJuYXRpdmUgdG8gdHdvIGV4dHJlbWVzOiB0aGUgaW1wZXJzb25hbCBjb21tZXJjaWFsIGd5bSBhbmQgdGhlIG92ZXJseSBjb21wbGljYXRlZCBvbmxpbmUgZml0bmVzcyB3b3JsZC4gQm93ZXJz4oCZIG1vZGVsIGlzIG5vdCBidWlsdCBhcm91bmQgcHJlc3N1cmUgc2FsZXMgb3Igc2hpbnkgcHJvbWlzZXMuIEl0IGlzIGJ1aWx0IGFyb3VuZCBhIHNtYWxsZXIgcm9vbSwgYSBtb3JlIHBlcnNvbmFsIHJlbGF0aW9uc2hpcCwgYW5kIGEgbWV0aG9kIHRoYXQgY2xpZW50cyBjYW4gdW5kZXJzdGFuZC4KICAgICAgPC9wPgoKICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjg0ICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgIFRoYXQgbWFrZXMgdGhlIHN0dWRpbyBlc3BlY2lhbGx5IHJlbGV2YW50IGZvciBwZW9wbGUgd2hvIHdhbnQgY29hY2hpbmcgd2l0aG91dCBpbnRpbWlkYXRpb24uIEEgY2xpZW50IGNhbiBiZSBuZXcgdG8gZml0bmVzcywgcmV0dXJuaW5nIGFmdGVyIHRpbWUgYXdheSwgcHJlcGFyaW5nIGZvciBjb21wZXRpdGlvbiwgdHJ5aW5nIHRvIGxvc2Ugd2VpZ2h0LCB0cnlpbmcgdG8gZ2FpbiBzdHJlbmd0aCwgb3Igc2ltcGx5IGxvb2tpbmcgZm9yIGEgcGxhY2Ugd2hlcmUgdGhlIHRyYWluZXIgcmVtZW1iZXJzIG1vcmUgdGhhbiB0aGUgbmV4dCBpbnZvaWNlLiBUaGUgc3R1ZGlv4oCZcyBwcm9taXNlIGlzIG5vdCBwZXJmZWN0aW9uLiBJdCBpcyBhIHBsYWNlIHRvIGJlZ2luIGFuZCBhIG1ldGhvZCB0byBrZWVwIGdvaW5nLgogICAgICA8L3A+CgogICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDsgY29sb3I6IzFiMWIxOSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgQm93ZXJz4oCZIHN0cm9uZ2VzdCBsaW5lIG1heSBiZSBoaXMgc2ltcGxlc3Q6IGlmIGEgY2xpZW50IHdvcmtzIHdpdGggaGltIGFuZCBmb2xsb3dzIHRoZSBwcm9jZXNzLCB0aGV5IGNhbiBzdGFydCBvdmVyIGZvciB0aGUgbGFzdCB0aW1lLiBCZW5lYXRoIHRoYXQgbGluZSBpcyB0aGUgcmVhbCBzdGFuZGFyZCBvZiA0TGlmZSBGaXRuZXNzIFN0dWRpbzogbm90IGFub3RoZXIgcmVzdGFydCwgYnV0IGEgbW9yZSBzdXN0YWluYWJsZSB3YXkgZm9yd2FyZC4KICAgICAgPC9wPgoKICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luOjAgMCA0NnB4IDAgIWltcG9ydGFudDsgcGFkZGluZzoyOHB4IDAgMCAwICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6M3B4IHNvbGlkICMxMTExMTEgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6Mi41cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiM3YTcxNjcgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxMHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgQ2xvc2luZwogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM0cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDI4cHgsIDYuNXZ3LCAzNHB4KSAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjE2ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50OyBjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIFRoZSBBdXRob3JpdHkgSXMgaW4gdGhlIFNpbXBsaWNpdHkKICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjgyICFpbXBvcnRhbnQ7IGNvbG9yOiMxYjFiMTkgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyNHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgVGhlIHN0cm9uZ2VzdCBjYXNlIGZvciA0TGlmZSBGaXRuZXNzIFN0dWRpbyBpcyBub3QgdGhhdCBpdCBoYXMgZm91bmQgYSBoaWRkZW4gc2hvcnRjdXQuIEl0IGlzIHRoYXQgQm93ZXJzIGhhcyBidWlsdCBhIHN0dWRpbyBhcm91bmQgdGhlIG9wcG9zaXRlIGlkZWEuIFRoZXJlIGlzIG5vIG5lZWQgdG8gcHJldGVuZCBmaXRuZXNzIGlzIG1hZ2ljLiBUaGVyZSBpcyB0cmFpbmluZy4gVGhlcmUgaXMgbnV0cml0aW9uLiBUaGVyZSBpcyBjb25zaXN0ZW5jeS4gVGhlcmUgaXMgYSBjb2FjaCB3aG8gbGlzdGVucy4gVGhlcmUgaXMgYSBjdWx0dXJlIHRoYXQgaGVscHMgcGVvcGxlIGNvbWUgYmFjay4KICAgICAgICA8L3A+CgogICAgICAgIDxwIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjIxcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS44MiAhaW1wb3J0YW50OyBjb2xvcjojMWIxYjE5ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIEluIGEgbWFya2V0IGNyb3dkZWQgd2l0aCBwcm9taXNlcywgdGhhdCBraW5kIG9mIGNsYXJpdHkgaGFzIHZhbHVlLiBGb3IgR3JlZXItYXJlYSBjbGllbnRzIGxvb2tpbmcgZm9yIGEgcGVyc29uYWwgdHJhaW5pbmcgc3R1ZGlvIHRoYXQgZmVlbHMgcHJhY3RpY2FsLCBsb2NhbCwgaHVtYW4sIGFuZCBzZXJpb3VzIGFib3V0IHJlc3VsdHMsIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIGhhcyBidWlsdCBpdHMgYXV0aG9yaXR5IGFyb3VuZCBkb2luZyB0aGUgYmFzaWNzIHdlbGwgZW5vdWdoIOKAlCBhbmQgcGVyc29uYWxseSBlbm91Z2gg4oCUIHRoYXQgcGVvcGxlIGNhbiBidWlsZCBhIGxpZmUgYXJvdW5kIHRoZW0uCiAgICAgICAgPC9wPgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiMxMTExMTEgIWltcG9ydGFudDsgYm9yZGVyLXRvcDo1cHggc29saWQgI2I4OWE1ZiAhaW1wb3J0YW50OyBwYWRkaW5nOjM4cHggMzBweCAzNnB4IDMwcHggIWltcG9ydGFudDsgbWFyZ2luOjAgMCA0MnB4IDAgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6Mi42cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiNjZGJkOTggIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxMnB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgVGhlIFN0YW5kYXJkIG9mIE1lbWJlcnNoaXAgLyBUaGUgRmlyc3QgU3RlcAogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjM4cHggIWltcG9ydGFudDsgZm9udC1zaXplOmNsYW1wKDI5cHgsIDd2dywgNDBweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xMiAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBCZWdpbiBXaXRoIHRoZSBDb252ZXJzYXRpb24uIEJ1aWxkIHRoZSBOZXh0IFNlYXNvbiBvZiBDb2FjaGluZyBGcm9tIFRoZXJlLgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7IHdpZHRoOjkwcHggIWltcG9ydGFudDsgYmFja2dyb3VuZDojYjg5YTVmICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMjJweCAwICFpbXBvcnRhbnQ7Ij48L2Rpdj4KCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7IGNvbG9yOiNlZWU3ZGEgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgRm9yIHJlYWRlcnMgd2hvIGZlZWwgY29ubmVjdGVkIHRvIHRoZSA0TGlmZSBGaXRuZXNzIFN0dWRpbyBzdGFuZGFyZCwgdGhlIGJlc3QgbmV4dCBzdGVwIGlzIG5vdCB0byBndWVzcyBmcm9tIHRoZSBvdXRzaWRlLiBJdCBpcyB0byBiZWdpbiB3aXRoIGEgY29udmVyc2F0aW9uLCBzZWUgdGhlIHN0dWRpbyBlbnZpcm9ubWVudCwgYW5kIHVuZGVyc3RhbmQgd2hldGhlciB0aGUgdHJhaW5pbmcgY3VsdHVyZSwgY29hY2hpbmcgc3R5bGUsIGFuZCBzaW1wbGUgc3RyZW5ndGgtYmFzZWQgYXBwcm9hY2ggZmVlbCBsaWtlIHRoZSByaWdodCBmaXQuCiAgICAgICAgPC9wPgoKICAgICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDsgY29sb3I6I2VlZTdkYSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDI4cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBUaGUgc3R1ZGlv4oCZcyBwdWJsaWMgd2Vic2l0ZSBpbnZpdGVzIHByb3NwZWN0aXZlIGNsaWVudHMgdG8gYm9vayBhIGZyZWUgY29uc3VsdGF0aW9uLiBUaGF0IGZpcnN0IHN0ZXAgZ2l2ZXMgYSBuZXcgY2xpZW50IGEgY2xlYXIgd2F5IHRvIGV4cGxvcmUgdGhlIHNlbWktcHJpdmF0ZSBhbmQgMS1vbi0xIHRyYWluaW5nIG1vZGVsLCBhc2sgcXVlc3Rpb25zLCBhbmQgYmVnaW4gdGhlIHByb2Nlc3Mgd2l0aG91dCB0dXJuaW5nIGZpdG5lc3MgaW50byBhbm90aGVyIGNvbXBsaWNhdGVkIGRlY2lzaW9uLgogICAgICAgIDwvcD4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuNGxpZmVmaXRuZXNzc3R1ZGlvLmNvbS8iIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jayAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiNiODlhNWYgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50OyBmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoxLjhweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjQgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6MTRweCAyMHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6MCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBWaXNpdCA0TGlmZSBGaXRuZXNzIFN0dWRpbwogICAgICAgIDwvYT4KCiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZmJmYWY3ICFpbXBvcnRhbnQ7IGJvcmRlcjoxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyBib3JkZXItdG9wOjRweCBzb2xpZCAjMTExMTExICFpbXBvcnRhbnQ7IHBhZGRpbmc6MzBweCAyNnB4IDI4cHggMjZweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQwcHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzhhODE3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDE0cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBGZWF0dXJlZCBGaXRuZXNzIEF1dGhvcml0eQogICAgICAgIDwvZGl2PgoKICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9paWxpLmlvL0NId3AwVVEucG5nIiBhbHQ9Ikp1c3RpbiBCb3dlcnMgb2YgNExpZmUgRml0bmVzcyBTdHVkaW8iIHN0eWxlPSJkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOjEwMCUgIWltcG9ydGFudDsgbWF4LXdpZHRoOjMwMHB4ICFpbXBvcnRhbnQ7IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7IGJvcmRlcjowICFpbXBvcnRhbnQ7IG1hcmdpbjowIGF1dG8gMThweCBhdXRvICFpbXBvcnRhbnQ7Ij4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTozNHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTpjbGFtcCgyOHB4LCA2LjV2dywgMzZweCkgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4xMiAhaW1wb3J0YW50OyBmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDsgY29sb3I6IzExMTExMSAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDhweCAwICFpbXBvcnRhbnQ7IG92ZXJmbG93LXdyYXA6YnJlYWstd29yZCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBKdXN0aW4gQm93ZXJzCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjJweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzhhODE3NiAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDIwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBPd25lciAvIFBlcnNvbmFsIFRyYWluZXIgLyBUcmFpbmluZyBMZWFkCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50OyBib3JkZXItbGVmdDo0cHggc29saWQgI2I4OWE1ZiAhaW1wb3J0YW50OyBwYWRkaW5nOjE4cHggMThweCAhaW1wb3J0YW50OyBtYXJnaW46MCBhdXRvIDIwcHggYXV0byAhaW1wb3J0YW50OyBtYXgtd2lkdGg6NjQwcHggIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoycHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTdhNTggIWltcG9ydGFudDsgbWFyZ2luOjAgMCA3cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICAgIEZvdW5kaW5nIFN0YW5kYXJkCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzI0MjExZSAhaW1wb3J0YW50OyBtYXJnaW46MCAhaW1wb3J0YW50OyBvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQgIWltcG9ydGFudDsiPgogICAgICAgICAgICBCb3dlcnPigJkgYXV0aG9yaXR5IGNvbWVzIGZyb20gYSBzaW1wbGUgY29hY2hpbmcgbW9kZWw6IGxpc3RlbiBmaXJzdCwga2VlcCB0aGUgdHJhaW5pbmcgY2xlYXIsIGFkanVzdCB0aGUgd29yayB0byB0aGUgcGVyc29uLCBzdXBwb3J0IG51dHJpdGlvbiBpbiBwcmFjdGljYWwgdGVybXMsIGFuZCBjcmVhdGUgYSBzdHVkaW8gY3VsdHVyZSB3aGVyZSBjbGllbnRzIGZlZWwgY29tZm9ydGFibGUgZW5vdWdoIHRvIHN0YXkgY29uc2lzdGVudC4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8cCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDsgY29sb3I6IzJhMjcyMyAhaW1wb3J0YW50OyBtYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7IG1heC13aWR0aDo2ODBweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgogICAgICAgICAgSnVzdGluIEJvd2VycyBpcyB0aGUgb3duZXIgYW5kIHRyYWluaW5nIGxlYWQgYmVoaW5kIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIGluIEdyZWVyLCBTb3V0aCBDYXJvbGluYS4gVGhlIHRyYWluaW5nIHBoaWxvc29waHkgZmVhdHVyZWQgaW4gdGhpcyBhcnRpY2xlIHJlZmxlY3RzIHRoZSBtb2RlbCBkZXNjcmliZWQgaW4gaGlzIGludGVydmlldzogc2ltcGxlIHJlc2lzdGFuY2UgdHJhaW5pbmcsIGluZGl2aWR1YWxpemVkIGNvYWNoaW5nLCBwcmFjdGljYWwgbnV0cml0aW9uIHN1cHBvcnQsIGNsaWVudCBjb21mb3J0LCBhbmQgYSBuby1mcmlsbHMgc3RhbmRhcmQgZGVzaWduZWQgdG8gaGVscCBwZW9wbGUgYnVpbGQgc3RyZW5ndGgsIGNvbmZpZGVuY2UsIGFuZCBsb25nLXRlcm0gY29uc2lzdGVuY3kuCiAgICAgICAgPC9wPgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDsgYm9yZGVyLXRvcDozcHggc29saWQgIzExMTExMSAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDhjZmJmICFpbXBvcnRhbnQ7IHBhZGRpbmc6MjhweCAwIDI2cHggMCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDQwcHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzdhNzE2NyAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBNdXNjbGUgJmFtcDsgQXV0aG9yaXR5IE1hZ2F6aW5l4oSiIFNwb3RsaWdodCBOb3RlCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjFweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjc2ICFpbXBvcnRhbnQ7IGNvbG9yOiMyNDIxMWUgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDsiPgogICAgICAgICAgVGhpcyBhdXRob3JpdHkgc3BvdGxpZ2h0IHdhcyBkZXZlbG9wZWQgdG8gZXhhbWluZSB0aGUgY29hY2hpbmcgbWV0aG9kLCB0cmFpbmluZyBzdGFuZGFyZHMsIGNsaWVudCBleHBlcmllbmNlLCBhbmQgbG9jYWwgbWFya2V0IHBvc2l0aW9uIGJlaGluZCA0TGlmZSBGaXRuZXNzIFN0dWRpby4gSXQgaXMgaW50ZW5kZWQgdG8gaGVscCByZWFkZXJzIHVuZGVyc3RhbmQgaG93IHRoZSBzdHVkaW8gYXBwcm9hY2hlcyBzdHJlbmd0aCwgbnV0cml0aW9uLCBjb25maWRlbmNlLCBhbmQgcGVyc29uYWwgdHJhaW5pbmcg4oCUIG5vdCBtZXJlbHkgd2hlcmUgdGhlIHN0dWRpbyBpcyBsb2NhdGVkLgogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmYmZhZjcgIWltcG9ydGFudDsgYm9yZGVyOjFweCBzb2xpZCAjZDhjZmJmICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6NHB4IHNvbGlkICNiODlhNWYgIWltcG9ydGFudDsgcGFkZGluZzozMHB4IDI2cHggMjhweCAyNnB4ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgNDBweCAwICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjIuN3B4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNyAhaW1wb3J0YW50OyBjb2xvcjojOGE3YTU4ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgOHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgUmVhZGVyIEJyaWVmaW5nCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MzhweCAhaW1wb3J0YW50OyBmb250LXNpemU6Y2xhbXAoMjlweCwgN3Z3LCA0MHB4KSAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7IGNvbG9yOiMxMTExMTEgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxMHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgTWV0aG9kLCBBY2Nlc3MsIGFuZCBMb2NhbCBQb3NpdGlvbgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWYgIWltcG9ydGFudDsgZm9udC1zaXplOjE5cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42NSAhaW1wb3J0YW50OyBjb2xvcjojNGE0MjM4ICFpbXBvcnRhbnQ7IG1hcmdpbjowIDAgMjBweCAwICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgIEEgY29uY2lzZSBlZGl0b3JpYWwgYnJpZWZpbmcgb24gd2hhdCByZWFkZXJzIHNob3VsZCB1bmRlcnN0YW5kIGFib3V0IDRMaWZlIEZpdG5lc3MgU3R1ZGlvLCBKdXN0aW4gQm93ZXJz4oCZIHRyYWluaW5nIG1ldGhvZCwgYW5kIHRoZSBzdHVkaW/igJlzIHBvc2l0aW9uIGluIHRoZSBHcmVlciBwZXJzb25hbCB0cmFpbmluZyBtYXJrZXQuCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDoycHggIWltcG9ydGFudDsgd2lkdGg6OTJweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiNiODlhNWYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAyMnB4IDAgIWltcG9ydGFudDsiPjwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXItdG9wOjFweCBzb2xpZCAjZDhjZmJmICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogICAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyBwYWRkaW5nOjE4cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoycHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA1cHggMCAhaW1wb3J0YW50OyI+MDEgLyBUcmFpbmluZyBNZXRob2Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNzIgIWltcG9ydGFudDsgY29sb3I6IzFmMWYxZCAhaW1wb3J0YW50OyI+NExpZmUgRml0bmVzcyBTdHVkaW8gdXNlcyBzaW1wbGUsIHN0cnVjdHVyZWQgcmVzaXN0YW5jZSB0cmFpbmluZyBzdXBwb3J0ZWQgYnkgbnV0cml0aW9uIGd1aWRhbmNlLCBpbmRpdmlkdWFsaXplZCB2YXJpYXRpb25zLCBhbmQgYSBjb2FjaGluZyBzdHlsZSB0aGF0IHByaW9yaXRpemVzIGNvbnNpc3RlbmN5IG92ZXIgY29uZnVzaW9uLjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyBwYWRkaW5nOjE4cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoycHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA1cHggMCAhaW1wb3J0YW50OyI+MDIgLyBMb2NhbCBEaWZmZXJlbmNlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcyICFpbXBvcnRhbnQ7IGNvbG9yOiMxZjFmMWQgIWltcG9ydGFudDsiPlRoZSBzdHVkaW8gZGlmZmVyZW50aWF0ZXMgaXRzZWxmIHRocm91Z2ggc21hbGwtc3R1ZGlvIGNvbWZvcnQsIHBlcnNvbmFsIGF0dGVudGlvbiwgZmFtaWx5LWxpa2UgY3VsdHVyZSwgbG9uZy10ZXJtIHJlbGF0aW9uc2hpcHMsIGFuZCBhIG5vLXByZXNzdXJlIGFsdGVybmF0aXZlIHRvIGltcGVyc29uYWwgYmlnLWJveCBneW0gdHJhaW5pbmcuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOjE4cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoycHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS42ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTgxNzYgIWltcG9ydGFudDsgbWFyZ2luOjAgMCA1cHggMCAhaW1wb3J0YW50OyI+MDMgLyBOZXh0IFN0ZXA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToyMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNzIgIWltcG9ydGFudDsgY29sb3I6IzFmMWYxZCAhaW1wb3J0YW50OyI+UmVhZGVycyB3aG8gd2FudCB0byBleHBsb3JlIHRoZSBzdHVkaW8gY2FuIGJlZ2luIHRocm91Z2ggdGhlIG9mZmljaWFsIDRMaWZlIEZpdG5lc3MgU3R1ZGlvIHdlYnNpdGUgYW5kIGJvb2sgYSBmcmVlIGNvbnN1bHRhdGlvbiB0byBsZWFybiB3aGV0aGVyIHRoZSBzZW1pLXByaXZhdGUgb3IgMS1vbi0xIHRyYWluaW5nIG1vZGVsIGlzIHRoZSByaWdodCBmaXQuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50OyBib3JkZXItbGVmdDo0cHggc29saWQgI2I4OWE1ZiAhaW1wb3J0YW50OyBwYWRkaW5nOjE4cHggMThweCAhaW1wb3J0YW50OyBtYXJnaW46OHB4IDAgMCAwICFpbXBvcnRhbnQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoycHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiM4YTdhNTggIWltcG9ydGFudDsgbWFyZ2luOjAgMCA2cHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICAgIEJyaWVmaW5nIFRha2Vhd2F5CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MjBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzI0MjExZSAhaW1wb3J0YW50OyBtYXJnaW46MCAhaW1wb3J0YW50OyI+CiAgICAgICAgICAgIDRMaWZlIEZpdG5lc3MgU3R1ZGlv4oCZcyBhdXRob3JpdHkgcmVzdHMgb24gYSBkaXNjaXBsaW5lZCBzaW1wbGljaXR5OiBjbGVhciBzdHJlbmd0aCB0cmFpbmluZywgcHJhY3RpY2FsIG51dHJpdGlvbiwgYSBjb21mb3J0YWJsZSBsb2NhbCBjdWx0dXJlLCBhbmQgYSBjb2FjaCB3aG8gYmVsaWV2ZXMgY2xpZW50cyBhcmUgbW9yZSBsaWtlbHkgdG8gY2hhbmdlIHdoZW4gdGhleSBmZWVsIHVuZGVyc3Rvb2QuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6M3B4IHNvbGlkICMxMTExMTEgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyBwYWRkaW5nOjI4cHggMCAyNnB4IDAgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAzNHB4IDAgIWltcG9ydGFudDsgYm94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7Ij4KCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6Mi40cHggIWltcG9ydGFudDsgZm9udC1zaXplOjEwcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS43ICFpbXBvcnRhbnQ7IGNvbG9yOiM3YTcxNjcgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxMHB4IDAgIWltcG9ydGFudDsiPgogICAgICAgICAgRWRpdG9yaWFsIFN0YW5kYXJkcyAmYW1wOyBTb3VyY2UgVHJhbnNwYXJlbmN5CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6MTlweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjc2ICFpbXBvcnRhbnQ7IGNvbG9yOiMyNDIxMWUgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDsiPgogICAgICAgICAgTXVzY2xlICZhbXA7IEF1dGhvcml0eSBNYWdhemluZeKEoiBwcmVwYXJlcyBhdXRob3JpdHkgc3BvdGxpZ2h0IGZlYXR1cmVzIGZyb20gcmVjb3JkZWQgaW50ZXJ2aWV3IG1hdGVyaWFsLCBidXNpbmVzcy1wcm92aWRlZCBzb3VyY2UgaW5mb3JtYXRpb24sIHB1YmxpY2x5IGF2YWlsYWJsZSBidXNpbmVzcyBkZXRhaWxzLCBhbmQgZWRpdG9yaWFsIGFuYWx5c2lzIG9mIHRoZSB0cmFpbmluZyBtZXRob2QgZGVzY3JpYmVkIGJ5IHRoZSBmZWF0dXJlZCBjb2FjaCBvciBidXNpbmVzcyBvd25lci4gVGhpcyBhcnRpY2xlIGZvY3VzZXMgb24gSnVzdGluIEJvd2Vyc+KAmSBzdGF0ZWQgY29hY2hpbmcgcGhpbG9zb3BoeSwgd29ya291dCBhcHByb2FjaCwgbnV0cml0aW9uIGd1aWRhbmNlLCBzdHVkaW8gY3VsdHVyZSwgYW5kIGxvY2FsIHBvc2l0aW9uaW5nLiBTdGF0ZW1lbnRzIGFib3V0IGNsaWVudCByZXN1bHRzIGFyZSBwcmVzZW50ZWQgYXMgaW50ZXJ2aWV3LWJhc2VkIGVkaXRvcmlhbCBjb250ZXh0LCBub3QgZ3VhcmFudGVlZCBvdXRjb21lcy4KICAgICAgICA8L2Rpdj4KCiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZmJmYWY3ICFpbXBvcnRhbnQ7IGJvcmRlcjoxcHggc29saWQgI2Q4Y2ZiZiAhaW1wb3J0YW50OyBwYWRkaW5nOjI0cHggMjJweCAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDI4cHggMCAhaW1wb3J0YW50OyBib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDsiPgoKICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzoyLjRweCAhaW1wb3J0YW50OyBmb250LXNpemU6MTBweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjcgIWltcG9ydGFudDsgY29sb3I6IzdhNzE2NyAhaW1wb3J0YW50OyBtYXJnaW46MCAwIDEwcHggMCAhaW1wb3J0YW50OyI+CiAgICAgICAgICBTb3VyY2VzCiAgICAgICAgPC9kaXY+CgogICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOjAgIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OjIwcHggIWltcG9ydGFudDsgZm9udC1mYW1pbHk6R2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDsgY29sb3I6IzI0MjExZSAhaW1wb3J0YW50OyI+CiAgICAgICAgICA8bGkgc3R5bGU9Im1hcmdpbjowIDAgOHB4IDAgIWltcG9ydGFudDsiPlJlY29yZGVkIEZpdG5lc3MgTGl2aW5nIE1hZ2F6aW5l4oSiIGludGVydmlldyB3aXRoIEp1c3RpbiBCb3dlcnMgZm9yIDRMaWZlIEZpdG5lc3MgU3R1ZGlvLjwvbGk+CiAgICAgICAgICA8bGkgc3R5bGU9Im1hcmdpbjowIDAgOHB4IDAgIWltcG9ydGFudDsiPjRMaWZlIEZpdG5lc3MgU3R1ZGlvIG9mZmljaWFsIHdlYnNpdGU6IGh0dHBzOi8vd3d3LjRsaWZlZml0bmVzc3N0dWRpby5jb20vPC9saT4KICAgICAgICAgIDxsaSBzdHlsZT0ibWFyZ2luOjAgMCA4cHggMCAhaW1wb3J0YW50OyI+QnVzaW5lc3Mgc291cmNlIG1hdGVyaWFsIGFuZCBpbWFnZXMgcHJvdmlkZWQgZm9yIHRoZSBNdXNjbGUgJmFtcDsgQXV0aG9yaXR5IE1hZ2F6aW5l4oSiIHNwb3RsaWdodCBhcnRpY2xlLjwvbGk+CiAgICAgICAgICA8bGkgc3R5bGU9Im1hcmdpbjowICFpbXBvcnRhbnQ7Ij5QdWJsaWNseSBhdmFpbGFibGUgYnVzaW5lc3MgaW5mb3JtYXRpb24gY29uZmlybWluZyA0TGlmZSBGaXRuZXNzIFN0dWRpb+KAmXMgR3JlZXIsIFNvdXRoIENhcm9saW5hIGxvY2F0aW9uIGFuZCBwZXJzb25hbCB0cmFpbmluZyBmb2N1cy48L2xpPgogICAgICAgIDwvdWw+CgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOjEuOHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OjEuOCAhaW1wb3J0YW50OyBjb2xvcjojOGE4MTc2ICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgICAgwqkgMjAyNiBNdXNjbGUgJmFtcDsgQXV0aG9yaXR5IE1hZ2F6aW5l4oSiLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgPC9kaXY+Cgo8L2Rpdj4=
4Life Fitness Studio: The No-Frills Training Standard Behind Sustainable Strength in Greer | Muscle & Authority Magazine
Authority Spotlight
Muscle & Authority MagazineTM
Training Methods / Coaching Standards / Local Fitness Leadership
Premium Editorial Feature
By Daniel Ford
Editorially prepared from a Fitness Living Magazine™ interview with Justin Bowers
The Authority Standard

4Life Fitness Studio: The No-Frills Training Standard Behind Sustainable Strength in Greer

In Greer, South Carolina, Justin Bowers has built a personal training studio around a direct idea: fitness should be simple enough to follow, personal enough to trust, and structured enough to produce results when clients commit to the work.
Greer, South Carolina   /   Semi-Private Personal Training   /   1-on-1 Coaching   /   Strength & Nutrition
SIMPLE
By Design
A closer look at how 4Life Fitness Studio uses structured resistance training, practical nutrition habits, semi-private coaching, individualized exercise variation, and a relationship-first culture to help clients build strength, confidence, and long-term consistency.
Editor’s Authority Note
Bowers’ standard is not built around confusing clients with novelty. It is built around listening first, keeping the work direct, matching the plan to the person, and helping clients understand that strength, nutrition, and consistency do not need to be made more complicated than they already are.
Training Dossier
Business: 4Life Fitness Studio
Location: Greer, South Carolina
Founder / Training Lead: Justin Bowers
Business Type: Semi-private and 1-on-1 personal training studio
Training Focus: Resistance training, strength development, body recomposition, weight loss support, nutrition guidance, pageant competitor training, lifestyle fitness, confidence building, and individualized coaching in a small studio environment.
Editorial Trust Note
This feature is based on a recorded Fitness Living Magazine™ interview with Justin Bowers, the business source material provided for 4Life Fitness Studio, and publicly available studio information. It highlights training philosophy, workout structure, coaching standards, nutrition support, client experience, and local authority. It is not medical advice, and readers should consult a qualified professional before beginning or changing a fitness program.
4Life Fitness Studio exterior in Greer, South Carolina
Business Snapshot: 4Life Fitness Studio is presented as a local training environment where clients can pursue strength, body composition, nutrition habits, and confidence without the intimidation often associated with larger gym settings.
Featured Pull Quote
“Fitness does not have to be as difficult as it’s being portrayed to you.”
Justin Bowers
Authority Standard
The 4Life standard is built around a simple but demanding premise: listen to the client, remove unnecessary confusion, train with structure, guide the food habits that matter, and make the room feel comfortable enough for people to keep showing up.
Editorial Assessment / Muscle & Authority Magazine™

Justin Bowers does not describe 4Life Fitness Studio as a place built on fitness theater. The Greer studio is smaller by design, personal by culture, and direct in its method. The work is not presented as a parade of trends. It is built around resistance training, practical nutrition guidance, consistency, and the relationship between coach and client.

That makes the authority of the studio quieter than the usual online fitness language. Bowers is not trying to make fitness sound mysterious. He is trying to make it understandable. For clients who have been overwhelmed by big-box gym pressure, online contradictions, aggressive trainer personalities, or complicated advice, that simplicity becomes part of the value.

What You’ll Learn
What This Authority Feature Covers
  • Why Justin Bowers begins with listening instead of forcing every client into the same rigid training identity.
  • How 4Life Fitness Studio uses simple resistance training principles to support strength, body composition, and confidence.
  • Why Bowers keeps nutrition guidance practical, with emphasis on consistency, calories, protein, and one improvement at a time.
  • How the studio’s family-like culture reduces intimidation for new clients.
  • Why the local authority of 4Life Fitness Studio comes from personal coaching, retention, relationships, and a method clients can actually follow.
Why This Feature Was Selected
Muscle & Authority Magazine™ selected this spotlight angle because 4Life Fitness Studio demonstrates a defined coaching philosophy: keep training simple, customize the variation, support the nutrition habits that drive results, and make the studio personal enough that clients feel known rather than processed.
The Method Behind the Results

Bowers’ method begins with listening. When a client tells him they hate a certain exercise, he does not treat that as a character flaw. He treats it as information. There is more than one way to train a movement pattern, build strength, challenge muscle, and keep a client progressing. That practical flexibility allows the program to stay personal without becoming random.

Underneath that flexibility is a training structure Bowers describes plainly: resistance training built around familiar bodybuilding principles. For many clients, that means controlled sets, appropriate rep ranges, enough volume to stimulate change, and adjustments based on whether the goal is strength, fat loss, muscle gain, pageant preparation, or general fitness.

The point is not to turn every client into a bodybuilder. The point is to use proven resistance training logic in a way that ordinary clients can understand and continue. In Bowers’ view, most people are not chasing exotic goals. They want to lose body fat, gain or preserve muscle, feel stronger, look better, and regain confidence in their own skin.

Standards Ledger
The Operating Details Behind the Studio
Business Type
Semi-private and 1-on-1 personal training studio serving Greer, South Carolina and the surrounding Upstate community.
Core Method
Simple resistance training, individualized exercise variation, practical nutrition support, and consistency-based coaching.
Training Emphasis
Strength, muscle development, fat loss support, confidence, sustainable habits, nutrition awareness, and training that can be adapted to the person rather than forced through a template.
Client Experience
A small, comfortable, family-like environment where clients are known personally, introduced to the culture, and encouraged to feel in control of the process.
Nutrition Standard
Practical food-log review, protein awareness, calorie education, and one-week-at-a-time improvements rather than overwhelming clients with unnecessary complexity.
Core Standard
Fitness should be simple enough to follow, honest enough to trust, and personal enough that clients want to return.
Justin Bowers and 4Life Fitness Studio training environment
Inside the Method: The 4Life Fitness Studio model combines strength training, practical nutrition guidance, and a personal studio culture designed to help clients stay consistent.
Training Philosophy: Listen First, Then Simplify

When asked about his overall training philosophy, Bowers did not begin with a slogan. He began with listening. That answer matters because it explains how the studio keeps a structured method without making every client feel like they have been dropped into someone else’s program.

The philosophy is practical. If a client dislikes an exercise, there may be another variation. If a client wants to become stronger, the weight and rep approach can shift. If the goal is leanness or fat loss, the training still matters, but the nutrition conversation becomes central. Bowers does not pretend that the process is effortless. He simply refuses to make it more confusing than necessary.

In an industry where online trainers often compete to sound more advanced than one another, Bowers’ local authority comes from a different posture. He is not trying to impress clients with jargon. He is trying to help them understand what to do next.

Method Brief
What Drives the Progress
Primary Method
Structured resistance training supported by exercise variation, goal-specific rep and load adjustments, and nutrition guidance that keeps the client focused on the habits that matter most.
Workout System
Bodybuilding-influenced strength training, hypertrophy work, progressive resistance, individualized substitutions, and semi-private or 1-on-1 coaching.
Progress Drivers
Consistency, adequate protein, calorie awareness, weight training, progressive effort, realistic coaching, and a studio environment that clients enjoy returning to.
Client Range
General fitness clients, weight-loss clients, strength-focused clients, pageant competitors, models, dancers, athletes, older adults, and people who want a more personal alternative to big-box gym training.
The 4Life Fitness Studio Standard
Simple does not mean careless. It means the work is clear enough to repeat.
The credibility of Bowers’ method comes from the connection between training, food habits, and emotional comfort. Clients are not just asked to work hard. They are given a clearer way to understand what their work is supposed to do.
How the Workouts Are Built

Bowers’ workouts are built around resistance training that can be scaled to the client. The training may look similar from a distance because the larger principles are similar: build strength, challenge muscle, control the movement, and apply the appropriate amount of work. But the details change based on the person.

For a client focused on fat loss, the workout supports the larger nutrition and consistency goal. For a client who wants strength, the loading and rep ranges can shift. For a pageant competitor, the method may be used to build a strong, lean, stage-ready body without encouraging the fear that lifting weights automatically creates bulk. For general clients, the method may simply help them feel stronger, sleep better, move better, and regain self-belief.

The common denominator is clarity. Bowers does not present fitness as a maze. He presents it as a set of basics that must be practiced consistently: lift, adjust, eat with awareness, get enough protein, keep showing up, and do not confuse complication with progress.

The Coaching Standard
The workout is the visible part. The deeper standard is the trust that allows clients to keep doing the work long enough for the work to matter.
Nutrition Without the Noise

The nutrition side of 4Life Fitness Studio follows the same pattern: direct, practical, and manageable. Bowers described reviewing client food logs, looking at protein intake, and offering simple suggestions that a client can apply one week at a time.

Instead of turning every food conversation into a lecture about every macronutrient, he keeps the focus accessible. If a client needs to lose weight, they must understand the role of a calorie deficit. If a client wants to gain muscle or strength, they must understand the role of adequate food and protein. The science is not ignored. It is translated into behavior.

That translation is one of the strongest authority signals in the interview. Bowers is not trying to make clients dependent on confusion. He is trying to help them see the few levers that matter most and then pull those levers with consistency.

“Everyone wants to lose body fat and everyone wants to gain muscle. It just depends on the variation.”
— Justin Bowers
The Client Experience: Comfortable Before Complicated

The physical size of the studio is part of its operating identity. Bowers described a roughly 1,500-square-foot training environment where a new client is not left to wander, guess, or feel anonymous. He wants the first impression to be the opposite of the intimidating gym stereotype: no slamming weights as theater, no performance of superiority, no culture built around making the beginner feel small.

Instead, he wants people to feel immediately included. He introduces clients to the studio culture, the trainers, and the people around them. He remembers personal details. He asks about life, food, family, music, restaurants, and how someone is actually doing. In his model, the relationship is not separate from the coaching. It is part of the coaching.

That approach matters because many clients do not need a trainer who only counts reps. They need someone who can read the room, notice when they are off, make the workout approachable, and help them feel in control of their own process.

4Life Fitness Studio personal training environment in Greer South Carolina
Training Environment: 4Life Fitness Studio is framed around personal attention, small-studio comfort, and a no-frills training atmosphere where the work remains the priority.
Results: Strength, Confidence, and the Moment Other People Notice

Bowers is careful not to treat results as automatic promises. He recognizes that progress depends on the client’s consistency, nutrition, starting point, schedule, and willingness to follow the plan. But he is also clear about what tends to happen when clients do commit: they get stronger, they often begin to change physically, and they start to experience the confidence that comes from doing hard things consistently.

One of the client wins that matters most to him is not only the number on the scale. It is the moment a client says someone else noticed. A compliment, a change in how clothes fit, or a new sense of self-belief can become fuel. Bowers understands that many clients compare themselves to yesterday’s version of themselves and miss the larger change. Outside recognition can help them see that the work is becoming visible.

That is why the studio’s definition of results is broader than aesthetics alone. Strength matters. Weight loss can matter. Muscle matters. But so does confidence, mood, sleep, energy, productivity, and the personal pride that comes from keeping a promise to oneself.

Market Position
In Greer’s personal training landscape, 4Life Fitness Studio occupies a specific lane: local, comfortable, semi-private, no-frills coaching for clients who want practical strength and nutrition support without being treated like a number.
Its position is not built on being the loudest studio in the room. It is built on trust, retention, simple programming, personal relationships, and a training culture where the client is not forced to become someone else in order to begin.
What Sets 4Life Fitness Studio Apart

Bowers believes the difference is not a secret exercise. It is the person leading the room. He speaks openly about the years he has spent developing the ability to listen, read people, and make clients feel at ease. In his view, the strongest trainer is not always the one with the most complex vocabulary. It is often the one who can help the client feel understood and then get them to do the basics consistently.

That difference also explains why he has resisted turning the studio into something too large or impersonal. He has thought about growth, but not in a way that sacrifices the culture. His preferred future is not necessarily a chain of locations. It is a slightly larger version of the same standard: still local, still family-like, still personal, still affordable, still focused on the client experience.

For readers, that matters. 4Life Fitness Studio is not trying to become a big-box gym in miniature. Its authority comes from being something more specific: a local personal training studio where the method is clear, the culture is personal, and the coach understands that a client’s trust is earned session by session.

Why Local Readers Should Pay Attention

4Life Fitness Studio matters locally because it offers a serious alternative to two extremes: the impersonal commercial gym and the overly complicated online fitness world. Bowers’ model is not built around pressure sales or shiny promises. It is built around a smaller room, a more personal relationship, and a method that clients can understand.

That makes the studio especially relevant for people who want coaching without intimidation. A client can be new to fitness, returning after time away, preparing for competition, trying to lose weight, trying to gain strength, or simply looking for a place where the trainer remembers more than the next invoice. The studio’s promise is not perfection. It is a place to begin and a method to keep going.

Bowers’ strongest line may be his simplest: if a client works with him and follows the process, they can start over for the last time. Beneath that line is the real standard of 4Life Fitness Studio: not another restart, but a more sustainable way forward.

Closing
The Authority Is in the Simplicity

The strongest case for 4Life Fitness Studio is not that it has found a hidden shortcut. It is that Bowers has built a studio around the opposite idea. There is no need to pretend fitness is magic. There is training. There is nutrition. There is consistency. There is a coach who listens. There is a culture that helps people come back.

In a market crowded with promises, that kind of clarity has value. For Greer-area clients looking for a personal training studio that feels practical, local, human, and serious about results, 4Life Fitness Studio has built its authority around doing the basics well enough — and personally enough — that people can build a life around them.

The Standard of Membership / The First Step
Begin With the Conversation. Build the Next Season of Coaching From There.

For readers who feel connected to the 4Life Fitness Studio standard, the best next step is not to guess from the outside. It is to begin with a conversation, see the studio environment, and understand whether the training culture, coaching style, and simple strength-based approach feel like the right fit.

The studio’s public website invites prospective clients to book a free consultation. That first step gives a new client a clear way to explore the semi-private and 1-on-1 training model, ask questions, and begin the process without turning fitness into another complicated decision.

Visit 4Life Fitness Studio
Featured Fitness Authority
Justin Bowers of 4Life Fitness Studio
Justin Bowers
Owner / Personal Trainer / Training Lead
Founding Standard
Bowers’ authority comes from a simple coaching model: listen first, keep the training clear, adjust the work to the person, support nutrition in practical terms, and create a studio culture where clients feel comfortable enough to stay consistent.

Justin Bowers is the owner and training lead behind 4Life Fitness Studio in Greer, South Carolina. The training philosophy featured in this article reflects the model described in his interview: simple resistance training, individualized coaching, practical nutrition support, client comfort, and a no-frills standard designed to help people build strength, confidence, and long-term consistency.

Muscle & Authority Magazine™ Spotlight Note
This authority spotlight was developed to examine the coaching method, training standards, client experience, and local market position behind 4Life Fitness Studio. It is intended to help readers understand how the studio approaches strength, nutrition, confidence, and personal training — not merely where the studio is located.
Reader Briefing
Method, Access, and Local Position
A concise editorial briefing on what readers should understand about 4Life Fitness Studio, Justin Bowers’ training method, and the studio’s position in the Greer personal training market.
01 / Training Method
4Life Fitness Studio uses simple, structured resistance training supported by nutrition guidance, individualized variations, and a coaching style that prioritizes consistency over confusion.
02 / Local Difference
The studio differentiates itself through small-studio comfort, personal attention, family-like culture, long-term relationships, and a no-pressure alternative to impersonal big-box gym training.
03 / Next Step
Readers who want to explore the studio can begin through the official 4Life Fitness Studio website and book a free consultation to learn whether the semi-private or 1-on-1 training model is the right fit.
Briefing Takeaway
4Life Fitness Studio’s authority rests on a disciplined simplicity: clear strength training, practical nutrition, a comfortable local culture, and a coach who believes clients are more likely to change when they feel understood.
Editorial Standards & Source Transparency
Muscle & Authority Magazine™ prepares authority spotlight features from recorded interview material, business-provided source information, publicly available business details, and editorial analysis of the training method described by the featured coach or business owner. This article focuses on Justin Bowers’ stated coaching philosophy, workout approach, nutrition guidance, studio culture, and local positioning. Statements about client results are presented as interview-based editorial context, not guaranteed outcomes.
Sources
  • Recorded Fitness Living Magazine™ interview with Justin Bowers for 4Life Fitness Studio.
  • 4Life Fitness Studio official website: https://www.4lifefitnessstudio.com/
  • Business source material and images provided for the Muscle & Authority Magazine™ spotlight article.
  • Publicly available business information confirming 4Life Fitness Studio’s Greer, South Carolina location and personal training focus.
© 2026 Muscle & Authority Magazine™. All Rights Reserved.
Trainer Spotlights

0 Comments

Write A Comment

*
*
Please complete the captcha to submit your comment.
Related Posts All Posts
06.05.2026

Inside All In Training: A Myrtle Beach Strength Training Gym Built Around Strength, Confidence, and Consistency

In Myrtle Beach and Conway, South Carolina, Mike Tilberry has built All In Training around strength and conditioning, habit change, group accountability, personal coaching, and a family-first...

06.04.2026

A Costa Mesa Baseball Training Gym Built for Serious Athlete Development

 

05.27.2026

Cave Training: The Santa Clarita Strength System Built for Real-Life Fitness

In Santa Clarita, California, Nikki Adams has built Cave Training around functional strength, progressive programming, prenatal and postpartum-informed coaching, human performance, and a culture where

Terms of Service

Privacy Policy

Core Modal Title

Sorry, no results found

You Might Find These Articles Interesting

T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*