webpackJsonp([10],{"6mrF":function(a,e,n){"use strict";var r=function(){var a=this,e=a.$createElement,n=a._self._c||e;return n("header",{staticClass:"nav-header"},[n("div",{staticClass:"container"},[n("nav",{staticClass:"navbar"},[n("div",{staticClass:"navbar-menu",class:{"is-active":a.isMenuActive},attrs:{id:"navMenu"},on:{click:function(e){a.isMenuActive=!1}}},[n("div",{staticClass:"navbar-start"},[a._t("default")],2)]),n("div",{staticClass:"navbar-brand"},[n("div",{staticClass:"navbar-burger burger",class:{"is-active":a.isMenuActive},on:{click:function(e){a.isMenuActive=!a.isMenuActive}}},[n("span"),n("span"),n("span")]),n("nuxt-link",{staticClass:"navbar-item",attrs:{to:"/"}},[n("img",{attrs:{src:"logo.svg",alt:a.brand}})])],1)])])])};r._withStripped=!0;var t={render:r,staticRenderFns:[]};e.a=t},BoYc:function(a,e,n){var r=n("DGmj");"string"==typeof r&&(r=[[a.i,r,""]]),r.locals&&(a.exports=r.locals);n("rjj0")("d5b0f30e",r,!1)},DGmj:function(a,e,n){(a.exports=n("YHym")(!1)).push([a.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link:hover,header.nav-header nav.navbar .navbar-link a:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}",""])},Ma2J:function(a,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("qp5c"),t=n("STrE"),i=n("VU/8")(r.a,t.a,!1,null,null,null);i.options.__file="layouts\\default.vue",e.default=i.exports},STrE:function(a,e,n){"use strict";var r=function(){var a=this.$createElement,e=this._self._c||a;return e("div",[e("navbar",[e("nuxt-link",{staticClass:"navbar-item",attrs:{exact:"","active-class":"is-active",to:"/"}},[this._v("\n      Home\n    ")]),e("nuxt-link",{staticClass:"navbar-item",attrs:{"active-class":"is-active",to:"/proposal"}},[this._v("\n      Proposal\n    ")]),e("nuxt-link",{staticClass:"navbar-item",attrs:{"active-class":"is-active",to:"/specification"}},[this._v("\n      Specification \n    ")]),e("nuxt-link",{staticClass:"navbar-item",attrs:{"active-class":"is-active",to:"/blog"}},[this._v("\n      Blog Archives\n    ")]),e("nuxt-link",{staticClass:"navbar-item",attrs:{"active-class":"is-active",to:"/faq"}},[this._v("\n      FAQ\n    ")])],1),e("div",{staticClass:"container"},[e("div",{staticClass:"header clearfix"}),e("nuxt")],1),this._m(0)],1)};r._withStripped=!0;var t={render:r,staticRenderFns:[function(){var a=this.$createElement,e=this._self._c||a;return e("footer",{staticClass:"footer"},[e("div",{staticClass:"container"},[e("div",{staticClass:"content has-text-centered"},[e("ul",[e("span",[e("a",{attrs:{href:"http://www.eclipse.org/legal/privacy.php"}},[this._v("Privacy Policy")])]),e("span",[e("a",{attrs:{href:"http://www.eclipse.org/legal/termsofuse.php"}},[this._v("Terms of Use")])]),e("span",[e("a",{attrs:{href:"http://www.eclipse.org/legal/copyright.php"}},[this._v("Copyright Agent")])]),e("span",[e("a",{attrs:{href:"https://eclipse.org/security/ "}},[this._v("Security reports")])]),e("span",[e("a",{attrs:{href:"http://www.eclipse.org/legal/"}},[this._v("Legal")])])])])])])}]};e.a=t},qp5c:function(a,e,n){"use strict";var r=n("yHEx");e.a={components:{navbar:r.a}}},vaaU:function(a,e,n){"use strict";(function(a){e.a={data:function(){return{brand:a.env.BRAND,isMenuActive:!1}},components:{}}}).call(e,n("W2nU"))},yHEx:function(a,e,n){"use strict";var r=n("vaaU"),t=n("6mrF"),i=!1;var s=function(a){i||n("BoYc")},v=n("VU/8")(r.a,t.a,!1,s,null,null);v.options.__file="components\\navbar.vue",e.a=v.exports}});