private String _getBreadcrumbLayoutURL(
      Layout selLayout, String selLayoutParam, PortletURL portletURL, ThemeDisplay themeDisplay)
      throws Exception {
    if (portletURL == null) {
      return PortalUtil.getLayoutURL(selLayout, themeDisplay);
    } else {
      portletURL.setParameter(selLayoutParam, String.valueOf(selLayout.getPlid()));

      if (selLayout.isTypeControlPanel()) {
        if (themeDisplay.getDoAsGroupId() > 0) {
          portletURL.setParameter("doAsGroupId", String.valueOf(themeDisplay.getDoAsGroupId()));
        }

        if (themeDisplay.getRefererPlid() != LayoutConstants.DEFAULT_PLID) {
          portletURL.setParameter("refererPlid", String.valueOf(themeDisplay.getRefererPlid()));
        }
      }

      return portletURL.toString();
    }
  }
  private void _buildLayoutBreadcrumb(
      Layout selLayout,
      String selLayoutParam,
      PortletURL portletURL,
      ThemeDisplay themeDisplay,
      boolean selectedLayout,
      StringBundler sb)
      throws Exception {
    String layoutURL = _getBreadcrumbLayoutURL(selLayout, selLayoutParam, portletURL, themeDisplay);
    String target = PortalUtil.getLayoutTarget(selLayout);

    StringBundler breadCrumbSB = new StringBundler(7);

    breadCrumbSB.append("<li><span><a href=\"");
    breadCrumbSB.append(layoutURL);
    breadCrumbSB.append("\" ");
    breadCrumbSB.append(target);
    breadCrumbSB.append(">");

    breadCrumbSB.append(HtmlUtil.escape(selLayout.getName(themeDisplay.getLocale())));

    breadCrumbSB.append("</a></span></li>");

    Layout layoutParent = null;
    long layoutParentId = selLayout.getParentLayoutId();

    if (layoutParentId != LayoutConstants.DEFAULT_PARENT_LAYOUT_ID) {
      layoutParent =
          LayoutLocalServiceUtil.getLayout(
              selLayout.getGroupId(), selLayout.isPrivateLayout(), layoutParentId);

      _buildLayoutBreadcrumb(layoutParent, selLayoutParam, portletURL, themeDisplay, false, sb);

      sb.append(breadCrumbSB.toString());
    } else {
      sb.append(breadCrumbSB.toString());
    }
  }
  public void _jspService(
      final javax.servlet.http.HttpServletRequest request,
      final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html; charset=UTF-8");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write('\n');
      out.write('\n');
      out.write('\n');
      out.write('\n');
      out.write('\n');
      out.write('\n');
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      //  liferay-theme:defineObjects
      com.liferay.taglib.theme.DefineObjectsTag _jspx_th_liferay_002dtheme_005fdefineObjects_005f0 =
          (com.liferay.taglib.theme.DefineObjectsTag)
              _005fjspx_005ftagPool_005fliferay_002dtheme_005fdefineObjects_005fnobody.get(
                  com.liferay.taglib.theme.DefineObjectsTag.class);
      _jspx_th_liferay_002dtheme_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
      _jspx_th_liferay_002dtheme_005fdefineObjects_005f0.setParent(null);
      int _jspx_eval_liferay_002dtheme_005fdefineObjects_005f0 =
          _jspx_th_liferay_002dtheme_005fdefineObjects_005f0.doStartTag();
      if (_jspx_th_liferay_002dtheme_005fdefineObjects_005f0.doEndTag()
          == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _005fjspx_005ftagPool_005fliferay_002dtheme_005fdefineObjects_005fnobody.reuse(
            _jspx_th_liferay_002dtheme_005fdefineObjects_005f0);
        return;
      }
      _005fjspx_005ftagPool_005fliferay_002dtheme_005fdefineObjects_005fnobody.reuse(
          _jspx_th_liferay_002dtheme_005fdefineObjects_005f0);
      com.liferay.portal.theme.ThemeDisplay themeDisplay = null;
      com.liferay.portal.model.Company company = null;
      com.liferay.portal.model.Account account = null;
      com.liferay.portal.model.User user = null;
      com.liferay.portal.model.User realUser = null;
      com.liferay.portal.model.Contact contact = null;
      com.liferay.portal.model.Layout layout = null;
      java.util.List layouts = null;
      java.lang.Long plid = null;
      com.liferay.portal.model.LayoutTypePortlet layoutTypePortlet = null;
      java.lang.Long scopeGroupId = null;
      com.liferay.portal.security.permission.PermissionChecker permissionChecker = null;
      java.util.Locale locale = null;
      java.util.TimeZone timeZone = null;
      com.liferay.portal.model.Theme theme = null;
      com.liferay.portal.model.ColorScheme colorScheme = null;
      com.liferay.portal.theme.PortletDisplay portletDisplay = null;
      java.lang.Long portletGroupId = null;
      themeDisplay =
          (com.liferay.portal.theme.ThemeDisplay) _jspx_page_context.findAttribute("themeDisplay");
      company = (com.liferay.portal.model.Company) _jspx_page_context.findAttribute("company");
      account = (com.liferay.portal.model.Account) _jspx_page_context.findAttribute("account");
      user = (com.liferay.portal.model.User) _jspx_page_context.findAttribute("user");
      realUser = (com.liferay.portal.model.User) _jspx_page_context.findAttribute("realUser");
      contact = (com.liferay.portal.model.Contact) _jspx_page_context.findAttribute("contact");
      layout = (com.liferay.portal.model.Layout) _jspx_page_context.findAttribute("layout");
      layouts = (java.util.List) _jspx_page_context.findAttribute("layouts");
      plid = (java.lang.Long) _jspx_page_context.findAttribute("plid");
      layoutTypePortlet =
          (com.liferay.portal.model.LayoutTypePortlet)
              _jspx_page_context.findAttribute("layoutTypePortlet");
      scopeGroupId = (java.lang.Long) _jspx_page_context.findAttribute("scopeGroupId");
      permissionChecker =
          (com.liferay.portal.security.permission.PermissionChecker)
              _jspx_page_context.findAttribute("permissionChecker");
      locale = (java.util.Locale) _jspx_page_context.findAttribute("locale");
      timeZone = (java.util.TimeZone) _jspx_page_context.findAttribute("timeZone");
      theme = (com.liferay.portal.model.Theme) _jspx_page_context.findAttribute("theme");
      colorScheme =
          (com.liferay.portal.model.ColorScheme) _jspx_page_context.findAttribute("colorScheme");
      portletDisplay =
          (com.liferay.portal.theme.PortletDisplay)
              _jspx_page_context.findAttribute("portletDisplay");
      portletGroupId = (java.lang.Long) _jspx_page_context.findAttribute("portletGroupId");
      out.write('\n');
      out.write('\n');
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");

      Layout selLayout = (Layout) request.getAttribute(WebKeys.SEL_LAYOUT);

      out.write('\n');
      out.write('\n');

      String url = StringPool.BLANK;
      String description = StringPool.BLANK;

      if (selLayout != null) {
        UnicodeProperties typeSettingsProperties = selLayout.getTypeSettingsProperties();

        url = typeSettingsProperties.getProperty("url", StringPool.BLANK);
        description = typeSettingsProperties.getProperty("description", StringPool.BLANK);
      }

      out.write('\n');
      out.write('\n');
      //  aui:input
      com.liferay.taglib.aui.InputTag _jspx_th_aui_005finput_005f0 =
          (com.liferay.taglib.aui.InputTag)
              _005fjspx_005ftagPool_005faui_005finput_0026_005fvalue_005ftype_005fname_005flabel_005fid_005fcssClass_005fnobody
                  .get(com.liferay.taglib.aui.InputTag.class);
      _jspx_th_aui_005finput_005f0.setPageContext(_jspx_page_context);
      _jspx_th_aui_005finput_005f0.setParent(null);
      // /html/portal/layout/edit/embedded.jsp(31,0) name = cssClass type = java.lang.String reqTime
      // = true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f0.setCssClass("lfr-input-text-container");
      // /html/portal/layout/edit/embedded.jsp(31,0) name = id type = java.lang.String reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f0.setId("urlEmbedded");
      // /html/portal/layout/edit/embedded.jsp(31,0) name = label type = java.lang.String reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f0.setLabel("url");
      // /html/portal/layout/edit/embedded.jsp(31,0) name = name type = java.lang.String reqTime =
      // true required = true fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f0.setName("TypeSettingsProperties--url--");
      // /html/portal/layout/edit/embedded.jsp(31,0) name = type type = java.lang.String reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f0.setType("text");
      // /html/portal/layout/edit/embedded.jsp(31,0) name = value type = java.lang.Object reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f0.setValue(url);
      int _jspx_eval_aui_005finput_005f0 = _jspx_th_aui_005finput_005f0.doStartTag();
      if (_jspx_th_aui_005finput_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _005fjspx_005ftagPool_005faui_005finput_0026_005fvalue_005ftype_005fname_005flabel_005fid_005fcssClass_005fnobody
            .reuse(_jspx_th_aui_005finput_005f0);
        return;
      }
      _005fjspx_005ftagPool_005faui_005finput_0026_005fvalue_005ftype_005fname_005flabel_005fid_005fcssClass_005fnobody
          .reuse(_jspx_th_aui_005finput_005f0);
      out.write('\n');
      out.write('\n');
      //  aui:input
      com.liferay.taglib.aui.InputTag _jspx_th_aui_005finput_005f1 =
          (com.liferay.taglib.aui.InputTag)
              _005fjspx_005ftagPool_005faui_005finput_0026_005fwrap_005fvalue_005ftype_005fname_005flabel_005fid_005fcssClass_005fnobody
                  .get(com.liferay.taglib.aui.InputTag.class);
      _jspx_th_aui_005finput_005f1.setPageContext(_jspx_page_context);
      _jspx_th_aui_005finput_005f1.setParent(null);
      // /html/portal/layout/edit/embedded.jsp(33,0) name = cssClass type = java.lang.String reqTime
      // = true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f1.setCssClass("layout-description");
      // /html/portal/layout/edit/embedded.jsp(33,0) name = id type = java.lang.String reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f1.setId("descriptionEmbedded");
      // /html/portal/layout/edit/embedded.jsp(33,0) name = label type = java.lang.String reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f1.setLabel("description");
      // /html/portal/layout/edit/embedded.jsp(33,0) name = name type = java.lang.String reqTime =
      // true required = true fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f1.setName("TypeSettingsProperties--description--");
      // /html/portal/layout/edit/embedded.jsp(33,0) name = type type = java.lang.String reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f1.setType("textarea");
      // /html/portal/layout/edit/embedded.jsp(33,0) name = value type = java.lang.Object reqTime =
      // true required = false fragment = false deferredValue = false expectedTypeName = null
      // deferredMethod = false methodSignature = null
      _jspx_th_aui_005finput_005f1.setValue(description);
      // /html/portal/layout/edit/embedded.jsp(33,0) null
      _jspx_th_aui_005finput_005f1.setDynamicAttribute(null, "wrap", "soft");
      int _jspx_eval_aui_005finput_005f1 = _jspx_th_aui_005finput_005f1.doStartTag();
      if (_jspx_th_aui_005finput_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _005fjspx_005ftagPool_005faui_005finput_0026_005fwrap_005fvalue_005ftype_005fname_005flabel_005fid_005fcssClass_005fnobody
            .reuse(_jspx_th_aui_005finput_005f1);
        return;
      }
      _005fjspx_005ftagPool_005faui_005finput_0026_005fwrap_005fvalue_005ftype_005fname_005flabel_005fid_005fcssClass_005fnobody
          .reuse(_jspx_th_aui_005finput_005f1);
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)) {
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            out.clearBuffer();
          } catch (java.io.IOException e) {
          }
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
  public void _jspService(HttpServletRequest request, HttpServletResponse response)
      throws java.io.IOException, ServletException {

    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html; charset=UTF-8");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      /**
       * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
       *
       * <p>This library is free software; you can redistribute it and/or modify it under the terms
       * of the GNU Lesser General Public License as published by the Free Software Foundation;
       * either version 2.1 of the License, or (at your option) any later version.
       *
       * <p>This library is distributed in the hope that it will be useful, but WITHOUT ANY
       * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       * PURPOSE. See the GNU Lesser General Public License for more details.
       */
      out.write('\n');
      out.write('\n');

      /**
       * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
       *
       * <p>This library is free software; you can redistribute it and/or modify it under the terms
       * of the GNU Lesser General Public License as published by the Free Software Foundation;
       * either version 2.1 of the License, or (at your option) any later version.
       *
       * <p>This library is distributed in the hope that it will be useful, but WITHOUT ANY
       * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       * PURPOSE. See the GNU Lesser General Public License for more details.
       */
      out.write('\n');
      out.write('\n');

      /**
       * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
       *
       * <p>This library is free software; you can redistribute it and/or modify it under the terms
       * of the GNU Lesser General Public License as published by the Free Software Foundation;
       * either version 2.1 of the License, or (at your option) any later version.
       *
       * <p>This library is distributed in the hope that it will be useful, but WITHOUT ANY
       * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       * PURPOSE. See the GNU Lesser General Public License for more details.
       */
      out.write('\n');
      out.write('\n');

      /**
       * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
       *
       * <p>This library is free software; you can redistribute it and/or modify it under the terms
       * of the GNU Lesser General Public License as published by the Free Software Foundation;
       * either version 2.1 of the License, or (at your option) any later version.
       *
       * <p>This library is distributed in the hope that it will be useful, but WITHOUT ANY
       * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       * PURPOSE. See the GNU Lesser General Public License for more details.
       */
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      //  liferay-theme:defineObjects
      com.liferay.taglib.theme.DefineObjectsTag _jspx_th_liferay_002dtheme_005fdefineObjects_005f0 =
          (com.liferay.taglib.theme.DefineObjectsTag)
              _005fjspx_005ftagPool_005fliferay_002dtheme_005fdefineObjects_005fnobody.get(
                  com.liferay.taglib.theme.DefineObjectsTag.class);
      _jspx_th_liferay_002dtheme_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
      _jspx_th_liferay_002dtheme_005fdefineObjects_005f0.setParent(null);
      int _jspx_eval_liferay_002dtheme_005fdefineObjects_005f0 =
          _jspx_th_liferay_002dtheme_005fdefineObjects_005f0.doStartTag();
      if (_jspx_th_liferay_002dtheme_005fdefineObjects_005f0.doEndTag()
          == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _005fjspx_005ftagPool_005fliferay_002dtheme_005fdefineObjects_005fnobody.reuse(
            _jspx_th_liferay_002dtheme_005fdefineObjects_005f0);
        return;
      }
      _005fjspx_005ftagPool_005fliferay_002dtheme_005fdefineObjects_005fnobody.reuse(
          _jspx_th_liferay_002dtheme_005fdefineObjects_005f0);
      com.liferay.portal.theme.ThemeDisplay themeDisplay = null;
      com.liferay.portal.model.Company company = null;
      com.liferay.portal.model.Account account = null;
      com.liferay.portal.model.User user = null;
      com.liferay.portal.model.User realUser = null;
      com.liferay.portal.model.Contact contact = null;
      com.liferay.portal.model.Layout layout = null;
      java.util.List layouts = null;
      java.lang.Long plid = null;
      com.liferay.portal.model.LayoutTypePortlet layoutTypePortlet = null;
      java.lang.Long scopeGroupId = null;
      com.liferay.portal.security.permission.PermissionChecker permissionChecker = null;
      java.util.Locale locale = null;
      java.util.TimeZone timeZone = null;
      com.liferay.portal.model.Theme theme = null;
      com.liferay.portal.model.ColorScheme colorScheme = null;
      com.liferay.portal.theme.PortletDisplay portletDisplay = null;
      java.lang.Long portletGroupId = null;
      themeDisplay =
          (com.liferay.portal.theme.ThemeDisplay) _jspx_page_context.findAttribute("themeDisplay");
      company = (com.liferay.portal.model.Company) _jspx_page_context.findAttribute("company");
      account = (com.liferay.portal.model.Account) _jspx_page_context.findAttribute("account");
      user = (com.liferay.portal.model.User) _jspx_page_context.findAttribute("user");
      realUser = (com.liferay.portal.model.User) _jspx_page_context.findAttribute("realUser");
      contact = (com.liferay.portal.model.Contact) _jspx_page_context.findAttribute("contact");
      layout = (com.liferay.portal.model.Layout) _jspx_page_context.findAttribute("layout");
      layouts = (java.util.List) _jspx_page_context.findAttribute("layouts");
      plid = (java.lang.Long) _jspx_page_context.findAttribute("plid");
      layoutTypePortlet =
          (com.liferay.portal.model.LayoutTypePortlet)
              _jspx_page_context.findAttribute("layoutTypePortlet");
      scopeGroupId = (java.lang.Long) _jspx_page_context.findAttribute("scopeGroupId");
      permissionChecker =
          (com.liferay.portal.security.permission.PermissionChecker)
              _jspx_page_context.findAttribute("permissionChecker");
      locale = (java.util.Locale) _jspx_page_context.findAttribute("locale");
      timeZone = (java.util.TimeZone) _jspx_page_context.findAttribute("timeZone");
      theme = (com.liferay.portal.model.Theme) _jspx_page_context.findAttribute("theme");
      colorScheme =
          (com.liferay.portal.model.ColorScheme) _jspx_page_context.findAttribute("colorScheme");
      portletDisplay =
          (com.liferay.portal.theme.PortletDisplay)
              _jspx_page_context.findAttribute("portletDisplay");
      portletGroupId = (java.lang.Long) _jspx_page_context.findAttribute("portletGroupId");
      out.write('\n');
      out.write('\n');

      /**
       * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
       *
       * <p>This library is free software; you can redistribute it and/or modify it under the terms
       * of the GNU Lesser General Public License as published by the Free Software Foundation;
       * either version 2.1 of the License, or (at your option) any later version.
       *
       * <p>This library is distributed in the hope that it will be useful, but WITHOUT ANY
       * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       * PURPOSE. See the GNU Lesser General Public License for more details.
       */
      out.write('\n');
      out.write('\n');

      PortletRequest portletRequest =
          (PortletRequest) request.getAttribute(JavaConstants.JAVAX_PORTLET_REQUEST);

      PortletResponse portletResponse =
          (PortletResponse) request.getAttribute(JavaConstants.JAVAX_PORTLET_RESPONSE);

      String namespace = StringPool.BLANK;

      boolean useNamespace =
          GetterUtil.getBoolean((String) request.getAttribute("aui:form:useNamespace"), true);

      if ((portletResponse != null) && useNamespace) {
        namespace = portletResponse.getNamespace();
      }

      String currentURL = PortalUtil.getCurrentURL(request);

      out.write('\n');
      out.write('\n');

      /**
       * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
       *
       * <p>This library is free software; you can redistribute it and/or modify it under the terms
       * of the GNU Lesser General Public License as published by the Free Software Foundation;
       * either version 2.1 of the License, or (at your option) any later version.
       *
       * <p>This library is distributed in the hope that it will be useful, but WITHOUT ANY
       * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       * PURPOSE. See the GNU Lesser General Public License for more details.
       */
      out.write('\n');
      out.write('\n');
      out.write('\n');
      out.write('\n');

      Layout selLayout = (Layout) request.getAttribute("liferay-ui:breadcrumb:selLayout");

      if (selLayout == null) {
        selLayout = layout;
      }

      String selLayoutParam = (String) request.getAttribute("liferay-ui:breadcrumb:selLayoutParam");
      PortletURL portletURL = (PortletURL) request.getAttribute("liferay-ui:breadcrumb:portletURL");

      int displayStyle =
          GetterUtil.getInteger(
              (String) request.getAttribute("liferay-ui:breadcrumb:displayStyle"));

      if (displayStyle == 0) {
        displayStyle = 1;
      }

      boolean showGuestGroup =
          GetterUtil.getBoolean(
              (String) request.getAttribute("liferay-ui:breadcrumb:showGuestGroup"));
      boolean showParentGroups =
          GetterUtil.getBoolean(
              (String) request.getAttribute("liferay-ui:breadcrumb:showParentGroups"));
      boolean showLayout =
          GetterUtil.getBoolean((String) request.getAttribute("liferay-ui:breadcrumb:showLayout"));
      boolean showPortletBreadcrumb =
          GetterUtil.getBoolean(
              (String) request.getAttribute("liferay-ui:breadcrumb:showPortletBreadcrumb"));

      out.write('\n');
      out.write('\n');
      out.write('\n');
      out.write('\n');

      StringBundler sb = new StringBundler();

      if (showGuestGroup) {
        _buildGuestGroupBreadcrumb(themeDisplay, sb);
      }

      if (showParentGroups) {
        _buildParentGroupsBreadcrumb(selLayout.getLayoutSet(), portletURL, themeDisplay, sb);
      }

      if (showLayout) {
        _buildLayoutBreadcrumb(selLayout, selLayoutParam, portletURL, themeDisplay, true, sb);
      }

      if (showPortletBreadcrumb) {
        _buildPortletBreadcrumb(request, sb);
      }

      String breadCrumbString = sb.toString();

      if (Validator.isNotNull(breadCrumbString)) {
        String listToken = "<li";
        int tokenLength = listToken.length();

        int pos = breadCrumbString.indexOf(listToken);

        breadCrumbString =
            StringUtil.insert(breadCrumbString, " class=\"first\"", pos + tokenLength);

        pos = breadCrumbString.lastIndexOf(listToken);

        breadCrumbString =
            StringUtil.insert(breadCrumbString, " class=\"last\"", pos + tokenLength);
      }

      out.write("\n");
      out.write("\n");
      out.write("<ul class=\"breadcrumbs lfr-component\">\n");
      out.write("\t");
      out.print(breadCrumbString);
      out.write("\n");
      out.write("</ul>\n");
      out.write("\n");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)) {
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            out.clearBuffer();
          } catch (java.io.IOException e) {
          }
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }