(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{"2ggT":function(e,t,a){"use strict";a.r(t);var l=a("q1tI"),n=a.n(l),r=a("NSxh"),c=a("Rb52"),i=a("dmsj");a("+5i3");t.default=function(e){var t=e.data.markdownRemark,a=t.frontmatter,l=a.title,s=a.description,o=t.html,m=e.pageContext.langKey;return n.a.createElement("div",{className:"eclipse-jkube"},n.a.createElement(i.a,{title:l,description:s,lang:m}),n.a.createElement(c.a,{lang:m}),n.a.createElement("div",{className:"eclipse-jkube__main"},n.a.createElement("div",{className:"eclipse-jkube__content",dangerouslySetInnerHTML:{__html:o}})),n.a.createElement(r.a,{lang:m}))}},NSxh:function(e,t,a){"use strict";var l=a("q1tI"),n=a.n(l),r=a("Wbzz"),c=a("kiXb"),i=a("5748"),s=a.n(i),o=function(e){var t=e.href,a=e.title;return n.a.createElement("a",{href:t,target:"_blank",rel:"nofollow noopener noreferrer"},a)};t.a=function(e){var t=e.lang,a=Object(c.resolveI18nPath)(t);return n.a.createElement("div",{className:"eclipse-jkube-footer"},n.a.createElement("div",{className:"eclipse-jkube-footer__logo-jkube"},n.a.createElement(r.a,{to:a("/")},n.a.createElement("img",{className:"eclipse-jkube-footer__logo-jkube-image",src:s.a,alt:"JKube"})),n.a.createElement("span",{className:"eclipse-jkube-footer__logo-jkube-tagline"},"Cloud-Native Java Applications without a hassle")),n.a.createElement("div",{className:"eclipse-jkube-footer__links"},n.a.createElement("ul",{className:"eclipse-jkube-footer__links-list"},n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/docs#getting-started")},"Get Started")),n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/docs")},"Docs")),n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/quickstarts")},"Quickstarts")),n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/docs#katacoda-courses")},"Katacoda Courses")),n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/demos")},"Demos"))),n.a.createElement("ul",{className:"eclipse-jkube-footer__links-list"},n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/community")},"Community")),n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/community#planning-and-meetings")},"Get Involved")),n.a.createElement("li",null,n.a.createElement(r.a,{to:a("/contributing")},"Contributing"))),n.a.createElement("ul",{className:"eclipse-jkube-footer__links-list"},n.a.createElement("li",null,n.a.createElement(o,{href:"https://www.eclipse.org",title:"Eclipse Foundation"})),n.a.createElement("li",null,n.a.createElement(o,{href:"https://www.eclipse.org/legal/privacy.php",title:"Privacy Policy"})),n.a.createElement("li",null,n.a.createElement(o,{href:"https://www.eclipse.org/legal/termsofuse.php",title:"Terms of Use"})),n.a.createElement("li",null,n.a.createElement(o,{href:"https://www.eclipse.org/legal/copyright.php",title:"Copyright Agent"})),n.a.createElement("li",null,n.a.createElement(o,{href:"https://www.eclipse.org/legal",title:"Legal Resources"})))),n.a.createElement("div",{className:"eclipse-jkube-footer__copyright"},"Copyright © Eclipse Foundation 2020"))}}}]);
//# sourceMappingURL=component---src-templates-main-jsx-8853cf342e1cf1bead5c.js.map