package org.apache.jsp.render;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import com.liferay.commerce.constants.CPDefinitionInventoryConstants;
import com.liferay.commerce.model.CPDefinitionInventory;
import com.liferay.commerce.product.catalog.CPCatalogEntry;
import com.liferay.commerce.product.catalog.CPMedia;
import com.liferay.commerce.product.catalog.CPSku;
import com.liferay.commerce.product.constants.CPWebKeys;
import com.liferay.commerce.product.content.constants.CPContentWebKeys;
import com.liferay.commerce.product.content.util.CPContentHelper;
import com.liferay.commerce.product.data.source.CPDataSourceResult;
import com.liferay.commerce.product.model.CPDefinitionSpecificationOptionValue;
import com.liferay.commerce.product.model.CPOptionCategory;
import com.liferay.commerce.product.model.CPSpecificationOption;
import com.liferay.commerce.service.CPDefinitionInventoryLocalServiceUtil;
import com.liferay.petra.string.StringPool;
import com.liferay.portal.kernel.language.LanguageUtil;
import com.liferay.portal.kernel.util.HtmlUtil;
import com.liferay.portal.kernel.util.PortalUtil;
import java.util.List;

public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();

  private static java.util.List<String> _jspx_dependants;

  static {
    _jspx_dependants = new java.util.ArrayList<String>(2);
    _jspx_dependants.add("/init.jsp");
    _jspx_dependants.add("/render/form_handlers/metal_js.jspf");
  }

  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_portlet_namespace_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_commerce$1ui_panel_title_elementClasses;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_liferay$1portlet_actionURL_var_portletName_name;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_portlet_param_value_name_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_aui_icon_url_target_markupView_image_cssClass_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_c_if_test;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_commerce$1ui_gallery_CPDefinitionId_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_commerce$1ui_add$1to$1cart_id_CPInstanceId_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_aui_script_require;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_c_otherwise;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_portlet_defineObjects_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_liferay$1theme_defineObjects_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_commerce$1ui_product$1subscription$1info_CPInstanceId_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_c_choose;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_liferay$1frontend_defineObjects_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_commerce$1ui_compare$1checkbox_componentId_CPDefinitionId_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_commerce$1ui_price_id_CPInstanceId_CPDefinitionId_nobody;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_c_when_test;
  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_liferay$1commerce_tier$1price_taglibQuantityInputId_CPInstanceId_nobody;

  private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;

  public java.util.List<String> getDependants() {
    return _jspx_dependants;
  }

  public void _jspInit() {
    _jspx_tagPool_portlet_namespace_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_commerce$1ui_panel_title_elementClasses = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_liferay$1portlet_actionURL_var_portletName_name = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_portlet_param_value_name_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_aui_icon_url_target_markupView_image_cssClass_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_c_if_test = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_commerce$1ui_gallery_CPDefinitionId_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_commerce$1ui_add$1to$1cart_id_CPInstanceId_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_aui_script_require = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_c_otherwise = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_portlet_defineObjects_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_liferay$1theme_defineObjects_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_commerce$1ui_product$1subscription$1info_CPInstanceId_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_c_choose = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_liferay$1frontend_defineObjects_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_commerce$1ui_compare$1checkbox_componentId_CPDefinitionId_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_commerce$1ui_price_id_CPInstanceId_CPDefinitionId_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_c_when_test = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _jspx_tagPool_liferay$1commerce_tier$1price_taglibQuantityInputId_CPInstanceId_nobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
  }

  public void _jspDestroy() {
    _jspx_tagPool_portlet_namespace_nobody.release();
    _jspx_tagPool_commerce$1ui_panel_title_elementClasses.release();
    _jspx_tagPool_liferay$1portlet_actionURL_var_portletName_name.release();
    _jspx_tagPool_portlet_param_value_name_nobody.release();
    _jspx_tagPool_aui_icon_url_target_markupView_image_cssClass_nobody.release();
    _jspx_tagPool_c_if_test.release();
    _jspx_tagPool_commerce$1ui_gallery_CPDefinitionId_nobody.release();
    _jspx_tagPool_commerce$1ui_add$1to$1cart_id_CPInstanceId_nobody.release();
    _jspx_tagPool_aui_script_require.release();
    _jspx_tagPool_c_otherwise.release();
    _jspx_tagPool_portlet_defineObjects_nobody.release();
    _jspx_tagPool_liferay$1theme_defineObjects_nobody.release();
    _jspx_tagPool_commerce$1ui_product$1subscription$1info_CPInstanceId_nobody.release();
    _jspx_tagPool_c_choose.release();
    _jspx_tagPool_liferay$1frontend_defineObjects_nobody.release();
    _jspx_tagPool_commerce$1ui_compare$1checkbox_componentId_CPDefinitionId_nobody.release();
    _jspx_tagPool_commerce$1ui_price_id_CPInstanceId_CPDefinitionId_nobody.release();
    _jspx_tagPool_c_when_test.release();
    _jspx_tagPool_liferay$1commerce_tier$1price_taglibQuantityInputId_CPInstanceId_nobody.release();
  }

  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");
      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;
      _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");

      out.write('\n');
      out.write('\n');
      out.write("\n\n\n\n\n\n\n\n\n\n\n\n");
      //  liferay-frontend:defineObjects
      com.liferay.frontend.taglib.servlet.taglib.DefineObjectsTag _jspx_th_liferay$1frontend_defineObjects_0 = (com.liferay.frontend.taglib.servlet.taglib.DefineObjectsTag) _jspx_tagPool_liferay$1frontend_defineObjects_nobody.get(com.liferay.frontend.taglib.servlet.taglib.DefineObjectsTag.class);
      _jspx_th_liferay$1frontend_defineObjects_0.setPageContext(_jspx_page_context);
      _jspx_th_liferay$1frontend_defineObjects_0.setParent(null);
      int _jspx_eval_liferay$1frontend_defineObjects_0 = _jspx_th_liferay$1frontend_defineObjects_0.doStartTag();
      if (_jspx_th_liferay$1frontend_defineObjects_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_liferay$1frontend_defineObjects_nobody.reuse(_jspx_th_liferay$1frontend_defineObjects_0);
        return;
      }
      _jspx_tagPool_liferay$1frontend_defineObjects_nobody.reuse(_jspx_th_liferay$1frontend_defineObjects_0);
      java.lang.String currentURL = null;
      javax.portlet.PortletURL currentURLObj = null;
      java.lang.String npmResolvedPackageName = null;
      java.util.ResourceBundle resourceBundle = null;
      javax.portlet.WindowState windowState = null;
      currentURL = (java.lang.String) _jspx_page_context.findAttribute("currentURL");
      currentURLObj = (javax.portlet.PortletURL) _jspx_page_context.findAttribute("currentURLObj");
      npmResolvedPackageName = (java.lang.String) _jspx_page_context.findAttribute("npmResolvedPackageName");
      resourceBundle = (java.util.ResourceBundle) _jspx_page_context.findAttribute("resourceBundle");
      windowState = (javax.portlet.WindowState) _jspx_page_context.findAttribute("windowState");
      out.write('\n');
      out.write('\n');
      //  liferay-theme:defineObjects
      com.liferay.taglib.theme.DefineObjectsTag _jspx_th_liferay$1theme_defineObjects_0 = (com.liferay.taglib.theme.DefineObjectsTag) _jspx_tagPool_liferay$1theme_defineObjects_nobody.get(com.liferay.taglib.theme.DefineObjectsTag.class);
      _jspx_th_liferay$1theme_defineObjects_0.setPageContext(_jspx_page_context);
      _jspx_th_liferay$1theme_defineObjects_0.setParent(null);
      int _jspx_eval_liferay$1theme_defineObjects_0 = _jspx_th_liferay$1theme_defineObjects_0.doStartTag();
      if (_jspx_th_liferay$1theme_defineObjects_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_liferay$1theme_defineObjects_nobody.reuse(_jspx_th_liferay$1theme_defineObjects_0);
        return;
      }
      _jspx_tagPool_liferay$1theme_defineObjects_nobody.reuse(_jspx_th_liferay$1theme_defineObjects_0);
      com.liferay.portal.kernel.theme.ThemeDisplay themeDisplay = null;
      com.liferay.portal.kernel.model.Company company = null;
      com.liferay.portal.kernel.model.Account account = null;
      com.liferay.portal.kernel.model.User user = null;
      com.liferay.portal.kernel.model.User realUser = null;
      com.liferay.portal.kernel.model.Contact contact = null;
      com.liferay.portal.kernel.model.Layout layout = null;
      java.util.List layouts = null;
      java.lang.Long plid = null;
      com.liferay.portal.kernel.model.LayoutTypePortlet layoutTypePortlet = null;
      java.lang.Long scopeGroupId = null;
      com.liferay.portal.kernel.security.permission.PermissionChecker permissionChecker = null;
      java.util.Locale locale = null;
      java.util.TimeZone timeZone = null;
      com.liferay.portal.kernel.model.Theme theme = null;
      com.liferay.portal.kernel.model.ColorScheme colorScheme = null;
      com.liferay.portal.kernel.theme.PortletDisplay portletDisplay = null;
      java.lang.Long portletGroupId = null;
      themeDisplay = (com.liferay.portal.kernel.theme.ThemeDisplay) _jspx_page_context.findAttribute("themeDisplay");
      company = (com.liferay.portal.kernel.model.Company) _jspx_page_context.findAttribute("company");
      account = (com.liferay.portal.kernel.model.Account) _jspx_page_context.findAttribute("account");
      user = (com.liferay.portal.kernel.model.User) _jspx_page_context.findAttribute("user");
      realUser = (com.liferay.portal.kernel.model.User) _jspx_page_context.findAttribute("realUser");
      contact = (com.liferay.portal.kernel.model.Contact) _jspx_page_context.findAttribute("contact");
      layout = (com.liferay.portal.kernel.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.kernel.model.LayoutTypePortlet) _jspx_page_context.findAttribute("layoutTypePortlet");
      scopeGroupId = (java.lang.Long) _jspx_page_context.findAttribute("scopeGroupId");
      permissionChecker = (com.liferay.portal.kernel.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.kernel.model.Theme) _jspx_page_context.findAttribute("theme");
      colorScheme = (com.liferay.portal.kernel.model.ColorScheme) _jspx_page_context.findAttribute("colorScheme");
      portletDisplay = (com.liferay.portal.kernel.theme.PortletDisplay) _jspx_page_context.findAttribute("portletDisplay");
      portletGroupId = (java.lang.Long) _jspx_page_context.findAttribute("portletGroupId");
      out.write('\n');
      out.write('\n');
      //  portlet:defineObjects
      com.liferay.taglib.portlet.DefineObjectsTag _jspx_th_portlet_defineObjects_0 = (com.liferay.taglib.portlet.DefineObjectsTag) _jspx_tagPool_portlet_defineObjects_nobody.get(com.liferay.taglib.portlet.DefineObjectsTag.class);
      _jspx_th_portlet_defineObjects_0.setPageContext(_jspx_page_context);
      _jspx_th_portlet_defineObjects_0.setParent(null);
      int _jspx_eval_portlet_defineObjects_0 = _jspx_th_portlet_defineObjects_0.doStartTag();
      if (_jspx_th_portlet_defineObjects_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_portlet_defineObjects_nobody.reuse(_jspx_th_portlet_defineObjects_0);
        return;
      }
      _jspx_tagPool_portlet_defineObjects_nobody.reuse(_jspx_th_portlet_defineObjects_0);
      javax.portlet.ActionRequest actionRequest = null;
      javax.portlet.ActionResponse actionResponse = null;
      javax.portlet.EventRequest eventRequest = null;
      javax.portlet.EventResponse eventResponse = null;
      com.liferay.portal.kernel.portlet.LiferayPortletRequest liferayPortletRequest = null;
      com.liferay.portal.kernel.portlet.LiferayPortletResponse liferayPortletResponse = null;
      javax.portlet.PortletConfig portletConfig = null;
      java.lang.String portletName = null;
      javax.portlet.PortletPreferences portletPreferences = null;
      java.util.Map portletPreferencesValues = null;
      javax.portlet.PortletSession portletSession = null;
      java.util.Map portletSessionScope = null;
      javax.portlet.RenderRequest renderRequest = null;
      javax.portlet.RenderResponse renderResponse = null;
      javax.portlet.ResourceRequest resourceRequest = null;
      javax.portlet.ResourceResponse resourceResponse = null;
      actionRequest = (javax.portlet.ActionRequest) _jspx_page_context.findAttribute("actionRequest");
      actionResponse = (javax.portlet.ActionResponse) _jspx_page_context.findAttribute("actionResponse");
      eventRequest = (javax.portlet.EventRequest) _jspx_page_context.findAttribute("eventRequest");
      eventResponse = (javax.portlet.EventResponse) _jspx_page_context.findAttribute("eventResponse");
      liferayPortletRequest = (com.liferay.portal.kernel.portlet.LiferayPortletRequest) _jspx_page_context.findAttribute("liferayPortletRequest");
      liferayPortletResponse = (com.liferay.portal.kernel.portlet.LiferayPortletResponse) _jspx_page_context.findAttribute("liferayPortletResponse");
      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
      portletName = (java.lang.String) _jspx_page_context.findAttribute("portletName");
      portletPreferences = (javax.portlet.PortletPreferences) _jspx_page_context.findAttribute("portletPreferences");
      portletPreferencesValues = (java.util.Map) _jspx_page_context.findAttribute("portletPreferencesValues");
      portletSession = (javax.portlet.PortletSession) _jspx_page_context.findAttribute("portletSession");
      portletSessionScope = (java.util.Map) _jspx_page_context.findAttribute("portletSessionScope");
      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
      resourceRequest = (javax.portlet.ResourceRequest) _jspx_page_context.findAttribute("resourceRequest");
      resourceResponse = (javax.portlet.ResourceResponse) _jspx_page_context.findAttribute("resourceResponse");
      out.write('\n');
      out.write('\n');

String languageId = LanguageUtil.getLanguageId(locale);

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

CPContentHelper cpContentHelper = (CPContentHelper)request.getAttribute(CPContentWebKeys.CP_CONTENT_HELPER);

CPCatalogEntry cpCatalogEntry = cpContentHelper.getCPCatalogEntry(request);

CPSku cpSku = cpContentHelper.getDefaultCPSku(cpCatalogEntry);

long cpDefinitionId = cpCatalogEntry.getCPDefinitionId();

String addToCartId = PortalUtil.generateRandomKey(request, "add-to-cart");

int maxOrderQuantity = CPDefinitionInventoryConstants.DEFAULT_MAX_ORDER_QUANTITY;
int minOrderQuantity = CPDefinitionInventoryConstants.DEFAULT_MIN_ORDER_QUANTITY;
int multipleOrderQuantity = CPDefinitionInventoryConstants.DEFAULT_MULTIPLE_ORDER_QUANTITY;

CPDefinitionInventory cpDefinitionInventory = CPDefinitionInventoryLocalServiceUtil.fetchCPDefinitionInventoryByCPDefinitionId(cpDefinitionId);

if (cpDefinitionInventory != null) {
	maxOrderQuantity = cpDefinitionInventory.getMaxOrderQuantity();
	minOrderQuantity = cpDefinitionInventory.getMinOrderQuantity();
	multipleOrderQuantity = cpDefinitionInventory.getMultipleOrderQuantity();
}

      out.write("\n\n<div class=\"mb-5 product-detail\" id=\"");
      if (_jspx_meth_portlet_namespace_0(_jspx_page_context))
        return;
      out.print( cpDefinitionId );
      out.write("ProductContent\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 col-xs-12\">\n\t\t\t");
      //  commerce-ui:gallery
      com.liferay.commerce.frontend.taglib.servlet.taglib.GalleryTag _jspx_th_commerce$1ui_gallery_0 = (com.liferay.commerce.frontend.taglib.servlet.taglib.GalleryTag) _jspx_tagPool_commerce$1ui_gallery_CPDefinitionId_nobody.get(com.liferay.commerce.frontend.taglib.servlet.taglib.GalleryTag.class);
      _jspx_th_commerce$1ui_gallery_0.setPageContext(_jspx_page_context);
      _jspx_th_commerce$1ui_gallery_0.setParent(null);
      _jspx_th_commerce$1ui_gallery_0.setCPDefinitionId( cpDefinitionId );
      int _jspx_eval_commerce$1ui_gallery_0 = _jspx_th_commerce$1ui_gallery_0.doStartTag();
      if (_jspx_th_commerce$1ui_gallery_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_commerce$1ui_gallery_CPDefinitionId_nobody.reuse(_jspx_th_commerce$1ui_gallery_0);
        return;
      }
      _jspx_tagPool_commerce$1ui_gallery_CPDefinitionId_nobody.reuse(_jspx_th_commerce$1ui_gallery_0);
      out.write("\n\t\t</div>\n\n\t\t<div class=\"col-md-6 col-xs-12\">\n\t\t\t<header class=\"product-header\">\n\t\t\t\t");
      //  commerce-ui:compare-checkbox
      com.liferay.commerce.frontend.taglib.servlet.taglib.CompareCheckboxTag _jspx_th_commerce$1ui_compare$1checkbox_0 = (com.liferay.commerce.frontend.taglib.servlet.taglib.CompareCheckboxTag) _jspx_tagPool_commerce$1ui_compare$1checkbox_componentId_CPDefinitionId_nobody.get(com.liferay.commerce.frontend.taglib.servlet.taglib.CompareCheckboxTag.class);
      _jspx_th_commerce$1ui_compare$1checkbox_0.setPageContext(_jspx_page_context);
      _jspx_th_commerce$1ui_compare$1checkbox_0.setParent(null);
      _jspx_th_commerce$1ui_compare$1checkbox_0.setComponentId("compareCheckbox");
      _jspx_th_commerce$1ui_compare$1checkbox_0.setCPDefinitionId( cpDefinitionId );
      int _jspx_eval_commerce$1ui_compare$1checkbox_0 = _jspx_th_commerce$1ui_compare$1checkbox_0.doStartTag();
      if (_jspx_th_commerce$1ui_compare$1checkbox_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_commerce$1ui_compare$1checkbox_componentId_CPDefinitionId_nobody.reuse(_jspx_th_commerce$1ui_compare$1checkbox_0);
        return;
      }
      _jspx_tagPool_commerce$1ui_compare$1checkbox_componentId_CPDefinitionId_nobody.reuse(_jspx_th_commerce$1ui_compare$1checkbox_0);
      out.write("\n\n\t\t\t\t<h3 class=\"product-header-tagline\" data-text-cp-instance-sku>\n\t\t\t\t\t");
      out.print( (cpSku == null) ? StringPool.BLANK : HtmlUtil.escape(cpSku.getSku()) );
      out.write("\n\t\t\t\t</h3>\n\n\t\t\t\t<h2 class=\"product-header-title\">");
      out.print( HtmlUtil.escape(cpCatalogEntry.getName()) );
      out.write("</h2>\n\n\t\t\t\t<h4 class=\"product-header-subtitle\" data-text-cp-instance-manufacturer-part-number>\n\t\t\t\t\t");
      out.print( (cpSku == null) ? StringPool.BLANK : HtmlUtil.escape(cpSku.getManufacturerPartNumber()) );
      out.write("\n\t\t\t\t</h4>\n\n\t\t\t\t<h4 class=\"product-header-subtitle\" data-text-cp-instance-gtin>\n\t\t\t\t\t");
      out.print( (cpSku == null) ? StringPool.BLANK : HtmlUtil.escape(cpSku.getGtin()) );
      out.write("\n\t\t\t\t</h4>\n\t\t\t</header>\n\n\t\t\t<p class=\"mt-3 procuct-description\">");
      out.print( cpCatalogEntry.getDescription() );
      out.write("</p>\n\n\t\t\t<h4 class=\"commerce-subscription-info mt-3 w-100\">\n\t\t\t\t");
      //  c:if
      org.apache.taglibs.standard.tag.rt.core.IfTag _jspx_th_c_if_0 = (org.apache.taglibs.standard.tag.rt.core.IfTag) _jspx_tagPool_c_if_test.get(org.apache.taglibs.standard.tag.rt.core.IfTag.class);
      _jspx_th_c_if_0.setPageContext(_jspx_page_context);
      _jspx_th_c_if_0.setParent(null);
      _jspx_th_c_if_0.setTest( cpSku != null );
      int _jspx_eval_c_if_0 = _jspx_th_c_if_0.doStartTag();
      if (_jspx_eval_c_if_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
        do {
          out.write("\n\t\t\t\t\t");
          //  commerce-ui:product-subscription-info
          com.liferay.commerce.frontend.taglib.servlet.taglib.ProductSubscriptionInfoTag _jspx_th_commerce$1ui_product$1subscription$1info_0 = (com.liferay.commerce.frontend.taglib.servlet.taglib.ProductSubscriptionInfoTag) _jspx_tagPool_commerce$1ui_product$1subscription$1info_CPInstanceId_nobody.get(com.liferay.commerce.frontend.taglib.servlet.taglib.ProductSubscriptionInfoTag.class);
          _jspx_th_commerce$1ui_product$1subscription$1info_0.setPageContext(_jspx_page_context);
          _jspx_th_commerce$1ui_product$1subscription$1info_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_c_if_0);
          _jspx_th_commerce$1ui_product$1subscription$1info_0.setCPInstanceId( cpSku.getCPInstanceId() );
          int _jspx_eval_commerce$1ui_product$1subscription$1info_0 = _jspx_th_commerce$1ui_product$1subscription$1info_0.doStartTag();
          if (_jspx_th_commerce$1ui_product$1subscription$1info_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
            _jspx_tagPool_commerce$1ui_product$1subscription$1info_CPInstanceId_nobody.reuse(_jspx_th_commerce$1ui_product$1subscription$1info_0);
            return;
          }
          _jspx_tagPool_commerce$1ui_product$1subscription$1info_CPInstanceId_nobody.reuse(_jspx_th_commerce$1ui_product$1subscription$1info_0);
          out.write("\n\t\t\t\t");
          int evalDoAfterBody = _jspx_th_c_if_0.doAfterBody();
          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
            break;
        } while (true);
      }
      if (_jspx_th_c_if_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_0);
        return;
      }
      _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_0);
      out.write("\n\n\t\t\t\t<span data-text-cp-instance-subscription-info></span>\n\t\t\t\t<span data-text-cp-instance-delivery-subscription-info></span>\n\t\t\t</h4>\n\n\t\t\t<div class=\"product-detail-options\">\n\t\t\t\t");
      out.print( cpContentHelper.renderOptions(renderRequest, renderResponse) );
      out.write("\n\n\t\t\t\t");
      out.write('\n');
      out.write('\n');
      //  liferay-portlet:actionURL
      com.liferay.taglib.portlet.ActionURLTag _jspx_th_liferay$1portlet_actionURL_0 = (com.liferay.taglib.portlet.ActionURLTag) _jspx_tagPool_liferay$1portlet_actionURL_var_portletName_name.get(com.liferay.taglib.portlet.ActionURLTag.class);
      _jspx_th_liferay$1portlet_actionURL_0.setPageContext(_jspx_page_context);
      _jspx_th_liferay$1portlet_actionURL_0.setParent(null);
      _jspx_th_liferay$1portlet_actionURL_0.setName("/cp_content_web/check_cp_instance");
      _jspx_th_liferay$1portlet_actionURL_0.setPortletName("com_liferay_commerce_product_content_web_internal_portlet_CPContentPortlet");
      _jspx_th_liferay$1portlet_actionURL_0.setVar("checkCPInstanceURL");
      int _jspx_eval_liferay$1portlet_actionURL_0 = _jspx_th_liferay$1portlet_actionURL_0.doStartTag();
      if (_jspx_eval_liferay$1portlet_actionURL_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
        out.write('\n');
        out.write('	');
        //  portlet:param
        com.liferay.taglib.util.ParamTag _jspx_th_portlet_param_0 = (com.liferay.taglib.util.ParamTag) _jspx_tagPool_portlet_param_value_name_nobody.get(com.liferay.taglib.util.ParamTag.class);
        _jspx_th_portlet_param_0.setPageContext(_jspx_page_context);
        _jspx_th_portlet_param_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_liferay$1portlet_actionURL_0);
        _jspx_th_portlet_param_0.setName("cpDefinitionId");
        _jspx_th_portlet_param_0.setValue( String.valueOf(cpDefinitionId) );
        int _jspx_eval_portlet_param_0 = _jspx_th_portlet_param_0.doStartTag();
        if (_jspx_th_portlet_param_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
          _jspx_tagPool_portlet_param_value_name_nobody.reuse(_jspx_th_portlet_param_0);
          return;
        }
        _jspx_tagPool_portlet_param_value_name_nobody.reuse(_jspx_th_portlet_param_0);
        out.write('\n');
        out.write('	');
        //  portlet:param
        com.liferay.taglib.util.ParamTag _jspx_th_portlet_param_1 = (com.liferay.taglib.util.ParamTag) _jspx_tagPool_portlet_param_value_name_nobody.get(com.liferay.taglib.util.ParamTag.class);
        _jspx_th_portlet_param_1.setPageContext(_jspx_page_context);
        _jspx_th_portlet_param_1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_liferay$1portlet_actionURL_0);
        _jspx_th_portlet_param_1.setName("groupId");
        _jspx_th_portlet_param_1.setValue( String.valueOf(themeDisplay.getScopeGroupId()) );
        int _jspx_eval_portlet_param_1 = _jspx_th_portlet_param_1.doStartTag();
        if (_jspx_th_portlet_param_1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
          _jspx_tagPool_portlet_param_value_name_nobody.reuse(_jspx_th_portlet_param_1);
          return;
        }
        _jspx_tagPool_portlet_param_value_name_nobody.reuse(_jspx_th_portlet_param_1);
        out.write('\n');
      }
      if (_jspx_th_liferay$1portlet_actionURL_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_liferay$1portlet_actionURL_var_portletName_name.reuse(_jspx_th_liferay$1portlet_actionURL_0);
        return;
      }
      _jspx_tagPool_liferay$1portlet_actionURL_var_portletName_name.reuse(_jspx_th_liferay$1portlet_actionURL_0);
      java.lang.String checkCPInstanceURL = null;
      checkCPInstanceURL = (java.lang.String) _jspx_page_context.findAttribute("checkCPInstanceURL");
      out.write('\n');
      out.write('\n');
      //  aui:script
      com.liferay.taglib.aui.ScriptTag _jspx_th_aui_script_0 = (com.liferay.taglib.aui.ScriptTag) _jspx_tagPool_aui_script_require.get(com.liferay.taglib.aui.ScriptTag.class);
      _jspx_th_aui_script_0.setPageContext(_jspx_page_context);
      _jspx_th_aui_script_0.setParent(null);
      _jspx_th_aui_script_0.setRequire("commerce-frontend-js/utilities/eventsDefinitions as eventsDefinitions, commerce-frontend-js/utilities/forms/DDMFormHandler as DDMFormHandler");
      int _jspx_eval_aui_script_0 = _jspx_th_aui_script_0.doStartTag();
      if (_jspx_eval_aui_script_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
        if (_jspx_eval_aui_script_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
          out = _jspx_page_context.pushBody();
          _jspx_th_aui_script_0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
          _jspx_th_aui_script_0.doInitBody();
        }
        do {
          out.write("\n\tvar cpDefinitionId = ");
          out.print( cpDefinitionId );
          out.write(";\n\tvar CP_CONTENT_WEB_PORTLET_KEY =\n\t\t'com_liferay_commerce_product_content_web_internal_portlet_CPContentPortlet';\n\n\tfunction initialiseOrderDetails() {\n\t\tvar addToCartButton = Liferay.component('");
          out.print( addToCartId );
          out.write("');\n\n\t\tif (addToCartButton) {\n\t\t\taddToCartButton.disabled = true;\n\t\t}\n\t}\n\n\tfunction updateAddToCart(cpInstance, formValues) {\n\t\tvar productExists = cpInstance.cpInstanceExist;\n\t\tvar cpInstanceId = cpInstance.cpInstanceId;\n\n\t\tLiferay.fire(\n\t\t\teventsDefinitions.CURRENT_PRODUCT_STATUS_CHANGED,\n\t\t\tproductExists\n\t\t\t\t? {\n\t\t\t\t\t\taddToCartId: '");
          out.print( addToCartId );
          out.write("',\n\t\t\t\t\t\tproductId: cpInstanceId,\n\t\t\t\t\t\toptions: JSON.stringify(formValues),\n\t\t\t\t\t\tquantity: 0,\n\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\tmaxQuantity: ");
          out.print( maxOrderQuantity );
          out.write(",\n\t\t\t\t\t\t\tminQuantity: ");
          out.print( minOrderQuantity );
          out.write(",\n\t\t\t\t\t\t\tmultipleQuantities: ");
          out.print( multipleOrderQuantity );
          out.write(",\n\t\t\t\t\t\t},\n\t\t\t\t  }\n\t\t\t\t: {\n\t\t\t\t\t\taddToCartId: '");
          out.print( addToCartId );
          out.write("',\n\t\t\t\t\t\tproductId: null,\n\t\t\t\t  }\n\t\t);\n\t}\n\n\tfunction updateGallery(formFields) {\n\t\tvar formData = new FormData();\n\t\tformData.append(\n\t\t\t'");
          if (_jspx_meth_portlet_namespace_1((javax.servlet.jsp.tagext.JspTag) _jspx_th_aui_script_0, _jspx_page_context))
            return;
          out.write("ddmFormValues',\n\t\t\tJSON.stringify(formFields)\n\t\t);\n\t\tformData.append('groupId', themeDisplay.getScopeGroupId());\n\n\t\tfetch(\n\t\t\t'");
          out.print( String.valueOf(cpContentHelper.getViewAttachmentURL(liferayPortletRequest, liferayPortletResponse)) );
          out.write("',\n\t\t\t{\n\t\t\t\tbody: formData,\n\t\t\t\tcredentials: 'include',\n\t\t\t\theaders: new Headers({'x-csrf-token': Liferay.authToken}),\n\t\t\t\tmethod: 'post',\n\t\t\t}\n\t\t)\n\t\t\t.then(function (response) {\n\t\t\t\treturn response.json();\n\t\t\t})\n\t\t\t.then(function (response) {\n\t\t\t\tvar images = response.map(function (image) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tthumbnailUrl: image.url,\n\t\t\t\t\t\turl: image.url,\n\t\t\t\t\t\ttitle: '',\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tLiferay.fire(eventsDefinitions.PRODUCT_OPTIONS_CHANGED, {\n\t\t\t\t\timages: images,\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tfunction updateProductFields(productData) {\n\t\tdocument.querySelector('[data-text-cp-instance-sku]').innerHTML =\n\t\t\tLiferay.Util.escape(productData.sku) || '';\n\t\tdocument.querySelector(\n\t\t\t'[data-text-cp-instance-manufacturer-part-number]'\n\t\t).innerHTML = Liferay.Util.escape(productData.manufacturerPartNumber) || '';\n\t\tdocument.querySelector('[data-text-cp-instance-gtin]').innerHTML =\n\t\t\tLiferay.Util.escape(productData.gtin) || '';\n\n\t\tvar availabilityEstimateContainer = document.querySelector(\n\t\t\t'[data-text-cp-instance-availability-estimate]'\n");
          out.write("\t\t);\n\t\tvar availabilityContainer = document.querySelector(\n\t\t\t'[data-text-cp-instance-availability]'\n\t\t);\n\t\tvar stockQuantityContainer = document.querySelector(\n\t\t\t'[data-text-cp-instance-stock-quantity]'\n\t\t);\n\n\t\tif (\n\t\t\tavailabilityEstimateContainer &&\n\t\t\tavailabilityContainer &&\n\t\t\tstockQuantityContainer\n\t\t) {\n\t\t\tavailabilityContainer.innerHTML = productData.availability || '';\n\t\t\tavailabilityEstimateContainer.innerHTML =\n\t\t\t\tproductData.availabilityEstimate || '';\n\t\t\tstockQuantityContainer.innerHTML = productData.stockQuantity || '';\n\t\t}\n\n\t\tdocument.querySelector(\n\t\t\t'[data-text-cp-instance-subscription-info]'\n\t\t).innerHTML = productData.subscriptionInfo || '';\n\t\tdocument.querySelector(\n\t\t\t'[data-text-cp-instance-delivery-subscription-info]'\n\t\t).innerHTML = productData.deliverySubscriptionInfo || '';\n\n\t\tLiferay.fire('priceUpdated', {\n\t\t\tdisplayDiscountLevels: productData.displayDiscountLevels,\n\t\t\tid: '");
          out.print( "productDetail_" + cpCatalogEntry.getCPDefinitionId() );
          out.write("',\n\t\t\tprices: productData.prices,\n\t\t});\n\t}\n\n\tfunction updateView(productsData) {\n\t\tvar cpInstance = productsData.cpInstance;\n\t\tvar formFields = productsData.formFields;\n\n\t\tupdateAddToCart(cpInstance, formFields);\n\t\tupdateGallery(formFields);\n\t\tupdateProductFields(cpInstance);\n\t}\n\n\tLiferay.componentReady('ProductOptions' + cpDefinitionId).then(function (\n\t\tDDMFormInstance\n\t) {\n\t\tinitialiseOrderDetails();\n\n\t\tif (DDMFormInstance) {\n\t\t\tvar FormHandler = DDMFormHandler.default;\n\n\t\t\tvar FormHandlerConfiguration = {\n\t\t\t\tactionURL: '");
          out.print( checkCPInstanceURL );
          out.write("',\n\t\t\t\taddToCartId: '");
          out.print( addToCartId );
          out.write("',\n\t\t\t\tcpDefinitionId: '");
          out.print( cpDefinitionId );
          out.write("',\n\t\t\t\tDDMFormInstance: DDMFormInstance,\n\t\t\t\tportletId: CP_CONTENT_WEB_PORTLET_KEY,\n\t\t\t};\n\n\t\t\tnew FormHandler(FormHandlerConfiguration);\n\n\t\t\tLiferay.on(eventsDefinitions.CP_INSTANCE_CHANGED, updateView);\n\t\t}\n\t});\n");
          int evalDoAfterBody = _jspx_th_aui_script_0.doAfterBody();
          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
            break;
        } while (true);
        if (_jspx_eval_aui_script_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE)
          out = _jspx_page_context.popBody();
      }
      if (_jspx_th_aui_script_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_aui_script_require.reuse(_jspx_th_aui_script_0);
        return;
      }
      _jspx_tagPool_aui_script_require.reuse(_jspx_th_aui_script_0);
      out.write("\n\t\t\t</div>\n\n\t\t\t");
      //  c:choose
      org.apache.taglibs.standard.tag.common.core.ChooseTag _jspx_th_c_choose_0 = (org.apache.taglibs.standard.tag.common.core.ChooseTag) _jspx_tagPool_c_choose.get(org.apache.taglibs.standard.tag.common.core.ChooseTag.class);
      _jspx_th_c_choose_0.setPageContext(_jspx_page_context);
      _jspx_th_c_choose_0.setParent(null);
      int _jspx_eval_c_choose_0 = _jspx_th_c_choose_0.doStartTag();
      if (_jspx_eval_c_choose_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
        do {
          out.write("\n\t\t\t\t");
          //  c:when
          org.apache.taglibs.standard.tag.rt.core.WhenTag _jspx_th_c_when_0 = (org.apache.taglibs.standard.tag.rt.core.WhenTag) _jspx_tagPool_c_when_test.get(org.apache.taglibs.standard.tag.rt.core.WhenTag.class);
          _jspx_th_c_when_0.setPageContext(_jspx_page_context);
          _jspx_th_c_when_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_c_choose_0);
          _jspx_th_c_when_0.setTest( cpSku != null );
          int _jspx_eval_c_when_0 = _jspx_th_c_when_0.doStartTag();
          if (_jspx_eval_c_when_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
            do {
              out.write("\n\t\t\t\t\t<div class=\"availability mt-1\">");
              out.print( cpContentHelper.getAvailabilityLabel(request) );
              out.write("</div>\n\t\t\t\t\t<div class=\"availability-estimate mt-1\">");
              out.print( cpContentHelper.getAvailabilityEstimateLabel(request) );
              out.write("</div>\n\t\t\t\t\t<div class=\"mt-1 stock-quantity\">");
              out.print( cpContentHelper.getStockQuantityLabel(request) );
              out.write("</div>\n\t\t\t\t");
              int evalDoAfterBody = _jspx_th_c_when_0.doAfterBody();
              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
                break;
            } while (true);
          }
          if (_jspx_th_c_when_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
            _jspx_tagPool_c_when_test.reuse(_jspx_th_c_when_0);
            return;
          }
          _jspx_tagPool_c_when_test.reuse(_jspx_th_c_when_0);
          out.write("\n\t\t\t\t");
          if (_jspx_meth_c_otherwise_0((javax.servlet.jsp.tagext.JspTag) _jspx_th_c_choose_0, _jspx_page_context))
            return;
          out.write("\n\t\t\t");
          int evalDoAfterBody = _jspx_th_c_choose_0.doAfterBody();
          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
            break;
        } while (true);
      }
      if (_jspx_th_c_choose_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_c_choose.reuse(_jspx_th_c_choose_0);
        return;
      }
      _jspx_tagPool_c_choose.reuse(_jspx_th_c_choose_0);
      out.write("\n\n\t\t\t<h2 class=\"commerce-price mt-3\">\n\t\t\t\t");
      //  commerce-ui:price
      com.liferay.commerce.frontend.taglib.servlet.taglib.PriceTag _jspx_th_commerce$1ui_price_0 = (com.liferay.commerce.frontend.taglib.servlet.taglib.PriceTag) _jspx_tagPool_commerce$1ui_price_id_CPInstanceId_CPDefinitionId_nobody.get(com.liferay.commerce.frontend.taglib.servlet.taglib.PriceTag.class);
      _jspx_th_commerce$1ui_price_0.setPageContext(_jspx_page_context);
      _jspx_th_commerce$1ui_price_0.setParent(null);
      _jspx_th_commerce$1ui_price_0.setCPDefinitionId( cpCatalogEntry.getCPDefinitionId() );
      _jspx_th_commerce$1ui_price_0.setCPInstanceId( (cpSku == null) ? 0 : cpSku.getCPInstanceId() );
      _jspx_th_commerce$1ui_price_0.setId( "productDetail_" + cpCatalogEntry.getCPDefinitionId() );
      int _jspx_eval_commerce$1ui_price_0 = _jspx_th_commerce$1ui_price_0.doStartTag();
      if (_jspx_th_commerce$1ui_price_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_commerce$1ui_price_id_CPInstanceId_CPDefinitionId_nobody.reuse(_jspx_th_commerce$1ui_price_0);
        return;
      }
      _jspx_tagPool_commerce$1ui_price_id_CPInstanceId_CPDefinitionId_nobody.reuse(_jspx_th_commerce$1ui_price_0);
      out.write("\n\t\t\t</h2>\n\n\t\t\t");
      //  c:if
      org.apache.taglibs.standard.tag.rt.core.IfTag _jspx_th_c_if_1 = (org.apache.taglibs.standard.tag.rt.core.IfTag) _jspx_tagPool_c_if_test.get(org.apache.taglibs.standard.tag.rt.core.IfTag.class);
      _jspx_th_c_if_1.setPageContext(_jspx_page_context);
      _jspx_th_c_if_1.setParent(null);
      _jspx_th_c_if_1.setTest( cpSku != null );
      int _jspx_eval_c_if_1 = _jspx_th_c_if_1.doStartTag();
      if (_jspx_eval_c_if_1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
        do {
          out.write("\n\t\t\t\t");
          //  liferay-commerce:tier-price
          com.liferay.commerce.taglib.servlet.taglib.TierPriceTag _jspx_th_liferay$1commerce_tier$1price_0 = (com.liferay.commerce.taglib.servlet.taglib.TierPriceTag) _jspx_tagPool_liferay$1commerce_tier$1price_taglibQuantityInputId_CPInstanceId_nobody.get(com.liferay.commerce.taglib.servlet.taglib.TierPriceTag.class);
          _jspx_th_liferay$1commerce_tier$1price_0.setPageContext(_jspx_page_context);
          _jspx_th_liferay$1commerce_tier$1price_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_c_if_1);
          _jspx_th_liferay$1commerce_tier$1price_0.setCPInstanceId( cpSku.getCPInstanceId() );
          _jspx_th_liferay$1commerce_tier$1price_0.setTaglibQuantityInputId( liferayPortletResponse.getNamespace() + cpDefinitionId + "Quantity" );
          int _jspx_eval_liferay$1commerce_tier$1price_0 = _jspx_th_liferay$1commerce_tier$1price_0.doStartTag();
          if (_jspx_th_liferay$1commerce_tier$1price_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
            _jspx_tagPool_liferay$1commerce_tier$1price_taglibQuantityInputId_CPInstanceId_nobody.reuse(_jspx_th_liferay$1commerce_tier$1price_0);
            return;
          }
          _jspx_tagPool_liferay$1commerce_tier$1price_taglibQuantityInputId_CPInstanceId_nobody.reuse(_jspx_th_liferay$1commerce_tier$1price_0);
          out.write("\n\t\t\t");
          int evalDoAfterBody = _jspx_th_c_if_1.doAfterBody();
          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
            break;
        } while (true);
      }
      if (_jspx_th_c_if_1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_1);
        return;
      }
      _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_1);
      out.write("\n\n\t\t\t<div class=\"mt-3 product-detail-actions\">\n\t\t\t\t<div class=\"autofit-col\">\n\t\t\t\t\t");
      //  commerce-ui:add-to-cart
      com.liferay.commerce.frontend.taglib.servlet.taglib.AddToCartTag _jspx_th_commerce$1ui_add$1to$1cart_0 = (com.liferay.commerce.frontend.taglib.servlet.taglib.AddToCartTag) _jspx_tagPool_commerce$1ui_add$1to$1cart_id_CPInstanceId_nobody.get(com.liferay.commerce.frontend.taglib.servlet.taglib.AddToCartTag.class);
      _jspx_th_commerce$1ui_add$1to$1cart_0.setPageContext(_jspx_page_context);
      _jspx_th_commerce$1ui_add$1to$1cart_0.setParent(null);
      _jspx_th_commerce$1ui_add$1to$1cart_0.setCPInstanceId( (cpSku == null) ? 0 : cpSku.getCPInstanceId() );
      _jspx_th_commerce$1ui_add$1to$1cart_0.setId( addToCartId );
      int _jspx_eval_commerce$1ui_add$1to$1cart_0 = _jspx_th_commerce$1ui_add$1to$1cart_0.doStartTag();
      if (_jspx_th_commerce$1ui_add$1to$1cart_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_commerce$1ui_add$1to$1cart_id_CPInstanceId_nobody.reuse(_jspx_th_commerce$1ui_add$1to$1cart_0);
        return;
      }
      _jspx_tagPool_commerce$1ui_add$1to$1cart_id_CPInstanceId_nobody.reuse(_jspx_th_commerce$1ui_add$1to$1cart_0);
      out.write("\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n");

List<CPDefinitionSpecificationOptionValue> cpDefinitionSpecificationOptionValues = cpContentHelper.getCPDefinitionSpecificationOptionValues(cpDefinitionId);
List<CPOptionCategory> cpOptionCategories = cpContentHelper.getCPOptionCategories(company.getCompanyId());
List<CPMedia> cpAttachmentFileEntries = cpContentHelper.getCPAttachmentFileEntries(cpDefinitionId, themeDisplay);

      out.write('\n');
      out.write('\n');
      //  c:if
      org.apache.taglibs.standard.tag.rt.core.IfTag _jspx_th_c_if_2 = (org.apache.taglibs.standard.tag.rt.core.IfTag) _jspx_tagPool_c_if_test.get(org.apache.taglibs.standard.tag.rt.core.IfTag.class);
      _jspx_th_c_if_2.setPageContext(_jspx_page_context);
      _jspx_th_c_if_2.setParent(null);
      _jspx_th_c_if_2.setTest( cpContentHelper.hasCPDefinitionSpecificationOptionValues(cpDefinitionId) );
      int _jspx_eval_c_if_2 = _jspx_th_c_if_2.doStartTag();
      if (_jspx_eval_c_if_2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
        do {
          out.write('\n');
          out.write('	');
          //  commerce-ui:panel
          com.liferay.commerce.frontend.taglib.servlet.taglib.PanelTag _jspx_th_commerce$1ui_panel_0 = (com.liferay.commerce.frontend.taglib.servlet.taglib.PanelTag) _jspx_tagPool_commerce$1ui_panel_title_elementClasses.get(com.liferay.commerce.frontend.taglib.servlet.taglib.PanelTag.class);
          _jspx_th_commerce$1ui_panel_0.setPageContext(_jspx_page_context);
          _jspx_th_commerce$1ui_panel_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_c_if_2);
          _jspx_th_commerce$1ui_panel_0.setElementClasses("flex-column mb-3");
          _jspx_th_commerce$1ui_panel_0.setTitle( LanguageUtil.get(resourceBundle, "specifications") );
          int _jspx_eval_commerce$1ui_panel_0 = _jspx_th_commerce$1ui_panel_0.doStartTag();
          if (_jspx_eval_commerce$1ui_panel_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
            out.write("\n\t\t<dl class=\"specification-list\">\n\n\t\t\t");

			for (CPDefinitionSpecificationOptionValue cpDefinitionSpecificationOptionValue : cpDefinitionSpecificationOptionValues) {
				CPSpecificationOption cpSpecificationOption = cpDefinitionSpecificationOptionValue.getCPSpecificationOption();
			
            out.write("\n\n\t\t\t\t<dt class=\"specification-term\">\n\t\t\t\t\t");
            out.print( HtmlUtil.escape(cpSpecificationOption.getTitle(languageId)) );
            out.write("\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"specification-desc\">\n\t\t\t\t\t");
            out.print( HtmlUtil.escape(cpDefinitionSpecificationOptionValue.getValue(languageId)) );
            out.write("\n\t\t\t\t</dd>\n\n\t\t\t");

			}

			for (CPOptionCategory cpOptionCategory : cpOptionCategories) {
				List<CPDefinitionSpecificationOptionValue> categorizedCPDefinitionSpecificationOptionValues = cpContentHelper.getCategorizedCPDefinitionSpecificationOptionValues(cpDefinitionId, cpOptionCategory.getCPOptionCategoryId());
			
            out.write("\n\n\t\t\t\t");
            //  c:if
            org.apache.taglibs.standard.tag.rt.core.IfTag _jspx_th_c_if_3 = (org.apache.taglibs.standard.tag.rt.core.IfTag) _jspx_tagPool_c_if_test.get(org.apache.taglibs.standard.tag.rt.core.IfTag.class);
            _jspx_th_c_if_3.setPageContext(_jspx_page_context);
            _jspx_th_c_if_3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_commerce$1ui_panel_0);
            _jspx_th_c_if_3.setTest( !categorizedCPDefinitionSpecificationOptionValues.isEmpty() );
            int _jspx_eval_c_if_3 = _jspx_th_c_if_3.doStartTag();
            if (_jspx_eval_c_if_3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
              do {
                out.write("\n\n\t\t\t\t\t");

					for (CPDefinitionSpecificationOptionValue cpDefinitionSpecificationOptionValue : categorizedCPDefinitionSpecificationOptionValues) {
						CPSpecificationOption cpSpecificationOption = cpDefinitionSpecificationOptionValue.getCPSpecificationOption();
					
                out.write("\n\n\t\t\t\t\t\t<dt class=\"specification-term\">\n\t\t\t\t\t\t\t");
                out.print( HtmlUtil.escape(cpSpecificationOption.getTitle(languageId)) );
                out.write("\n\t\t\t\t\t\t</dt>\n\t\t\t\t\t\t<dd class=\"specification-desc\">\n\t\t\t\t\t\t\t");
                out.print( HtmlUtil.escape(cpDefinitionSpecificationOptionValue.getValue(languageId)) );
                out.write("\n\t\t\t\t\t\t</dd>\n\n\t\t\t\t\t");

					}
					
                out.write("\n\n\t\t\t\t");
                int evalDoAfterBody = _jspx_th_c_if_3.doAfterBody();
                if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
                  break;
              } while (true);
            }
            if (_jspx_th_c_if_3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
              _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_3);
              return;
            }
            _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_3);
            out.write("\n\n\t\t\t");

			}
			
            out.write("\n\n\t\t</dl>\n\t");
          }
          if (_jspx_th_commerce$1ui_panel_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
            _jspx_tagPool_commerce$1ui_panel_title_elementClasses.reuse(_jspx_th_commerce$1ui_panel_0);
            return;
          }
          _jspx_tagPool_commerce$1ui_panel_title_elementClasses.reuse(_jspx_th_commerce$1ui_panel_0);
          out.write('\n');
          int evalDoAfterBody = _jspx_th_c_if_2.doAfterBody();
          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
            break;
        } while (true);
      }
      if (_jspx_th_c_if_2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_2);
        return;
      }
      _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_2);
      out.write('\n');
      out.write('\n');
      //  c:if
      org.apache.taglibs.standard.tag.rt.core.IfTag _jspx_th_c_if_4 = (org.apache.taglibs.standard.tag.rt.core.IfTag) _jspx_tagPool_c_if_test.get(org.apache.taglibs.standard.tag.rt.core.IfTag.class);
      _jspx_th_c_if_4.setPageContext(_jspx_page_context);
      _jspx_th_c_if_4.setParent(null);
      _jspx_th_c_if_4.setTest( !cpAttachmentFileEntries.isEmpty() );
      int _jspx_eval_c_if_4 = _jspx_th_c_if_4.doStartTag();
      if (_jspx_eval_c_if_4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
        do {
          out.write('\n');
          out.write('	');
          //  commerce-ui:panel
          com.liferay.commerce.frontend.taglib.servlet.taglib.PanelTag _jspx_th_commerce$1ui_panel_1 = (com.liferay.commerce.frontend.taglib.servlet.taglib.PanelTag) _jspx_tagPool_commerce$1ui_panel_title_elementClasses.get(com.liferay.commerce.frontend.taglib.servlet.taglib.PanelTag.class);
          _jspx_th_commerce$1ui_panel_1.setPageContext(_jspx_page_context);
          _jspx_th_commerce$1ui_panel_1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_c_if_4);
          _jspx_th_commerce$1ui_panel_1.setElementClasses("mb-3");
          _jspx_th_commerce$1ui_panel_1.setTitle( LanguageUtil.get(resourceBundle, "attachments") );
          int _jspx_eval_commerce$1ui_panel_1 = _jspx_th_commerce$1ui_panel_1.doStartTag();
          if (_jspx_eval_commerce$1ui_panel_1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
            out.write("\n\t\t<dl class=\"specification-list\">\n\n\t\t\t");

			int attachmentsCount = 0;

			for (CPMedia curCPAttachmentFileEntry : cpAttachmentFileEntries) {
			
            out.write("\n\n\t\t\t\t<dt class=\"specification-term\">\n\t\t\t\t\t");
            out.print( HtmlUtil.escape(curCPAttachmentFileEntry.getTitle()) );
            out.write("\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"specification-desc\">\n\t\t\t\t\t");
            //  aui:icon
            com.liferay.taglib.aui.IconTag _jspx_th_aui_icon_0 = (com.liferay.taglib.aui.IconTag) _jspx_tagPool_aui_icon_url_target_markupView_image_cssClass_nobody.get(com.liferay.taglib.aui.IconTag.class);
            _jspx_th_aui_icon_0.setPageContext(_jspx_page_context);
            _jspx_th_aui_icon_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_commerce$1ui_panel_1);
            _jspx_th_aui_icon_0.setCssClass("icon-monospaced");
            _jspx_th_aui_icon_0.setImage("download");
            _jspx_th_aui_icon_0.setMarkupView("lexicon");
            _jspx_th_aui_icon_0.setTarget("_blank");
            _jspx_th_aui_icon_0.setUrl( curCPAttachmentFileEntry.getDownloadUrl() );
            int _jspx_eval_aui_icon_0 = _jspx_th_aui_icon_0.doStartTag();
            if (_jspx_th_aui_icon_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
              _jspx_tagPool_aui_icon_url_target_markupView_image_cssClass_nobody.reuse(_jspx_th_aui_icon_0);
              return;
            }
            _jspx_tagPool_aui_icon_url_target_markupView_image_cssClass_nobody.reuse(_jspx_th_aui_icon_0);
            out.write("\n\t\t\t\t</dd>\n\n\t\t\t\t");

				attachmentsCount = attachmentsCount + 1;

				if (attachmentsCount >= 2) {
				
            out.write("\n\n\t\t\t\t\t<dt class=\"specification-empty specification-term\"></dt>\n\t\t\t\t\t<dd class=\"specification-desc specification-empty\"></dd>\n\n\t\t\t");

					attachmentsCount = 0;
				}
			}
			
            out.write("\n\n\t\t</dl>\n\t");
          }
          if (_jspx_th_commerce$1ui_panel_1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
            _jspx_tagPool_commerce$1ui_panel_title_elementClasses.reuse(_jspx_th_commerce$1ui_panel_1);
            return;
          }
          _jspx_tagPool_commerce$1ui_panel_title_elementClasses.reuse(_jspx_th_commerce$1ui_panel_1);
          out.write('\n');
          int evalDoAfterBody = _jspx_th_c_if_4.doAfterBody();
          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
            break;
        } while (true);
      }
      if (_jspx_th_c_if_4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
        _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_4);
        return;
      }
      _jspx_tagPool_c_if_test.reuse(_jspx_th_c_if_4);
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          out.clearBuffer();
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }

  private boolean _jspx_meth_portlet_namespace_0(PageContext _jspx_page_context)
          throws Throwable {
    PageContext pageContext = _jspx_page_context;
    JspWriter out = _jspx_page_context.getOut();
    //  portlet:namespace
    com.liferay.taglib.portlet.NamespaceTag _jspx_th_portlet_namespace_0 = (com.liferay.taglib.portlet.NamespaceTag) _jspx_tagPool_portlet_namespace_nobody.get(com.liferay.taglib.portlet.NamespaceTag.class);
    _jspx_th_portlet_namespace_0.setPageContext(_jspx_page_context);
    _jspx_th_portlet_namespace_0.setParent(null);
    int _jspx_eval_portlet_namespace_0 = _jspx_th_portlet_namespace_0.doStartTag();
    if (_jspx_th_portlet_namespace_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _jspx_tagPool_portlet_namespace_nobody.reuse(_jspx_th_portlet_namespace_0);
      return true;
    }
    _jspx_tagPool_portlet_namespace_nobody.reuse(_jspx_th_portlet_namespace_0);
    return false;
  }

  private boolean _jspx_meth_portlet_namespace_1(javax.servlet.jsp.tagext.JspTag _jspx_th_aui_script_0, PageContext _jspx_page_context)
          throws Throwable {
    PageContext pageContext = _jspx_page_context;
    JspWriter out = _jspx_page_context.getOut();
    //  portlet:namespace
    com.liferay.taglib.portlet.NamespaceTag _jspx_th_portlet_namespace_1 = (com.liferay.taglib.portlet.NamespaceTag) _jspx_tagPool_portlet_namespace_nobody.get(com.liferay.taglib.portlet.NamespaceTag.class);
    _jspx_th_portlet_namespace_1.setPageContext(_jspx_page_context);
    _jspx_th_portlet_namespace_1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_aui_script_0);
    int _jspx_eval_portlet_namespace_1 = _jspx_th_portlet_namespace_1.doStartTag();
    if (_jspx_th_portlet_namespace_1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _jspx_tagPool_portlet_namespace_nobody.reuse(_jspx_th_portlet_namespace_1);
      return true;
    }
    _jspx_tagPool_portlet_namespace_nobody.reuse(_jspx_th_portlet_namespace_1);
    return false;
  }

  private boolean _jspx_meth_c_otherwise_0(javax.servlet.jsp.tagext.JspTag _jspx_th_c_choose_0, PageContext _jspx_page_context)
          throws Throwable {
    PageContext pageContext = _jspx_page_context;
    JspWriter out = _jspx_page_context.getOut();
    //  c:otherwise
    org.apache.taglibs.standard.tag.common.core.OtherwiseTag _jspx_th_c_otherwise_0 = (org.apache.taglibs.standard.tag.common.core.OtherwiseTag) _jspx_tagPool_c_otherwise.get(org.apache.taglibs.standard.tag.common.core.OtherwiseTag.class);
    _jspx_th_c_otherwise_0.setPageContext(_jspx_page_context);
    _jspx_th_c_otherwise_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_c_choose_0);
    int _jspx_eval_c_otherwise_0 = _jspx_th_c_otherwise_0.doStartTag();
    if (_jspx_eval_c_otherwise_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
      do {
        out.write("\n\t\t\t\t\t<div class=\"availability mt-1\" data-text-cp-instance-availability></div>\n\t\t\t\t\t<div class=\"availability-estimate mt-1\" data-text-cp-instance-availability-estimate></div>\n\t\t\t\t\t<div class=\"stock-quantity mt-1\" data-text-cp-instance-stock-quantity></div>\n\t\t\t\t");
        int evalDoAfterBody = _jspx_th_c_otherwise_0.doAfterBody();
        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
          break;
      } while (true);
    }
    if (_jspx_th_c_otherwise_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _jspx_tagPool_c_otherwise.reuse(_jspx_th_c_otherwise_0);
      return true;
    }
    _jspx_tagPool_c_otherwise.reuse(_jspx_th_c_otherwise_0);
    return false;
  }
}
