Changeset 3061297
- Timestamp:
- 03/29/2024 06:02:26 PM (2 years ago)
- Location:
- prodigy-commerce
- Files:
-
- 16 edited
- 1 copied
-
tags/2.9.2 (copied) (copied from prodigy-commerce/trunk)
-
tags/2.9.2/README.txt (modified) (2 diffs)
-
tags/2.9.2/assets/templates/js/public.js (modified) (5 diffs)
-
tags/2.9.2/assets/templates/js/public.js.map (modified) (1 diff)
-
tags/2.9.2/includes/class-prodigy-product-attributes.php (modified) (2 diffs)
-
tags/2.9.2/includes/class-prodigy-product.php (modified) (1 diff)
-
tags/2.9.2/prodigy-commerce.php (modified) (2 diffs)
-
tags/2.9.2/templates/partials/single-product/swatch-variants.php (modified) (2 diffs)
-
tags/2.9.2/templates/partials/single-product/variants.php (modified) (4 diffs)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/assets/templates/js/public.js (modified) (5 diffs)
-
trunk/assets/templates/js/public.js.map (modified) (1 diff)
-
trunk/includes/class-prodigy-product-attributes.php (modified) (2 diffs)
-
trunk/includes/class-prodigy-product.php (modified) (1 diff)
-
trunk/prodigy-commerce.php (modified) (2 diffs)
-
trunk/templates/partials/single-product/swatch-variants.php (modified) (2 diffs)
-
trunk/templates/partials/single-product/variants.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
prodigy-commerce/tags/2.9.2/README.txt
r3054534 r3061297 4 4 Requires at least: 4.6 5 5 Tested up to: 6.4 6 Stable tag: 2.9. 16 Stable tag: 2.9.2 7 7 Requires PHP: 7.0 8 8 License: GPLv2 or later … … 183 183 == Changelog == 184 184 185 = 2.9.2 - 2024-03-29 = 186 * Fix attribute name showing on Product page 187 185 188 = 2.9.1 - 2024-03-19 = 186 189 * Improve filter behavior on Shop page -
prodigy-commerce/tags/2.9.2/assets/templates/js/public.js
r3054534 r3061297 2301 2301 price = prodigy_price_format(price); 2302 2302 } 2303 if (parseFloat(price) > 0) { 2304 price = '$' + price; 2305 } 2303 2306 let sale_price_info = $(".sale-price-container"); 2304 2307 let regular_price_info = $(".regular-price-container"); … … 2312 2315 sale_price_info.hide(); 2313 2316 } else { 2314 main_price_js.text('$' + price); 2315 main_currency_js.show(); 2317 main_price_js.text(price); 2316 2318 regular_price_info.show(); 2317 2319 sale_price_info.show(); … … 2321 2323 sale_price_info.show(); 2322 2324 if (typeof price !== 'undefined' && price) { 2323 sale_price_value_block.text( '$' +price);2325 sale_price_value_block.text(price); 2324 2326 regular_price_info.hide(); 2325 2327 } … … 2327 2329 if (price && typeof price !== "undefined" && sale_price !== null && sale_price.length > 0) { 2328 2330 if (prodigy_price_format(sale_price) !== prodigy_price_format(price)) { 2329 regular_price_value_block.text( '$' +price);2331 regular_price_value_block.text(price); 2330 2332 } 2331 2333 sale_price_value_block.text(prodigy_price_format(sale_price)); … … 2333 2335 sale_price_info.show(); 2334 2336 } else { 2335 sale_price_value_block.text( '$' +price);2337 sale_price_value_block.text(price); 2336 2338 regular_price_info.hide(); 2337 2339 } -
prodigy-commerce/tags/2.9.2/assets/templates/js/public.js.map
r3054534 r3061297 1 {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./web/templates/js/navigation.js","webpack:///./web/templates/js/scripts/analytics.js","webpack:///./web/templates/js/scripts/cart-load.js","webpack:///./web/templates/js/scripts/filter.js","webpack:///./web/templates/js/scripts/product-bulk.js","webpack:///./web/templates/js/scripts/product-page.js","webpack:///./web/templates/js/scripts/product-quick-view.js","webpack:///./web/templates/js/scripts/shop-page.js","webpack:///./web/templates/js/skip-link-focus-fix.js"],"names":["container","button","menu","links","i","len","document","getElementById","getElementsByTagName","style","display","setAttribute","className","indexOf","onclick","replace","length","addEventListener","toggleFocus","self","tagName","toLowerCase","parentElement","touchStartFn","parentLink","querySelectorAll","window","e","menuItem","parentNode","classList","contains","preventDefault","children","remove","add","$","settings","pg_google_track_id","on","value","text","trim","gtag","item","push","data","quantity","val","items","each","key","find","cart_items","jQuery","prodigy_remote_cart","init","get_remote_cart","post_data","action","ajax","type","dataType","url","ajax_url","success","response","check_empty_cart_load_remote","removeClass","html","cart","is_show_cross_products","show","cross_products","cross_slider_init","not","slick","prevArrow","nextArrow","slidesToShow","slidesToScroll","dots","arrows","mobileFirst","variableWidth","responsive","breakpoint","hide","is_deleted_product","prodigyRemoteCart","ready","filter_handler","set_sortable","reset_filters","clear_params","apply_filters","set_price_filter","set_sidebar","close_active_filter","remove_filter_storage","set_filters","is_elementor_template","set_elementor_filter_mode","set_custom_select","get_shop_page_id","urlParams","URLSearchParams","location","search","get","set_number_of_columns_by_screen_resolution","windowWidth","screen","width","default_number_of_columns","customizer_product_columns","number_of_columns","addClass","is_show_active_filter","click","toggleClass","is","attribute_name","attribute_value","load_filters","localStorage","removeItem","element","closest","attribute_id","unset_filter","get_catalog_filters","build_query","get_catalog_products","filterToggleBtnHandler","set_loader","attr","remove_loader","price_max","prodigyGetUrlParam","price_min","price_query","setItem","clear_url_params","href","origin","split","filter","getItem","params","JSON","parse","filter_query","param","total_query","history","pushState","pathname","category_name","category_slug","current_url","query","widget_id","category","category_type","ajaxurl","cache","pagination_list","empty_products","products","replaceWith","no_results","sort","first","before","active","filters","price_filter","price_filter_container","price","slider_widget","min_price","max_price","query_min_price","query_max_price","styler","onFormStyled","navigator","platform","newParams","newUrl","prodigyInsertUrlParams","reload","undefined","event","stopPropagation","id","attribute","values","forEach","splice","values_str","join","stringify","uncheck_filter_checkbox","removeAttr","Object","keys","parts","toString","id_attr","list","listItems","btnText","listOpenClass","moreText","lessText","countShow","hasClass","prodigy_product_bulk","input_quantity_element","enable_bulk_element","add_to_cart_button","bulk_container_general","bulk_container","variant_container","swatch_variant_container","button_disable_bulk","link_disable_bulk","bulk_modal","counter_element","bulk_total_block","close_bulk_modal","replaced_hidden_option","disable_bulk_modal_text","is_bulk","set_quantity_validation","bulk_showing_manager","is_bulk_enabled","get_attr_name_with_bulk_enabled","hide_default_product_info","trigger","modal","show_bulk_for_attr","hide_bulk_for_attr","removeData","show_price_bulk_block","prodigyProduct","reset_bulk_inputs","show_default_product_info","is_show_bulk_price_block","inputmask","mask","regex","prodigyProductBulk","prodigy_product","_weight_type_mapper","_dimension_type_mapper","_stock_status_mapper","_add_to_cart_key","product","is_show_subscription_popup","subscription_price","is_subscription_replaced","is_one_time_order","subscription_id","remote_product","variant","maxItems","is_admin","is_tiered_price","selectedVariant","master_variant_id","bulk_variants_info","input_bulk_quantity_element","total_quantity_element","bulkVariants","bulkTotalQuantity","bulk_total_price","bulk_price_modifier_element","bulk_stock_status","bulk_stock_qty","bulk_container_element","active_bulk_attribute_name","min_quantity","add_to_cart_button_element","disable_bulk_button_element","product_counter_input_element","prodigy_product_swatch_element","is_variant_was_chosen","Boolean","is_product_page","is_shop_page","is_variants","get_master_variant_data","set_product_tabs","scroll_for_hash","hash","set_product_counter","show_tab_review","show_tab_description","send_captcha","send_review_for_user","disable_submit_comment","reset_focus_to_press_enter","set_default_link_review","change_product_quantity_analytic_event","change_swatch_value","update_variants_dropdown","set_elementor_options","set_subscription_id","set_tabs_for_resolution","customise_sort_select","set_customised_variant_selection","choose_radio_variant","add_item_to_cart","hide_empty_div","set_bulk_variants_data","set_bulk_info","set_product_gallery","get_tiered_prices_range_ajax","close_tiered_price_popup","get_options","selected_options","is_swatches","swatch_block","$option","thumbsDirection","thumbsSlidesPerView","thumbsSpaceBetween","ratio","height","initNav","swiper","el","isBeginning","slideTo","slides","slidePrev","isEnd","slideNext","swiperThumbs","Swiper","direction","slidesPerView","spaceBetween","speed","slidesHeight","mainHeight","outerHeight","slide","swiperMain","pagination","thumbs","code_happened","open_photo_swipe","bind","get_gallery_images","img","large_image_src","large_image_w","large_image_h","src","w","h","title","pswpElement","index","options","extend","photoswipe","PhotoSwipe","PhotoSwipeUI_Default","context","bulk_attr","set_variant_modifier","modifierOptions","modifier","attributes","get_attributes_for_query","clear_selected_attributes","entries","selected_value","get_multiple_variant_data","is_show_regular_price","set_subscriptions","format_subscription_price","is_subscriptions","parse_price","sale_price","one_time_price","prodigy_price_format","parseFloat","parent","is_need_replace_subscription_item","remote_product_id","attribute_values_js","remote_master_id_variant","one_time_order","show_subscription_popup","off","validate_options","is_bulk_opened","attribute_swatch_js","current_button","set_analytic_add_item_to_cart","form_count_products","is_validate_options","add_to_cart","get_current_product_price","set_bulk_data","total_quantity","bulkOptions","set_checked_swatch","set_variants","is_visible","isNaN","parseInt","obj","get_bulk_variants_data","selected_variant_options","get_variant_data","prev","sale_price_rounded","set_subscription_additional_price","price_container","set_subscription_options","activate_subscription_block","is_conditions","next","attribute_swatch","set_subscription_price","load_subscription_price","format_price_string","condition_string","prop","v","price_str","number_of_product","attributes_item","count","nonce","show_cart_button_loader","clearTimeout","timeoutAddToCartId","setTimeout","error","error_code","show_tiered_price_modal","prodigy_cart_widget","cart_modal_trigger","show_error","responseJSON","cart_slide_open","show_add_to_cart_message","show_cart_message","hide_cart_button_loader","dinamic_cart_url","cart_slider","message","slider","set_active_bulk_attribute_name","active_bulk_attribute","number_of_items","Set","choose_variant_dropdown","selector","isVariantSelected","show_main_product_info","remote_master_variant_info","dimension_attrs","dimension","set_shipping_data_variants","remote_main_sku","current_attribute","post_id","variants","bulk_attribute","timeoutMultipleDataId","xhr","status","set_variant_bulk_info","key_field","inventory","timeoutVariantsDataId","result","update_bulk_info","subscriptions","set_variants_data","sku","product_gallery","tiered_prices","range_price_string","variantsObj","update_select","dropdownOpened","MsDropdown","make","open","change","$selects","selected_attributes","filtered_attributes","current_attr","available_variants","filter_variants","$select","available_attributes","j","attr_name","name","default_select_option","orderedVariants","compareBySort","attr_value_name","attr_value_slug","slug","dataProperties","dataColorProperties","color","svg","createElementNS","backgroundColor","rect","appendChild","svgData","XMLSerializer","serializeToString","svgBase64","btoa","dataUrl","image","is_selected","default","append","a","b","availableVariants","is_available","animate","scrollTop","offset","top","includes","product_type","remote_variant_id","get_actual_price","old_quantity","set_view_product_analytic_event","captcha_callback","check_enable_comment_fields","which","update_counter_of_products","serialize","async","nocaptcha","spam","form","respond_data","add_to_cart_message","delay","fadeOut","show_view_cart_btn","view_cart","comment_submit","rating_form","rating_val","comment_val","name_val","email_val","captcha_val","captcha","is_rating_enable","is_email_enable","enable_submit","body","weight","prodigy_additional_weight_js","prodigy_additional_dimensions_js","product_sku_value","counter_reset","counterCount","rightAlign","minusBtn","counter","get_inventory_data","timeouInventorytId","set_stock_status","reset_product_counter","is_variant","inventory_quantity","set_out_of_stock_status","disable_minus_button","set_in_stock_status","show_variant_data","data_object","is_selected_variant","attribute_select","stock_info","regular_price_info","sale_price_info","main_price_js","default_info","subscription_block","main_currency_js","show_price","tiered_price","show_subscription_price","price_string","sale_price_value_block","regular_price_value_block","remote_main_price","has_variants","isEmptyObject","variant_option","show_status","meta","product_sku","main_product_sku","product_id","timeoutTieredtId","has_variant","select_variant","stock","minus","plus","count_input","local_variant_id","items_number","is_captcha","captcha_site_key","grecaptcha","render","scrollIntoView","product_url","$tabs","$tab","$tabs_wrapper","$star","$rating","$container","siblings","get_count_review","done","count_review","get_content_review","fail","page","res","hide_link_show_more_reviews","init_show_more","innerWidth","bulk_result","input","checkbox","headers","css","prodigyRecaptchaCallback","qnonce","magnificPopup","callbacks","beforeOpen","close","shop_page_url","catalog_containers","set_search_parameters","set_dropdown_sortable","search_handler","slow_search","hiding_search_widget","hiding_empty_search_space","sorting","badge","container_attribute","active_filter","searchBtn","searchWidgetBtn","closeSearchBtn","searchInput","searchCustom","backdropOverlay","target","set_search_params","focus","replaceState","currentTarget","search_value","selText","sort_param","dropdown_container","parents","isIe","test","userAgent","substring","tabIndex"],"mappings":"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","file":"js/public.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/**\n * File navigation.js.\n *\n * Handles toggling the navigation menu for small screens and enables TAB key\n * navigation support for dropdown menus.\n */\n( function() {\n\tvar container, button, menu, links, i, len;\n\n\tcontainer = document.getElementById( 'site-navigation' );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tbutton = container.getElementsByTagName( 'button' )[0];\n\tif ( 'undefined' === typeof button ) {\n\t\treturn;\n\t}\n\n\tmenu = container.getElementsByTagName( 'ul' )[0];\n\n\t// Hide menu toggle button if menu is empty and return early.\n\tif ( 'undefined' === typeof menu ) {\n\t\tbutton.style.display = 'none';\n\t\treturn;\n\t}\n\n\tmenu.setAttribute( 'aria-expanded', 'false' );\n\tif ( -1 === menu.className.indexOf( 'nav-menu' ) ) {\n\t\tmenu.className += ' nav-menu';\n\t}\n\n\tbutton.onclick = function() {\n\t\tif ( -1 !== container.className.indexOf( 'toggled' ) ) {\n\t\t\tcontainer.className = container.className.replace( ' toggled', '' );\n\t\t\tbutton.setAttribute( 'aria-expanded', 'false' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'false' );\n\t\t} else {\n\t\t\tcontainer.className += ' toggled';\n\t\t\tbutton.setAttribute( 'aria-expanded', 'true' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'true' );\n\t\t}\n\t};\n\n\t// Get all the link elements within the menu.\n\tlinks = menu.getElementsByTagName( 'a' );\n\n\t// Each time a menu link is focused or blurred, toggle focus.\n\tfor ( i = 0, len = links.length; i < len; i++ ) {\n\t\tlinks[i].addEventListener( 'focus', toggleFocus, true );\n\t\tlinks[i].addEventListener( 'blur', toggleFocus, true );\n\t}\n\n\t/**\n\t * Sets or removes .focus class on an element.\n\t */\n\tfunction toggleFocus() {\n\t\tvar self = this;\n\n\t\t// Move up through the ancestors of the current link until we hit .nav-menu.\n\t\twhile ( -1 === self.className.indexOf( 'nav-menu' ) ) {\n\n\t\t\t// On li elements toggle the class .focus.\n\t\t\tif ( 'li' === self.tagName.toLowerCase() ) {\n\t\t\t\tif ( -1 !== self.className.indexOf( 'focus' ) ) {\n\t\t\t\t\tself.className = self.className.replace( ' focus', '' );\n\t\t\t\t} else {\n\t\t\t\t\tself.className += ' focus';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tself = self.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Toggles `focus` class to allow submenu access on tablets.\n\t */\n\t( function( container ) {\n\t\tvar touchStartFn, i,\n\t\t\tparentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );\n\n\t\tif ( 'ontouchstart' in window ) {\n\t\t\ttouchStartFn = function( e ) {\n\t\t\t\tvar menuItem = this.parentNode, i;\n\n\t\t\t\tif ( ! menuItem.classList.contains( 'focus' ) ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfor ( i = 0; i < menuItem.parentNode.children.length; ++i ) {\n\t\t\t\t\t\tif ( menuItem === menuItem.parentNode.children[i] ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmenuItem.parentNode.children[i].classList.remove( 'focus' );\n\t\t\t\t\t}\n\t\t\t\t\tmenuItem.classList.add( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tmenuItem.classList.remove( 'focus' );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor ( i = 0; i < parentLink.length; ++i ) {\n\t\t\t\tparentLink[i].addEventListener( 'touchstart', touchStartFn, false );\n\t\t\t}\n\t\t}\n\t}( container ) );\n} )();\n","(function( $ , window) {\n if (settings.pg_google_track_id !== '') {\n $(document).on(\"click\", \".category-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_attribute_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_attribute_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".attribute-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_category_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_category_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".remove-item-js, .widget-remove-item-js\", function () {\n var item = [];\n item.push($(this).data('cart-item'));\n item.push({\n quantity: $('counter-count-js').val(),\n });\n\n gtag('event', 'remove_from_cart', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": item[0]\n });\n });\n\n\n $(document).on(\"click\", \"button.checkout-button-js\", function () {\n var items = [];\n $('.cart-item-js').each(function (key, item) {\n var item = $(this).data('cart-item');\n item.quantity = $(this).find('.counter-count-js').val();\n items.push(item);\n });\n\n var cart_items = [];\n gtag('event', 'begin_checkout', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": items\n });\n });\n }\n\n}) (jQuery, window);\n","(function ($, window) {\n\n let prodigy_remote_cart = {\n\n init: function () {\n // this.get_remote_cart();\n },\n\n get_remote_cart: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-template-cart\",\n };\n\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (response) {\n if (response.success === false) {\n self.check_empty_cart_load_remote();\n } else {\n $('.prodigy-cart-container-js .row').removeClass('cart-skeleton').html(response.data.cart);\n if (response.data.is_show_cross_products) {\n $('.related-products-block-js').show();\n $('.related-products-container-js').show().html(response.data.cross_products);\n self.cross_slider_init();\n }\n }\n }\n });\n },\n\n cross_slider_init: function () {\n $('.related-products-js').not('.slick-initialized').slick({\n prevArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--prev icon icon-arrow-left\"></button>',\n nextArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--next icon icon-arrow-right\"></button>',\n slidesToShow: 2,\n slidesToScroll: 1,\n dots: false,\n arrows: true,\n mobileFirst: true,\n variableWidth: false,\n responsive: [\n {\n breakpoint: 767,\n settings: {\n variableWidth: false,\n slidesToShow: 3,\n slidesToScroll: 3,\n }\n },\n {\n breakpoint: 1168,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n variableWidth: false,\n arrows: true,\n }\n },\n ]\n });\n },\n\n check_empty_cart_load_remote: function () {\n $('.prodigy-cart-container-js .row').hide();\n $('.empty-cart-js').show();\n if (settings.is_deleted_product) {\n $('.widget-cart-message-error-js').show();\n }\n },\n };\n\n window.prodigyRemoteCart = prodigy_remote_cart;\n})(jQuery, window);\n\njQuery(function ($) {\n window.prodigyRemoteCart.init();\n});\n","(function ($, window) {\n 'use strict';\n $(document).ready(\n function () {\n init();\n\n function init() {\n filter_handler();\n set_sortable();\n reset_filters();\n clear_params();\n apply_filters();\n set_price_filter();\n set_sidebar();\n close_active_filter();\n remove_filter_storage();\n set_filters();\n if (is_elementor_template()) {\n set_elementor_filter_mode();\n }\n set_custom_select();\n }\n\n\n function get_shop_page_id() {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('page_id');\n }\n\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let windowWidth = screen.width;\n let default_number_of_columns = settings.customizer_product_columns;\n let number_of_columns = 1;\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function is_elementor_template() {\n return $('.elementor-widget-pae-archive-products').length > 0;\n }\n\n function is_show_active_filter() {\n return $('.elementor-show-active-filter-js').val();\n }\n\n function set_elementor_filter_mode() {\n $('.prodigy-filter__sm-btn-js').click(function () {\n $('.prodigy-filter-js').show();\n $('.prodigy-filter__accordion-header-js').show();\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n });\n }\n\n function set_filters() {\n $('.attribute-filter-js').each(function () {\n if ($(this).is(':checked')) {\n let attribute_name = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n load_filters(attribute_name, attribute_value);\n }\n });\n }\n\n function remove_filter_storage() {\n localStorage.removeItem('filter');\n }\n\n function close_active_filter() {\n $(document).on(\n 'click',\n '.filter-close-js',\n function () {\n let element = $(this).closest('.prodigy-main-badge');\n let attribute_id = element.data(\"attribute-id\");\n let attribute_value = element.data('attribute-slug');\n unset_filter(attribute_id, attribute_value);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function set_sidebar() {\n const filterToggleBtnHandler = () => {\n $('#filter-toggle-btn').toggleClass('prodigy-shop-sidebar-btn--show');\n $('#filter').toggleClass('prodigy-shop-sidebar--open');\n }\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-2, #shop-sidebar-backdrop-js', filterToggleBtnHandler);\n }\n\n function set_loader() {\n $('.prodigy-loader-wrapper').show();\n $('.prodigy-loader-wrapper').attr(\"style\", \"display:flex\");\n $('*').addClass('pointer-events-none');\n }\n\n function remove_loader() {\n $('.prodigy-loader-wrapper').hide();\n $('*').removeClass('pointer-events-none');\n }\n\n function set_price_filter() {\n $(document).on(\n 'click',\n '.price-filter-submit-js',\n function (e) {\n let price_max = prodigyGetUrlParam('price_max');\n let price_min = prodigyGetUrlParam('price_min');\n let price_query = '';\n if (price_min && price_min) {\n price_query = 'price_max=' + price_max + '&' + 'price_min=' + price_min;\n }\n localStorage.setItem('price-range', price_query);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function apply_filters() {\n $(document).on(\n 'click',\n '.attribute-filter-js',\n function (e) {\n let attribute_id = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n if ($(this).is(':checked')) {\n set_filters();\n } else {\n unset_filter(attribute_id, attribute_value);\n }\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function clear_params() {\n $(document).on(\n 'click',\n '.clear-params-js',\n function (e) {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n clear_url_params();\n set_loader();\n }\n );\n\n if (window.location.search === '') {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n }\n\n remove_loader();\n }\n\n function reset_filters() {\n $(document).on(\n 'click',\n '.filter-reset-js',\n function () {\n clear_url_params();\n }\n );\n }\n\n function clear_url_params() {\n remove_filter_storage();\n if (get_shop_page_id() !== null) {\n window.location.href = window.location.origin+'?page_id=' + get_shop_page_id();\n } else {\n window.location.href = window.location.href.split(\"?\")[0];\n }\n }\n\n function build_query() {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n let filter_query = jQuery.param(params);\n let price_query = localStorage.getItem('price-range');\n\n let total_query = '';\n if (price_query !== null) {\n total_query = filter_query + '&' + price_query;\n } else {\n total_query = filter_query;\n }\n\n if (get_shop_page_id() !== null) {\n total_query = 'page_id=' + get_shop_page_id() + '&' + total_query;\n }\n\n\n if (total_query !== '') {\n history.pushState('', '', '?' + total_query);\n } else {\n history.pushState(null, null, window.location.pathname);\n }\n\n let category_name = $('.category-name-js').val();\n let category_slug = $('.slug-name-js').val();\n let current_url = window.location.href;\n\n if (category_name && category_slug) {\n total_query = total_query + '&tax_name=' + category_name + '&tax_slug=' + category_slug;\n }\n\n total_query = total_query + '¤t_url=' + current_url;\n\n return total_query;\n }\n\n\n function get_catalog_products(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n $('.prodigy-product-list__grid').addClass('prodigy__is-loading');\n set_loader();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.prodigy-product-list__grid').removeClass('prodigy__is-loading');\n remove_loader();\n $('.prodigy-pagination-shop-js').html(response.data.pagination_list);\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n let products = $(response.data.products).find('.shop-page-container-js');\n $('.shop-page-container-js').replaceWith(products);\n } else {\n let products = $(response.data.products).find('.prodigy-product-list__grid');\n let no_results = $(document).find('.shop-page-container-empty-js');\n\n let container = '.prodigy-product-list__grid';\n if (no_results.length > 0) {\n container = '.shop-page-container-empty-js';\n }\n\n $(container).replaceWith(products);\n }\n set_number_of_columns_by_screen_resolution();\n }\n });\n }\n\n function get_catalog_filters(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.catalog-sort-js').html($(response.data.sort).html());\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n if ($('.prodigy-filter__badges').length > 0) {\n $('.prodigy-filter__badges').closest('.prodigy-filter__main').remove();\n $('.prodigy-filter__badges').remove();\n }\n $('.prodigy-filter__main').first().before(response.data.active);\n $('.prodigy-filter-title-js').html(response.data.filters);\n } else {\n let filters = $(response.data.filters).closest('.prodigy-filter-js');\n $('.prodigy-filter-js').replaceWith(filters);\n if (is_show_active_filter()) {\n if ($('.active-filter-js').length > 0) {\n $('.active-filter-js').html(response.data.active);\n } else {\n $('.prodigy-filter-title-js:first').before(response.data.active);\n }\n $('.price-filter-container-js').html(response.data.price_filter);\n let price_filter = $(response.data.price_filter).find('.js-range-slider');\n $(document).find('.min-js').val($(price_filter).attr('data-min'));\n $(document).find('.max-js').val($(price_filter).attr('data-max'));\n }\n }\n\n let price_filter_container = $('.price-filter-container-js');\n if (price_filter_container.length !== 0) {\n price_filter_container.html(response.data.price);\n window.slider_widget.init(\n response.data.min_price,\n response.data.max_price,\n response.data.query_min_price,\n response.data.query_max_price\n );\n }\n set_custom_select();\n }\n });\n }\n\n function set_custom_select() {\n $(document).find('.prodigy-custom-select').styler({\n onFormStyled: function () {\n $(document).find('.jq-selectbox__select-text').each(function () {\n const width = $(this)\n .closest('.jq-selectbox')\n .find('select')\n .width();\n // $(this).width(width);\n });\n }\n });\n }\n\n function set_sortable() {\n $(document).on(\n 'click',\n '.catalog-page-sort-js',\n function () {\n if ((navigator.platform.indexOf(\"iPhone\") != -1) || (navigator.platform.indexOf(\"iPod\") != -1)) {\n $(\"select.catalog-page-sort-js\").remove();\n }\n $('.catalog-page-device-sort-js').addClass('prodigy-select-md--open');\n }\n );\n\n $(document).on(\n 'change',\n '.catalog-page-sort-js',\n function () {\n var sort = $(this).children(\"option:selected\").val();\n if (sort !== 'undefined') {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n );\n\n $(document).on(\n 'change',\n '.sort-radio-js',\n function () {\n $('.sort-radio-js').each(function () {\n if ($(this).is(':checked')) {\n var sort = $(this).val();\n if (sort !== undefined) {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n });\n }\n );\n\n $('body, .catalog-page-device-sort-close-js').click(function () {\n $('.catalog-page-device-sort-js').removeClass('prodigy-select-md--open');\n });\n\n $('.prodigy-select-md__wrap').click(function (event) {\n event.stopPropagation();\n });\n }\n\n function unset_filter(id, attribute) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n if (params === null) {\n localStorage.removeItem('filter');\n } else {\n let values = '';\n if (typeof params['attr'] !== 'undefined' && typeof params['attr'][id] !== 'undefined') {\n values = params['attr'][id].split(';');\n values.forEach(function (value, key) {\n if (attribute == value) {\n values.splice(key, 1);\n }\n });\n }\n\n if (values.length > 0) {\n let values_str = values.join(';');\n params['attr'][id] = values_str;\n } else {\n delete params['attr'][id];\n }\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n if (id === 'Price') {\n localStorage.removeItem('price-range')\n }\n\n uncheck_filter_checkbox(id, attribute);\n }\n\n function uncheck_filter_checkbox(id, attribute) {\n $('.attribute-filter-js').each(function () {\n if ($(this).data('attribute-id') == id && $(this).data('attribute-name') == attribute) {\n $(this).removeAttr('checked');\n }\n })\n }\n\n function load_filters(id, value) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n\n if (params !== null && Object.keys(params['attr']).length !== 0) {\n $.each(params['attr'], function (i, item) {\n let parts = item.split(\";\");\n if (i == id && parts.indexOf(value.toString()) === -1) {\n params['attr'][id] = item + ';' + value.toString();\n }\n });\n }\n\n if (params === null || Object.keys(params['attr']).length === 0) {\n params = {};\n params['attr'] = {};\n params['attr'][id] = value.toString();\n } else if (typeof params['attr'][id] === 'undefined') {\n params['attr'][id] = value.toString();\n }\n\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n function filter_handler() {\n // show more/less filter values\n $(document).on(\n 'click',\n '.filter__btn-js',\n function () {\n const id_attr = $(this).data('id')\n const list = $('.filter__item-list-js#filter_attr_' + id_attr)\n const listItems = list.find('.prodigy-filter__item-list-li, .prodigy-filter__card-list-item')\n const btnText = $(this).find('.filter__btn-txt-js')\n const listOpenClass = 'active'\n const moreText = 'Show more'\n const lessText = 'Show less'\n const countShow = list.data('count-show')\n\n $(this).toggleClass(listOpenClass)\n\n if ($(this).hasClass(listOpenClass)) {\n btnText.text(lessText)\n listItems.show()\n } else {\n btnText.text(moreText)\n listItems.each(\n function (i) {\n if (i + 1 > countShow) {\n $(this).hide()\n }\n }\n )\n }\n }\n );\n }\n }\n );\n})(jQuery, window);\n","(function ($, window) {\n let prodigy_product_bulk = {\n input_quantity_element: '.prodigy-bulk-input-js',\n enable_bulk_element: '.enable-bulk-js',\n add_to_cart_button: \"button.add-to-cart-js\",\n bulk_container_general: '.bulk-container-js',\n bulk_container: '.bulk-container-',\n variant_container: '.variant-container-',\n swatch_variant_container: '.swatch-variant-container-',\n button_disable_bulk: '.disable-bulk-button-js',\n link_disable_bulk: '.disable-bulk-js',\n bulk_modal: '#disableBulkModal',\n counter_element: '.prodigy-counter-wrap-js',\n bulk_total_block: '.bulk-total-block-js',\n close_bulk_modal: '.close-bulk-modal-js',\n replaced_hidden_option: '',\n disable_bulk_modal_text: '.disable-bulk-modal-text-js',\n\n init: function () {\n if (this.is_bulk()) {\n this.set_quantity_validation();\n this.bulk_showing_manager();\n }\n },\n\n is_bulk: function () {\n return $(this.enable_bulk_element).is(\":visible\");\n },\n\n is_bulk_enabled: function () {\n return $(this.bulk_container_general).is(\":visible\");\n },\n\n get_attr_name_with_bulk_enabled() {\n return $(this.bulk_container_general + ':visible').data('attribute');\n },\n\n bulk_showing_manager: function () {\n let self = this;\n $(this.enable_bulk_element).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n self.hide_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n\n if (self.is_bulk_enabled()) {\n $(self.button_disable_bulk).data('attribute', self.get_attr_name_with_bulk_enabled()) ;\n $(self.button_disable_bulk).data('show-attribute', attribute_name);\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + self.get_attr_name_with_bulk_enabled());\n $(self.bulk_modal).modal('show');\n return;\n }\n self.show_bulk_for_attr(attribute_name);\n });\n\n\n $(this.close_bulk_modal).on('click', function () {\n $(self.bulk_modal).modal('hide');\n });\n\n\n $(this.link_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.button_disable_bulk).data('attribute', attribute_name) ;\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + attribute_name);\n $(self.bulk_modal).modal('show');\n });\n\n\n $(this.button_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.bulk_modal).modal('hide');\n self.hide_bulk_for_attr(attribute_name);\n self.show_bulk_for_attr($(this).data('show-attribute'));\n $(this).removeData('attribute');\n $(this).removeData('show-attribute');\n self.show_price_bulk_block();\n window.prodigyProduct.reset_bulk_inputs();\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n self.show_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n });\n },\n\n show_default_product_info: function () {\n $('.prodigy-product__prop-wrap').show();\n },\n\n hide_default_product_info: function () {\n $('.prodigy-product__prop-wrap').hide();\n },\n\n hide_bulk_for_attr: function(attribute_name) {\n $(this.bulk_container + attribute_name + '-js').hide();\n $(this.variant_container + attribute_name + '-js').show();\n $(this.counter_element).show();\n $(this.bulk_total_block).hide();\n },\n\n show_bulk_for_attr: function (attribute_name) {\n $(this.variant_container + attribute_name + '-js').hide();\n $(this.bulk_container + attribute_name + '-js').show();\n $(this.counter_element).hide();\n $(this.bulk_total_block).show();\n },\n\n show_price_bulk_block: function () {\n let is_show_bulk_price_block = $('.bulk-container-js').is(\":visible\");\n if (is_show_bulk_price_block) {\n $('.prodigy-counter-wrap-js').hide();\n $('.bulk-total-block-js').show();\n } else {\n $('.bulk-total-block-js').hide();\n $('.prodigy-counter-wrap-js').show();\n }\n },\n\n set_quantity_validation: function () {\n $(this.input_quantity_element).inputmask({\n mask: '9{1,4}',\n regex: \"^[1-9][0-9]*|$\"\n });\n }\n }\n window.prodigyProductBulk = prodigy_product_bulk;\n})(jQuery, window);\n\njQuery(document).ready(function ($) {\n window.prodigyProductBulk.init();\n});\n","(function ($, window) {\n\n var prodigy_product = {\n _weight_type_mapper: [\"lbs\", \"g\", \"kg\", \"oz\"],\n _dimension_type_mapper: [\"in\", \"cm\"],\n _stock_status_mapper: { \"in_stock\": \"In stock\", \"out_of_stock\": \"Out of stock\"},\n _add_to_cart_key: \"add_item_to_cart\",\n product: {},\n is_show_subscription_popup: false,\n subscription_price: 0,\n is_subscription_replaced: false,\n is_one_time_order: true,\n subscription_id: '',\n remote_product: {},\n variant: {},\n maxItems: 9999,\n is_admin: false,\n is_tiered_price: false,\n selectedVariant: [],\n master_variant_id: 0,\n bulk_variants_info: [],\n input_bulk_quantity_element: '.prodigy-bulk-input-js',\n total_quantity_element: '.prodigy-bulk-total-qty-js',\n bulkVariants: [],\n bulkTotalQuantity: 0,\n bulk_total_price: '.bulk-total-price-js',\n bulk_price_modifier_element: '.bulk-price-modify-js',\n bulk_stock_status: '.stock-indicator-label-js',\n bulk_stock_qty: '.stock-indicator-qty-js',\n bulk_container_element: '.bulk-container-js',\n active_bulk_attribute_name: '',\n min_quantity: 1,\n add_to_cart_button_element: '.add-to-cart-js',\n enable_bulk_element: '.enable-bulk-js',\n disable_bulk_button_element: '.disable-bulk-button-js',\n product_counter_input_element: '.counter-count-js',\n prodigy_product_swatch_element: '.prodigy-product__swatch-js',\n is_variant_was_chosen: false,\n\n init: function () {\n this.is_tiered_price = Boolean( $( '.is_tired_price-js' ).val() );\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", this.min_quantity);\n }\n let is_product_page = $( \"body\" ).hasClass( \"single-prodigy-product\" );\n let is_shop_page = $( \"body\" ).hasClass( \"tax-prodigy-product-shop\" );\n this.master_variant_id = $( '#product_id' ).val();\n this.is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\n if ( ! is_shop_page && is_product_page) {\n if ( ! this.is_variants()) {\n this.get_master_variant_data();\n }\n this.set_product_tabs();\n this.scroll_for_hash( window.location.hash );\n this.set_product_counter();\n this.show_tab_review();\n this.show_tab_description();\n this.send_captcha();\n this.send_review_for_user();\n this.disable_submit_comment();\n this.reset_focus_to_press_enter();\n this.set_default_link_review();\n this.change_product_quantity_analytic_event();\n this.change_swatch_value();\n this.update_variants_dropdown();\n this.set_elementor_options();\n this.set_subscription_id();\n this.set_tabs_for_resolution();\n this.customise_sort_select();\n this.set_customised_variant_selection();\n this.choose_radio_variant();\n this.add_item_to_cart();\n this.hide_empty_div();\n this.set_bulk_variants_data();\n this.set_bulk_info();\n this.set_product_gallery();\n if (this.is_tiered_price) {\n this.get_tiered_prices_range_ajax();\n this.close_tiered_price_popup();\n }\n }\n },\n\n close_tiered_price_popup: function () {\n $(document).on('click', '.close-tiered-prices-js', function () {\n $('#minorderQTY').modal('hide');\n })\n },\n\n\n get_options: function () {\n let self = this;\n let selected_options = [];\n if (this.is_swatches()) {\n $(self.prodigy_product_swatch_element).each(\n function () {\n let swatch_block = $(this).closest('.prodigy-product__swatch-block-js');\n if ($(this).is(':checked') && !$(swatch_block).hasClass('ignored')) {\n let value = $(this).val();\n $(this).closest('.swatch-container-js').find('.swatch-attribute-name-js').html(\" \" + $(this).val());\n selected_options.push(value);\n }\n }\n );\n } else {\n $(\".attribute_values_js\").each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n if ($option.val() !== '') {\n selected_options.push($option.val());\n }\n }\n );\n }\n\n return selected_options;\n },\n\n set_product_gallery: function () {\n let thumbsDirection = 'horizontal';\n let thumbsSlidesPerView = $(\"#gallery-thumbs\").data('slides') || 3;\n let thumbsSpaceBetween = $(\"#gallery-thumbs\").data('spacing') || 10;\n\n if ($(\"#gallery\").hasClass(\"prodigy-product__gallery-container--left\") || $(\"#gallery\").hasClass(\"prodigy-product__gallery-container--right\")) {\n const ratio = $(\"#gallery-main\").data(\"ratio\");\n const width = $(\"#gallery-main\").width();\n const height = width / ratio;\n $(\"#gallery\").height(height);\n thumbsDirection = 'vertical';\n thumbsSlidesPerView = 'auto';\n }\n\n const initNav = (swiper, el) => {\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-prev\",\n function () {\n if (swiper.isBeginning) {\n swiper.slideTo(swiper.slides.length - 1);\n } else {\n swiper.slidePrev();\n }\n }\n )\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-next\",\n function () {\n if (swiper.isEnd) {\n swiper.slideTo(0);\n } else {\n swiper.slideNext();\n }\n }\n )\n }\n\n const swiperThumbs = new Swiper(\n \"#gallery-thumbs\",\n {\n direction: thumbsDirection,\n slidesPerView: thumbsSlidesPerView,\n spaceBetween: thumbsSpaceBetween,\n speed: 500,\n on: {\n init: function (swiper) {\n if (thumbsDirection === 'horizontal') {\n const slides = $(\"#gallery-thumbs .swiper-slide\");\n if (slides.length > thumbsSlidesPerView) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n } else if (thumbsDirection === 'vertical') {\n let slidesHeight = 0;\n let mainHeight = $(\"#gallery-main\").outerHeight();\n swiper.slides.forEach(\n slide => {\n slidesHeight += $(slide).outerHeight();\n }\n );\n if (slidesHeight > mainHeight) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n }\n }\n }\n }\n );\n\n const swiperMain = new Swiper(\n \"#gallery-main\",\n {\n speed: 500,\n pagination: {\n el: \".prodigy-product__gallery-count\",\n type: \"fraction\",\n },\n thumbs: {\n swiper: $(\"#gallery-thumbs\").length ? swiperThumbs : null,\n },\n on: {\n init: function (swiper) {\n const slides = $(\"#gallery-main .swiper-slide\");\n if (slides.length > 1) {\n $(\"#gallery-main .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-main\"));\n }\n }\n }\n }\n );\n\n if (typeof code_happened === 'undefined' || window.code_happened == false) {\n window.code_happened = true;\n\n $(document).on(\n \"click\",\n \".icon-fullscreen-js\",\n this.open_photo_swipe.bind(this)\n );\n }\n },\n\n get_gallery_images: function () {\n const slides = $(\"#gallery-main .prodigy-product__gallery-img\");\n let items = [];\n\n if (slides.length) {\n slides.each(\n function (i, el) {\n var img = $(el).find(\"img\");\n\n if (img.length) {\n var large_image_src = img.attr(\"data-large_image\"),\n large_image_w = img.attr(\"data-large_image_width\"),\n large_image_h = img.attr(\"data-large_image_height\"),\n item = {\n src: large_image_src,\n w: large_image_w,\n h: large_image_h,\n title: img.attr(\"data-caption\")\n ? img.attr(\"data-caption\")\n : img.attr(\"title\")\n };\n items.push(item);\n }\n\n }\n );\n }\n\n return items;\n },\n\n open_photo_swipe: function (e) {\n e.preventDefault();\n\n var pswpElement = $(\".pswp\")[0],\n items = this.get_gallery_images(),\n index = $(\"#gallery-main .swiper-slide-active\").index();\n\n var options = $.extend(\n {\n index: index,\n },\n {}\n );\n\n // Initializes and opens PhotoSwipe.\n var photoswipe = new PhotoSwipe(\n pswpElement,\n PhotoSwipeUI_Default,\n items,\n options\n );\n photoswipe.init();\n },\n\n set_bulk_info() {\n let self = this;\n $(document).on('enable-multiple-quantity', function (e,context) {\n\t\t\t\t\tlet bulk_attr = $( context ).data( 'attribute' );\n $(self.disable_bulk_button_element).attr('data-value', $(context).data('slug'));\n self.set_variant_modifier(bulk_attr);\n }\n );\n },\n\n set_variant_modifier(attribute) {\n let self = this;\n let modifierOptions = [];\n $( '.bulk-container-' + attribute + '-js' ).each(\n function (e) {\n\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n let modifier = $( this ).data( 'attribute' );\n modifierOptions.push( jQuery.trim( modifier ) );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n if (self.is_variants()) {\n let attributes = self.get_attributes_for_query();\n if (Object.keys(attributes.attribute).length === 1 && $('.bulk-container-js').length === 1) {\n attributes.attribute = [];\n }\n\n if (Object.keys(self.clear_selected_attributes(attributes.attribute)).length > 1) {\n for (const [key, value] of Object.entries(attributes.attribute)) {\n let selected_value = $(self.disable_bulk_button_element).data('value');\n if (value === selected_value) {\n delete attributes.attribute[key];\n }\n }\n }\n\n self.get_multiple_variant_data(attributes.attribute, modifierOptions);\n }\n },\n\n clear_selected_attributes: function (values) {\n $.each(values, function(key,val) {\n if ('Choose an option' === val) {\n delete values[key];\n }\n });\n\n return values;\n },\n\n set_subscription_id: function () {\n this.subscription_id = $( '.subscription_id' ).val();\n },\n\n set_elementor_options: function () {\n let is_show_regular_price = $( '#regular_price_state_option' ).val();\n\n if (is_show_regular_price !== 'yes') {\n $( '.regular-price-container' ).remove();\n } else {\n $( '.regular-price-container' ).show();\n }\n this.set_subscriptions();\n },\n\n format_subscription_price: function (price) {\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions) {\n if (typeof parse_price( price ) === 'undefined') {\n price = $( '.sale-subscription-price-js' ).text();\n }\n\n let sale_price = $( '.subscription-sale_price-js' ).val();\n let one_time_price = $( '.prodigy-subscriptions-tab__item-price' ).find( '.sale-price' ).text();\n $( '.subscriptions-price-currency-js' ).show();\n\n if ( parse_price( price ) !== parse_price( sale_price ) ) {\n $( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n }\n\n $( '.product-default-info-price-js' ).text( '$' + prodigy_price_format( parse_price( sale_price ) ) );\n $( '.prodigy-subscriptions-tab-js' ).trigger( 'click' );\n\n if ( parseFloat( one_time_price ) !== parseFloat( price ) ) {\n $( '.subscriptions-one-time-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n } else {\n $( '.subscriptions-one-time-price-js' ).parent().hide();\n }\n }\n },\n\n is_need_replace_subscription_item: function (subscription_id) {\n let self = this;\n let remote_product_id;\n let attribute_values_js = $( \".attribute_values_js\" );\n\n // if isset variants\n if (attribute_values_js.length > 0) {\n remote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n } else {\n if (typeof self.remote_product !== 'undefined') {\n remote_product_id = self.remote_product.remote_master_id_variant;\n }\n }\n\n if (typeof remote_product_id !== \"undefined\") {\n let post_data = {\n action: \"prodigy-is-replace-subscription-item\",\n remote_product_id: remote_product_id,\n one_time_order: self.is_one_time_order,\n };\n\n if ( ! self.is_one_time_order && subscription_id && typeof subscription_id !== 'undefined') {\n self.subscription_id = subscription_id;\n post_data.subscription_id = subscription_id;\n }\n\n $.ajax(\n {\n\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\tdata: post_data,\n\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\tif (data !== null) {\n\t\t\t\t\t\t\t\tself.is_show_subscription_popup = data.show_subscription_popup;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n }\n );\n }\n },\n\n add_item_to_cart: function () {\n let self = this;\n $( document )\n .off( \"click\", \"button.add-to-cart-js, button.replace-subscription-condition-js\" )\n .on(\n \"click\",\n \"button.add-to-cart-js, button.replace-subscription-condition-js\",\n function (e) {\n\t\t\t\t\t\tif ( ! self.validate_options() && ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet remote_product_id;\n\t\t\t\t\t\tlet attribute_values_js = $( \".attribute_values_js\" );\n\t\t\t\t\t\tlet attribute_swatch_js = $(self.prodigy_product_swatch_element);\n\t\t\t\t\t\tlet current_button = $( this ).attr( 'data-name' );\n\n\t\t\t\t\t\tif (current_button === 'replace-subscription-condition-js') {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t\tself.is_subscription_replaced = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.is_subscription_replaced = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (self.is_show_subscription_popup) {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'show' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// if isset variants\n\t\t\t\t\t\t\tif (attribute_values_js.length > 0 || attribute_swatch_js.length > 0) {\n\t\t\t\t\t\t\t\tremote_product_id = $( this ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (typeof self.remote_product !== 'undefined') {\n\t\t\t\t\t\t\t\t\tremote_product_id = self.remote_product.id;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof remote_product_id === 'undefined') {\n\t\t\t\t\t\t\t\tremote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tself.set_analytic_add_item_to_cart();\n\t\t\t\t\t\t\tlet form_count_products = $(self.product_counter_input_element).val();\n\n\t\t\t\t\t\t\tif (self.is_validate_options()) {\n\t\t\t\t\t\t\t\tif (self.is_bulk_opened()) {\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n self.bulk_variants_info,\n self.bulkVariants,\n null,\n null,\n false,\n true\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// set items in remote cart\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n remote_product_id,\n self.get_attributes_for_query(),\n self.get_current_product_price(),\n self.subscription_id,\n self.is_subscription_replaced\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n );\n },\n\n set_bulk_variants_data: function () {\n let self = this;\n $( document ).on(\n \"keypress\",\n self.input_bulk_quantity_element,\n function (e) {\n self.set_bulk_data();\n\t\t\t\t}\n );\n },\n\n set_bulk_data: function () {\n let self = this;\n let total_quantity = 0;\n let bulkOptions = [];\n let attribute_name = '';\n if (this.is_swatches()) {\n this.set_checked_swatch();\n } else {\n this.set_variants();\n }\n\n $( self.bulk_container_element ).each(\n function (e) {\n\t\t\t\t\tlet is_visible = $( this ).is( ':visible' );\n\t\t\t\t\tlet variant = '';\n\t\t\t\t\tif (is_visible) {\n\t\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n if ( ! isNaN( parseInt( $( this ).val() ) )) {\n total_quantity += parseInt( $( this ).val() );\n attribute_name = $( this ).data( 'attribute' );\n variant = attribute_name + '&' + self.selectedVariant.join( \"&\" );\n\n let obj = {\n variant: variant,\n quantity: parseInt( $( this ).val() )\n };\n bulkOptions.push( obj );\n }\n }\n );\n\n\t\t\t\t\t\t$( self.total_quantity_element ).text( total_quantity );\n\t\t\t\t\t\tif (self.is_validate_options() ) {\n\t\t\t\t\t\t\tself.get_bulk_variants_data( total_quantity, bulkOptions );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_bulk_variants_data: function (quantity, selected_variant_options) {\n this.bulkVariants = selected_variant_options;\n this.bulkTotalQuantity = quantity;\n if (this.is_validate_options() ) {\n this.get_variant_data( selected_variant_options, quantity, null, true );\n }\n },\n\n set_subscriptions: function () {\n var self = this;\n var sale_price = 0;\n\n $( document ).on(\n 'change',\n '.subscription-radio-js',\n function () {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tsale_price = $( this ).prev().prev().prev().prev().val();\n\t\t\t\t\t\tvar sale_price_rounded = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n\t\t\t\t\t\tself.subscription_price = sale_price;\n\t\t\t\t\t\t$( '.sale-subscription-price-js' ).text( prodigy_price_format( sale_price_rounded ) );\n\t\t\t\t\t\tself.subscription_id = $( this ).prev().prev().prev().val();\n\t\t\t\t\t\tself.is_need_replace_subscription_item( self.subscription_id );\n\t\t\t\t\t\tself.set_subscription_additional_price( sale_price, $( this ) );\n\n\t\t\t\t\t\tlet price = $( '.regular-price' ).text();\n\t\t\t\t\t\tif (price === '') {\n\t\t\t\t\t\t\tprice = prodigy_price_format( parse_price( $( '.sale-price' ).text() ) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet price_container = $( this ).closest( '.prodigy-subscriptions-tab' ).find( '.prodigy-subscriptions-tab__item-sale' );\n\t\t\t\t\t\tif (parse_price( self.subscription_price ) !== parse_price( price )) {\n\t\t\t\t\t\t\tprice_container.show();\n\t\t\t\t\t\t\t$( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) ).show();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprice_container.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n 'button.prodigy-close-button, button.close-subscription-popup-js',\n function () {\n\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\tself.is_show_subscription_popup = true;\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n '.prodigy-subscriptions-tab-js',\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t\tself.activate_subscription_block( $( this ) );\n\t\t\t\t\tlet is_conditions = $( this ).next().find( '.prodigy-subscription-period-js' );\n\n\t\t\t\t\tif (is_conditions.length > 0) {\n\t\t\t\t\t\t$( '.subscription-radio-js' ).each(\n function () {\n if ($( this ).is( ':checked' )) {\n $( '.subscription-radio-js' ).removeAttr( 'disabled' );\n sale_price = parseFloat( $( '.sale-subscription-price-js' ).text().trim() );\n self.subscription_price = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n self.subscription_id = $( this ).prev().prev().prev().val();\n self.is_need_replace_subscription_item( self.subscription_id );\n self.set_subscription_additional_price( sale_price, $( this ) );\n }\n }\n );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.is_need_replace_subscription_item();\n\t\t\t\t\t\tlet price = $( this ).next().find( '.prodigy-subscriptions-tab__item-price' ).text();\n\t\t\t\t\t\t$( '.product-default-info-price-js' ).text( price );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_attributes_for_query: function () {\n let attribute_values_js = $('.attribute_values_js:not(.ignored)');\n let attribute_swatch = $('.prodigy-product__swatch-block-js:not(.ignored)');\n let attributes = {attribute: {}, item: {}};\n attribute_values_js.each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n attributes[\"attribute\"][key] = $option.data('slug');\n attributes[\"item\"][key] = $option.text();\n\t\t\t\t}\n );\n\n attribute_swatch.find('.prodigy-product__swatch-js').each(\n function (key) {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tattributes[\"attribute\"][key] = $( this ).data('slug');\n\t\t\t\t\t\tattributes[\"item\"][key] = $( this ).val();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n return attributes;\n },\n\n set_subscription_options: function (container) {\n let self = this;\n self.set_subscription_price( container );\n if (container.hasClass( \"active\" )) {\n if (container.attr( 'aria-controls' ) === 'nav-home') {\n self.subscription_price = container.find( '.sale-price' ).text().trim();\n self.is_one_time_order = true;\n } else {\n self.subscription_price = $( '.sale-subscription-price-js' ).text().trim();\n self.is_one_time_order = false;\n }\n }\n },\n\n load_subscription_price: function () {\n let self = this;\n $( '.prodigy-subscriptions-tab-js' ).each(\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t}\n );\n },\n\n set_subscription_additional_price: function (price, container) {\n let format_price_string = '$' + prodigy_price_format( price );\n let condition_string = container.parent().find( '.subscription-condition-js' ).val();\n $( '.product-default-info-price-js' ).text( format_price_string + ' (' + condition_string + ')' );\n },\n\n activate_subscription_block: function (container) {\n $( '.prodigy-subscriptions-radio-js' ).prop( 'checked', false );\n $( '.prodigy-subscriptions-tab-js' ).removeClass( 'active' );\n $( container ).find( '.prodigy-subscriptions-radio-js' ).prop( 'checked', true );\n container.addClass( 'active' );\n $( '.subscription-radio-js' ).prop(\n 'disabled',\n function (i, v) {\n\t\t\t\t\treturn ! v;\n\t\t\t\t}\n );\n },\n\n set_subscription_price: function (container) {\n let subscription_price = $( '.prodigy-subscriptions-wrap-price-js' ).text();\n $( '.prodigy-additional-info-price-js' ).text( subscription_price ).show();\n },\n\n get_current_product_price: function () {\n var self = this;\n var price = 0;\n var price_str = $( document ).find( \".sale-price\" ).text().trim();\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions && ! self.is_one_time_order) {\n price = parseFloat( self.subscription_price );\n }\n\n if (self.is_one_time_order && price_str !== '') {\n price = prodigy_price_format( price_str ).replace( /\\,/g, '' );\n }\n\n return price;\n },\n\n is_bulk: function () {\n return $( this.enable_bulk_element ).length;\n },\n\n\n is_bulk_opened: function () {\n return $( '.prodigy-bulk__wrap' ).is( \":visible\" );\n },\n\n add_to_cart: function (\n number_of_product,\n remote_product_id,\n attributes_item,\n price = null,\n subscription_id = null,\n is_subscription_replaced = false,\n is_bulk = false\n ) {\n let self = this;\n\n let post_data = {\n action: \"prodigy-add-remote-cart\",\n remote_product_id: remote_product_id,\n count: number_of_product,\n price: price,\n attributes: attributes_item,\n is_subscription_replaced: is_subscription_replaced,\n is_bulk: is_bulk,\n nonce: settings.nonce\n };\n\n self.show_cart_button_loader();\n\n if ( ! self.is_one_time_order) {\n post_data.subscription_id = subscription_id;\n }\n clearTimeout(self.timeoutAddToCartId);\n self.timeoutAddToCartId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (data) {\n if (self.is_tiered_price && data.error_code && data.error_code === 422) {\n self.show_tiered_price_modal(data);\n return;\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(true);\n }\n self.show_error(data.responseJSON.data);\n },\n success: function (data) {\n if (self.is_bulk_opened()) {\n self.reset_bulk_inputs();\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(false);\n }\n\n if (\n (self.is_tiered_price && typeof data.error_code === \"undefined\") ||\n !self.is_tiered_price\n ) {\n self.cart_slide_open();\n $(self.product_counter_input_element).val(1);\n self.show_add_to_cart_message();\n self.show_cart_message();\n }\n\n if (self.is_tiered_price) {\n self.get_tiered_prices_range_ajax();\n }\n\n self.hide_cart_button_loader();\n // redirect to cart page\n if ($(\".cart-redirect-js\").data(\"cart-redirect\") === \"redirect_to_cart\") {\n var dinamic_cart_url = $('.pg-cart-url-js').data('attr');\n window.location.replace(dinamic_cart_url);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n show_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", true);\n },\n\n hide_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", false);\n },\n\n reset_bulk_inputs: function () {\n let self = this;\n $( this.input_bulk_quantity_element ).each(\n function () {\n\t\t\t\t\t$( this ).val( '' );\n\t\t\t\t\t$( '.prodigy-bulk-total-qty-js' ).text( 0 );\n\t\t\t\t\t$( self.bulk_total_price ).text( '$0.00' );\n\t\t\t\t}\n );\n },\n\n show_tiered_price_modal: function (data) {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n cart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n if ( typeof data.message !== undefined ) {\n $( '.tiered-price-message-js' ).text( data.message );\n $( '#minorderQTY' ).modal( 'show' );\n }\n },\n\n cart_slide_open: function () {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n let slider = cart_slider.data( 'auto-open' );\n if (slider === 'yes' || slider) {\n cart_slider.toggleClass( 'prodigy-cart-slide--open' );\n $('body').toggleClass('overflow-hidden');\n setTimeout(\n function () {\n\t\t\t\t\t\tcart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n\t\t\t\t\t},\n 10000\n );\n }\n },\n\n set_checked_swatch: function () {\n let self = this;\n self.selectedVariant = [];\n $(self.prodigy_product_swatch_element).each( function () {\n\t\t\t\t\tlet swatch_block = $( this ).closest( '.prodigy-product__swatch-block-js' );\n\t\t\t\t\tif ($( this ).is( ':checked' ) && ! $( swatch_block ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tlet value = $( this ).data('slug');\n\t\t\t\t\t\t$( this ).closest( '.swatch-container-js' ).find( '.swatch-attribute-name-js' ).html( \" \" + $(this).val() );\n\t\t\t\t\t\tself.selectedVariant.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n change_swatch_value: function () {\n let self = this;\n $(document).on('change', self.prodigy_product_swatch_element, function () {\n self.choose_radio_variant();\n if (self.is_bulk()) {\n $(this).parent().parent().closest('.prodigy-product__attr-item--no-select').find(self.enable_bulk_element).attr('data-value', $(this).data('slug'));\n }\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n let active_bulk_attribute = $('.bulk-container-js:visible').find('.disable-bulk-js').data('attribute');\n self.set_variant_modifier(active_bulk_attribute);\n }\n });\n },\n\n choose_radio_variant() {\n let self = this;\n this.set_checked_swatch();\n if (this.is_variants() && this.is_validate_options()) {\n let number_of_items = parseInt( $(self.product_counter_input_element).val() );\n this.get_variant_data( this.selectedVariant, number_of_items );\n }\n },\n\n set_active_bulk_attribute_name: function () {\n let self = this;\n $( this.bulk_container_element ).each(\n function () {\n\t\t\t\t\tif ($( this ).is( \":visible\" )) {\n\t\t\t\t\t\tself.active_bulk_attribute_name = $( this ).data( 'attribute' );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_variants: function () {\n let self = this;\n let $option = false;\n self.selectedVariant = [];\n $( '.attribute_values_js' ).each(\n function () {\n\t\t\t\t\t$option = $( this ).find( \"option:selected\" );\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $option.data('slug') !== '' ) {\n self.selectedVariant.push($option.data('slug'));\n if (self.is_bulk()) {\n $(this).parent().find(self.enable_bulk_element).attr('data-slug', $option.data('slug'));\n }\n }\n\t\t\t\t}\n );\n\n self.selectedVariant = [...new Set( self.selectedVariant )];\n },\n\n choose_variant_dropdown: function () {\n let self = this;\n let selector = $( this );\n let attribute_values_js = $( '.attribute_values_js' );\n this.set_variants();\n\n if (this.selectedVariant.length === attribute_values_js.length) {\n this.isVariantSelected = true;\n }\n\n if (this.isVariantSelected && this.is_validate_options()) {\n self.show_cart_button_loader();\n if (this.is_variants()) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (this.is_bulk_opened()) {\n this.set_bulk_data();\n } else {\n if (this.is_validate_options() && ! this.is_bulk_opened()) {\n this.get_variant_data( self.selectedVariant, number_of_items, selector );\n }\n }\n }\n } else {\n this.is_one_time_order = true;\n this.show_main_product_info();\n\n if (typeof self.remote_product.remote_master_variant_info !== \"undefined\") {\n let dimension_attrs = this.remote_product.remote_master_variant_info.dimension.attributes;\n this.set_shipping_data_variants(\n this.remote_product.remote_main_sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n }\n },\n\n get_multiple_variant_data: function (variant, current_attribute) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-multiple-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n bulk_attribute: current_attribute,\n nonce: settings.nonce\n };\n\n\n clearTimeout(self.timeoutMultipleDataId);\n self.timeoutMultipleDataId = setTimeout(\n function () {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n },\n success: function (response) {\n self.set_variant_bulk_info(response);\n }\n }\n );\n },\n 500\n );\n },\n\n set_variant_bulk_info: function (response) {\n let self = this;\n $.each(\n response.data,\n function (key, value) {\n if (\n value.attributes &&\n typeof value.attributes['price-quantity-modifier'] !== \"undefined\" &&\n parseFloat(value.attributes['price-quantity-modifier']) > 0\n ) {\n $(self.bulk_price_modifier_element + key).show();\n $(self.bulk_price_modifier_element + key).text('+ $' + parseFloat(value.attributes['price-quantity-modifier']));\n } else {\n $(self.bulk_price_modifier_element + key).hide();\n }\n\n let key_field = key.replace(/\\s/g, \"_\");\n if (typeof value.inventory !== \"undefined\" && value.inventory.attributes) {\n if (\n value.inventory.attributes['manage-stock'] &&\n value.inventory.attributes['count'] !== null\n ) {\n $(self.bulk_stock_status + key_field).text('In stock: ');\n if (value.inventory.attributes['count'] !== null) {\n $(self.bulk_stock_qty + key_field).text(value.inventory.attributes['count']);\n }\n } else {\n $(self.bulk_stock_status + key_field).text(self._stock_status_mapper[value.inventory.attributes['stock']]);\n }\n }\n }\n );\n },\n\n get_variant_data: function (variant, number_of_items = null, selector = null, is_bulk = false, bulk_attribute = false) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n options: this.get_options(),\n number_of_items: number_of_items,\n is_bulk: is_bulk,\n bulk_attribute: bulk_attribute,\n location: window.location.href,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutVariantsDataId);\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).removeAttr('data');\n self.timeoutVariantsDataId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).attr('data', 'loader');\n },\n success: function (response) {\n let data = response.data.result;\n if ( typeof data === \"undefined\" ) {\n return;\n }\n\n $(self.add_to_cart_button_element).removeAttr('data');\n if (self.is_bulk_opened()) {\n $(self.add_to_cart_button_element).removeAttr(\"disabled\");\n self.update_bulk_info(data);\n }\n\n if (typeof data !== undefined && data.subscriptions) {\n $('#subscriptions_block').html(data.subscriptions);\n }\n\n self.variant = data;\n if (selector) {\n self.set_variants_data(data, selector);\n } else {\n self.set_variants_data(data);\n }\n\n let is_subscriptions = $(document).find('.prodigy-subscriptions-tab').length > 0;\n\n if (!is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n // Set shipping data\n if (typeof data.dimension !== \"undefined\") {\n let dimension_attrs = data.dimension.attributes;\n self.set_shipping_data_variants(\n data.attributes.sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n\n //swicth off loader\n $(self.add_to_cart_button_element).prop(\"disabled\", false);\n\n //Set option-image for gallery\n if (typeof data !== undefined) {\n $('.images-gallery-js').html($(data.product_gallery).html());\n self.set_product_gallery();\n }\n\n if (!self.is_bulk_opened() && !self.is_variant_was_chosen) {\n //Set tiered prices\n self.min_quantity = data.tiered_prices.min_quantity;\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", data.tiered_prices.min_quantity);\n if (parseFloat(data.tiered_prices.min_price) !== parseFloat(data.tiered_prices.max_price)) {\n let range_price_string = 'From $' + prodigy_price_format(data.tiered_prices.min_price) + ' to $' + prodigy_price_format(data.tiered_prices.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.tiered_prices.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop(\"disabled\", true);\n }\n }\n }\n }\n );\n },\n 500\n );\n\n },\n\n update_bulk_info: function (data) {\n this.bulk_variants_info = data;\n if (typeof data !== \"undefined\") {\n $( this.bulk_total_price ).text( '$' + prodigy_price_format( this.bulk_variants_info.bulk_total_price ) );\n $( '.product-default-info-price-js' ).text( '$' + this.bulk_variants_info.bulk_total_price );\n }\n },\n\n\n update_variants_dropdown: function () {\n let self = this;\n let variantsObj = $( 'div.variants-container-js' );\n let variants = variantsObj.data( 'variants' );\n if (variants !== 'undefined') {\n $( 'select[data-attribute]' ).each(\n function () {\n\t\t\t\t\t\tself.update_select( $( this ), variants, {} );\n\t\t\t\t\t}\n );\n let dropdownOpened = false;\n MsDropdown.make('.attribute_values_js', {\n on: {\n open: function () {\n dropdownOpened = true;\n },\n change: function () {\n if (dropdownOpened) {\n self.choose_variant_dropdown();\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n self.set_variant_modifier(self.active_bulk_attribute_name);\n }\n\n dropdownOpened = false;\n }\n }}\n });\n }\n\n $( document ).on(\n 'change',\n '.attribute_values_js',\n function () {\n\t\t\t\t\tlet $selects = $( '.attribute_values_js' );\n\t\t\t\t\t$selects.each(\n function () {\n let selected_attributes = [],\n filtered_attributes = [];\n let current_attr = $( this ).data( 'attribute' );\n $selects.each(\n function () {\n if ($( this ).val() !== '') {\n if (current_attr !== $( this ).data( 'attribute' )) {\n filtered_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n selected_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n }\n );\n\n let available_variants = self.filter_variants( filtered_attributes );\n self.update_select( $( this ), available_variants, selected_attributes );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n is_variants: function () {\n let variants = $( '.variants-container-js' ).data( 'attributes' );\n return Boolean( variants.length );\n },\n\n update_select: function ($select, variants, selected_attributes) {\n let attributes = $( '.variants-container-js' ).data( 'attributes' );\n let available_attributes = {};\n\n for (i in variants) {\n let variant = variants[i];\n for (j in attributes) {\n let attr_name = attributes[j];\n let value = Object.values( variant[attr_name] )[0];\n if (value !== undefined) {\n if (available_attributes[attr_name] === undefined) {\n available_attributes[attr_name] = [];\n }\n available_attributes[attr_name][value.name] = value;\n }\n }\n }\n\n if ($select.length > 0) {\n let attr_name = $select.data( 'attribute' );\n let default_select_option = $( '#default_select_option' ).val();\n $select.html( '<option class=\"attributes_default_value-js\" value=\"\">' + default_select_option + '</option>' );\n let orderedVariants = [];\n Object.values( available_attributes[attr_name] ).sort( this.compareBySort ).forEach(\n function (variant) {\n\t\t\t\t\t\torderedVariants.push( variant.name );\n\t\t\t\t\t}\n );\n\n\n orderedVariants.forEach(\n function (i) {\n\t\t\t\t\t\tlet attr_value_name = available_attributes[attr_name][i].name;\n\t\t\t\t\t\tlet attr_value_slug = available_attributes[attr_name][i].slug;\n\t\t\t\t\t\tlet dataProperties = '';\n\t\t\t\t\t\tlet dataColorProperties = '';\n\n\t\t\t\t\t\t// set color like a picture\n\t\t\t\t\t\tif (available_attributes[attr_name][i].color != undefined) {\n\t\t\t\t\t\t\tconst svg = document.createElementNS( \"http://www.w3.org/2000/svg\", \"svg\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"width\", \"100\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"height\", \"100\" );\n\t\t\t\t\t\t\tsvg.style.backgroundColor = \"black\";\n\n\t\t\t\t\t\t\tconst rect = document.createElementNS( \"http://www.w3.org/2000/svg\", \"rect\" );\n\t\t\t\t\t\t\trect.setAttribute( \"width\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"height\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"fill\", available_attributes[attr_name][i].color );\n\t\t\t\t\t\t\tsvg.appendChild( rect );\n\n\t\t\t\t\t\t\tconst svgData = new XMLSerializer().serializeToString( svg );\n\t\t\t\t\t\t\tconst svgBase64 = btoa( svgData );\n\t\t\t\t\t\t\tconst dataUrl = 'data:image/svg+xml;base64,' + svgBase64;\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + dataUrl + '\"';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (available_attributes[attr_name][i].image !== undefined) {\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + available_attributes[attr_name][i].image + '\"';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet is_selected = selected_attributes[attr_name] === attr_value_name || available_attributes[attr_name][i].default;\n\t\t\t\t\t\t$select.append( '<option class=\"attached enabled\" style=\"--data-color:' + dataColorProperties + '\" data-slug=\"' + attr_value_slug + '\" value=\"' + attr_value_name + '\"' + (is_selected ? ' selected' : '') + dataProperties + '>' + attr_value_name + '</option>' );\n\t\t\t\t\t}\n );\n }\n },\n\n compareBySort: function (a, b) {\n return a.sort - b.sort;\n },\n\n filter_variants: function (selected_attributes) {\n var variants = $( '.variants-container-js' ).data( 'variants' ),\n availableVariants = [];\n for (i in variants) {\n var is_available = true;\n for (var attr_name in selected_attributes) {\n if (typeof variants[i][attr_name][selected_attributes[attr_name]] !== 'undefined') {\n is_available = false;\n break;\n }\n }\n if (is_available) {\n availableVariants.push( variants[i] );\n }\n }\n\n return availableVariants;\n },\n\n scroll_for_hash: function (hash) {\n if (hash) {\n var hash = hash;\n\n $( 'html, body' ).animate(\n {\n\t\t\t\t\t\tscrollTop: $( hash ).offset().top\n },\n 1500,\n 'swing'\n );\n }\n },\n\n /**\n *\n * @version 2.0.0\n */\n set_analytic_add_item_to_cart: function () {\n if (settings.pg_google_track_id !== '') {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let self = this;\n let product = self.variant;\n let price = product.attributes.price;\n let sku = product.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = product.attributes.sku;\n let sale_price = product.attributes['sale-price'];\n let remote_variant_id = product.remote_variant_id;\n\n gtag(\n 'event',\n 'add_to_cart',\n {\n\t\t\t\t\t\t\t\"event_category\": 'prodigy_ecommerce',\n\t\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": product.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price ),\n \"quantity\": parseInt($(self.product_counter_input_element).val()),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n }\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n */\n change_product_quantity_analytic_event: function () {\n let self = this;\n if (settings.pg_google_track_id !== \"\") {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let old_quantity = parseInt($(self.product_counter_input_element).val());\n\n $( '.counter-btn-plus-js, .counter-btn-minus-js' ).on(\n 'click',\n function () {\n\t\t\t\t\t\t\tlet product = self.variant;\n\n\t\t\t\t\t\t\tlet price = product.attributes.price;\n\t\t\t\t\t\t\tlet sku = product.attributes.sku;\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * TODO check title in api\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tlet title = product.attributes.sku;\n\t\t\t\t\t\t\tlet sale_price = product.attributes['sale-price'];\n\t\t\t\t\t\t\tlet remote_variant_id = product.remote_variant_id;\n\n\t\t\t\t\t\t\tgtag(\n 'event',\n 'change_product_quantity',\n {\n\t\t\t\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\t\t\t\"items\": [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"id\": remote_variant_id,\n\t\t\t\t\t\t\t\t\t\t\"name\": title,\n\t\t\t\t\t\t\t\t\t\t\"sku\": sku,\n\t\t\t\t\t\t\t\t\t\t\"price\": self.get_actual_price( price, sale_price ),\n\t\t\t\t\t\t\t\t\t\t\"new_quantity\": parseInt($(self.product_counter_input_element).val() ),\n\t\t\t\t\t\t\t\t\t\t\"old_quantity\": old_quantity,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n }\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n * @param data\n */\n set_view_product_analytic_event: function (data) {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n\n let price = data.attributes.price;\n let sku = data.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = data.attributes.sku;\n let sale_price = data.attributes['sale-price'];\n let remote_variant_id = data.remote_variant_id;\n\n if (typeof current_url.includes( settings.product_type )) {\n let self = this;\n\n gtag(\n 'event',\n 'view_variant',\n {\n\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": data.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n }\n );\n }\n },\n\n captcha_callback: function (val) {\n $( \".recaptcha-checkbox\" ).attr( \"aria-checked\", true );\n this.check_enable_comment_fields();\n },\n\n reset_focus_to_press_enter: function () {\n let self = this;\n $( document ).on(\n \"keypress blur focusout\",\n self.product_counter_input_element,\n function (e) {\n if (e.type === 'keypress' && e.which === 13) {\n self.update_counter_of_products( self, $( this ) );\n } else if (e.type === 'blur' || e.type === 'focusout') {\n self.update_counter_of_products( self, $( this ) );\n }\n }\n );\n },\n\n update_counter_of_products: function (self, container) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (\n this.is_tiered_price &&\n this.is_variants() &&\n this.is_validate_options()\n ) {\n this.get_variant_data( this.selectedVariant, number_of_items );\n } else if (this.is_tiered_price && this.is_validate_options()) {\n this.get_master_variant_data( number_of_items );\n }\n\n if (parseInt( container.val() ) > 1) {\n $( \".counter-btn-minus-js\" ).prop( \"disabled\", false );\n }\n },\n\n send_captcha: function () {\n $( \".submit-product-button\" ).click(\n function (e) {\n\t\t\t\t\tvar response;\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\t\tdata: $( \"#commentform\" ).serialize() + \"&action=google-captcha-url\",\n\t\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\t\tasync: false,\n\t\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\t\tif (data.nocaptcha === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else if (data.spam === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresponse = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n send_review_for_user: function () {\n var is_admin = this.is_admin;\n $( document ).on(\n 'submit',\n 'form#commentform',\n function (e) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t$( '#submit' ).addClass( 'prodigy-main-button--loading' );\n\t\t\t\t\tvar form = $( 'form#commentform' );\n\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: 'POST',\n\t\t\t\t\t\t\turl: form.attr( 'action' ),\n\t\t\t\t\t\t\tdata: form.serialize(),\n\t\t\t\t\t\t\terror: function (error) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'Couldn\\'t submit a review. Please try again later.' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess: function (respond_data) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\t\t$( '#submit' ).removeClass( 'prodigy-main-button--loading' );\n\t\t\t\t\t\t\t\t\tif (typeof respond_data !== \"undefined\") {\n\t\t\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'We will post your review soon after moderation approve' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n show_cart_message() {\n var add_to_cart_message = $( '.widget-cart-add-item-message-js' );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( 'slow' );\n },\n\n show_view_cart_btn() {\n var view_cart = $( \".view-cart-js\" );\n view_cart.show();\n $( \".prodigy-product__values\" ).removeClass( \"flex-nowrap\" );\n },\n\n show_add_to_cart_message() {\n var self = this;\n $(self.add_to_cart_button_element).prop( \"disabled\", true );\n self.show_cart_message();\n self.show_view_cart_btn();\n\n setTimeout(\n function () {\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\t\t\t\t},\n 5000\n );\n },\n\n show_error: function (message, type = \"success\") {\n let self = this;\n let add_to_cart_message = $( \".widget-cart-message-error-js\" );\n add_to_cart_message.find( \"span\" ).html( message );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( \"slow\" );\n if (type === \"error\") {\n add_to_cart_message.addClass( \"prodigy-cart-dropdown__error-alert\" );\n }\n self.hide_cart_button_loader();\n },\n\n disable_submit_comment: function () {\n let self = this;\n\n self.check_enable_comment_fields();\n\n $(document).on( 'input', \"#comment\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-author-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-email-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $( \"body\" ).on(\n \"change\",\n \"#prodigy-rating\",\n function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n },\n\n check_enable_comment_fields: function () {\n var comment_submit = $( \".prodigy-main-button.submit-product-button\" );\n\n var rating_form = $( \".comment-form-rating\" ).length;\n\n if ( ! this.is_admin) {\n var rating_val = $( \"#prodigy-rating\" ).val();\n }\n\n var comment_val = $( \"#comment\" ).val();\n var name_val = $( \".comment-author-js\" ).val();\n var email_val = $( \".comment-email-js\" ).val();\n var captcha_val = $( \"#g-recaptcha-response\" ).val();\n var captcha = $( \"#g-recaptcha-response\" );\n var is_rating_enable = $( \".prodigy-comment__rating\" ).length > 0;\n var is_email_enable = $( \".comment-email-js\" ).length > 0;\n var enable_submit = true;\n\n if (document.body.classList.contains( \"logged-in\" )) {\n if (this.is_admin) {\n var enable_submit = comment_val;\n } else if (typeof rating_val !== 'undefined') {\n var enable_submit = rating_val && comment_val;\n } else {\n var enable_submit = comment_val;\n }\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && captcha_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && captcha_val;\n }\n } else {\n if (typeof rating_val !== \"undefined\") {\n var enable_submit = rating_val && comment_val && name_val && email_val;\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && rating_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n } else if (captcha.length == 0 && ! this.is_admin && is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n } else {\n var enable_submit = comment_val && name_val && email_val;\n\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n }\n }\n\n if (enable_submit) {\n comment_submit.prop( \"disabled\", false );\n } else {\n comment_submit.prop( \"disabled\", true );\n }\n },\n\n set_shipping_data_variants: function (\n sku,\n weight,\n dimension\n ) {\n let prodigy_additional_weight_js = $( '.prodigy-additional-weight-js' );\n let prodigy_additional_dimensions_js = $( '.prodigy-additional-dimensions-js' );\n let product_sku_value = $( '.product_sku_value' );\n\n prodigy_additional_weight_js.text( weight )\n prodigy_additional_dimensions_js.text( dimension )\n product_sku_value.text( sku );\n },\n\n counter_reset: function () {\n $(this.product_counter_input_element).val(1);\n },\n\n set_product_counter: function () {\n let self = this;\n const counterCount = $(self.product_counter_input_element);\n counterCount.inputmask( {regex: \"^[1-9][0-9]*|$\", rightAlign: false} );\n\n $( document ).on(\n \"click\",\n '.counter-btn-minus-js',\n function () {\n\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) - 1;\n\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\n\t\t\t\t\tconst counterCount = $(self.product_counter_input_element);\n\t\t\t\t\tconst minusBtn = $( \".counter-btn-minus-js\" );\n\t\t\t\t\tlet counter = parseInt( counterCount.val() );\n\t\t\t\t\tif (counter !== self.min_quantity) {\n\t\t\t\t\t\tcounterCount.val( --counter );\n\t\t\t\t\t\tif (counter <= self.min_quantity) {\n\t\t\t\t\t\t\tminusBtn.prop( \"disabled\", true );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document )\n .off( \"click\", \".counter-btn-plus-js\" )\n .on(\n \"click\",\n \".counter-btn-plus-js\",\n function () {\n\t\t\t\t\t\tself.get_inventory_data();\n\t\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) + 1;\n\n\t\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( ++counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n\t\t\t\t\t}\n );\n },\n\n get_inventory_data: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-inventory-product\",\n post_id: $( \"#product_id\" ).val(),\n nonce: settings.nonce\n };\n clearTimeout(self.timeouInventorytId);\n self.timeouInventorytId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n if (typeof data.attributes !== 'undefined') {\n self.set_stock_status(data.attributes);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n reset_product_counter: function (inventory = null) {\n this.counter_reset();\n },\n\n set_stock_status: function (inventory, is_variant) {\n let self = this;\n let inventory_quantity = parseInt(localStorage.getItem(\"items_quantity\"));\n if (inventory['manage-stock'] && !inventory['backorderable'] && inventory_quantity > 0) {\n self.maxItems = inventory_quantity;\n }\n if (inventory['manage-stock']) {\n if (($(\".attribute_values_js\").length !== 0 && !is_variant) || inventory_quantity === 0) {\n self.set_out_of_stock_status();\n } else {\n self.disable_minus_button();\n self.set_in_stock_status(inventory);\n }\n } else if (is_variant && inventory['manage-stock'] && inventory['backorderable'] && inventory['stock'] === 'in_stock' && inventory_quantity === 0) {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'in_stock') {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'out_of_stock') {\n self.set_out_of_stock_status();\n }\n },\n\n is_swatches: function () {\n return $( \".prodigy-product__swatch-block-js\" ).length !== 0;\n },\n\n show_variant_data: function ( data_object, price, sale_price, subscriptions, is_selected_variant = 0) {\n let attribute_select = $( \".attribute_values_js\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let regular_price_info = $( \".regular-price-container\" );\n let sale_price_info = $( \".sale-price-container\" );\n let main_price_js = $( \".main-price-js\" );\n let default_info = $( '.product-default-info-js' );\n let subscription_block = $( '.subscriptions' );\n let main_currency_js = $( '.main-price-currency-js' );\n\n if ( ! is_selected_variant && $( '.main-price-js' ).text() !== prodigy_price_format( price )) {\n localStorage.setItem( 'product-range', $( '.main-price-js' ).text().trim() );\n }\n\n if ((attribute_select.length !== 0 || this.is_swatches()) && ! is_selected_variant) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n subscription_block.hide();\n main_currency_js.hide();\n main_price_js.text( localStorage.getItem( 'product-range' ) );\n } else {\n if ( ! this.is_tiered_price) {\n this.show_price( price, sale_price, subscriptions );\n } else {\n let price = data_object.tiered_price;\n this.show_price( price );\n }\n }\n\n default_info.show();\n let is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_selected_variant) {\n default_info.hide();\n\n if (subscriptions) {\n $( '.prodigy-subscriptions-tab-js:first' ).trigger( 'click' );\n $( '.prodigy-product__price-wrapper' ).hide();\n } else {\n $( '.prodigy-product__price-wrapper' ).show();\n }\n this.show_subscription_price( price );\n\n } else if (is_subscriptions) {\n $( '.product-default-info-price-js' ).text( '$' + price );\n }\n\n this.format_subscription_price( price );\n },\n\n show_subscription_price: function (price) {\n let sale_price = $( '.subscription-sale_price-js' ).val();\n if (sale_price !== price && typeof sale_price !== 'undefined') {\n let price = this.get_current_product_price();\n let price_string = '$' + prodigy_price_format( price );\n $( '.prodigy-product__prop-txt-price' ).text( price_string ).show();\n }\n },\n\n show_price: function (price, sale_price = null, subscriptions = null) {\n let main_currency_js = $( '.main-price-currency-js' );\n let main_price_js = $( \".main-price-js\" );\n price = prodigy_price_format( price );\n if ( sale_price ) {\n price = prodigy_price_format( sale_price );\n }\n if (this.is_tiered_price) {\n main_price_js = $( \".prodigy-product__main-price\" );\n price = prodigy_price_format( price );\n }\n\n let sale_price_info = $( \".sale-price-container\" );\n let regular_price_info = $( \".regular-price-container\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let sale_price_value_block = $( \".sale-price\" );\n let regular_price_value_block = $( \".regular-price\" );\n\n if (\n (typeof sale_price !== \"undefined\") ||\n (typeof sale_price !== \"undefined\" && parseInt( sale_price ) !== 0)\n ) {\n if (price === \"\" || parseInt( sale_price ) === 0) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n } else {\n main_price_js.text( '$' + price );\n main_currency_js.show();\n regular_price_info.show();\n sale_price_info.show();\n stock_info.show();\n }\n\n if (sale_price === \"\") {\n sale_price_info.show();\n if (typeof price !== 'undefined' && price) {\n sale_price_value_block.text( '$' + price );\n regular_price_info.hide();\n }\n } else {\n if (price && typeof price !== \"undefined\" && (sale_price !== null && sale_price.length > 0)) {\n if (prodigy_price_format( sale_price ) !== prodigy_price_format( price ) ) {\n regular_price_value_block.text( '$' + price );\n }\n sale_price_value_block.text( prodigy_price_format( sale_price ) );\n regular_price_info.show();\n sale_price_info.show();\n } else {\n sale_price_value_block.text( '$' +price );\n regular_price_info.hide();\n }\n }\n } else {\n sale_price_info.hide();\n regular_price_info.hide();\n }\n },\n\n show_main_product_info: function () {\n let self = this;\n if (\n typeof this.remote_product !== \"undefined\" &&\n this.remote_product.remote_main_price !== null\n ) {\n let subscriptions = false;\n if (typeof this.remote_product.remote_master_variant_info !== 'undefined') {\n subscriptions = typeof this.remote_product.remote_master_variant_info['subscription-plan'] !== 'undefined';\n }\n\n let price = 0;\n let sale_price = 0;\n\t\t\t\tif (typeof this.remote_product.remote_main_price !== 'undefined') {\n price = this.remote_product.remote_main_price.price;\n\t\t\t\t\tsale_price = this.remote_product.remote_main_price['sale-price'];\n\t\t\t\t}\n\n this.show_variant_data(\n this.remote_product,\n price,\n sale_price,\n subscriptions\n );\n\n if (\n typeof this.remote_product !== 'undefined' &&\n typeof this.remote_product.remote_master_variant_info !== \"undefined\"\n ) {\n localStorage.setItem( \"items_quantity\", this.remote_product.remote_master_variant_info.inventory.attributes.count );\n }\n\n let has_variants = ! $.isEmptyObject( this.remote_product.variant_option );\n if ( ! has_variants) {\n self.hide_cart_button_loader();\n }\n\n if (\n typeof this.remote_product.remote_master_variant_info !== 'undefined'\n && typeof this.remote_product.remote_master_variant_info.inventory !== 'undefined'\n ) {\n this.show_status( this.remote_product.remote_master_variant_info.inventory.attributes, has_variants, false );\n }\n }\n\n if (\n this.product.meta &&\n typeof this.product.meta.product_sku !== \"undefined\" &&\n this.product.meta.product_sku[0]\n ) {\n var main_product_sku = this.product.meta.product_sku[0];\n $( \".product_sku_value\" ).text( main_product_sku );\n }\n\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if ( ! is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n self.load_subscription_price();\n },\n\n\n get_tiered_prices_range_ajax: function() {\n let self = this;\n let post_data = {\n action: \"prodigy-get-tiered-prices-range\",\n product_id: this.master_variant_id,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutTieredtId);\n self.timeoutTieredtId = setTimeout(function() {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n self.min_quantity = data.data.min_quantity;\n if (self.is_tiered_price && !self.is_variant_was_chosen) {\n localStorage.setItem(\"min_quantity\", data.data.min_quantity);\n if (parseFloat(data.data.min_price) !== parseFloat(data.data.max_price) ) {\n let range_price_string = 'From $' + prodigy_price_format(data.data.min_price) + ' to $' + prodigy_price_format(data.data.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.data.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop( \"disabled\", true );\n }\n }\n });\n }, 500);\n },\n\n show_status: function (inventory, has_variant, select_variant) {\n let self = this;\n let inventory_quantity = parseInt( localStorage.getItem( \"items_quantity\" ) );\n if (typeof inventory_quantity !== \"undefined\" && inventory['manage-stock']) {\n self.maxItems = inventory_quantity;\n }\n let is_variant = (has_variant && select_variant) || ! has_variant;\n\n if (typeof inventory.stock !== \"undefined\") {\n self.set_stock_status( inventory, is_variant );\n }\n },\n\n disable_minus_button: function () {\n var minus = $( \".counter-btn-minus-js\" );\n\n if (parseInt($(self.product_counter_input_element).val()) === self.min_quantity) {\n minus.prop( \"disabled\", true );\n } else {\n minus.prop( \"disabled\", false );\n }\n },\n\n set_out_of_stock_status: function () {\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper['out_of_stock'] );\n },\n\n set_in_stock_status: function ( inventory ) {\n let plus = $( \".counter-btn-plus-js\" );\n let count_input = $(self.product_counter_input_element);\n count_input.prop( \"disabled\", false );\n plus.prop( \"disabled\", false );\n $(this.add_to_cart_button_element).prop( \"disabled\", false );\n let counter = inventory.count !== null ? inventory.count : '';\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper[inventory.stock] + ' ' + counter);\n },\n\n get_actual_price: function (price, sale_price) {\n if (sale_price === '') {\n return price;\n } else {\n return sale_price;\n }\n },\n\n set_variants_data: function (data, selector = null) {\n let self = this;\n if (typeof data !== 'undefined') {\n\n if (settings.pg_google_track_id !== \"\" && typeof settings.pg_google_track_id !== \"undefined\") {\n self.set_view_product_analytic_event( data );\n }\n\n let sku;\n if (\n data &&\n typeof data.attributes !== \"undefined\" &&\n data.attributes.sku\n ) {\n sku = data.attributes.sku;\n }\n\n if ( typeof data.inventory !== \"undefined\" && typeof data.inventory.attributes.count !== \"undefined\" ) {\n localStorage.setItem( \"items_quantity\", data.inventory.attributes.count );\n this.show_status( data.inventory.attributes, true, true );\n self.is_variant_was_chosen = true;\n if (self.is_tiered_price) {\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n }\n else if (data.inventory.attributes['manage-stock']) {\n this.reset_product_counter( data.inventory.attributes );\n }\n\n this.show_variant_data(\n data.attributes,\n data.attributes.price,\n data.attributes['sale-price'],\n data['subscription-plan'],\n true\n );\n }\n\n if (sku !== \"\" && typeof sku !== \"undefined\") {\n $( \".product_sku_value\" ).text( sku );\n } else {\n $( \".prodigy-product__tags-item product_sku\" ).hide();\n }\n\n // set product data for cart\n if (typeof data !== \"undefined\") {\n if (typeof data.remote_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-remote-id\", data.remote_variant_id );\n }\n\n if (typeof data.local_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-local-id\", data.local_variant_id );\n }\n }\n self.load_subscription_price();\n }\n },\n\n /**\n * Get obj remote product info\n *\n * @version 2.0.0\n */\n get_master_variant_data: function (number_of_items = 1) {\n let post_data = {\n action: \"prodigy-get-master-variant-data\",\n post_id: this.master_variant_id,\n items_number: number_of_items,\n nonce: settings.nonce\n };\n\n let self = this;\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.remote_product = data.data;\n\t\t\t\t\t\tif (typeof settings.is_captcha !== 'undefined' &&\n settings.is_captcha !== '' &&\n typeof settings.captcha_site_key !== 'undefined' &&\n settings.captcha_site_key !== ''\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tlet is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\tgrecaptcha.render(\n 'captcha',\n {\n\t\t\t\t\t\t\t\t\t\t'sitekey': settings.captcha_site_key\n }\n );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (typeof data.data !== 'undefined') {\n\t\t\t\t\t\t\tself.variant = data.data.remote_master_variant_info;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.show_main_product_info();\n\t\t\t\t\t\t// init cart\n\t\t\t\t\t\tself.add_item_to_cart();\n\t\t\t\t\t}\n }\n );\n },\n\n show_tab_description: function () {\n $( \"body\" ).on(\n \"click\",\n \".show-description-js\",\n function () {\n\t\t\t\t\t$( \".description_tab\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-description\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-reviews\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t}\n );\n },\n\n show_tab_review: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-review-link-js\",\n function () {\n\t\t\t\t\t$( \"#tab-reviews\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).addClass( \"active\" );\n\t\t\t\t\t$( \"#tab-description\" ).hide();\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t\t$( \".description_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).addClass( \"active\" );\n\t\t\t\t\tif (document.getElementById( \"tab-reviews\" )) {\n\t\t\t\t\t\tdocument.getElementById( \"tab-reviews\" ).scrollIntoView();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_product_tabs: function () {\n $( \".description_tab\" ).addClass( \"active\" );\n $( \"#tab-additional_information\" ).hide();\n $( \"#tab-reviews\" ).hide();\n\n var product_url = $( '.product-url-js' ).val();\n $( document ).on(\n 'click',\n '.tiered_prices_tab, .show-description-js, .description_tab, .additional_information_tab, .reviews_tab',\n function () {\n\t\t\t\t\t$( 'html,body' ).animate( {scrollTop: $( this ).offset().top}, 500 );\n\t\t\t\t}\n );\n\n $( \"body\" )\n // Tabs\n .on(\n \"init\",\n \".prodigy-tabs-js, .prodigy-tabs\",\n function () {\n\t\t\t\t\t\t$( \".pg-tab, .prodigy-tabs .panel:not(.panel .panel)\" ).hide();\n\t\t\t\t\t\tvar hash = window.location.hash;\n\t\t\t\t\t\tvar url = window.location.href;\n\t\t\t\t\t\tvar $tabs = $( this )\n .find( \".pg-tabs, ul.tabs\" )\n .first();\n\t\t\t\t\t\tif (\n hash.toLowerCase().indexOf( \"comment-\" ) >= 0 ||\n hash === \"#reviews\" ||\n hash === \"#tab-reviews\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (\n url.indexOf( \"comment-page-\" ) > 0 ||\n url.indexOf( \"cpage=\" ) > 0\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (hash === \"#tab-additional_information\") {\n\t\t\t\t\t\t\t$tabs.find( \"li.additional_information_tab a\" ).click();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar $tab = $tabs.find( \"li:first a\" );\n\t\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t\t$tab.addClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \".pg-tabs li a, ul.tabs li a\",\n function (e) {\n\t\t\t\t\t\tvar $tab = $( this );\n\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\tvar $tabs = $tabs_wrapper.find( \".pg-tabs, ul.tabs\" );\n\n\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t$tab.closest( \"li\" ).addClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t}\n )\n\n // Star ratings for comments\n .on(\n \"init\",\n \"#prodigy-rating\",\n function () {\n\t\t\t\t\t\t$( this )\n .hide()\n .before(\n \"\" +\n '<div class=\"stars prodigy-comment__rating\">' +\n '<a class=\"star-1 prodigy-comment__star icon icon-star\" href=\"#\">1</a>' +\n '<a class=\"star-2 prodigy-comment__star icon icon-star\" href=\"#\">2</a>' +\n '<a class=\"star-3 prodigy-comment__star icon icon-star\" href=\"#\">3</a>' +\n '<a class=\"star-4 prodigy-comment__star icon icon-star\" href=\"#\">4</a>' +\n '<a class=\"star-5 prodigy-comment__star icon icon-star\" href=\"#\">5</a>' +\n \"</div>\"\n );\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \"#respond div.stars a\",\n function () {\n\t\t\t\t\t\tvar $star = $( this ),\n $rating = $( this )\n .closest( \"#respond\" )\n .find( \"#prodigy-rating\" ),\n $container = $( this ).closest( \".stars\" );\n\t\t\t\t\t\t$rating.val( $star.text() ).trigger( \"change\" );\n\t\t\t\t\t\t$star.siblings( \"a\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$star.addClass( \"active\" );\n\t\t\t\t\t\t$container.addClass( \"selected\" );\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n )\n\n .on(\n \"click\",\n \"#reviews #comments .justify-content-center\",\n function () {\n\t\t\t\t\t\twindow.prodigyProduct\n .get_count_review()\n .done(\n function (result) {\n\t\t\t\t\t\t\t\tlet count_review = result.data;\n\t\t\t\t\t\t\t\tif (count_review > 0) {\n\t\t\t\t\t\t\t\t\twindow.prodigyProduct.get_content_review();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n )\n .fail(\n function () {\n\t\t\t\t\t\t\t}\n );\n\t\t\t\t\t}\n );\n\n $( \".prodigy-tabs-js, .prodigy-tabs, #prodigy-rating\" ).trigger( \"init\" );\n },\n\n get_content_review: function () {\n let self = $( \"#reviews #comments .justify-content-center\" );\n let page = $( \".per-page-js\" ).data( \"page\" );\n let post_data = {\n action: \"prodigy-public-get-comments\",\n post_id: $( \"#product_id\" ).val(),\n page: page,\n nonce: settings.nonce\n };\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"text\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.before( data );\n\t\t\t\t\t\t$( \".per-page-js\" ).data( \"page\", page + 1 );\n\n\t\t\t\t\t\twindow.prodigyProduct.get_count_review().done(\n function (res) {\n if (res.data === 0) {\n window.prodigyProduct.hide_link_show_more_reviews();\n }\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n get_count_review: function () {\n let post_data = {\n action: \"prodigy-public-get-comments-count\",\n post_id: $( \"#product_id\" ).val(),\n page: $( \".per-page-js\" ).data( \"page\" ),\n nonce: settings.nonce\n };\n\n return $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url\n }\n );\n },\n\n hide_link_show_more_reviews: function () {\n $( \".link-show-more-reviews-js\" )\n .removeClass( \"d-flex\" )\n .addClass( \"d-none\" );\n },\n\n set_default_link_review: function () {\n window.prodigyProduct.get_count_review().done(\n function (res) {\n\t\t\t\t\tif (res.data === 0) {\n\t\t\t\t\t\twindow.prodigyProduct.hide_link_show_more_reviews();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n init_show_more: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-product__description-show-more\",\n function () {\n var $container = $( this ).parent();\n $container\n .find( \".prodigy-product__description-container\" )\n .removeClass( \"prodigy-product__description-container--truncated\" );\n $container.find( \".prodigy-product__description-fade\" ).remove();\n $( this ).remove();\n }\n );\n },\n\n set_customised_variant_selection: function () {\n $( document ).find( 'select[data-attribute]' ).trigger( 'focus' );\n },\n\n customise_sort_select: function () {\n $( '.prodigy-custom-select' ).styler(\n {\n\t\t\t\t\tonFormStyled: function () {\n\t\t\t\t\t\t$( '.jq-selectbox__select-text' ).each(\n function () {\n const width = $( this )\n .closest( '.jq-selectbox' )\n .find( 'select' )\n .width();\n $( this ).width( width );\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n set_tabs_for_resolution: function () {\n let windowWidth = window.innerWidth;\n if (windowWidth < 768) {\n $( '.desktop-resolution-js' ).remove();\n } else {\n $( '.mobile-resolution-js' ).remove();\n }\n },\n\n is_validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tif ($( this ).val() === \"\") {\n\t\t\t\t\t\t\tresult = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js' ).each(\n function () {\n let self = this;\n let checkbox = $( this ).find('.prodigy-product__swatch-js');\n checkbox.each(\n function () {\n if ( ! checkbox.is( ':checked' ) && ! $( self ).hasClass( 'ignored' ) ) {\n result = false;\n } else {\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n\n validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tconst headers = $( bulk_container ).find( '.prodigy-tooltip, .prodigy-bulk__table-cell' );\n\t\t\t\t\tbulk_result ? headers.removeAttr( 'style' ) : headers.css( 'border-color', 'red' )\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $( this ).val() === \"\") {\n\t\t\t\t\t\t$( this ).prev().css( 'color', 'red' );\n\t\t\t\t\t\t$( this ).css( 'border-color', 'red' );\n\t\t\t\t\t\tresult = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( this ).prev().removeAttr( 'style' );\n\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js:not(.ignored)' ).each(\n function () {\n\t\t\t\t\tlet element = $( this ).closest( '.prodigy-product__attr-item--no-select-value' ).find( '.prodigy-product__attr-text' );\n\t\t\t\t\tlet checkbox = $( this ).find(self.prodigy_product_swatch_element);\n\t\t\t\t\tcheckbox.each(\n function () {\n if ( ! checkbox.is( ':checked' )) {\n element.css( 'color', 'red' );\n result = false;\n } else {\n element.removeAttr( 'style' );\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n hide_empty_div: function () {\n $( '.prodigy-product__prop-wrap' ).each(\n function () {\n\t\t\t\t\tif ($.trim( $( this ).text() ) == '' && $( this ).children().length == 0) {\n\t\t\t\t\t\t$( this ).hide();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n };\n\n window.prodigyProduct = prodigy_product;\n})( jQuery, window );\n\njQuery( document ).ready(\n function ($) {\n\t\twindow.prodigyProduct.init();\n\t\twindow.prodigyRecaptchaCallback = window.prodigyProduct.captcha_callback.bind(\n window.prodigyProduct\n\t\t);\n\t}\n);\n","( function ( $, window ) {\n const qnonce = settings.nonce;\n $(document).on('click', '.quick-view-js', function () {\n window.code_happened = false;\n $.ajax({\n type: \"POST\",\n url: ajaxurl,\n data: {\n action: 'prodigy-quick-edit',\n post_id: $(this).data('id'),\n nonce: qnonce\n },\n cache: false,\n success: function(html) {\n $.magnificPopup.open({\n items: {\n src: '#quick-view-js',\n },\n type: 'inline',\n callbacks: {\n beforeOpen : function() {\n $('#quick-view-content-js').html(html);\n window.prodigyProduct.init();\n if (!window.prodigyProduct.is_variants()) {\n window.prodigyProduct.get_master_variant_data();\n }\n window.prodigyProduct.set_product_gallery();\n window.prodigyProduct.update_variants_dropdown();\n window.prodigyProduct.set_elementor_options();\n window.prodigyProduct.set_product_counter();\n window.prodigyProduct.change_swatch_value();\n window.prodigyProduct.set_checked_swatch();\n window.prodigyProduct.choose_variant_dropdown();\n window.prodigyProduct.choose_radio_variant();\n window.prodigyProduct.add_item_to_cart();\n window.prodigyProduct.reset_focus_to_press_enter();\n window.prodigyProduct.set_bulk_variants_data();\n window.prodigyProductBulk.bulk_showing_manager();\n if (window.prodigyProduct.is_tiered_price) {\n window.prodigyProduct.get_tiered_prices_range_ajax();\n }\n }\n }\n });\n }\n });\n\n\n $(document).on('click', '.quick-view-close', '.filter-close', function (e) {\n e.preventDefault();\n $.magnificPopup.close();\n });\n });\n})(jQuery, window);","(function ($) {\n 'use strict';\n\n let shop_page_url = settings.shop_page_url;\n let default_number_of_columns = settings.customizer_product_columns;\n let windowWidth = screen.width;\n\n $(document).ready(function () {\n let catalog_containers = [\n 'filter__browse',\n 'filter-widget-container-js',\n 'prodigy-pagination',\n 'catalog-sort-js',\n 'price-filter-container-js'\n ];\n\n init();\n\n function init() {\n set_search_parameters();\n set_dropdown_sortable();\n search_handler();\n slow_search();\n hiding_search_widget();\n hiding_empty_search_space();\n set_number_of_columns_by_screen_resolution();\n }\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let number_of_columns = '';\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function hiding_empty_search_space() {\n let search = $('.catalog-page-sort-js');\n let sorting = $('.prodigy-search__input-js');\n if (search.length === 0 && sorting.length === 0) {\n $('.prodigy-search-filter').remove();\n }\n }\n\n function hiding_search_widget() {\n $('.prodigy-filter__main').each(function (index, element) {\n let badge = $(element).find('.prodigy-filter__badges');\n let container_attribute = badge.find('.prodigy-main-badge');\n let active_filter = container_attribute.data('attribute-name');\n if (badge.length !== 0 && typeof active_filter === 'undefined') {\n element.remove();\n }\n });\n }\n\n function slow_search() {\n if (prodigyGetUrlParam('search')) {\n $(\"html,body\").animate({scrollTop: 0}, \"slow\");\n }\n }\n\n function search_handler() {\n const searchBtn = $('.prodigy-search__icon-js');\n const searchWidgetBtn = $('.prodigy-search__icon-widget-js');\n const closeSearchBtn = $('.prodigy-search__close-icon');\n const searchInput = $('.prodigy-search__input-js');\n const searchCustom = $('.prodigy-search__custom-search');\n const backdropOverlay = $('body');\n\n searchWidgetBtn.on('click', (e) => {\n let input = $(e.target).closest('form').find('.prodigy-search__input-js, .prodigy-search__input-mobile-js');\n if (!input.length) {\n return;\n }\n set_search_params(input.val());\n });\n\n searchBtn.on('click', () => {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n\n /**\n * for prodigy theme\n */\n searchInput.toggleClass('prodigy-search__input-is-open');\n searchInput.focus();\n\n if (searchInput.hasClass('prodigy-search__input-is-open') && searchInput.val().length > 0) {\n setTimeout(function () {\n closeSearchBtn.removeClass('d-none');\n }, 200);\n } else {\n closeSearchBtn.addClass('d-none');\n }\n\n });\n\n if (typeof searchInput.val() !== 'undefined' && searchInput.val().length > 0) {\n searchInput.addClass('prodigy-search__input-is-open');\n closeSearchBtn.removeClass('d-none');\n }\n\n searchInput.on('keyup', function () {\n if (searchInput.val().length > 0) {\n closeSearchBtn.removeClass('d-none');\n } else {\n closeSearchBtn.addClass('d-none');\n }\n });\n\n closeSearchBtn.on('click', function () {\n searchInput.val('');\n $(this).addClass('d-none');\n window.history.replaceState({}, document.title, shop_page_url);\n document.location.reload();\n });\n\n searchCustom.on('click', function (e) {\n e.stopPropagation();\n $(this).closest(\".prodigy-search__custom-dropdown\").addClass(\"prodigy-search__custom-dropdown--open\");\n });\n\n backdropOverlay.on('click', function (e) {\n if (!$(e.target).closest('.prodigy-search__custom-dropdown-block-search').length) {\n $('.prodigy-search__custom-dropdown').removeClass(\"prodigy-search__custom-dropdown--open\");\n }\n });\n\n }\n\n function set_search_parameters() {\n var search = prodigyGetUrlParam('search');\n if (typeof search !== 'undefined' && search !== 0) {\n $('.prodigy-search__input-js').val(prodigyGetUrlParam('search'));\n }\n\n $(document).on('keypress', '.prodigy-search__input-js, .prodigy-search__input-mobile-js', function (e) {\n let target = $(e.currentTarget);\n if (e.which === 13 && target.val() && typeof target.val() !== 'undefined') {\n e.preventDefault();\n set_search_params(target.val());\n }\n });\n }\n\n function set_search_params(search_value) {\n var newParams = [\n ['search', search_value]\n ];\n\n window.history.replaceState({}, document.title, shop_page_url);\n let newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n\n function set_dropdown_sortable() {\n var selText = '';\n var sort_param = prodigyGetUrlParam('sort');\n var dropdown_container = $(\".prodigy-dropdown__menu a\");\n\n switch (sort_param) {\n case 'created_at':\n selText = 'Sort by newness';\n break;\n case 'rating':\n selText = 'Sort by average rating';\n break;\n case 'price':\n selText = 'Sort by price';\n break;\n default:\n selText = 'Sort by newness';\n break;\n }\n\n dropdown_container.parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n\n dropdown_container.click(function (e) {\n selText = $(this).text();\n $(this).parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n });\n }\n\n const filterToggleBtnHandler = () => {\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n $('body').toggleClass('prodigy-overflow-y-hidden');\n $('html').toggleClass('prodigy-overflow-y-hidden');\n }\n\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-elementor-js, #filter-toggle-btn-2, #shop-sidebar-backdrop-js, #shop-sidebar-backdrop-elementor-js', filterToggleBtnHandler);\n });\n})(jQuery);\n","/**\n * File skip-link-focus-fix.js.\n *\n * Helps with accessibility for keyboard only users.\n *\n * Learn more: https://git.io/vWdr2\n */\n( function() {\n\tvar isIe = /(trident|msie)/i.test( navigator.userAgent );\n\n\tif ( isIe && document.getElementById && window.addEventListener ) {\n\t\twindow.addEventListener( 'hashchange', function() {\n\t\t\tvar id = location.hash.substring( 1 ),\n\t\t\t\telement;\n\n\t\t\tif ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement = document.getElementById( id );\n\n\t\t\tif ( element ) {\n\t\t\t\tif ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {\n\t\t\t\t\telement.tabIndex = -1;\n\t\t\t\t}\n\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, false );\n\t}\n} )();\n"],"sourceRoot":""}1 {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./web/templates/js/navigation.js","webpack:///./web/templates/js/scripts/analytics.js","webpack:///./web/templates/js/scripts/cart-load.js","webpack:///./web/templates/js/scripts/filter.js","webpack:///./web/templates/js/scripts/product-bulk.js","webpack:///./web/templates/js/scripts/product-page.js","webpack:///./web/templates/js/scripts/product-quick-view.js","webpack:///./web/templates/js/scripts/shop-page.js","webpack:///./web/templates/js/skip-link-focus-fix.js"],"names":["container","button","menu","links","i","len","document","getElementById","getElementsByTagName","style","display","setAttribute","className","indexOf","onclick","replace","length","addEventListener","toggleFocus","self","tagName","toLowerCase","parentElement","touchStartFn","parentLink","querySelectorAll","window","e","menuItem","parentNode","classList","contains","preventDefault","children","remove","add","$","settings","pg_google_track_id","on","value","text","trim","gtag","item","push","data","quantity","val","items","each","key","find","cart_items","jQuery","prodigy_remote_cart","init","get_remote_cart","post_data","action","ajax","type","dataType","url","ajax_url","success","response","check_empty_cart_load_remote","removeClass","html","cart","is_show_cross_products","show","cross_products","cross_slider_init","not","slick","prevArrow","nextArrow","slidesToShow","slidesToScroll","dots","arrows","mobileFirst","variableWidth","responsive","breakpoint","hide","is_deleted_product","prodigyRemoteCart","ready","filter_handler","set_sortable","reset_filters","clear_params","apply_filters","set_price_filter","set_sidebar","close_active_filter","remove_filter_storage","set_filters","is_elementor_template","set_elementor_filter_mode","set_custom_select","get_shop_page_id","urlParams","URLSearchParams","location","search","get","set_number_of_columns_by_screen_resolution","windowWidth","screen","width","default_number_of_columns","customizer_product_columns","number_of_columns","addClass","is_show_active_filter","click","toggleClass","is","attribute_name","attribute_value","load_filters","localStorage","removeItem","element","closest","attribute_id","unset_filter","get_catalog_filters","build_query","get_catalog_products","filterToggleBtnHandler","set_loader","attr","remove_loader","price_max","prodigyGetUrlParam","price_min","price_query","setItem","clear_url_params","href","origin","split","filter","getItem","params","JSON","parse","filter_query","param","total_query","history","pushState","pathname","category_name","category_slug","current_url","query","widget_id","category","category_type","ajaxurl","cache","pagination_list","empty_products","products","replaceWith","no_results","sort","first","before","active","filters","price_filter","price_filter_container","price","slider_widget","min_price","max_price","query_min_price","query_max_price","styler","onFormStyled","navigator","platform","newParams","newUrl","prodigyInsertUrlParams","reload","undefined","event","stopPropagation","id","attribute","values","forEach","splice","values_str","join","stringify","uncheck_filter_checkbox","removeAttr","Object","keys","parts","toString","id_attr","list","listItems","btnText","listOpenClass","moreText","lessText","countShow","hasClass","prodigy_product_bulk","input_quantity_element","enable_bulk_element","add_to_cart_button","bulk_container_general","bulk_container","variant_container","swatch_variant_container","button_disable_bulk","link_disable_bulk","bulk_modal","counter_element","bulk_total_block","close_bulk_modal","replaced_hidden_option","disable_bulk_modal_text","is_bulk","set_quantity_validation","bulk_showing_manager","is_bulk_enabled","get_attr_name_with_bulk_enabled","hide_default_product_info","trigger","modal","show_bulk_for_attr","hide_bulk_for_attr","removeData","show_price_bulk_block","prodigyProduct","reset_bulk_inputs","show_default_product_info","is_show_bulk_price_block","inputmask","mask","regex","prodigyProductBulk","prodigy_product","_weight_type_mapper","_dimension_type_mapper","_stock_status_mapper","_add_to_cart_key","product","is_show_subscription_popup","subscription_price","is_subscription_replaced","is_one_time_order","subscription_id","remote_product","variant","maxItems","is_admin","is_tiered_price","selectedVariant","master_variant_id","bulk_variants_info","input_bulk_quantity_element","total_quantity_element","bulkVariants","bulkTotalQuantity","bulk_total_price","bulk_price_modifier_element","bulk_stock_status","bulk_stock_qty","bulk_container_element","active_bulk_attribute_name","min_quantity","add_to_cart_button_element","disable_bulk_button_element","product_counter_input_element","prodigy_product_swatch_element","is_variant_was_chosen","Boolean","is_product_page","is_shop_page","is_variants","get_master_variant_data","set_product_tabs","scroll_for_hash","hash","set_product_counter","show_tab_review","show_tab_description","send_captcha","send_review_for_user","disable_submit_comment","reset_focus_to_press_enter","set_default_link_review","change_product_quantity_analytic_event","change_swatch_value","update_variants_dropdown","set_elementor_options","set_subscription_id","set_tabs_for_resolution","customise_sort_select","set_customised_variant_selection","choose_radio_variant","add_item_to_cart","hide_empty_div","set_bulk_variants_data","set_bulk_info","set_product_gallery","get_tiered_prices_range_ajax","close_tiered_price_popup","get_options","selected_options","is_swatches","swatch_block","$option","thumbsDirection","thumbsSlidesPerView","thumbsSpaceBetween","ratio","height","initNav","swiper","el","isBeginning","slideTo","slides","slidePrev","isEnd","slideNext","swiperThumbs","Swiper","direction","slidesPerView","spaceBetween","speed","slidesHeight","mainHeight","outerHeight","slide","swiperMain","pagination","thumbs","code_happened","open_photo_swipe","bind","get_gallery_images","img","large_image_src","large_image_w","large_image_h","src","w","h","title","pswpElement","index","options","extend","photoswipe","PhotoSwipe","PhotoSwipeUI_Default","context","bulk_attr","set_variant_modifier","modifierOptions","modifier","attributes","get_attributes_for_query","clear_selected_attributes","entries","selected_value","get_multiple_variant_data","is_show_regular_price","set_subscriptions","format_subscription_price","is_subscriptions","parse_price","sale_price","one_time_price","prodigy_price_format","parseFloat","parent","is_need_replace_subscription_item","remote_product_id","attribute_values_js","remote_master_id_variant","one_time_order","show_subscription_popup","off","validate_options","is_bulk_opened","attribute_swatch_js","current_button","set_analytic_add_item_to_cart","form_count_products","is_validate_options","add_to_cart","get_current_product_price","set_bulk_data","total_quantity","bulkOptions","set_checked_swatch","set_variants","is_visible","isNaN","parseInt","obj","get_bulk_variants_data","selected_variant_options","get_variant_data","prev","sale_price_rounded","set_subscription_additional_price","price_container","set_subscription_options","activate_subscription_block","is_conditions","next","attribute_swatch","set_subscription_price","load_subscription_price","format_price_string","condition_string","prop","v","price_str","number_of_product","attributes_item","count","nonce","show_cart_button_loader","clearTimeout","timeoutAddToCartId","setTimeout","error","error_code","show_tiered_price_modal","prodigy_cart_widget","cart_modal_trigger","show_error","responseJSON","cart_slide_open","show_add_to_cart_message","show_cart_message","hide_cart_button_loader","dinamic_cart_url","cart_slider","message","slider","set_active_bulk_attribute_name","active_bulk_attribute","number_of_items","Set","choose_variant_dropdown","selector","isVariantSelected","show_main_product_info","remote_master_variant_info","dimension_attrs","dimension","set_shipping_data_variants","remote_main_sku","current_attribute","post_id","variants","bulk_attribute","timeoutMultipleDataId","xhr","status","set_variant_bulk_info","key_field","inventory","timeoutVariantsDataId","result","update_bulk_info","subscriptions","set_variants_data","sku","product_gallery","tiered_prices","range_price_string","variantsObj","update_select","dropdownOpened","MsDropdown","make","open","change","$selects","selected_attributes","filtered_attributes","current_attr","available_variants","filter_variants","$select","available_attributes","j","attr_name","name","default_select_option","orderedVariants","compareBySort","attr_value_name","attr_value_slug","slug","dataProperties","dataColorProperties","color","svg","createElementNS","backgroundColor","rect","appendChild","svgData","XMLSerializer","serializeToString","svgBase64","btoa","dataUrl","image","is_selected","default","append","a","b","availableVariants","is_available","animate","scrollTop","offset","top","includes","product_type","remote_variant_id","get_actual_price","old_quantity","set_view_product_analytic_event","captcha_callback","check_enable_comment_fields","which","update_counter_of_products","serialize","async","nocaptcha","spam","form","respond_data","add_to_cart_message","delay","fadeOut","show_view_cart_btn","view_cart","comment_submit","rating_form","rating_val","comment_val","name_val","email_val","captcha_val","captcha","is_rating_enable","is_email_enable","enable_submit","body","weight","prodigy_additional_weight_js","prodigy_additional_dimensions_js","product_sku_value","counter_reset","counterCount","rightAlign","minusBtn","counter","get_inventory_data","timeouInventorytId","set_stock_status","reset_product_counter","is_variant","inventory_quantity","set_out_of_stock_status","disable_minus_button","set_in_stock_status","show_variant_data","data_object","is_selected_variant","attribute_select","stock_info","regular_price_info","sale_price_info","main_price_js","default_info","subscription_block","main_currency_js","show_price","tiered_price","show_subscription_price","price_string","sale_price_value_block","regular_price_value_block","remote_main_price","has_variants","isEmptyObject","variant_option","show_status","meta","product_sku","main_product_sku","product_id","timeoutTieredtId","has_variant","select_variant","stock","minus","plus","count_input","local_variant_id","items_number","is_captcha","captcha_site_key","grecaptcha","render","scrollIntoView","product_url","$tabs","$tab","$tabs_wrapper","$star","$rating","$container","siblings","get_count_review","done","count_review","get_content_review","fail","page","res","hide_link_show_more_reviews","init_show_more","innerWidth","bulk_result","input","checkbox","headers","css","prodigyRecaptchaCallback","qnonce","magnificPopup","callbacks","beforeOpen","close","shop_page_url","catalog_containers","set_search_parameters","set_dropdown_sortable","search_handler","slow_search","hiding_search_widget","hiding_empty_search_space","sorting","badge","container_attribute","active_filter","searchBtn","searchWidgetBtn","closeSearchBtn","searchInput","searchCustom","backdropOverlay","target","set_search_params","focus","replaceState","currentTarget","search_value","selText","sort_param","dropdown_container","parents","isIe","test","userAgent","substring","tabIndex"],"mappings":"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","file":"js/public.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/**\n * File navigation.js.\n *\n * Handles toggling the navigation menu for small screens and enables TAB key\n * navigation support for dropdown menus.\n */\n( function() {\n\tvar container, button, menu, links, i, len;\n\n\tcontainer = document.getElementById( 'site-navigation' );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tbutton = container.getElementsByTagName( 'button' )[0];\n\tif ( 'undefined' === typeof button ) {\n\t\treturn;\n\t}\n\n\tmenu = container.getElementsByTagName( 'ul' )[0];\n\n\t// Hide menu toggle button if menu is empty and return early.\n\tif ( 'undefined' === typeof menu ) {\n\t\tbutton.style.display = 'none';\n\t\treturn;\n\t}\n\n\tmenu.setAttribute( 'aria-expanded', 'false' );\n\tif ( -1 === menu.className.indexOf( 'nav-menu' ) ) {\n\t\tmenu.className += ' nav-menu';\n\t}\n\n\tbutton.onclick = function() {\n\t\tif ( -1 !== container.className.indexOf( 'toggled' ) ) {\n\t\t\tcontainer.className = container.className.replace( ' toggled', '' );\n\t\t\tbutton.setAttribute( 'aria-expanded', 'false' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'false' );\n\t\t} else {\n\t\t\tcontainer.className += ' toggled';\n\t\t\tbutton.setAttribute( 'aria-expanded', 'true' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'true' );\n\t\t}\n\t};\n\n\t// Get all the link elements within the menu.\n\tlinks = menu.getElementsByTagName( 'a' );\n\n\t// Each time a menu link is focused or blurred, toggle focus.\n\tfor ( i = 0, len = links.length; i < len; i++ ) {\n\t\tlinks[i].addEventListener( 'focus', toggleFocus, true );\n\t\tlinks[i].addEventListener( 'blur', toggleFocus, true );\n\t}\n\n\t/**\n\t * Sets or removes .focus class on an element.\n\t */\n\tfunction toggleFocus() {\n\t\tvar self = this;\n\n\t\t// Move up through the ancestors of the current link until we hit .nav-menu.\n\t\twhile ( -1 === self.className.indexOf( 'nav-menu' ) ) {\n\n\t\t\t// On li elements toggle the class .focus.\n\t\t\tif ( 'li' === self.tagName.toLowerCase() ) {\n\t\t\t\tif ( -1 !== self.className.indexOf( 'focus' ) ) {\n\t\t\t\t\tself.className = self.className.replace( ' focus', '' );\n\t\t\t\t} else {\n\t\t\t\t\tself.className += ' focus';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tself = self.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Toggles `focus` class to allow submenu access on tablets.\n\t */\n\t( function( container ) {\n\t\tvar touchStartFn, i,\n\t\t\tparentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );\n\n\t\tif ( 'ontouchstart' in window ) {\n\t\t\ttouchStartFn = function( e ) {\n\t\t\t\tvar menuItem = this.parentNode, i;\n\n\t\t\t\tif ( ! menuItem.classList.contains( 'focus' ) ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfor ( i = 0; i < menuItem.parentNode.children.length; ++i ) {\n\t\t\t\t\t\tif ( menuItem === menuItem.parentNode.children[i] ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmenuItem.parentNode.children[i].classList.remove( 'focus' );\n\t\t\t\t\t}\n\t\t\t\t\tmenuItem.classList.add( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tmenuItem.classList.remove( 'focus' );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor ( i = 0; i < parentLink.length; ++i ) {\n\t\t\t\tparentLink[i].addEventListener( 'touchstart', touchStartFn, false );\n\t\t\t}\n\t\t}\n\t}( container ) );\n} )();\n","(function( $ , window) {\n if (settings.pg_google_track_id !== '') {\n $(document).on(\"click\", \".category-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_attribute_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_attribute_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".attribute-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_category_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_category_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".remove-item-js, .widget-remove-item-js\", function () {\n var item = [];\n item.push($(this).data('cart-item'));\n item.push({\n quantity: $('counter-count-js').val(),\n });\n\n gtag('event', 'remove_from_cart', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": item[0]\n });\n });\n\n\n $(document).on(\"click\", \"button.checkout-button-js\", function () {\n var items = [];\n $('.cart-item-js').each(function (key, item) {\n var item = $(this).data('cart-item');\n item.quantity = $(this).find('.counter-count-js').val();\n items.push(item);\n });\n\n var cart_items = [];\n gtag('event', 'begin_checkout', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": items\n });\n });\n }\n\n}) (jQuery, window);\n","(function ($, window) {\n\n let prodigy_remote_cart = {\n\n init: function () {\n // this.get_remote_cart();\n },\n\n get_remote_cart: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-template-cart\",\n };\n\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (response) {\n if (response.success === false) {\n self.check_empty_cart_load_remote();\n } else {\n $('.prodigy-cart-container-js .row').removeClass('cart-skeleton').html(response.data.cart);\n if (response.data.is_show_cross_products) {\n $('.related-products-block-js').show();\n $('.related-products-container-js').show().html(response.data.cross_products);\n self.cross_slider_init();\n }\n }\n }\n });\n },\n\n cross_slider_init: function () {\n $('.related-products-js').not('.slick-initialized').slick({\n prevArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--prev icon icon-arrow-left\"></button>',\n nextArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--next icon icon-arrow-right\"></button>',\n slidesToShow: 2,\n slidesToScroll: 1,\n dots: false,\n arrows: true,\n mobileFirst: true,\n variableWidth: false,\n responsive: [\n {\n breakpoint: 767,\n settings: {\n variableWidth: false,\n slidesToShow: 3,\n slidesToScroll: 3,\n }\n },\n {\n breakpoint: 1168,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n variableWidth: false,\n arrows: true,\n }\n },\n ]\n });\n },\n\n check_empty_cart_load_remote: function () {\n $('.prodigy-cart-container-js .row').hide();\n $('.empty-cart-js').show();\n if (settings.is_deleted_product) {\n $('.widget-cart-message-error-js').show();\n }\n },\n };\n\n window.prodigyRemoteCart = prodigy_remote_cart;\n})(jQuery, window);\n\njQuery(function ($) {\n window.prodigyRemoteCart.init();\n});\n","(function ($, window) {\n 'use strict';\n $(document).ready(\n function () {\n init();\n\n function init() {\n filter_handler();\n set_sortable();\n reset_filters();\n clear_params();\n apply_filters();\n set_price_filter();\n set_sidebar();\n close_active_filter();\n remove_filter_storage();\n set_filters();\n if (is_elementor_template()) {\n set_elementor_filter_mode();\n }\n set_custom_select();\n }\n\n\n function get_shop_page_id() {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('page_id');\n }\n\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let windowWidth = screen.width;\n let default_number_of_columns = settings.customizer_product_columns;\n let number_of_columns = 1;\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function is_elementor_template() {\n return $('.elementor-widget-pae-archive-products').length > 0;\n }\n\n function is_show_active_filter() {\n return $('.elementor-show-active-filter-js').val();\n }\n\n function set_elementor_filter_mode() {\n $('.prodigy-filter__sm-btn-js').click(function () {\n $('.prodigy-filter-js').show();\n $('.prodigy-filter__accordion-header-js').show();\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n });\n }\n\n function set_filters() {\n $('.attribute-filter-js').each(function () {\n if ($(this).is(':checked')) {\n let attribute_name = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n load_filters(attribute_name, attribute_value);\n }\n });\n }\n\n function remove_filter_storage() {\n localStorage.removeItem('filter');\n }\n\n function close_active_filter() {\n $(document).on(\n 'click',\n '.filter-close-js',\n function () {\n let element = $(this).closest('.prodigy-main-badge');\n let attribute_id = element.data(\"attribute-id\");\n let attribute_value = element.data('attribute-slug');\n unset_filter(attribute_id, attribute_value);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function set_sidebar() {\n const filterToggleBtnHandler = () => {\n $('#filter-toggle-btn').toggleClass('prodigy-shop-sidebar-btn--show');\n $('#filter').toggleClass('prodigy-shop-sidebar--open');\n }\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-2, #shop-sidebar-backdrop-js', filterToggleBtnHandler);\n }\n\n function set_loader() {\n $('.prodigy-loader-wrapper').show();\n $('.prodigy-loader-wrapper').attr(\"style\", \"display:flex\");\n $('*').addClass('pointer-events-none');\n }\n\n function remove_loader() {\n $('.prodigy-loader-wrapper').hide();\n $('*').removeClass('pointer-events-none');\n }\n\n function set_price_filter() {\n $(document).on(\n 'click',\n '.price-filter-submit-js',\n function (e) {\n let price_max = prodigyGetUrlParam('price_max');\n let price_min = prodigyGetUrlParam('price_min');\n let price_query = '';\n if (price_min && price_min) {\n price_query = 'price_max=' + price_max + '&' + 'price_min=' + price_min;\n }\n localStorage.setItem('price-range', price_query);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function apply_filters() {\n $(document).on(\n 'click',\n '.attribute-filter-js',\n function (e) {\n let attribute_id = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n if ($(this).is(':checked')) {\n set_filters();\n } else {\n unset_filter(attribute_id, attribute_value);\n }\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function clear_params() {\n $(document).on(\n 'click',\n '.clear-params-js',\n function (e) {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n clear_url_params();\n set_loader();\n }\n );\n\n if (window.location.search === '') {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n }\n\n remove_loader();\n }\n\n function reset_filters() {\n $(document).on(\n 'click',\n '.filter-reset-js',\n function () {\n clear_url_params();\n }\n );\n }\n\n function clear_url_params() {\n remove_filter_storage();\n if (get_shop_page_id() !== null) {\n window.location.href = window.location.origin+'?page_id=' + get_shop_page_id();\n } else {\n window.location.href = window.location.href.split(\"?\")[0];\n }\n }\n\n function build_query() {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n let filter_query = jQuery.param(params);\n let price_query = localStorage.getItem('price-range');\n\n let total_query = '';\n if (price_query !== null) {\n total_query = filter_query + '&' + price_query;\n } else {\n total_query = filter_query;\n }\n\n if (get_shop_page_id() !== null) {\n total_query = 'page_id=' + get_shop_page_id() + '&' + total_query;\n }\n\n\n if (total_query !== '') {\n history.pushState('', '', '?' + total_query);\n } else {\n history.pushState(null, null, window.location.pathname);\n }\n\n let category_name = $('.category-name-js').val();\n let category_slug = $('.slug-name-js').val();\n let current_url = window.location.href;\n\n if (category_name && category_slug) {\n total_query = total_query + '&tax_name=' + category_name + '&tax_slug=' + category_slug;\n }\n\n total_query = total_query + '¤t_url=' + current_url;\n\n return total_query;\n }\n\n\n function get_catalog_products(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n $('.prodigy-product-list__grid').addClass('prodigy__is-loading');\n set_loader();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.prodigy-product-list__grid').removeClass('prodigy__is-loading');\n remove_loader();\n $('.prodigy-pagination-shop-js').html(response.data.pagination_list);\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n let products = $(response.data.products).find('.shop-page-container-js');\n $('.shop-page-container-js').replaceWith(products);\n } else {\n let products = $(response.data.products).find('.prodigy-product-list__grid');\n let no_results = $(document).find('.shop-page-container-empty-js');\n\n let container = '.prodigy-product-list__grid';\n if (no_results.length > 0) {\n container = '.shop-page-container-empty-js';\n }\n\n $(container).replaceWith(products);\n }\n set_number_of_columns_by_screen_resolution();\n }\n });\n }\n\n function get_catalog_filters(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.catalog-sort-js').html($(response.data.sort).html());\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n if ($('.prodigy-filter__badges').length > 0) {\n $('.prodigy-filter__badges').closest('.prodigy-filter__main').remove();\n $('.prodigy-filter__badges').remove();\n }\n $('.prodigy-filter__main').first().before(response.data.active);\n $('.prodigy-filter-title-js').html(response.data.filters);\n } else {\n let filters = $(response.data.filters).closest('.prodigy-filter-js');\n $('.prodigy-filter-js').replaceWith(filters);\n if (is_show_active_filter()) {\n if ($('.active-filter-js').length > 0) {\n $('.active-filter-js').html(response.data.active);\n } else {\n $('.prodigy-filter-title-js:first').before(response.data.active);\n }\n $('.price-filter-container-js').html(response.data.price_filter);\n let price_filter = $(response.data.price_filter).find('.js-range-slider');\n $(document).find('.min-js').val($(price_filter).attr('data-min'));\n $(document).find('.max-js').val($(price_filter).attr('data-max'));\n }\n }\n\n let price_filter_container = $('.price-filter-container-js');\n if (price_filter_container.length !== 0) {\n price_filter_container.html(response.data.price);\n window.slider_widget.init(\n response.data.min_price,\n response.data.max_price,\n response.data.query_min_price,\n response.data.query_max_price\n );\n }\n set_custom_select();\n }\n });\n }\n\n function set_custom_select() {\n $(document).find('.prodigy-custom-select').styler({\n onFormStyled: function () {\n $(document).find('.jq-selectbox__select-text').each(function () {\n const width = $(this)\n .closest('.jq-selectbox')\n .find('select')\n .width();\n // $(this).width(width);\n });\n }\n });\n }\n\n function set_sortable() {\n $(document).on(\n 'click',\n '.catalog-page-sort-js',\n function () {\n if ((navigator.platform.indexOf(\"iPhone\") != -1) || (navigator.platform.indexOf(\"iPod\") != -1)) {\n $(\"select.catalog-page-sort-js\").remove();\n }\n $('.catalog-page-device-sort-js').addClass('prodigy-select-md--open');\n }\n );\n\n $(document).on(\n 'change',\n '.catalog-page-sort-js',\n function () {\n var sort = $(this).children(\"option:selected\").val();\n if (sort !== 'undefined') {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n );\n\n $(document).on(\n 'change',\n '.sort-radio-js',\n function () {\n $('.sort-radio-js').each(function () {\n if ($(this).is(':checked')) {\n var sort = $(this).val();\n if (sort !== undefined) {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n });\n }\n );\n\n $('body, .catalog-page-device-sort-close-js').click(function () {\n $('.catalog-page-device-sort-js').removeClass('prodigy-select-md--open');\n });\n\n $('.prodigy-select-md__wrap').click(function (event) {\n event.stopPropagation();\n });\n }\n\n function unset_filter(id, attribute) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n if (params === null) {\n localStorage.removeItem('filter');\n } else {\n let values = '';\n if (typeof params['attr'] !== 'undefined' && typeof params['attr'][id] !== 'undefined') {\n values = params['attr'][id].split(';');\n values.forEach(function (value, key) {\n if (attribute == value) {\n values.splice(key, 1);\n }\n });\n }\n\n if (values.length > 0) {\n let values_str = values.join(';');\n params['attr'][id] = values_str;\n } else {\n delete params['attr'][id];\n }\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n if (id === 'Price') {\n localStorage.removeItem('price-range')\n }\n\n uncheck_filter_checkbox(id, attribute);\n }\n\n function uncheck_filter_checkbox(id, attribute) {\n $('.attribute-filter-js').each(function () {\n if ($(this).data('attribute-id') == id && $(this).data('attribute-name') == attribute) {\n $(this).removeAttr('checked');\n }\n })\n }\n\n function load_filters(id, value) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n\n if (params !== null && Object.keys(params['attr']).length !== 0) {\n $.each(params['attr'], function (i, item) {\n let parts = item.split(\";\");\n if (i == id && parts.indexOf(value.toString()) === -1) {\n params['attr'][id] = item + ';' + value.toString();\n }\n });\n }\n\n if (params === null || Object.keys(params['attr']).length === 0) {\n params = {};\n params['attr'] = {};\n params['attr'][id] = value.toString();\n } else if (typeof params['attr'][id] === 'undefined') {\n params['attr'][id] = value.toString();\n }\n\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n function filter_handler() {\n // show more/less filter values\n $(document).on(\n 'click',\n '.filter__btn-js',\n function () {\n const id_attr = $(this).data('id')\n const list = $('.filter__item-list-js#filter_attr_' + id_attr)\n const listItems = list.find('.prodigy-filter__item-list-li, .prodigy-filter__card-list-item')\n const btnText = $(this).find('.filter__btn-txt-js')\n const listOpenClass = 'active'\n const moreText = 'Show more'\n const lessText = 'Show less'\n const countShow = list.data('count-show')\n\n $(this).toggleClass(listOpenClass)\n\n if ($(this).hasClass(listOpenClass)) {\n btnText.text(lessText)\n listItems.show()\n } else {\n btnText.text(moreText)\n listItems.each(\n function (i) {\n if (i + 1 > countShow) {\n $(this).hide()\n }\n }\n )\n }\n }\n );\n }\n }\n );\n})(jQuery, window);\n","(function ($, window) {\n let prodigy_product_bulk = {\n input_quantity_element: '.prodigy-bulk-input-js',\n enable_bulk_element: '.enable-bulk-js',\n add_to_cart_button: \"button.add-to-cart-js\",\n bulk_container_general: '.bulk-container-js',\n bulk_container: '.bulk-container-',\n variant_container: '.variant-container-',\n swatch_variant_container: '.swatch-variant-container-',\n button_disable_bulk: '.disable-bulk-button-js',\n link_disable_bulk: '.disable-bulk-js',\n bulk_modal: '#disableBulkModal',\n counter_element: '.prodigy-counter-wrap-js',\n bulk_total_block: '.bulk-total-block-js',\n close_bulk_modal: '.close-bulk-modal-js',\n replaced_hidden_option: '',\n disable_bulk_modal_text: '.disable-bulk-modal-text-js',\n\n init: function () {\n if (this.is_bulk()) {\n this.set_quantity_validation();\n this.bulk_showing_manager();\n }\n },\n\n is_bulk: function () {\n return $(this.enable_bulk_element).is(\":visible\");\n },\n\n is_bulk_enabled: function () {\n return $(this.bulk_container_general).is(\":visible\");\n },\n\n get_attr_name_with_bulk_enabled() {\n return $(this.bulk_container_general + ':visible').data('attribute');\n },\n\n bulk_showing_manager: function () {\n let self = this;\n $(this.enable_bulk_element).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n self.hide_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n\n if (self.is_bulk_enabled()) {\n $(self.button_disable_bulk).data('attribute', self.get_attr_name_with_bulk_enabled()) ;\n $(self.button_disable_bulk).data('show-attribute', attribute_name);\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + self.get_attr_name_with_bulk_enabled());\n $(self.bulk_modal).modal('show');\n return;\n }\n self.show_bulk_for_attr(attribute_name);\n });\n\n\n $(this.close_bulk_modal).on('click', function () {\n $(self.bulk_modal).modal('hide');\n });\n\n\n $(this.link_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.button_disable_bulk).data('attribute', attribute_name) ;\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + attribute_name);\n $(self.bulk_modal).modal('show');\n });\n\n\n $(this.button_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.bulk_modal).modal('hide');\n self.hide_bulk_for_attr(attribute_name);\n self.show_bulk_for_attr($(this).data('show-attribute'));\n $(this).removeData('attribute');\n $(this).removeData('show-attribute');\n self.show_price_bulk_block();\n window.prodigyProduct.reset_bulk_inputs();\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n self.show_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n });\n },\n\n show_default_product_info: function () {\n $('.prodigy-product__prop-wrap').show();\n },\n\n hide_default_product_info: function () {\n $('.prodigy-product__prop-wrap').hide();\n },\n\n hide_bulk_for_attr: function(attribute_name) {\n $(this.bulk_container + attribute_name + '-js').hide();\n $(this.variant_container + attribute_name + '-js').show();\n $(this.counter_element).show();\n $(this.bulk_total_block).hide();\n },\n\n show_bulk_for_attr: function (attribute_name) {\n $(this.variant_container + attribute_name + '-js').hide();\n $(this.bulk_container + attribute_name + '-js').show();\n $(this.counter_element).hide();\n $(this.bulk_total_block).show();\n },\n\n show_price_bulk_block: function () {\n let is_show_bulk_price_block = $('.bulk-container-js').is(\":visible\");\n if (is_show_bulk_price_block) {\n $('.prodigy-counter-wrap-js').hide();\n $('.bulk-total-block-js').show();\n } else {\n $('.bulk-total-block-js').hide();\n $('.prodigy-counter-wrap-js').show();\n }\n },\n\n set_quantity_validation: function () {\n $(this.input_quantity_element).inputmask({\n mask: '9{1,4}',\n regex: \"^[1-9][0-9]*|$\"\n });\n }\n }\n window.prodigyProductBulk = prodigy_product_bulk;\n})(jQuery, window);\n\njQuery(document).ready(function ($) {\n window.prodigyProductBulk.init();\n});\n","(function ($, window) {\n\n var prodigy_product = {\n _weight_type_mapper: [\"lbs\", \"g\", \"kg\", \"oz\"],\n _dimension_type_mapper: [\"in\", \"cm\"],\n _stock_status_mapper: { \"in_stock\": \"In stock\", \"out_of_stock\": \"Out of stock\"},\n _add_to_cart_key: \"add_item_to_cart\",\n product: {},\n is_show_subscription_popup: false,\n subscription_price: 0,\n is_subscription_replaced: false,\n is_one_time_order: true,\n subscription_id: '',\n remote_product: {},\n variant: {},\n maxItems: 9999,\n is_admin: false,\n is_tiered_price: false,\n selectedVariant: [],\n master_variant_id: 0,\n bulk_variants_info: [],\n input_bulk_quantity_element: '.prodigy-bulk-input-js',\n total_quantity_element: '.prodigy-bulk-total-qty-js',\n bulkVariants: [],\n bulkTotalQuantity: 0,\n bulk_total_price: '.bulk-total-price-js',\n bulk_price_modifier_element: '.bulk-price-modify-js',\n bulk_stock_status: '.stock-indicator-label-js',\n bulk_stock_qty: '.stock-indicator-qty-js',\n bulk_container_element: '.bulk-container-js',\n active_bulk_attribute_name: '',\n min_quantity: 1,\n add_to_cart_button_element: '.add-to-cart-js',\n enable_bulk_element: '.enable-bulk-js',\n disable_bulk_button_element: '.disable-bulk-button-js',\n product_counter_input_element: '.counter-count-js',\n prodigy_product_swatch_element: '.prodigy-product__swatch-js',\n is_variant_was_chosen: false,\n\n init: function () {\n this.is_tiered_price = Boolean( $( '.is_tired_price-js' ).val() );\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", this.min_quantity);\n }\n let is_product_page = $( \"body\" ).hasClass( \"single-prodigy-product\" );\n let is_shop_page = $( \"body\" ).hasClass( \"tax-prodigy-product-shop\" );\n this.master_variant_id = $( '#product_id' ).val();\n this.is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\n if ( ! is_shop_page && is_product_page) {\n if ( ! this.is_variants()) {\n this.get_master_variant_data();\n }\n this.set_product_tabs();\n this.scroll_for_hash( window.location.hash );\n this.set_product_counter();\n this.show_tab_review();\n this.show_tab_description();\n this.send_captcha();\n this.send_review_for_user();\n this.disable_submit_comment();\n this.reset_focus_to_press_enter();\n this.set_default_link_review();\n this.change_product_quantity_analytic_event();\n this.change_swatch_value();\n this.update_variants_dropdown();\n this.set_elementor_options();\n this.set_subscription_id();\n this.set_tabs_for_resolution();\n this.customise_sort_select();\n this.set_customised_variant_selection();\n this.choose_radio_variant();\n this.add_item_to_cart();\n this.hide_empty_div();\n this.set_bulk_variants_data();\n this.set_bulk_info();\n this.set_product_gallery();\n if (this.is_tiered_price) {\n this.get_tiered_prices_range_ajax();\n this.close_tiered_price_popup();\n }\n }\n },\n\n close_tiered_price_popup: function () {\n $(document).on('click', '.close-tiered-prices-js', function () {\n $('#minorderQTY').modal('hide');\n })\n },\n\n\n get_options: function () {\n let self = this;\n let selected_options = [];\n if (this.is_swatches()) {\n $(self.prodigy_product_swatch_element).each(\n function () {\n let swatch_block = $(this).closest('.prodigy-product__swatch-block-js');\n if ($(this).is(':checked') && !$(swatch_block).hasClass('ignored')) {\n let value = $(this).val();\n $(this).closest('.swatch-container-js').find('.swatch-attribute-name-js').html(\" \" + $(this).val());\n selected_options.push(value);\n }\n }\n );\n } else {\n $(\".attribute_values_js\").each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n if ($option.val() !== '') {\n selected_options.push($option.val());\n }\n }\n );\n }\n\n return selected_options;\n },\n\n set_product_gallery: function () {\n let thumbsDirection = 'horizontal';\n let thumbsSlidesPerView = $(\"#gallery-thumbs\").data('slides') || 3;\n let thumbsSpaceBetween = $(\"#gallery-thumbs\").data('spacing') || 10;\n\n if ($(\"#gallery\").hasClass(\"prodigy-product__gallery-container--left\") || $(\"#gallery\").hasClass(\"prodigy-product__gallery-container--right\")) {\n const ratio = $(\"#gallery-main\").data(\"ratio\");\n const width = $(\"#gallery-main\").width();\n const height = width / ratio;\n $(\"#gallery\").height(height);\n thumbsDirection = 'vertical';\n thumbsSlidesPerView = 'auto';\n }\n\n const initNav = (swiper, el) => {\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-prev\",\n function () {\n if (swiper.isBeginning) {\n swiper.slideTo(swiper.slides.length - 1);\n } else {\n swiper.slidePrev();\n }\n }\n )\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-next\",\n function () {\n if (swiper.isEnd) {\n swiper.slideTo(0);\n } else {\n swiper.slideNext();\n }\n }\n )\n }\n\n const swiperThumbs = new Swiper(\n \"#gallery-thumbs\",\n {\n direction: thumbsDirection,\n slidesPerView: thumbsSlidesPerView,\n spaceBetween: thumbsSpaceBetween,\n speed: 500,\n on: {\n init: function (swiper) {\n if (thumbsDirection === 'horizontal') {\n const slides = $(\"#gallery-thumbs .swiper-slide\");\n if (slides.length > thumbsSlidesPerView) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n } else if (thumbsDirection === 'vertical') {\n let slidesHeight = 0;\n let mainHeight = $(\"#gallery-main\").outerHeight();\n swiper.slides.forEach(\n slide => {\n slidesHeight += $(slide).outerHeight();\n }\n );\n if (slidesHeight > mainHeight) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n }\n }\n }\n }\n );\n\n const swiperMain = new Swiper(\n \"#gallery-main\",\n {\n speed: 500,\n pagination: {\n el: \".prodigy-product__gallery-count\",\n type: \"fraction\",\n },\n thumbs: {\n swiper: $(\"#gallery-thumbs\").length ? swiperThumbs : null,\n },\n on: {\n init: function (swiper) {\n const slides = $(\"#gallery-main .swiper-slide\");\n if (slides.length > 1) {\n $(\"#gallery-main .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-main\"));\n }\n }\n }\n }\n );\n\n if (typeof code_happened === 'undefined' || window.code_happened == false) {\n window.code_happened = true;\n\n $(document).on(\n \"click\",\n \".icon-fullscreen-js\",\n this.open_photo_swipe.bind(this)\n );\n }\n },\n\n get_gallery_images: function () {\n const slides = $(\"#gallery-main .prodigy-product__gallery-img\");\n let items = [];\n\n if (slides.length) {\n slides.each(\n function (i, el) {\n var img = $(el).find(\"img\");\n\n if (img.length) {\n var large_image_src = img.attr(\"data-large_image\"),\n large_image_w = img.attr(\"data-large_image_width\"),\n large_image_h = img.attr(\"data-large_image_height\"),\n item = {\n src: large_image_src,\n w: large_image_w,\n h: large_image_h,\n title: img.attr(\"data-caption\")\n ? img.attr(\"data-caption\")\n : img.attr(\"title\")\n };\n items.push(item);\n }\n\n }\n );\n }\n\n return items;\n },\n\n open_photo_swipe: function (e) {\n e.preventDefault();\n\n var pswpElement = $(\".pswp\")[0],\n items = this.get_gallery_images(),\n index = $(\"#gallery-main .swiper-slide-active\").index();\n\n var options = $.extend(\n {\n index: index,\n },\n {}\n );\n\n // Initializes and opens PhotoSwipe.\n var photoswipe = new PhotoSwipe(\n pswpElement,\n PhotoSwipeUI_Default,\n items,\n options\n );\n photoswipe.init();\n },\n\n set_bulk_info() {\n let self = this;\n $(document).on('enable-multiple-quantity', function (e,context) {\n\t\t\t\t\tlet bulk_attr = $( context ).data( 'attribute' );\n $(self.disable_bulk_button_element).attr('data-value', $(context).data('slug'));\n self.set_variant_modifier(bulk_attr);\n }\n );\n },\n\n set_variant_modifier(attribute) {\n let self = this;\n let modifierOptions = [];\n $( '.bulk-container-' + attribute + '-js' ).each(\n function (e) {\n\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n let modifier = $( this ).data( 'attribute' );\n modifierOptions.push( jQuery.trim( modifier ) );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n if (self.is_variants()) {\n let attributes = self.get_attributes_for_query();\n if (Object.keys(attributes.attribute).length === 1 && $('.bulk-container-js').length === 1) {\n attributes.attribute = [];\n }\n\n if (Object.keys(self.clear_selected_attributes(attributes.attribute)).length > 1) {\n for (const [key, value] of Object.entries(attributes.attribute)) {\n let selected_value = $(self.disable_bulk_button_element).data('value');\n if (value === selected_value) {\n delete attributes.attribute[key];\n }\n }\n }\n\n self.get_multiple_variant_data(attributes.attribute, modifierOptions);\n }\n },\n\n clear_selected_attributes: function (values) {\n $.each(values, function(key,val) {\n if ('Choose an option' === val) {\n delete values[key];\n }\n });\n\n return values;\n },\n\n set_subscription_id: function () {\n this.subscription_id = $( '.subscription_id' ).val();\n },\n\n set_elementor_options: function () {\n let is_show_regular_price = $( '#regular_price_state_option' ).val();\n\n if (is_show_regular_price !== 'yes') {\n $( '.regular-price-container' ).remove();\n } else {\n $( '.regular-price-container' ).show();\n }\n this.set_subscriptions();\n },\n\n format_subscription_price: function (price) {\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions) {\n if (typeof parse_price( price ) === 'undefined') {\n price = $( '.sale-subscription-price-js' ).text();\n }\n\n let sale_price = $( '.subscription-sale_price-js' ).val();\n let one_time_price = $( '.prodigy-subscriptions-tab__item-price' ).find( '.sale-price' ).text();\n $( '.subscriptions-price-currency-js' ).show();\n\n if ( parse_price( price ) !== parse_price( sale_price ) ) {\n $( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n }\n\n $( '.product-default-info-price-js' ).text( '$' + prodigy_price_format( parse_price( sale_price ) ) );\n $( '.prodigy-subscriptions-tab-js' ).trigger( 'click' );\n\n if ( parseFloat( one_time_price ) !== parseFloat( price ) ) {\n $( '.subscriptions-one-time-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n } else {\n $( '.subscriptions-one-time-price-js' ).parent().hide();\n }\n }\n },\n\n is_need_replace_subscription_item: function (subscription_id) {\n let self = this;\n let remote_product_id;\n let attribute_values_js = $( \".attribute_values_js\" );\n\n // if isset variants\n if (attribute_values_js.length > 0) {\n remote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n } else {\n if (typeof self.remote_product !== 'undefined') {\n remote_product_id = self.remote_product.remote_master_id_variant;\n }\n }\n\n if (typeof remote_product_id !== \"undefined\") {\n let post_data = {\n action: \"prodigy-is-replace-subscription-item\",\n remote_product_id: remote_product_id,\n one_time_order: self.is_one_time_order,\n };\n\n if ( ! self.is_one_time_order && subscription_id && typeof subscription_id !== 'undefined') {\n self.subscription_id = subscription_id;\n post_data.subscription_id = subscription_id;\n }\n\n $.ajax(\n {\n\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\tdata: post_data,\n\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\tif (data !== null) {\n\t\t\t\t\t\t\t\tself.is_show_subscription_popup = data.show_subscription_popup;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n }\n );\n }\n },\n\n add_item_to_cart: function () {\n let self = this;\n $( document )\n .off( \"click\", \"button.add-to-cart-js, button.replace-subscription-condition-js\" )\n .on(\n \"click\",\n \"button.add-to-cart-js, button.replace-subscription-condition-js\",\n function (e) {\n\t\t\t\t\t\tif ( ! self.validate_options() && ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet remote_product_id;\n\t\t\t\t\t\tlet attribute_values_js = $( \".attribute_values_js\" );\n\t\t\t\t\t\tlet attribute_swatch_js = $(self.prodigy_product_swatch_element);\n\t\t\t\t\t\tlet current_button = $( this ).attr( 'data-name' );\n\n\t\t\t\t\t\tif (current_button === 'replace-subscription-condition-js') {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t\tself.is_subscription_replaced = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.is_subscription_replaced = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (self.is_show_subscription_popup) {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'show' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// if isset variants\n\t\t\t\t\t\t\tif (attribute_values_js.length > 0 || attribute_swatch_js.length > 0) {\n\t\t\t\t\t\t\t\tremote_product_id = $( this ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (typeof self.remote_product !== 'undefined') {\n\t\t\t\t\t\t\t\t\tremote_product_id = self.remote_product.id;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof remote_product_id === 'undefined') {\n\t\t\t\t\t\t\t\tremote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tself.set_analytic_add_item_to_cart();\n\t\t\t\t\t\t\tlet form_count_products = $(self.product_counter_input_element).val();\n\n\t\t\t\t\t\t\tif (self.is_validate_options()) {\n\t\t\t\t\t\t\t\tif (self.is_bulk_opened()) {\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n self.bulk_variants_info,\n self.bulkVariants,\n null,\n null,\n false,\n true\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// set items in remote cart\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n remote_product_id,\n self.get_attributes_for_query(),\n self.get_current_product_price(),\n self.subscription_id,\n self.is_subscription_replaced\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n );\n },\n\n set_bulk_variants_data: function () {\n let self = this;\n $( document ).on(\n \"keypress\",\n self.input_bulk_quantity_element,\n function (e) {\n self.set_bulk_data();\n\t\t\t\t}\n );\n },\n\n set_bulk_data: function () {\n let self = this;\n let total_quantity = 0;\n let bulkOptions = [];\n let attribute_name = '';\n if (this.is_swatches()) {\n this.set_checked_swatch();\n } else {\n this.set_variants();\n }\n\n $( self.bulk_container_element ).each(\n function (e) {\n\t\t\t\t\tlet is_visible = $( this ).is( ':visible' );\n\t\t\t\t\tlet variant = '';\n\t\t\t\t\tif (is_visible) {\n\t\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n if ( ! isNaN( parseInt( $( this ).val() ) )) {\n total_quantity += parseInt( $( this ).val() );\n attribute_name = $( this ).data( 'attribute' );\n variant = attribute_name + '&' + self.selectedVariant.join( \"&\" );\n\n let obj = {\n variant: variant,\n quantity: parseInt( $( this ).val() )\n };\n bulkOptions.push( obj );\n }\n }\n );\n\n\t\t\t\t\t\t$( self.total_quantity_element ).text( total_quantity );\n\t\t\t\t\t\tif (self.is_validate_options() ) {\n\t\t\t\t\t\t\tself.get_bulk_variants_data( total_quantity, bulkOptions );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_bulk_variants_data: function (quantity, selected_variant_options) {\n this.bulkVariants = selected_variant_options;\n this.bulkTotalQuantity = quantity;\n if (this.is_validate_options() ) {\n this.get_variant_data( selected_variant_options, quantity, null, true );\n }\n },\n\n set_subscriptions: function () {\n var self = this;\n var sale_price = 0;\n\n $( document ).on(\n 'change',\n '.subscription-radio-js',\n function () {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tsale_price = $( this ).prev().prev().prev().prev().val();\n\t\t\t\t\t\tvar sale_price_rounded = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n\t\t\t\t\t\tself.subscription_price = sale_price;\n\t\t\t\t\t\t$( '.sale-subscription-price-js' ).text( prodigy_price_format( sale_price_rounded ) );\n\t\t\t\t\t\tself.subscription_id = $( this ).prev().prev().prev().val();\n\t\t\t\t\t\tself.is_need_replace_subscription_item( self.subscription_id );\n\t\t\t\t\t\tself.set_subscription_additional_price( sale_price, $( this ) );\n\n\t\t\t\t\t\tlet price = $( '.regular-price' ).text();\n\t\t\t\t\t\tif (price === '') {\n\t\t\t\t\t\t\tprice = prodigy_price_format( parse_price( $( '.sale-price' ).text() ) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet price_container = $( this ).closest( '.prodigy-subscriptions-tab' ).find( '.prodigy-subscriptions-tab__item-sale' );\n\t\t\t\t\t\tif (parse_price( self.subscription_price ) !== parse_price( price )) {\n\t\t\t\t\t\t\tprice_container.show();\n\t\t\t\t\t\t\t$( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) ).show();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprice_container.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n 'button.prodigy-close-button, button.close-subscription-popup-js',\n function () {\n\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\tself.is_show_subscription_popup = true;\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n '.prodigy-subscriptions-tab-js',\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t\tself.activate_subscription_block( $( this ) );\n\t\t\t\t\tlet is_conditions = $( this ).next().find( '.prodigy-subscription-period-js' );\n\n\t\t\t\t\tif (is_conditions.length > 0) {\n\t\t\t\t\t\t$( '.subscription-radio-js' ).each(\n function () {\n if ($( this ).is( ':checked' )) {\n $( '.subscription-radio-js' ).removeAttr( 'disabled' );\n sale_price = parseFloat( $( '.sale-subscription-price-js' ).text().trim() );\n self.subscription_price = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n self.subscription_id = $( this ).prev().prev().prev().val();\n self.is_need_replace_subscription_item( self.subscription_id );\n self.set_subscription_additional_price( sale_price, $( this ) );\n }\n }\n );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.is_need_replace_subscription_item();\n\t\t\t\t\t\tlet price = $( this ).next().find( '.prodigy-subscriptions-tab__item-price' ).text();\n\t\t\t\t\t\t$( '.product-default-info-price-js' ).text( price );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_attributes_for_query: function () {\n let attribute_values_js = $('.attribute_values_js:not(.ignored)');\n let attribute_swatch = $('.prodigy-product__swatch-block-js:not(.ignored)');\n let attributes = {attribute: {}, item: {}};\n attribute_values_js.each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n attributes[\"attribute\"][key] = $option.data('slug');\n attributes[\"item\"][key] = $option.text();\n\t\t\t\t}\n );\n\n attribute_swatch.find('.prodigy-product__swatch-js').each(\n function (key) {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tattributes[\"attribute\"][key] = $( this ).data('slug');\n\t\t\t\t\t\tattributes[\"item\"][key] = $( this ).val();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n return attributes;\n },\n\n set_subscription_options: function (container) {\n let self = this;\n self.set_subscription_price( container );\n if (container.hasClass( \"active\" )) {\n if (container.attr( 'aria-controls' ) === 'nav-home') {\n self.subscription_price = container.find( '.sale-price' ).text().trim();\n self.is_one_time_order = true;\n } else {\n self.subscription_price = $( '.sale-subscription-price-js' ).text().trim();\n self.is_one_time_order = false;\n }\n }\n },\n\n load_subscription_price: function () {\n let self = this;\n $( '.prodigy-subscriptions-tab-js' ).each(\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t}\n );\n },\n\n set_subscription_additional_price: function (price, container) {\n let format_price_string = '$' + prodigy_price_format( price );\n let condition_string = container.parent().find( '.subscription-condition-js' ).val();\n $( '.product-default-info-price-js' ).text( format_price_string + ' (' + condition_string + ')' );\n },\n\n activate_subscription_block: function (container) {\n $( '.prodigy-subscriptions-radio-js' ).prop( 'checked', false );\n $( '.prodigy-subscriptions-tab-js' ).removeClass( 'active' );\n $( container ).find( '.prodigy-subscriptions-radio-js' ).prop( 'checked', true );\n container.addClass( 'active' );\n $( '.subscription-radio-js' ).prop(\n 'disabled',\n function (i, v) {\n\t\t\t\t\treturn ! v;\n\t\t\t\t}\n );\n },\n\n set_subscription_price: function (container) {\n let subscription_price = $( '.prodigy-subscriptions-wrap-price-js' ).text();\n $( '.prodigy-additional-info-price-js' ).text( subscription_price ).show();\n },\n\n get_current_product_price: function () {\n var self = this;\n var price = 0;\n var price_str = $( document ).find( \".sale-price\" ).text().trim();\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions && ! self.is_one_time_order) {\n price = parseFloat( self.subscription_price );\n }\n\n if (self.is_one_time_order && price_str !== '') {\n price = prodigy_price_format( price_str ).replace( /\\,/g, '' );\n }\n\n return price;\n },\n\n is_bulk: function () {\n return $( this.enable_bulk_element ).length;\n },\n\n\n is_bulk_opened: function () {\n return $( '.prodigy-bulk__wrap' ).is( \":visible\" );\n },\n\n add_to_cart: function (\n number_of_product,\n remote_product_id,\n attributes_item,\n price = null,\n subscription_id = null,\n is_subscription_replaced = false,\n is_bulk = false\n ) {\n let self = this;\n\n let post_data = {\n action: \"prodigy-add-remote-cart\",\n remote_product_id: remote_product_id,\n count: number_of_product,\n price: price,\n attributes: attributes_item,\n is_subscription_replaced: is_subscription_replaced,\n is_bulk: is_bulk,\n nonce: settings.nonce\n };\n\n self.show_cart_button_loader();\n\n if ( ! self.is_one_time_order) {\n post_data.subscription_id = subscription_id;\n }\n clearTimeout(self.timeoutAddToCartId);\n self.timeoutAddToCartId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (data) {\n if (self.is_tiered_price && data.error_code && data.error_code === 422) {\n self.show_tiered_price_modal(data);\n return;\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(true);\n }\n self.show_error(data.responseJSON.data);\n },\n success: function (data) {\n if (self.is_bulk_opened()) {\n self.reset_bulk_inputs();\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(false);\n }\n\n if (\n (self.is_tiered_price && typeof data.error_code === \"undefined\") ||\n !self.is_tiered_price\n ) {\n self.cart_slide_open();\n $(self.product_counter_input_element).val(1);\n self.show_add_to_cart_message();\n self.show_cart_message();\n }\n\n if (self.is_tiered_price) {\n self.get_tiered_prices_range_ajax();\n }\n\n self.hide_cart_button_loader();\n // redirect to cart page\n if ($(\".cart-redirect-js\").data(\"cart-redirect\") === \"redirect_to_cart\") {\n var dinamic_cart_url = $('.pg-cart-url-js').data('attr');\n window.location.replace(dinamic_cart_url);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n show_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", true);\n },\n\n hide_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", false);\n },\n\n reset_bulk_inputs: function () {\n let self = this;\n $( this.input_bulk_quantity_element ).each(\n function () {\n\t\t\t\t\t$( this ).val( '' );\n\t\t\t\t\t$( '.prodigy-bulk-total-qty-js' ).text( 0 );\n\t\t\t\t\t$( self.bulk_total_price ).text( '$0.00' );\n\t\t\t\t}\n );\n },\n\n show_tiered_price_modal: function (data) {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n cart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n if ( typeof data.message !== undefined ) {\n $( '.tiered-price-message-js' ).text( data.message );\n $( '#minorderQTY' ).modal( 'show' );\n }\n },\n\n cart_slide_open: function () {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n let slider = cart_slider.data( 'auto-open' );\n if (slider === 'yes' || slider) {\n cart_slider.toggleClass( 'prodigy-cart-slide--open' );\n $('body').toggleClass('overflow-hidden');\n setTimeout(\n function () {\n\t\t\t\t\t\tcart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n\t\t\t\t\t},\n 10000\n );\n }\n },\n\n set_checked_swatch: function () {\n let self = this;\n self.selectedVariant = [];\n $(self.prodigy_product_swatch_element).each( function () {\n\t\t\t\t\tlet swatch_block = $( this ).closest( '.prodigy-product__swatch-block-js' );\n\t\t\t\t\tif ($( this ).is( ':checked' ) && ! $( swatch_block ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tlet value = $( this ).data('slug');\n\t\t\t\t\t\t$( this ).closest( '.swatch-container-js' ).find( '.swatch-attribute-name-js' ).html( \" \" + $(this).val() );\n\t\t\t\t\t\tself.selectedVariant.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n change_swatch_value: function () {\n let self = this;\n $(document).on('change', self.prodigy_product_swatch_element, function () {\n self.choose_radio_variant();\n if (self.is_bulk()) {\n $(this).parent().parent().closest('.prodigy-product__attr-item--no-select').find(self.enable_bulk_element).attr('data-value', $(this).data('slug'));\n }\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n let active_bulk_attribute = $('.bulk-container-js:visible').find('.disable-bulk-js').data('attribute');\n self.set_variant_modifier(active_bulk_attribute);\n }\n });\n },\n\n choose_radio_variant() {\n let self = this;\n this.set_checked_swatch();\n if (this.is_variants() && this.is_validate_options()) {\n let number_of_items = parseInt( $(self.product_counter_input_element).val() );\n this.get_variant_data( this.selectedVariant, number_of_items );\n }\n },\n\n set_active_bulk_attribute_name: function () {\n let self = this;\n $( this.bulk_container_element ).each(\n function () {\n\t\t\t\t\tif ($( this ).is( \":visible\" )) {\n\t\t\t\t\t\tself.active_bulk_attribute_name = $( this ).data( 'attribute' );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_variants: function () {\n let self = this;\n let $option = false;\n self.selectedVariant = [];\n $( '.attribute_values_js' ).each(\n function () {\n\t\t\t\t\t$option = $( this ).find( \"option:selected\" );\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $option.data('slug') !== '' ) {\n self.selectedVariant.push($option.data('slug'));\n if (self.is_bulk()) {\n $(this).parent().find(self.enable_bulk_element).attr('data-slug', $option.data('slug'));\n }\n }\n\t\t\t\t}\n );\n\n self.selectedVariant = [...new Set( self.selectedVariant )];\n },\n\n choose_variant_dropdown: function () {\n let self = this;\n let selector = $( this );\n let attribute_values_js = $( '.attribute_values_js' );\n this.set_variants();\n\n if (this.selectedVariant.length === attribute_values_js.length) {\n this.isVariantSelected = true;\n }\n\n if (this.isVariantSelected && this.is_validate_options()) {\n self.show_cart_button_loader();\n if (this.is_variants()) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (this.is_bulk_opened()) {\n this.set_bulk_data();\n } else {\n if (this.is_validate_options() && ! this.is_bulk_opened()) {\n this.get_variant_data( self.selectedVariant, number_of_items, selector );\n }\n }\n }\n } else {\n this.is_one_time_order = true;\n this.show_main_product_info();\n\n if (typeof self.remote_product.remote_master_variant_info !== \"undefined\") {\n let dimension_attrs = this.remote_product.remote_master_variant_info.dimension.attributes;\n this.set_shipping_data_variants(\n this.remote_product.remote_main_sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n }\n },\n\n get_multiple_variant_data: function (variant, current_attribute) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-multiple-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n bulk_attribute: current_attribute,\n nonce: settings.nonce\n };\n\n\n clearTimeout(self.timeoutMultipleDataId);\n self.timeoutMultipleDataId = setTimeout(\n function () {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n },\n success: function (response) {\n self.set_variant_bulk_info(response);\n }\n }\n );\n },\n 500\n );\n },\n\n set_variant_bulk_info: function (response) {\n let self = this;\n $.each(\n response.data,\n function (key, value) {\n if (\n value.attributes &&\n typeof value.attributes['price-quantity-modifier'] !== \"undefined\" &&\n parseFloat(value.attributes['price-quantity-modifier']) > 0\n ) {\n $(self.bulk_price_modifier_element + key).show();\n $(self.bulk_price_modifier_element + key).text('+ $' + parseFloat(value.attributes['price-quantity-modifier']));\n } else {\n $(self.bulk_price_modifier_element + key).hide();\n }\n\n let key_field = key.replace(/\\s/g, \"_\");\n if (typeof value.inventory !== \"undefined\" && value.inventory.attributes) {\n if (\n value.inventory.attributes['manage-stock'] &&\n value.inventory.attributes['count'] !== null\n ) {\n $(self.bulk_stock_status + key_field).text('In stock: ');\n if (value.inventory.attributes['count'] !== null) {\n $(self.bulk_stock_qty + key_field).text(value.inventory.attributes['count']);\n }\n } else {\n $(self.bulk_stock_status + key_field).text(self._stock_status_mapper[value.inventory.attributes['stock']]);\n }\n }\n }\n );\n },\n\n get_variant_data: function (variant, number_of_items = null, selector = null, is_bulk = false, bulk_attribute = false) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n options: this.get_options(),\n number_of_items: number_of_items,\n is_bulk: is_bulk,\n bulk_attribute: bulk_attribute,\n location: window.location.href,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutVariantsDataId);\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).removeAttr('data');\n self.timeoutVariantsDataId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).attr('data', 'loader');\n },\n success: function (response) {\n let data = response.data.result;\n if ( typeof data === \"undefined\" ) {\n return;\n }\n\n $(self.add_to_cart_button_element).removeAttr('data');\n if (self.is_bulk_opened()) {\n $(self.add_to_cart_button_element).removeAttr(\"disabled\");\n self.update_bulk_info(data);\n }\n\n if (typeof data !== undefined && data.subscriptions) {\n $('#subscriptions_block').html(data.subscriptions);\n }\n\n self.variant = data;\n if (selector) {\n self.set_variants_data(data, selector);\n } else {\n self.set_variants_data(data);\n }\n\n let is_subscriptions = $(document).find('.prodigy-subscriptions-tab').length > 0;\n\n if (!is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n // Set shipping data\n if (typeof data.dimension !== \"undefined\") {\n let dimension_attrs = data.dimension.attributes;\n self.set_shipping_data_variants(\n data.attributes.sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n\n //swicth off loader\n $(self.add_to_cart_button_element).prop(\"disabled\", false);\n\n //Set option-image for gallery\n if (typeof data !== undefined) {\n $('.images-gallery-js').html($(data.product_gallery).html());\n self.set_product_gallery();\n }\n\n if (!self.is_bulk_opened() && !self.is_variant_was_chosen) {\n //Set tiered prices\n self.min_quantity = data.tiered_prices.min_quantity;\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", data.tiered_prices.min_quantity);\n if (parseFloat(data.tiered_prices.min_price) !== parseFloat(data.tiered_prices.max_price)) {\n let range_price_string = 'From $' + prodigy_price_format(data.tiered_prices.min_price) + ' to $' + prodigy_price_format(data.tiered_prices.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.tiered_prices.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop(\"disabled\", true);\n }\n }\n }\n }\n );\n },\n 500\n );\n\n },\n\n update_bulk_info: function (data) {\n this.bulk_variants_info = data;\n if (typeof data !== \"undefined\") {\n $( this.bulk_total_price ).text( '$' + prodigy_price_format( this.bulk_variants_info.bulk_total_price ) );\n $( '.product-default-info-price-js' ).text( '$' + this.bulk_variants_info.bulk_total_price );\n }\n },\n\n\n update_variants_dropdown: function () {\n let self = this;\n let variantsObj = $( 'div.variants-container-js' );\n let variants = variantsObj.data( 'variants' );\n if (variants !== 'undefined') {\n $( 'select[data-attribute]' ).each(\n function () {\n\t\t\t\t\t\tself.update_select( $( this ), variants, {} );\n\t\t\t\t\t}\n );\n let dropdownOpened = false;\n MsDropdown.make('.attribute_values_js', {\n on: {\n open: function () {\n dropdownOpened = true;\n },\n change: function () {\n if (dropdownOpened) {\n self.choose_variant_dropdown();\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n self.set_variant_modifier(self.active_bulk_attribute_name);\n }\n\n dropdownOpened = false;\n }\n }}\n });\n }\n\n $( document ).on(\n 'change',\n '.attribute_values_js',\n function () {\n\t\t\t\t\tlet $selects = $( '.attribute_values_js' );\n\t\t\t\t\t$selects.each(\n function () {\n let selected_attributes = [],\n filtered_attributes = [];\n let current_attr = $( this ).data( 'attribute' );\n $selects.each(\n function () {\n if ($( this ).val() !== '') {\n if (current_attr !== $( this ).data( 'attribute' )) {\n filtered_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n selected_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n }\n );\n\n let available_variants = self.filter_variants( filtered_attributes );\n self.update_select( $( this ), available_variants, selected_attributes );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n is_variants: function () {\n let variants = $( '.variants-container-js' ).data( 'attributes' );\n return Boolean( variants.length );\n },\n\n update_select: function ($select, variants, selected_attributes) {\n let attributes = $( '.variants-container-js' ).data( 'attributes' );\n let available_attributes = {};\n\n for (i in variants) {\n let variant = variants[i];\n for (j in attributes) {\n let attr_name = attributes[j];\n let value = Object.values( variant[attr_name] )[0];\n if (value !== undefined) {\n if (available_attributes[attr_name] === undefined) {\n available_attributes[attr_name] = [];\n }\n available_attributes[attr_name][value.name] = value;\n }\n }\n }\n\n if ($select.length > 0) {\n let attr_name = $select.data( 'attribute' );\n let default_select_option = $( '#default_select_option' ).val();\n $select.html( '<option class=\"attributes_default_value-js\" value=\"\">' + default_select_option + '</option>' );\n let orderedVariants = [];\n Object.values( available_attributes[attr_name] ).sort( this.compareBySort ).forEach(\n function (variant) {\n\t\t\t\t\t\torderedVariants.push( variant.name );\n\t\t\t\t\t}\n );\n\n\n orderedVariants.forEach(\n function (i) {\n\t\t\t\t\t\tlet attr_value_name = available_attributes[attr_name][i].name;\n\t\t\t\t\t\tlet attr_value_slug = available_attributes[attr_name][i].slug;\n\t\t\t\t\t\tlet dataProperties = '';\n\t\t\t\t\t\tlet dataColorProperties = '';\n\n\t\t\t\t\t\t// set color like a picture\n\t\t\t\t\t\tif (available_attributes[attr_name][i].color != undefined) {\n\t\t\t\t\t\t\tconst svg = document.createElementNS( \"http://www.w3.org/2000/svg\", \"svg\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"width\", \"100\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"height\", \"100\" );\n\t\t\t\t\t\t\tsvg.style.backgroundColor = \"black\";\n\n\t\t\t\t\t\t\tconst rect = document.createElementNS( \"http://www.w3.org/2000/svg\", \"rect\" );\n\t\t\t\t\t\t\trect.setAttribute( \"width\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"height\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"fill\", available_attributes[attr_name][i].color );\n\t\t\t\t\t\t\tsvg.appendChild( rect );\n\n\t\t\t\t\t\t\tconst svgData = new XMLSerializer().serializeToString( svg );\n\t\t\t\t\t\t\tconst svgBase64 = btoa( svgData );\n\t\t\t\t\t\t\tconst dataUrl = 'data:image/svg+xml;base64,' + svgBase64;\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + dataUrl + '\"';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (available_attributes[attr_name][i].image !== undefined) {\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + available_attributes[attr_name][i].image + '\"';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet is_selected = selected_attributes[attr_name] === attr_value_name || available_attributes[attr_name][i].default;\n\t\t\t\t\t\t$select.append( '<option class=\"attached enabled\" style=\"--data-color:' + dataColorProperties + '\" data-slug=\"' + attr_value_slug + '\" value=\"' + attr_value_name + '\"' + (is_selected ? ' selected' : '') + dataProperties + '>' + attr_value_name + '</option>' );\n\t\t\t\t\t}\n );\n }\n },\n\n compareBySort: function (a, b) {\n return a.sort - b.sort;\n },\n\n filter_variants: function (selected_attributes) {\n var variants = $( '.variants-container-js' ).data( 'variants' ),\n availableVariants = [];\n for (i in variants) {\n var is_available = true;\n for (var attr_name in selected_attributes) {\n if (typeof variants[i][attr_name][selected_attributes[attr_name]] !== 'undefined') {\n is_available = false;\n break;\n }\n }\n if (is_available) {\n availableVariants.push( variants[i] );\n }\n }\n\n return availableVariants;\n },\n\n scroll_for_hash: function (hash) {\n if (hash) {\n var hash = hash;\n\n $( 'html, body' ).animate(\n {\n\t\t\t\t\t\tscrollTop: $( hash ).offset().top\n },\n 1500,\n 'swing'\n );\n }\n },\n\n /**\n *\n * @version 2.0.0\n */\n set_analytic_add_item_to_cart: function () {\n if (settings.pg_google_track_id !== '') {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let self = this;\n let product = self.variant;\n let price = product.attributes.price;\n let sku = product.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = product.attributes.sku;\n let sale_price = product.attributes['sale-price'];\n let remote_variant_id = product.remote_variant_id;\n\n gtag(\n 'event',\n 'add_to_cart',\n {\n\t\t\t\t\t\t\t\"event_category\": 'prodigy_ecommerce',\n\t\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": product.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price ),\n \"quantity\": parseInt($(self.product_counter_input_element).val()),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n }\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n */\n change_product_quantity_analytic_event: function () {\n let self = this;\n if (settings.pg_google_track_id !== \"\") {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let old_quantity = parseInt($(self.product_counter_input_element).val());\n\n $( '.counter-btn-plus-js, .counter-btn-minus-js' ).on(\n 'click',\n function () {\n\t\t\t\t\t\t\tlet product = self.variant;\n\n\t\t\t\t\t\t\tlet price = product.attributes.price;\n\t\t\t\t\t\t\tlet sku = product.attributes.sku;\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * TODO check title in api\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tlet title = product.attributes.sku;\n\t\t\t\t\t\t\tlet sale_price = product.attributes['sale-price'];\n\t\t\t\t\t\t\tlet remote_variant_id = product.remote_variant_id;\n\n\t\t\t\t\t\t\tgtag(\n 'event',\n 'change_product_quantity',\n {\n\t\t\t\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\t\t\t\"items\": [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"id\": remote_variant_id,\n\t\t\t\t\t\t\t\t\t\t\"name\": title,\n\t\t\t\t\t\t\t\t\t\t\"sku\": sku,\n\t\t\t\t\t\t\t\t\t\t\"price\": self.get_actual_price( price, sale_price ),\n\t\t\t\t\t\t\t\t\t\t\"new_quantity\": parseInt($(self.product_counter_input_element).val() ),\n\t\t\t\t\t\t\t\t\t\t\"old_quantity\": old_quantity,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n }\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n * @param data\n */\n set_view_product_analytic_event: function (data) {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n\n let price = data.attributes.price;\n let sku = data.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = data.attributes.sku;\n let sale_price = data.attributes['sale-price'];\n let remote_variant_id = data.remote_variant_id;\n\n if (typeof current_url.includes( settings.product_type )) {\n let self = this;\n\n gtag(\n 'event',\n 'view_variant',\n {\n\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": data.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n }\n );\n }\n },\n\n captcha_callback: function (val) {\n $( \".recaptcha-checkbox\" ).attr( \"aria-checked\", true );\n this.check_enable_comment_fields();\n },\n\n reset_focus_to_press_enter: function () {\n let self = this;\n $( document ).on(\n \"keypress blur focusout\",\n self.product_counter_input_element,\n function (e) {\n if (e.type === 'keypress' && e.which === 13) {\n self.update_counter_of_products( self, $( this ) );\n } else if (e.type === 'blur' || e.type === 'focusout') {\n self.update_counter_of_products( self, $( this ) );\n }\n }\n );\n },\n\n update_counter_of_products: function (self, container) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (\n this.is_tiered_price &&\n this.is_variants() &&\n this.is_validate_options()\n ) {\n this.get_variant_data( this.selectedVariant, number_of_items );\n } else if (this.is_tiered_price && this.is_validate_options()) {\n this.get_master_variant_data( number_of_items );\n }\n\n if (parseInt( container.val() ) > 1) {\n $( \".counter-btn-minus-js\" ).prop( \"disabled\", false );\n }\n },\n\n send_captcha: function () {\n $( \".submit-product-button\" ).click(\n function (e) {\n\t\t\t\t\tvar response;\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\t\tdata: $( \"#commentform\" ).serialize() + \"&action=google-captcha-url\",\n\t\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\t\tasync: false,\n\t\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\t\tif (data.nocaptcha === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else if (data.spam === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresponse = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n send_review_for_user: function () {\n var is_admin = this.is_admin;\n $( document ).on(\n 'submit',\n 'form#commentform',\n function (e) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t$( '#submit' ).addClass( 'prodigy-main-button--loading' );\n\t\t\t\t\tvar form = $( 'form#commentform' );\n\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: 'POST',\n\t\t\t\t\t\t\turl: form.attr( 'action' ),\n\t\t\t\t\t\t\tdata: form.serialize(),\n\t\t\t\t\t\t\terror: function (error) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'Couldn\\'t submit a review. Please try again later.' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess: function (respond_data) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\t\t$( '#submit' ).removeClass( 'prodigy-main-button--loading' );\n\t\t\t\t\t\t\t\t\tif (typeof respond_data !== \"undefined\") {\n\t\t\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'We will post your review soon after moderation approve' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n show_cart_message() {\n var add_to_cart_message = $( '.widget-cart-add-item-message-js' );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( 'slow' );\n },\n\n show_view_cart_btn() {\n var view_cart = $( \".view-cart-js\" );\n view_cart.show();\n $( \".prodigy-product__values\" ).removeClass( \"flex-nowrap\" );\n },\n\n show_add_to_cart_message() {\n var self = this;\n $(self.add_to_cart_button_element).prop( \"disabled\", true );\n self.show_cart_message();\n self.show_view_cart_btn();\n\n setTimeout(\n function () {\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\t\t\t\t},\n 5000\n );\n },\n\n show_error: function (message, type = \"success\") {\n let self = this;\n let add_to_cart_message = $( \".widget-cart-message-error-js\" );\n add_to_cart_message.find( \"span\" ).html( message );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( \"slow\" );\n if (type === \"error\") {\n add_to_cart_message.addClass( \"prodigy-cart-dropdown__error-alert\" );\n }\n self.hide_cart_button_loader();\n },\n\n disable_submit_comment: function () {\n let self = this;\n\n self.check_enable_comment_fields();\n\n $(document).on( 'input', \"#comment\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-author-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-email-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $( \"body\" ).on(\n \"change\",\n \"#prodigy-rating\",\n function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n },\n\n check_enable_comment_fields: function () {\n var comment_submit = $( \".prodigy-main-button.submit-product-button\" );\n\n var rating_form = $( \".comment-form-rating\" ).length;\n\n if ( ! this.is_admin) {\n var rating_val = $( \"#prodigy-rating\" ).val();\n }\n\n var comment_val = $( \"#comment\" ).val();\n var name_val = $( \".comment-author-js\" ).val();\n var email_val = $( \".comment-email-js\" ).val();\n var captcha_val = $( \"#g-recaptcha-response\" ).val();\n var captcha = $( \"#g-recaptcha-response\" );\n var is_rating_enable = $( \".prodigy-comment__rating\" ).length > 0;\n var is_email_enable = $( \".comment-email-js\" ).length > 0;\n var enable_submit = true;\n\n if (document.body.classList.contains( \"logged-in\" )) {\n if (this.is_admin) {\n var enable_submit = comment_val;\n } else if (typeof rating_val !== 'undefined') {\n var enable_submit = rating_val && comment_val;\n } else {\n var enable_submit = comment_val;\n }\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && captcha_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && captcha_val;\n }\n } else {\n if (typeof rating_val !== \"undefined\") {\n var enable_submit = rating_val && comment_val && name_val && email_val;\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && rating_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n } else if (captcha.length == 0 && ! this.is_admin && is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n } else {\n var enable_submit = comment_val && name_val && email_val;\n\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n }\n }\n\n if (enable_submit) {\n comment_submit.prop( \"disabled\", false );\n } else {\n comment_submit.prop( \"disabled\", true );\n }\n },\n\n set_shipping_data_variants: function (\n sku,\n weight,\n dimension\n ) {\n let prodigy_additional_weight_js = $( '.prodigy-additional-weight-js' );\n let prodigy_additional_dimensions_js = $( '.prodigy-additional-dimensions-js' );\n let product_sku_value = $( '.product_sku_value' );\n\n prodigy_additional_weight_js.text( weight )\n prodigy_additional_dimensions_js.text( dimension )\n product_sku_value.text( sku );\n },\n\n counter_reset: function () {\n $(this.product_counter_input_element).val(1);\n },\n\n set_product_counter: function () {\n let self = this;\n const counterCount = $(self.product_counter_input_element);\n counterCount.inputmask( {regex: \"^[1-9][0-9]*|$\", rightAlign: false} );\n\n $( document ).on(\n \"click\",\n '.counter-btn-minus-js',\n function () {\n\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) - 1;\n\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\n\t\t\t\t\tconst counterCount = $(self.product_counter_input_element);\n\t\t\t\t\tconst minusBtn = $( \".counter-btn-minus-js\" );\n\t\t\t\t\tlet counter = parseInt( counterCount.val() );\n\t\t\t\t\tif (counter !== self.min_quantity) {\n\t\t\t\t\t\tcounterCount.val( --counter );\n\t\t\t\t\t\tif (counter <= self.min_quantity) {\n\t\t\t\t\t\t\tminusBtn.prop( \"disabled\", true );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document )\n .off( \"click\", \".counter-btn-plus-js\" )\n .on(\n \"click\",\n \".counter-btn-plus-js\",\n function () {\n\t\t\t\t\t\tself.get_inventory_data();\n\t\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) + 1;\n\n\t\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( ++counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n\t\t\t\t\t}\n );\n },\n\n get_inventory_data: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-inventory-product\",\n post_id: $( \"#product_id\" ).val(),\n nonce: settings.nonce\n };\n clearTimeout(self.timeouInventorytId);\n self.timeouInventorytId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n if (typeof data.attributes !== 'undefined') {\n self.set_stock_status(data.attributes);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n reset_product_counter: function (inventory = null) {\n this.counter_reset();\n },\n\n set_stock_status: function (inventory, is_variant) {\n let self = this;\n let inventory_quantity = parseInt(localStorage.getItem(\"items_quantity\"));\n if (inventory['manage-stock'] && !inventory['backorderable'] && inventory_quantity > 0) {\n self.maxItems = inventory_quantity;\n }\n if (inventory['manage-stock']) {\n if (($(\".attribute_values_js\").length !== 0 && !is_variant) || inventory_quantity === 0) {\n self.set_out_of_stock_status();\n } else {\n self.disable_minus_button();\n self.set_in_stock_status(inventory);\n }\n } else if (is_variant && inventory['manage-stock'] && inventory['backorderable'] && inventory['stock'] === 'in_stock' && inventory_quantity === 0) {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'in_stock') {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'out_of_stock') {\n self.set_out_of_stock_status();\n }\n },\n\n is_swatches: function () {\n return $( \".prodigy-product__swatch-block-js\" ).length !== 0;\n },\n\n show_variant_data: function ( data_object, price, sale_price, subscriptions, is_selected_variant = 0) {\n let attribute_select = $( \".attribute_values_js\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let regular_price_info = $( \".regular-price-container\" );\n let sale_price_info = $( \".sale-price-container\" );\n let main_price_js = $( \".main-price-js\" );\n let default_info = $( '.product-default-info-js' );\n let subscription_block = $( '.subscriptions' );\n let main_currency_js = $( '.main-price-currency-js' );\n\n if ( ! is_selected_variant && $( '.main-price-js' ).text() !== prodigy_price_format( price )) {\n localStorage.setItem( 'product-range', $( '.main-price-js' ).text().trim() );\n }\n\n if ((attribute_select.length !== 0 || this.is_swatches()) && ! is_selected_variant) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n subscription_block.hide();\n main_currency_js.hide();\n main_price_js.text( localStorage.getItem( 'product-range' ) );\n } else {\n if ( ! this.is_tiered_price) {\n this.show_price( price, sale_price, subscriptions );\n } else {\n let price = data_object.tiered_price;\n this.show_price( price );\n }\n }\n\n default_info.show();\n let is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_selected_variant) {\n default_info.hide();\n\n if (subscriptions) {\n $( '.prodigy-subscriptions-tab-js:first' ).trigger( 'click' );\n $( '.prodigy-product__price-wrapper' ).hide();\n } else {\n $( '.prodigy-product__price-wrapper' ).show();\n }\n this.show_subscription_price( price );\n\n } else if (is_subscriptions) {\n $( '.product-default-info-price-js' ).text( '$' + price );\n }\n\n this.format_subscription_price( price );\n },\n\n show_subscription_price: function (price) {\n let sale_price = $( '.subscription-sale_price-js' ).val();\n if (sale_price !== price && typeof sale_price !== 'undefined') {\n let price = this.get_current_product_price();\n let price_string = '$' + prodigy_price_format( price );\n $( '.prodigy-product__prop-txt-price' ).text( price_string ).show();\n }\n },\n\n show_price: function (price, sale_price = null, subscriptions = null) {\n let main_currency_js = $( '.main-price-currency-js' );\n let main_price_js = $( \".main-price-js\" );\n price = prodigy_price_format( price );\n if ( sale_price ) {\n price = prodigy_price_format( sale_price );\n }\n if (this.is_tiered_price) {\n main_price_js = $( \".prodigy-product__main-price\" );\n price = prodigy_price_format( price );\n }\n\n if (parseFloat(price) > 0) {\n price = '$' + price;\n }\n\n let sale_price_info = $( \".sale-price-container\" );\n let regular_price_info = $( \".regular-price-container\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let sale_price_value_block = $( \".sale-price\" );\n let regular_price_value_block = $( \".regular-price\" );\n\n if (\n (typeof sale_price !== \"undefined\") ||\n (typeof sale_price !== \"undefined\" && parseInt( sale_price ) !== 0)\n ) {\n if (price === \"\" || parseInt( sale_price ) === 0) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n } else {\n main_price_js.text( price );\n regular_price_info.show();\n sale_price_info.show();\n stock_info.show();\n }\n\n if (sale_price === \"\") {\n sale_price_info.show();\n if (typeof price !== 'undefined' && price) {\n sale_price_value_block.text( price );\n regular_price_info.hide();\n }\n } else {\n if (price && typeof price !== \"undefined\" && (sale_price !== null && sale_price.length > 0)) {\n if (prodigy_price_format( sale_price ) !== prodigy_price_format( price ) ) {\n regular_price_value_block.text( price );\n }\n sale_price_value_block.text( prodigy_price_format( sale_price ) );\n regular_price_info.show();\n sale_price_info.show();\n } else {\n sale_price_value_block.text( price );\n regular_price_info.hide();\n }\n }\n } else {\n sale_price_info.hide();\n regular_price_info.hide();\n }\n },\n\n show_main_product_info: function () {\n let self = this;\n if (\n typeof this.remote_product !== \"undefined\" &&\n this.remote_product.remote_main_price !== null\n ) {\n let subscriptions = false;\n if (typeof this.remote_product.remote_master_variant_info !== 'undefined') {\n subscriptions = typeof this.remote_product.remote_master_variant_info['subscription-plan'] !== 'undefined';\n }\n\n let price = 0;\n let sale_price = 0;\n\t\t\t\tif (typeof this.remote_product.remote_main_price !== 'undefined') {\n price = this.remote_product.remote_main_price.price;\n\t\t\t\t\tsale_price = this.remote_product.remote_main_price['sale-price'];\n\t\t\t\t}\n\n this.show_variant_data(\n this.remote_product,\n price,\n sale_price,\n subscriptions\n );\n\n if (\n typeof this.remote_product !== 'undefined' &&\n typeof this.remote_product.remote_master_variant_info !== \"undefined\"\n ) {\n localStorage.setItem( \"items_quantity\", this.remote_product.remote_master_variant_info.inventory.attributes.count );\n }\n\n let has_variants = ! $.isEmptyObject( this.remote_product.variant_option );\n if ( ! has_variants) {\n self.hide_cart_button_loader();\n }\n\n if (\n typeof this.remote_product.remote_master_variant_info !== 'undefined'\n && typeof this.remote_product.remote_master_variant_info.inventory !== 'undefined'\n ) {\n this.show_status( this.remote_product.remote_master_variant_info.inventory.attributes, has_variants, false );\n }\n }\n\n if (\n this.product.meta &&\n typeof this.product.meta.product_sku !== \"undefined\" &&\n this.product.meta.product_sku[0]\n ) {\n var main_product_sku = this.product.meta.product_sku[0];\n $( \".product_sku_value\" ).text( main_product_sku );\n }\n\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if ( ! is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n self.load_subscription_price();\n },\n\n\n get_tiered_prices_range_ajax: function() {\n let self = this;\n let post_data = {\n action: \"prodigy-get-tiered-prices-range\",\n product_id: this.master_variant_id,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutTieredtId);\n self.timeoutTieredtId = setTimeout(function() {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n self.min_quantity = data.data.min_quantity;\n if (self.is_tiered_price && !self.is_variant_was_chosen) {\n localStorage.setItem(\"min_quantity\", data.data.min_quantity);\n if (parseFloat(data.data.min_price) !== parseFloat(data.data.max_price) ) {\n let range_price_string = 'From $' + prodigy_price_format(data.data.min_price) + ' to $' + prodigy_price_format(data.data.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.data.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop( \"disabled\", true );\n }\n }\n });\n }, 500);\n },\n\n show_status: function (inventory, has_variant, select_variant) {\n let self = this;\n let inventory_quantity = parseInt( localStorage.getItem( \"items_quantity\" ) );\n if (typeof inventory_quantity !== \"undefined\" && inventory['manage-stock']) {\n self.maxItems = inventory_quantity;\n }\n let is_variant = (has_variant && select_variant) || ! has_variant;\n\n if (typeof inventory.stock !== \"undefined\") {\n self.set_stock_status( inventory, is_variant );\n }\n },\n\n disable_minus_button: function () {\n var minus = $( \".counter-btn-minus-js\" );\n\n if (parseInt($(self.product_counter_input_element).val()) === self.min_quantity) {\n minus.prop( \"disabled\", true );\n } else {\n minus.prop( \"disabled\", false );\n }\n },\n\n set_out_of_stock_status: function () {\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper['out_of_stock'] );\n },\n\n set_in_stock_status: function ( inventory ) {\n let plus = $( \".counter-btn-plus-js\" );\n let count_input = $(self.product_counter_input_element);\n count_input.prop( \"disabled\", false );\n plus.prop( \"disabled\", false );\n $(this.add_to_cart_button_element).prop( \"disabled\", false );\n let counter = inventory.count !== null ? inventory.count : '';\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper[inventory.stock] + ' ' + counter);\n },\n\n get_actual_price: function (price, sale_price) {\n if (sale_price === '') {\n return price;\n } else {\n return sale_price;\n }\n },\n\n set_variants_data: function (data, selector = null) {\n let self = this;\n if (typeof data !== 'undefined') {\n\n if (settings.pg_google_track_id !== \"\" && typeof settings.pg_google_track_id !== \"undefined\") {\n self.set_view_product_analytic_event( data );\n }\n\n let sku;\n if (\n data &&\n typeof data.attributes !== \"undefined\" &&\n data.attributes.sku\n ) {\n sku = data.attributes.sku;\n }\n\n if ( typeof data.inventory !== \"undefined\" && typeof data.inventory.attributes.count !== \"undefined\" ) {\n localStorage.setItem( \"items_quantity\", data.inventory.attributes.count );\n this.show_status( data.inventory.attributes, true, true );\n self.is_variant_was_chosen = true;\n if (self.is_tiered_price) {\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n }\n else if (data.inventory.attributes['manage-stock']) {\n this.reset_product_counter( data.inventory.attributes );\n }\n\n this.show_variant_data(\n data.attributes,\n data.attributes.price,\n data.attributes['sale-price'],\n data['subscription-plan'],\n true\n );\n }\n\n if (sku !== \"\" && typeof sku !== \"undefined\") {\n $( \".product_sku_value\" ).text( sku );\n } else {\n $( \".prodigy-product__tags-item product_sku\" ).hide();\n }\n\n // set product data for cart\n if (typeof data !== \"undefined\") {\n if (typeof data.remote_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-remote-id\", data.remote_variant_id );\n }\n\n if (typeof data.local_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-local-id\", data.local_variant_id );\n }\n }\n self.load_subscription_price();\n }\n },\n\n /**\n * Get obj remote product info\n *\n * @version 2.0.0\n */\n get_master_variant_data: function (number_of_items = 1) {\n let post_data = {\n action: \"prodigy-get-master-variant-data\",\n post_id: this.master_variant_id,\n items_number: number_of_items,\n nonce: settings.nonce\n };\n\n let self = this;\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.remote_product = data.data;\n\t\t\t\t\t\tif (typeof settings.is_captcha !== 'undefined' &&\n settings.is_captcha !== '' &&\n typeof settings.captcha_site_key !== 'undefined' &&\n settings.captcha_site_key !== ''\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tlet is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\tgrecaptcha.render(\n 'captcha',\n {\n\t\t\t\t\t\t\t\t\t\t'sitekey': settings.captcha_site_key\n }\n );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (typeof data.data !== 'undefined') {\n\t\t\t\t\t\t\tself.variant = data.data.remote_master_variant_info;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.show_main_product_info();\n\t\t\t\t\t\t// init cart\n\t\t\t\t\t\tself.add_item_to_cart();\n\t\t\t\t\t}\n }\n );\n },\n\n show_tab_description: function () {\n $( \"body\" ).on(\n \"click\",\n \".show-description-js\",\n function () {\n\t\t\t\t\t$( \".description_tab\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-description\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-reviews\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t}\n );\n },\n\n show_tab_review: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-review-link-js\",\n function () {\n\t\t\t\t\t$( \"#tab-reviews\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).addClass( \"active\" );\n\t\t\t\t\t$( \"#tab-description\" ).hide();\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t\t$( \".description_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).addClass( \"active\" );\n\t\t\t\t\tif (document.getElementById( \"tab-reviews\" )) {\n\t\t\t\t\t\tdocument.getElementById( \"tab-reviews\" ).scrollIntoView();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_product_tabs: function () {\n $( \".description_tab\" ).addClass( \"active\" );\n $( \"#tab-additional_information\" ).hide();\n $( \"#tab-reviews\" ).hide();\n\n var product_url = $( '.product-url-js' ).val();\n $( document ).on(\n 'click',\n '.tiered_prices_tab, .show-description-js, .description_tab, .additional_information_tab, .reviews_tab',\n function () {\n\t\t\t\t\t$( 'html,body' ).animate( {scrollTop: $( this ).offset().top}, 500 );\n\t\t\t\t}\n );\n\n $( \"body\" )\n // Tabs\n .on(\n \"init\",\n \".prodigy-tabs-js, .prodigy-tabs\",\n function () {\n\t\t\t\t\t\t$( \".pg-tab, .prodigy-tabs .panel:not(.panel .panel)\" ).hide();\n\t\t\t\t\t\tvar hash = window.location.hash;\n\t\t\t\t\t\tvar url = window.location.href;\n\t\t\t\t\t\tvar $tabs = $( this )\n .find( \".pg-tabs, ul.tabs\" )\n .first();\n\t\t\t\t\t\tif (\n hash.toLowerCase().indexOf( \"comment-\" ) >= 0 ||\n hash === \"#reviews\" ||\n hash === \"#tab-reviews\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (\n url.indexOf( \"comment-page-\" ) > 0 ||\n url.indexOf( \"cpage=\" ) > 0\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (hash === \"#tab-additional_information\") {\n\t\t\t\t\t\t\t$tabs.find( \"li.additional_information_tab a\" ).click();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar $tab = $tabs.find( \"li:first a\" );\n\t\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t\t$tab.addClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \".pg-tabs li a, ul.tabs li a\",\n function (e) {\n\t\t\t\t\t\tvar $tab = $( this );\n\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\tvar $tabs = $tabs_wrapper.find( \".pg-tabs, ul.tabs\" );\n\n\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t$tab.closest( \"li\" ).addClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t}\n )\n\n // Star ratings for comments\n .on(\n \"init\",\n \"#prodigy-rating\",\n function () {\n\t\t\t\t\t\t$( this )\n .hide()\n .before(\n \"\" +\n '<div class=\"stars prodigy-comment__rating\">' +\n '<a class=\"star-1 prodigy-comment__star icon icon-star\" href=\"#\">1</a>' +\n '<a class=\"star-2 prodigy-comment__star icon icon-star\" href=\"#\">2</a>' +\n '<a class=\"star-3 prodigy-comment__star icon icon-star\" href=\"#\">3</a>' +\n '<a class=\"star-4 prodigy-comment__star icon icon-star\" href=\"#\">4</a>' +\n '<a class=\"star-5 prodigy-comment__star icon icon-star\" href=\"#\">5</a>' +\n \"</div>\"\n );\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \"#respond div.stars a\",\n function () {\n\t\t\t\t\t\tvar $star = $( this ),\n $rating = $( this )\n .closest( \"#respond\" )\n .find( \"#prodigy-rating\" ),\n $container = $( this ).closest( \".stars\" );\n\t\t\t\t\t\t$rating.val( $star.text() ).trigger( \"change\" );\n\t\t\t\t\t\t$star.siblings( \"a\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$star.addClass( \"active\" );\n\t\t\t\t\t\t$container.addClass( \"selected\" );\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n )\n\n .on(\n \"click\",\n \"#reviews #comments .justify-content-center\",\n function () {\n\t\t\t\t\t\twindow.prodigyProduct\n .get_count_review()\n .done(\n function (result) {\n\t\t\t\t\t\t\t\tlet count_review = result.data;\n\t\t\t\t\t\t\t\tif (count_review > 0) {\n\t\t\t\t\t\t\t\t\twindow.prodigyProduct.get_content_review();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n )\n .fail(\n function () {\n\t\t\t\t\t\t\t}\n );\n\t\t\t\t\t}\n );\n\n $( \".prodigy-tabs-js, .prodigy-tabs, #prodigy-rating\" ).trigger( \"init\" );\n },\n\n get_content_review: function () {\n let self = $( \"#reviews #comments .justify-content-center\" );\n let page = $( \".per-page-js\" ).data( \"page\" );\n let post_data = {\n action: \"prodigy-public-get-comments\",\n post_id: $( \"#product_id\" ).val(),\n page: page,\n nonce: settings.nonce\n };\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"text\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.before( data );\n\t\t\t\t\t\t$( \".per-page-js\" ).data( \"page\", page + 1 );\n\n\t\t\t\t\t\twindow.prodigyProduct.get_count_review().done(\n function (res) {\n if (res.data === 0) {\n window.prodigyProduct.hide_link_show_more_reviews();\n }\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n get_count_review: function () {\n let post_data = {\n action: \"prodigy-public-get-comments-count\",\n post_id: $( \"#product_id\" ).val(),\n page: $( \".per-page-js\" ).data( \"page\" ),\n nonce: settings.nonce\n };\n\n return $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url\n }\n );\n },\n\n hide_link_show_more_reviews: function () {\n $( \".link-show-more-reviews-js\" )\n .removeClass( \"d-flex\" )\n .addClass( \"d-none\" );\n },\n\n set_default_link_review: function () {\n window.prodigyProduct.get_count_review().done(\n function (res) {\n\t\t\t\t\tif (res.data === 0) {\n\t\t\t\t\t\twindow.prodigyProduct.hide_link_show_more_reviews();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n init_show_more: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-product__description-show-more\",\n function () {\n var $container = $( this ).parent();\n $container\n .find( \".prodigy-product__description-container\" )\n .removeClass( \"prodigy-product__description-container--truncated\" );\n $container.find( \".prodigy-product__description-fade\" ).remove();\n $( this ).remove();\n }\n );\n },\n\n set_customised_variant_selection: function () {\n $( document ).find( 'select[data-attribute]' ).trigger( 'focus' );\n },\n\n customise_sort_select: function () {\n $( '.prodigy-custom-select' ).styler(\n {\n\t\t\t\t\tonFormStyled: function () {\n\t\t\t\t\t\t$( '.jq-selectbox__select-text' ).each(\n function () {\n const width = $( this )\n .closest( '.jq-selectbox' )\n .find( 'select' )\n .width();\n $( this ).width( width );\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n set_tabs_for_resolution: function () {\n let windowWidth = window.innerWidth;\n if (windowWidth < 768) {\n $( '.desktop-resolution-js' ).remove();\n } else {\n $( '.mobile-resolution-js' ).remove();\n }\n },\n\n is_validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tif ($( this ).val() === \"\") {\n\t\t\t\t\t\t\tresult = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js' ).each(\n function () {\n let self = this;\n let checkbox = $( this ).find('.prodigy-product__swatch-js');\n checkbox.each(\n function () {\n if ( ! checkbox.is( ':checked' ) && ! $( self ).hasClass( 'ignored' ) ) {\n result = false;\n } else {\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n\n validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tconst headers = $( bulk_container ).find( '.prodigy-tooltip, .prodigy-bulk__table-cell' );\n\t\t\t\t\tbulk_result ? headers.removeAttr( 'style' ) : headers.css( 'border-color', 'red' )\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $( this ).val() === \"\") {\n\t\t\t\t\t\t$( this ).prev().css( 'color', 'red' );\n\t\t\t\t\t\t$( this ).css( 'border-color', 'red' );\n\t\t\t\t\t\tresult = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( this ).prev().removeAttr( 'style' );\n\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js:not(.ignored)' ).each(\n function () {\n\t\t\t\t\tlet element = $( this ).closest( '.prodigy-product__attr-item--no-select-value' ).find( '.prodigy-product__attr-text' );\n\t\t\t\t\tlet checkbox = $( this ).find(self.prodigy_product_swatch_element);\n\t\t\t\t\tcheckbox.each(\n function () {\n if ( ! checkbox.is( ':checked' )) {\n element.css( 'color', 'red' );\n result = false;\n } else {\n element.removeAttr( 'style' );\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n hide_empty_div: function () {\n $( '.prodigy-product__prop-wrap' ).each(\n function () {\n\t\t\t\t\tif ($.trim( $( this ).text() ) == '' && $( this ).children().length == 0) {\n\t\t\t\t\t\t$( this ).hide();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n };\n\n window.prodigyProduct = prodigy_product;\n})( jQuery, window );\n\njQuery( document ).ready(\n function ($) {\n\t\twindow.prodigyProduct.init();\n\t\twindow.prodigyRecaptchaCallback = window.prodigyProduct.captcha_callback.bind(\n window.prodigyProduct\n\t\t);\n\t}\n);\n","( function ( $, window ) {\n const qnonce = settings.nonce;\n $(document).on('click', '.quick-view-js', function () {\n window.code_happened = false;\n $.ajax({\n type: \"POST\",\n url: ajaxurl,\n data: {\n action: 'prodigy-quick-edit',\n post_id: $(this).data('id'),\n nonce: qnonce\n },\n cache: false,\n success: function(html) {\n $.magnificPopup.open({\n items: {\n src: '#quick-view-js',\n },\n type: 'inline',\n callbacks: {\n beforeOpen : function() {\n $('#quick-view-content-js').html(html);\n window.prodigyProduct.init();\n if (!window.prodigyProduct.is_variants()) {\n window.prodigyProduct.get_master_variant_data();\n }\n window.prodigyProduct.set_product_gallery();\n window.prodigyProduct.update_variants_dropdown();\n window.prodigyProduct.set_elementor_options();\n window.prodigyProduct.set_product_counter();\n window.prodigyProduct.change_swatch_value();\n window.prodigyProduct.set_checked_swatch();\n window.prodigyProduct.choose_variant_dropdown();\n window.prodigyProduct.choose_radio_variant();\n window.prodigyProduct.add_item_to_cart();\n window.prodigyProduct.reset_focus_to_press_enter();\n window.prodigyProduct.set_bulk_variants_data();\n window.prodigyProductBulk.bulk_showing_manager();\n if (window.prodigyProduct.is_tiered_price) {\n window.prodigyProduct.get_tiered_prices_range_ajax();\n }\n }\n }\n });\n }\n });\n\n\n $(document).on('click', '.quick-view-close', '.filter-close', function (e) {\n e.preventDefault();\n $.magnificPopup.close();\n });\n });\n})(jQuery, window);","(function ($) {\n 'use strict';\n\n let shop_page_url = settings.shop_page_url;\n let default_number_of_columns = settings.customizer_product_columns;\n let windowWidth = screen.width;\n\n $(document).ready(function () {\n let catalog_containers = [\n 'filter__browse',\n 'filter-widget-container-js',\n 'prodigy-pagination',\n 'catalog-sort-js',\n 'price-filter-container-js'\n ];\n\n init();\n\n function init() {\n set_search_parameters();\n set_dropdown_sortable();\n search_handler();\n slow_search();\n hiding_search_widget();\n hiding_empty_search_space();\n set_number_of_columns_by_screen_resolution();\n }\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let number_of_columns = '';\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function hiding_empty_search_space() {\n let search = $('.catalog-page-sort-js');\n let sorting = $('.prodigy-search__input-js');\n if (search.length === 0 && sorting.length === 0) {\n $('.prodigy-search-filter').remove();\n }\n }\n\n function hiding_search_widget() {\n $('.prodigy-filter__main').each(function (index, element) {\n let badge = $(element).find('.prodigy-filter__badges');\n let container_attribute = badge.find('.prodigy-main-badge');\n let active_filter = container_attribute.data('attribute-name');\n if (badge.length !== 0 && typeof active_filter === 'undefined') {\n element.remove();\n }\n });\n }\n\n function slow_search() {\n if (prodigyGetUrlParam('search')) {\n $(\"html,body\").animate({scrollTop: 0}, \"slow\");\n }\n }\n\n function search_handler() {\n const searchBtn = $('.prodigy-search__icon-js');\n const searchWidgetBtn = $('.prodigy-search__icon-widget-js');\n const closeSearchBtn = $('.prodigy-search__close-icon');\n const searchInput = $('.prodigy-search__input-js');\n const searchCustom = $('.prodigy-search__custom-search');\n const backdropOverlay = $('body');\n\n searchWidgetBtn.on('click', (e) => {\n let input = $(e.target).closest('form').find('.prodigy-search__input-js, .prodigy-search__input-mobile-js');\n if (!input.length) {\n return;\n }\n set_search_params(input.val());\n });\n\n searchBtn.on('click', () => {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n\n /**\n * for prodigy theme\n */\n searchInput.toggleClass('prodigy-search__input-is-open');\n searchInput.focus();\n\n if (searchInput.hasClass('prodigy-search__input-is-open') && searchInput.val().length > 0) {\n setTimeout(function () {\n closeSearchBtn.removeClass('d-none');\n }, 200);\n } else {\n closeSearchBtn.addClass('d-none');\n }\n\n });\n\n if (typeof searchInput.val() !== 'undefined' && searchInput.val().length > 0) {\n searchInput.addClass('prodigy-search__input-is-open');\n closeSearchBtn.removeClass('d-none');\n }\n\n searchInput.on('keyup', function () {\n if (searchInput.val().length > 0) {\n closeSearchBtn.removeClass('d-none');\n } else {\n closeSearchBtn.addClass('d-none');\n }\n });\n\n closeSearchBtn.on('click', function () {\n searchInput.val('');\n $(this).addClass('d-none');\n window.history.replaceState({}, document.title, shop_page_url);\n document.location.reload();\n });\n\n searchCustom.on('click', function (e) {\n e.stopPropagation();\n $(this).closest(\".prodigy-search__custom-dropdown\").addClass(\"prodigy-search__custom-dropdown--open\");\n });\n\n backdropOverlay.on('click', function (e) {\n if (!$(e.target).closest('.prodigy-search__custom-dropdown-block-search').length) {\n $('.prodigy-search__custom-dropdown').removeClass(\"prodigy-search__custom-dropdown--open\");\n }\n });\n\n }\n\n function set_search_parameters() {\n var search = prodigyGetUrlParam('search');\n if (typeof search !== 'undefined' && search !== 0) {\n $('.prodigy-search__input-js').val(prodigyGetUrlParam('search'));\n }\n\n $(document).on('keypress', '.prodigy-search__input-js, .prodigy-search__input-mobile-js', function (e) {\n let target = $(e.currentTarget);\n if (e.which === 13 && target.val() && typeof target.val() !== 'undefined') {\n e.preventDefault();\n set_search_params(target.val());\n }\n });\n }\n\n function set_search_params(search_value) {\n var newParams = [\n ['search', search_value]\n ];\n\n window.history.replaceState({}, document.title, shop_page_url);\n let newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n\n function set_dropdown_sortable() {\n var selText = '';\n var sort_param = prodigyGetUrlParam('sort');\n var dropdown_container = $(\".prodigy-dropdown__menu a\");\n\n switch (sort_param) {\n case 'created_at':\n selText = 'Sort by newness';\n break;\n case 'rating':\n selText = 'Sort by average rating';\n break;\n case 'price':\n selText = 'Sort by price';\n break;\n default:\n selText = 'Sort by newness';\n break;\n }\n\n dropdown_container.parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n\n dropdown_container.click(function (e) {\n selText = $(this).text();\n $(this).parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n });\n }\n\n const filterToggleBtnHandler = () => {\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n $('body').toggleClass('prodigy-overflow-y-hidden');\n $('html').toggleClass('prodigy-overflow-y-hidden');\n }\n\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-elementor-js, #filter-toggle-btn-2, #shop-sidebar-backdrop-js, #shop-sidebar-backdrop-elementor-js', filterToggleBtnHandler);\n });\n})(jQuery);\n","/**\n * File skip-link-focus-fix.js.\n *\n * Helps with accessibility for keyboard only users.\n *\n * Learn more: https://git.io/vWdr2\n */\n( function() {\n\tvar isIe = /(trident|msie)/i.test( navigator.userAgent );\n\n\tif ( isIe && document.getElementById && window.addEventListener ) {\n\t\twindow.addEventListener( 'hashchange', function() {\n\t\t\tvar id = location.hash.substring( 1 ),\n\t\t\t\telement;\n\n\t\t\tif ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement = document.getElementById( id );\n\n\t\t\tif ( element ) {\n\t\t\t\tif ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {\n\t\t\t\t\telement.tabIndex = -1;\n\t\t\t\t}\n\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, false );\n\t}\n} )();\n"],"sourceRoot":""} -
prodigy-commerce/tags/2.9.2/includes/class-prodigy-product-attributes.php
r3054534 r3061297 133 133 134 134 /** 135 * @param string $slug 136 * 137 * @return object|null 138 */ 139 public static function get_attribute_taxonomies_by_slug( string $slug ) { 140 global $wpdb; 141 142 return $wpdb->get_row( 143 $wpdb->prepare( 144 "SELECT * FROM {$wpdb->prefix}prodigy_attribute_taxonomy where slug = %s", 145 $slug 146 ) 147 ); 148 } 149 150 /** 135 151 * @param string $name 136 152 * … … 222 238 * @return string 223 239 */ 224 public static function concat_attribute_names( array $attribute_list ) :string {240 public static function concat_attribute_names( array $attribute_list ): string { 225 241 $string = ''; 226 $count = 0; 227 foreach ($attribute_list as $key => $attribute) { 228 $count++; 229 $string .= count($attribute_list) >= $count + 1 ? $key.' and ' : $key; 242 $count = 0; 243 foreach ( $attribute_list as $key => $attribute ) { 244 $taxonomy = self::get_attribute_taxonomies_by_slug( $key ); 245 if ( ! empty( $taxonomy ) ) { 246 $count ++; 247 $string .= count( $attribute_list ) >= $count + 1 ? $taxonomy->name . ' and ' : $taxonomy->name; 248 } 230 249 } 231 250 -
prodigy-commerce/tags/2.9.2/includes/class-prodigy-product.php
r3054534 r3061297 437 437 $taxonomy = Prodigy_Product_Attributes::get_attribute_taxonomies_by_name( $item['name'] ); 438 438 $term = get_term_by( 'name', $item['value'], $taxonomy->slug ?? '' ); 439 if ( isset( $t erm) ) {439 if ( isset( $taxonomy->slug, $term->slug ) ) { 440 440 $variants[ $key ][ $taxonomy->slug ][ $term->slug ]['name'] = $item['value']; 441 441 $variants[ $key ][ $taxonomy->slug ][ $term->slug ]['slug'] = $term->slug; -
prodigy-commerce/tags/2.9.2/prodigy-commerce.php
r3054534 r3061297 5 5 * Plugin URI: https://prodigycommerce.com 6 6 * Description: Provides a comprehensive set of tools to build unparalleled eCommerce experiences on WordPress. 7 * Version: 2.9. 17 * Version: 2.9.2 8 8 * Author: Prodigy Commerce 9 9 * License: GPL-2.0+ … … 17 17 use Prodigy\Includes\Prodigy_Deactivator; 18 18 19 const PRODIGY_VERSION = '2.9. 1';19 const PRODIGY_VERSION = '2.9.2'; 20 20 21 21 if ( file_exists( plugin_dir_path( __FILE__ ) . 'env.ini' ) ) { -
prodigy-commerce/tags/2.9.2/templates/partials/single-product/swatch-variants.php
r3054534 r3061297 2 2 <div class="prodigy-product__attr prodigy-product__attr-tags flex-column w-100"> 3 3 <?php foreach ( $product->get_variant_option() as $attribute => $variant ) : ?> 4 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_ name( $attribute ); ?>4 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_slug( $attribute ); ?> 5 5 <div style="display: none" 6 6 class="bulk-container-js prodigy-bulk__wrap prodigy-custom-template bulk-container-<?php echo esc_attr( $taxonomy->slug ) ?>-js" 7 7 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>"> 8 8 <div class="prodigy-bulk__title d-flex flex-wrap justify-content-between align-items-center"> 9 <span><?php echo esc_attr( $ attribute ); ?>9 <span><?php echo esc_attr( $taxonomy->name ); ?> 10 10 <?php if ( $is_tiered_prices ) : ?> 11 11 (min. qty - <strong><?php echo esc_attr( $tiered_min_quantity_text ); ?></strong>) … … 61 61 <div class="prodigy-product__attr-text d-flex justify-content-between align-items-center"> 62 62 <div class="prodigy-product__attr-text-label"> 63 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $ attribute ); ?></span>63 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $taxonomy->name ); ?></span> 64 64 </div> 65 65 <?php if ( $show_bulk ) : ?> -
prodigy-commerce/tags/2.9.2/templates/partials/single-product/variants.php
r3054534 r3061297 1 1 <?php foreach ( $product->get_variant_option() as $attribute => $variant ) : ?> 2 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_ name( $attribute ); ?>2 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_slug( $attribute ); ?> 3 3 <div style="display: none" 4 class="bulk-container-js prodigy-bulk__wrap prodigy-custom-template bulk-container-<?php echo esc_attr( $taxonomy->slug ) ?>-js"5 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>">4 class="bulk-container-js prodigy-bulk__wrap prodigy-custom-template bulk-container-<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>-js" 5 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>"> 6 6 <div class="prodigy-bulk__title d-flex justify-content-between align-items-start"> 7 <span><?php echo esc_attr( $ attribute ); ?>7 <span><?php echo esc_attr( $taxonomy->name ); ?> 8 8 <?php if ( $is_tiered_prices ) : ?> 9 9 (min. qty - <strong><?php echo esc_attr( $tiered_min_quantity_text ); ?></strong>) … … 12 12 <button type="button" 13 13 class="prodigy-unstyled__btn disable-bulk-js" 14 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>"14 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>" 15 15 > 16 16 Disable <span class="d-md-inline">Multiple Quantity</span> … … 55 55 56 56 <div class="prodigy-product__attr"> 57 <div class="prodigy-product__attr-item variant-container-<?php echo esc_attr( $taxonomy->slug ) ?>-js">57 <div class="prodigy-product__attr-item variant-container-<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>-js"> 58 58 <div class="prodigy-product__attr-text d-flex justify-content-between align-items-center"> 59 59 <div class="prodigy-product__attr-text-label"> 60 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $ attribute ); ?></span>60 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $taxonomy->name ); ?></span> 61 61 </div> 62 62 <?php if ( $show_bulk ) : ?> 63 63 <button 64 64 type="button" 65 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>"65 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>" 66 66 class="prodigy-unstyled__btn enable-bulk-js" 67 data-value="<?php echo esc_attr( $taxonomy->name ) ?>">67 data-value="<?php echo esc_attr( $taxonomy->name ?? '' ) ?>"> 68 68 Enable <span class="d-md-inline">Multiple Quantity</span> 69 69 </button> … … 71 71 </div> 72 72 <select 73 data-attribute="<?php echo esc_attr( $taxonomy->slug ); ?>"73 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ); ?>" 74 74 name="attribute_values" 75 75 class="prodigy-main-select attribute_values form-control attribute_values_js" 76 data-slug="<?php echo esc_attr( $taxonomy->slug ); ?>"76 data-slug="<?php echo esc_attr( $taxonomy->slug ?? '' ); ?>" 77 77 > 78 78 </select> -
prodigy-commerce/trunk/README.txt
r3054534 r3061297 4 4 Requires at least: 4.6 5 5 Tested up to: 6.4 6 Stable tag: 2.9. 16 Stable tag: 2.9.2 7 7 Requires PHP: 7.0 8 8 License: GPLv2 or later … … 183 183 == Changelog == 184 184 185 = 2.9.2 - 2024-03-29 = 186 * Fix attribute name showing on Product page 187 185 188 = 2.9.1 - 2024-03-19 = 186 189 * Improve filter behavior on Shop page -
prodigy-commerce/trunk/assets/templates/js/public.js
r3054534 r3061297 2301 2301 price = prodigy_price_format(price); 2302 2302 } 2303 if (parseFloat(price) > 0) { 2304 price = '$' + price; 2305 } 2303 2306 let sale_price_info = $(".sale-price-container"); 2304 2307 let regular_price_info = $(".regular-price-container"); … … 2312 2315 sale_price_info.hide(); 2313 2316 } else { 2314 main_price_js.text('$' + price); 2315 main_currency_js.show(); 2317 main_price_js.text(price); 2316 2318 regular_price_info.show(); 2317 2319 sale_price_info.show(); … … 2321 2323 sale_price_info.show(); 2322 2324 if (typeof price !== 'undefined' && price) { 2323 sale_price_value_block.text( '$' +price);2325 sale_price_value_block.text(price); 2324 2326 regular_price_info.hide(); 2325 2327 } … … 2327 2329 if (price && typeof price !== "undefined" && sale_price !== null && sale_price.length > 0) { 2328 2330 if (prodigy_price_format(sale_price) !== prodigy_price_format(price)) { 2329 regular_price_value_block.text( '$' +price);2331 regular_price_value_block.text(price); 2330 2332 } 2331 2333 sale_price_value_block.text(prodigy_price_format(sale_price)); … … 2333 2335 sale_price_info.show(); 2334 2336 } else { 2335 sale_price_value_block.text( '$' +price);2337 sale_price_value_block.text(price); 2336 2338 regular_price_info.hide(); 2337 2339 } -
prodigy-commerce/trunk/assets/templates/js/public.js.map
r3054534 r3061297 1 {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./web/templates/js/navigation.js","webpack:///./web/templates/js/scripts/analytics.js","webpack:///./web/templates/js/scripts/cart-load.js","webpack:///./web/templates/js/scripts/filter.js","webpack:///./web/templates/js/scripts/product-bulk.js","webpack:///./web/templates/js/scripts/product-page.js","webpack:///./web/templates/js/scripts/product-quick-view.js","webpack:///./web/templates/js/scripts/shop-page.js","webpack:///./web/templates/js/skip-link-focus-fix.js"],"names":["container","button","menu","links","i","len","document","getElementById","getElementsByTagName","style","display","setAttribute","className","indexOf","onclick","replace","length","addEventListener","toggleFocus","self","tagName","toLowerCase","parentElement","touchStartFn","parentLink","querySelectorAll","window","e","menuItem","parentNode","classList","contains","preventDefault","children","remove","add","$","settings","pg_google_track_id","on","value","text","trim","gtag","item","push","data","quantity","val","items","each","key","find","cart_items","jQuery","prodigy_remote_cart","init","get_remote_cart","post_data","action","ajax","type","dataType","url","ajax_url","success","response","check_empty_cart_load_remote","removeClass","html","cart","is_show_cross_products","show","cross_products","cross_slider_init","not","slick","prevArrow","nextArrow","slidesToShow","slidesToScroll","dots","arrows","mobileFirst","variableWidth","responsive","breakpoint","hide","is_deleted_product","prodigyRemoteCart","ready","filter_handler","set_sortable","reset_filters","clear_params","apply_filters","set_price_filter","set_sidebar","close_active_filter","remove_filter_storage","set_filters","is_elementor_template","set_elementor_filter_mode","set_custom_select","get_shop_page_id","urlParams","URLSearchParams","location","search","get","set_number_of_columns_by_screen_resolution","windowWidth","screen","width","default_number_of_columns","customizer_product_columns","number_of_columns","addClass","is_show_active_filter","click","toggleClass","is","attribute_name","attribute_value","load_filters","localStorage","removeItem","element","closest","attribute_id","unset_filter","get_catalog_filters","build_query","get_catalog_products","filterToggleBtnHandler","set_loader","attr","remove_loader","price_max","prodigyGetUrlParam","price_min","price_query","setItem","clear_url_params","href","origin","split","filter","getItem","params","JSON","parse","filter_query","param","total_query","history","pushState","pathname","category_name","category_slug","current_url","query","widget_id","category","category_type","ajaxurl","cache","pagination_list","empty_products","products","replaceWith","no_results","sort","first","before","active","filters","price_filter","price_filter_container","price","slider_widget","min_price","max_price","query_min_price","query_max_price","styler","onFormStyled","navigator","platform","newParams","newUrl","prodigyInsertUrlParams","reload","undefined","event","stopPropagation","id","attribute","values","forEach","splice","values_str","join","stringify","uncheck_filter_checkbox","removeAttr","Object","keys","parts","toString","id_attr","list","listItems","btnText","listOpenClass","moreText","lessText","countShow","hasClass","prodigy_product_bulk","input_quantity_element","enable_bulk_element","add_to_cart_button","bulk_container_general","bulk_container","variant_container","swatch_variant_container","button_disable_bulk","link_disable_bulk","bulk_modal","counter_element","bulk_total_block","close_bulk_modal","replaced_hidden_option","disable_bulk_modal_text","is_bulk","set_quantity_validation","bulk_showing_manager","is_bulk_enabled","get_attr_name_with_bulk_enabled","hide_default_product_info","trigger","modal","show_bulk_for_attr","hide_bulk_for_attr","removeData","show_price_bulk_block","prodigyProduct","reset_bulk_inputs","show_default_product_info","is_show_bulk_price_block","inputmask","mask","regex","prodigyProductBulk","prodigy_product","_weight_type_mapper","_dimension_type_mapper","_stock_status_mapper","_add_to_cart_key","product","is_show_subscription_popup","subscription_price","is_subscription_replaced","is_one_time_order","subscription_id","remote_product","variant","maxItems","is_admin","is_tiered_price","selectedVariant","master_variant_id","bulk_variants_info","input_bulk_quantity_element","total_quantity_element","bulkVariants","bulkTotalQuantity","bulk_total_price","bulk_price_modifier_element","bulk_stock_status","bulk_stock_qty","bulk_container_element","active_bulk_attribute_name","min_quantity","add_to_cart_button_element","disable_bulk_button_element","product_counter_input_element","prodigy_product_swatch_element","is_variant_was_chosen","Boolean","is_product_page","is_shop_page","is_variants","get_master_variant_data","set_product_tabs","scroll_for_hash","hash","set_product_counter","show_tab_review","show_tab_description","send_captcha","send_review_for_user","disable_submit_comment","reset_focus_to_press_enter","set_default_link_review","change_product_quantity_analytic_event","change_swatch_value","update_variants_dropdown","set_elementor_options","set_subscription_id","set_tabs_for_resolution","customise_sort_select","set_customised_variant_selection","choose_radio_variant","add_item_to_cart","hide_empty_div","set_bulk_variants_data","set_bulk_info","set_product_gallery","get_tiered_prices_range_ajax","close_tiered_price_popup","get_options","selected_options","is_swatches","swatch_block","$option","thumbsDirection","thumbsSlidesPerView","thumbsSpaceBetween","ratio","height","initNav","swiper","el","isBeginning","slideTo","slides","slidePrev","isEnd","slideNext","swiperThumbs","Swiper","direction","slidesPerView","spaceBetween","speed","slidesHeight","mainHeight","outerHeight","slide","swiperMain","pagination","thumbs","code_happened","open_photo_swipe","bind","get_gallery_images","img","large_image_src","large_image_w","large_image_h","src","w","h","title","pswpElement","index","options","extend","photoswipe","PhotoSwipe","PhotoSwipeUI_Default","context","bulk_attr","set_variant_modifier","modifierOptions","modifier","attributes","get_attributes_for_query","clear_selected_attributes","entries","selected_value","get_multiple_variant_data","is_show_regular_price","set_subscriptions","format_subscription_price","is_subscriptions","parse_price","sale_price","one_time_price","prodigy_price_format","parseFloat","parent","is_need_replace_subscription_item","remote_product_id","attribute_values_js","remote_master_id_variant","one_time_order","show_subscription_popup","off","validate_options","is_bulk_opened","attribute_swatch_js","current_button","set_analytic_add_item_to_cart","form_count_products","is_validate_options","add_to_cart","get_current_product_price","set_bulk_data","total_quantity","bulkOptions","set_checked_swatch","set_variants","is_visible","isNaN","parseInt","obj","get_bulk_variants_data","selected_variant_options","get_variant_data","prev","sale_price_rounded","set_subscription_additional_price","price_container","set_subscription_options","activate_subscription_block","is_conditions","next","attribute_swatch","set_subscription_price","load_subscription_price","format_price_string","condition_string","prop","v","price_str","number_of_product","attributes_item","count","nonce","show_cart_button_loader","clearTimeout","timeoutAddToCartId","setTimeout","error","error_code","show_tiered_price_modal","prodigy_cart_widget","cart_modal_trigger","show_error","responseJSON","cart_slide_open","show_add_to_cart_message","show_cart_message","hide_cart_button_loader","dinamic_cart_url","cart_slider","message","slider","set_active_bulk_attribute_name","active_bulk_attribute","number_of_items","Set","choose_variant_dropdown","selector","isVariantSelected","show_main_product_info","remote_master_variant_info","dimension_attrs","dimension","set_shipping_data_variants","remote_main_sku","current_attribute","post_id","variants","bulk_attribute","timeoutMultipleDataId","xhr","status","set_variant_bulk_info","key_field","inventory","timeoutVariantsDataId","result","update_bulk_info","subscriptions","set_variants_data","sku","product_gallery","tiered_prices","range_price_string","variantsObj","update_select","dropdownOpened","MsDropdown","make","open","change","$selects","selected_attributes","filtered_attributes","current_attr","available_variants","filter_variants","$select","available_attributes","j","attr_name","name","default_select_option","orderedVariants","compareBySort","attr_value_name","attr_value_slug","slug","dataProperties","dataColorProperties","color","svg","createElementNS","backgroundColor","rect","appendChild","svgData","XMLSerializer","serializeToString","svgBase64","btoa","dataUrl","image","is_selected","default","append","a","b","availableVariants","is_available","animate","scrollTop","offset","top","includes","product_type","remote_variant_id","get_actual_price","old_quantity","set_view_product_analytic_event","captcha_callback","check_enable_comment_fields","which","update_counter_of_products","serialize","async","nocaptcha","spam","form","respond_data","add_to_cart_message","delay","fadeOut","show_view_cart_btn","view_cart","comment_submit","rating_form","rating_val","comment_val","name_val","email_val","captcha_val","captcha","is_rating_enable","is_email_enable","enable_submit","body","weight","prodigy_additional_weight_js","prodigy_additional_dimensions_js","product_sku_value","counter_reset","counterCount","rightAlign","minusBtn","counter","get_inventory_data","timeouInventorytId","set_stock_status","reset_product_counter","is_variant","inventory_quantity","set_out_of_stock_status","disable_minus_button","set_in_stock_status","show_variant_data","data_object","is_selected_variant","attribute_select","stock_info","regular_price_info","sale_price_info","main_price_js","default_info","subscription_block","main_currency_js","show_price","tiered_price","show_subscription_price","price_string","sale_price_value_block","regular_price_value_block","remote_main_price","has_variants","isEmptyObject","variant_option","show_status","meta","product_sku","main_product_sku","product_id","timeoutTieredtId","has_variant","select_variant","stock","minus","plus","count_input","local_variant_id","items_number","is_captcha","captcha_site_key","grecaptcha","render","scrollIntoView","product_url","$tabs","$tab","$tabs_wrapper","$star","$rating","$container","siblings","get_count_review","done","count_review","get_content_review","fail","page","res","hide_link_show_more_reviews","init_show_more","innerWidth","bulk_result","input","checkbox","headers","css","prodigyRecaptchaCallback","qnonce","magnificPopup","callbacks","beforeOpen","close","shop_page_url","catalog_containers","set_search_parameters","set_dropdown_sortable","search_handler","slow_search","hiding_search_widget","hiding_empty_search_space","sorting","badge","container_attribute","active_filter","searchBtn","searchWidgetBtn","closeSearchBtn","searchInput","searchCustom","backdropOverlay","target","set_search_params","focus","replaceState","currentTarget","search_value","selText","sort_param","dropdown_container","parents","isIe","test","userAgent","substring","tabIndex"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA,CAAE,YAAW;EACZ,IAAIA,SAAS,EAAEC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,CAAC,EAAEC,GAAG;EAE1CL,SAAS,GAAGM,QAAQ,CAACC,cAAc,CAAE,iBAAkB,CAAC;EACxD,IAAK,CAAEP,SAAS,EAAG;IAClB;EACD;EAEAC,MAAM,GAAGD,SAAS,CAACQ,oBAAoB,CAAE,QAAS,CAAC,CAAC,CAAC,CAAC;EACtD,IAAK,WAAW,KAAK,OAAOP,MAAM,EAAG;IACpC;EACD;EAEAC,IAAI,GAAGF,SAAS,CAACQ,oBAAoB,CAAE,IAAK,CAAC,CAAC,CAAC,CAAC;;EAEhD;EACA,IAAK,WAAW,KAAK,OAAON,IAAI,EAAG;IAClCD,MAAM,CAACQ,KAAK,CAACC,OAAO,GAAG,MAAM;IAC7B;EACD;EAEAR,IAAI,CAACS,YAAY,CAAE,eAAe,EAAE,OAAQ,CAAC;EAC7C,IAAK,CAAC,CAAC,KAAKT,IAAI,CAACU,SAAS,CAACC,OAAO,CAAE,UAAW,CAAC,EAAG;IAClDX,IAAI,CAACU,SAAS,IAAI,WAAW;EAC9B;EAEAX,MAAM,CAACa,OAAO,GAAG,YAAW;IAC3B,IAAK,CAAC,CAAC,KAAKd,SAAS,CAACY,SAAS,CAACC,OAAO,CAAE,SAAU,CAAC,EAAG;MACtDb,SAAS,CAACY,SAAS,GAAGZ,SAAS,CAACY,SAAS,CAACG,OAAO,CAAE,UAAU,EAAE,EAAG,CAAC;MACnEd,MAAM,CAACU,YAAY,CAAE,eAAe,EAAE,OAAQ,CAAC;MAC/CT,IAAI,CAACS,YAAY,CAAE,eAAe,EAAE,OAAQ,CAAC;IAC9C,CAAC,MAAM;MACNX,SAAS,CAACY,SAAS,IAAI,UAAU;MACjCX,MAAM,CAACU,YAAY,CAAE,eAAe,EAAE,MAAO,CAAC;MAC9CT,IAAI,CAACS,YAAY,CAAE,eAAe,EAAE,MAAO,CAAC;IAC7C;EACD,CAAC;;EAED;EACAR,KAAK,GAAMD,IAAI,CAACM,oBAAoB,CAAE,GAAI,CAAC;;EAE3C;EACA,KAAMJ,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGF,KAAK,CAACa,MAAM,EAAEZ,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAG;IAC/CD,KAAK,CAACC,CAAC,CAAC,CAACa,gBAAgB,CAAE,OAAO,EAAEC,WAAW,EAAE,IAAK,CAAC;IACvDf,KAAK,CAACC,CAAC,CAAC,CAACa,gBAAgB,CAAE,MAAM,EAAEC,WAAW,EAAE,IAAK,CAAC;EACvD;;EAEA;AACD;AACA;EACC,SAASA,WAAWA,CAAA,EAAG;IACtB,IAAIC,IAAI,GAAG,IAAI;;IAEf;IACA,OAAQ,CAAC,CAAC,KAAKA,IAAI,CAACP,SAAS,CAACC,OAAO,CAAE,UAAW,CAAC,EAAG;MAErD;MACA,IAAK,IAAI,KAAKM,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,EAAG;QAC1C,IAAK,CAAC,CAAC,KAAKF,IAAI,CAACP,SAAS,CAACC,OAAO,CAAE,OAAQ,CAAC,EAAG;UAC/CM,IAAI,CAACP,SAAS,GAAGO,IAAI,CAACP,SAAS,CAACG,OAAO,CAAE,QAAQ,EAAE,EAAG,CAAC;QACxD,CAAC,MAAM;UACNI,IAAI,CAACP,SAAS,IAAI,QAAQ;QAC3B;MACD;MAEAO,IAAI,GAAGA,IAAI,CAACG,aAAa;IAC1B;EACD;;EAEA;AACD;AACA;EACG,WAAUtB,SAAS,EAAG;IACvB,IAAIuB,YAAY;MAAEnB,CAAC;MAClBoB,UAAU,GAAGxB,SAAS,CAACyB,gBAAgB,CAAE,0DAA2D,CAAC;IAEtG,IAAK,cAAc,IAAIC,MAAM,EAAG;MAC/BH,YAAY,GAAG,SAAAA,CAAUI,CAAC,EAAG;QAC5B,IAAIC,QAAQ,GAAG,IAAI,CAACC,UAAU;UAAEzB,CAAC;QAEjC,IAAK,CAAEwB,QAAQ,CAACE,SAAS,CAACC,QAAQ,CAAE,OAAQ,CAAC,EAAG;UAC/CJ,CAAC,CAACK,cAAc,CAAC,CAAC;UAClB,KAAM5B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwB,QAAQ,CAACC,UAAU,CAACI,QAAQ,CAACjB,MAAM,EAAE,EAAEZ,CAAC,EAAG;YAC3D,IAAKwB,QAAQ,KAAKA,QAAQ,CAACC,UAAU,CAACI,QAAQ,CAAC7B,CAAC,CAAC,EAAG;cACnD;YACD;YACAwB,QAAQ,CAACC,UAAU,CAACI,QAAQ,CAAC7B,CAAC,CAAC,CAAC0B,SAAS,CAACI,MAAM,CAAE,OAAQ,CAAC;UAC5D;UACAN,QAAQ,CAACE,SAAS,CAACK,GAAG,CAAE,OAAQ,CAAC;QAClC,CAAC,MAAM;UACNP,QAAQ,CAACE,SAAS,CAACI,MAAM,CAAE,OAAQ,CAAC;QACrC;MACD,CAAC;MAED,KAAM9B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGoB,UAAU,CAACR,MAAM,EAAE,EAAEZ,CAAC,EAAG;QACzCoB,UAAU,CAACpB,CAAC,CAAC,CAACa,gBAAgB,CAAE,YAAY,EAAEM,YAAY,EAAE,KAAM,CAAC;MACpE;IACD;EACD,CAAC,EAAEvB,SAAU,CAAC;AACf,CAAC,EAAG,CAAC,C;;;;;;;;;;;ACzGL,CAAC,UAAUoC,CAAC,EAAGV,MAAM,EAAE;EACnB,IAAIW,QAAQ,CAACC,kBAAkB,KAAK,EAAE,EAAE;IACpCF,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,YAAY;MACvD,IAAIC,KAAK,GAAGJ,CAAC,CAAC,IAAI,CAAC,CAACK,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;MAEjCC,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE;QAClC,gBAAgB,EAAE,yBAAyB;QAC3C,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAEH;MACb,CAAC,CAAC;IACN,CAAC,CAAC;IAEFJ,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,YAAY;MACxD,IAAIC,KAAK,GAAGJ,CAAC,CAAC,IAAI,CAAC,CAACK,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;MAEjCC,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE;QACjC,gBAAgB,EAAE,yBAAyB;QAC3C,aAAa,EAAE,qBAAqB;QACpC,OAAO,EAAEH;MACb,CAAC,CAAC;IACN,CAAC,CAAC;IAEFJ,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,OAAO,EAAE,yCAAyC,EAAE,YAAY;MAC3E,IAAIK,IAAI,GAAG,EAAE;MACbA,IAAI,CAACC,IAAI,CAACT,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,WAAW,CAAC,CAAC;MACpCF,IAAI,CAACC,IAAI,CAAC;QACNE,QAAQ,EAAEX,CAAC,CAAC,kBAAkB,CAAC,CAACY,GAAG,CAAC;MACxC,CAAC,CAAC;MAEFL,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE;QAC9B,gBAAgB,EAAE,mBAAmB;QACrC,OAAO,EAAEC,IAAI,CAAC,CAAC;MACnB,CAAC,CAAC;IACN,CAAC,CAAC;IAGFR,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,OAAO,EAAE,2BAA2B,EAAE,YAAY;MAC7D,IAAIU,KAAK,GAAG,EAAE;MACdb,CAAC,CAAC,eAAe,CAAC,CAACc,IAAI,CAAC,UAAUC,GAAG,EAAEP,IAAI,EAAE;QACzC,IAAIA,IAAI,GAAGR,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,WAAW,CAAC;QACpCF,IAAI,CAACG,QAAQ,GAAGX,CAAC,CAAC,IAAI,CAAC,CAACgB,IAAI,CAAC,mBAAmB,CAAC,CAACJ,GAAG,CAAC,CAAC;QACvDC,KAAK,CAACJ,IAAI,CAACD,IAAI,CAAC;MACpB,CAAC,CAAC;MAEF,IAAIS,UAAU,GAAG,EAAE;MACnBV,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE;QAC5B,gBAAgB,EAAE,mBAAmB;QACrC,OAAO,EAAEM;MACb,CAAC,CAAC;IACN,CAAC,CAAC;EACN;AAEJ,CAAC,EAAGK,MAAM,EAAE5B,MAAM,CAAC,C;;;;;;;;;;;ACpDnB,CAAC,UAAUU,CAAC,EAAEV,MAAM,EAAE;EAElB,IAAI6B,mBAAmB,GAAG;IAEtBC,IAAI,EAAE,SAAAA,CAAA,EAAY;MACX;IAAA,CACN;IAEDC,eAAe,EAAE,SAAAA,CAAA,EAAY;MACzB,IAAItC,IAAI,GAAG,IAAI;MAEf,IAAIuC,SAAS,GAAG;QACZC,MAAM,EAAE;MACZ,CAAC;MAEDvB,CAAC,CAACwB,IAAI,CAAC;QACHC,IAAI,EAAE,MAAM;QACZf,IAAI,EAAEY,SAAS;QACfI,QAAQ,EAAE,MAAM;QAChBC,GAAG,EAAEC,QAAQ;QACbC,OAAO,EAAE,SAAAA,CAAUC,QAAQ,EAAE;UACzB,IAAIA,QAAQ,CAACD,OAAO,KAAK,KAAK,EAAE;YAC5B9C,IAAI,CAACgD,4BAA4B,CAAC,CAAC;UACvC,CAAC,MAAM;YACH/B,CAAC,CAAC,iCAAiC,CAAC,CAACgC,WAAW,CAAC,eAAe,CAAC,CAACC,IAAI,CAACH,QAAQ,CAACpB,IAAI,CAACwB,IAAI,CAAC;YAC1F,IAAIJ,QAAQ,CAACpB,IAAI,CAACyB,sBAAsB,EAAE;cACtCnC,CAAC,CAAC,4BAA4B,CAAC,CAACoC,IAAI,CAAC,CAAC;cACtCpC,CAAC,CAAC,gCAAgC,CAAC,CAACoC,IAAI,CAAC,CAAC,CAACH,IAAI,CAACH,QAAQ,CAACpB,IAAI,CAAC2B,cAAc,CAAC;cAC7EtD,IAAI,CAACuD,iBAAiB,CAAC,CAAC;YAC5B;UACJ;QACJ;MACJ,CAAC,CAAC;IACN,CAAC;IAEDA,iBAAiB,EAAE,SAAAA,CAAA,EAAY;MAC3BtC,CAAC,CAAC,sBAAsB,CAAC,CAACuC,GAAG,CAAC,oBAAoB,CAAC,CAACC,KAAK,CAAC;QACtDC,SAAS,EAAE,gIAAgI;QAC3IC,SAAS,EAAE,iIAAiI;QAC5IC,YAAY,EAAE,CAAC;QACfC,cAAc,EAAE,CAAC;QACjBC,IAAI,EAAE,KAAK;QACXC,MAAM,EAAE,IAAI;QACZC,WAAW,EAAE,IAAI;QACjBC,aAAa,EAAE,KAAK;QACpBC,UAAU,EAAE,CACR;UACIC,UAAU,EAAE,GAAG;UACfjD,QAAQ,EAAE;YACN+C,aAAa,EAAE,KAAK;YACpBL,YAAY,EAAE,CAAC;YACfC,cAAc,EAAE;UACpB;QACJ,CAAC,EACD;UACIM,UAAU,EAAE,IAAI;UAChBjD,QAAQ,EAAE;YACN0C,YAAY,EAAE,CAAC;YACfC,cAAc,EAAE,CAAC;YACjBI,aAAa,EAAE,KAAK;YACpBF,MAAM,EAAE;UACZ;QACJ,CAAC;MAET,CAAC,CAAC;IACN,CAAC;IAEDf,4BAA4B,EAAE,SAAAA,CAAA,EAAY;MACtC/B,CAAC,CAAC,iCAAiC,CAAC,CAACmD,IAAI,CAAC,CAAC;MAC3CnD,CAAC,CAAC,gBAAgB,CAAC,CAACoC,IAAI,CAAC,CAAC;MAC1B,IAAInC,QAAQ,CAACmD,kBAAkB,EAAE;QAC7BpD,CAAC,CAAC,+BAA+B,CAAC,CAACoC,IAAI,CAAC,CAAC;MAC7C;IACJ;EACJ,CAAC;EAED9C,MAAM,CAAC+D,iBAAiB,GAAGlC,mBAAmB;AAClD,CAAC,EAAED,MAAM,EAAE5B,MAAM,CAAC;AAElB4B,MAAM,CAAC,UAAUlB,CAAC,EAAE;EAChBV,MAAM,CAAC+D,iBAAiB,CAACjC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC,C;;;;;;;;;;;ACjFF,CAAC,UAAUpB,CAAC,EAAEV,MAAM,EAAE;EAClB,YAAY;;EACZU,CAAC,CAAC9B,QAAQ,CAAC,CAACoF,KAAK,CACb,YAAY;IACRlC,IAAI,CAAC,CAAC;IAEN,SAASA,IAAIA,CAAA,EAAG;MACZmC,cAAc,CAAC,CAAC;MAChBC,YAAY,CAAC,CAAC;MACdC,aAAa,CAAC,CAAC;MACfC,YAAY,CAAC,CAAC;MACdC,aAAa,CAAC,CAAC;MACfC,gBAAgB,CAAC,CAAC;MAClBC,WAAW,CAAC,CAAC;MACbC,mBAAmB,CAAC,CAAC;MACrBC,qBAAqB,CAAC,CAAC;MACvBC,WAAW,CAAC,CAAC;MACb,IAAIC,qBAAqB,CAAC,CAAC,EAAE;QACzBC,yBAAyB,CAAC,CAAC;MAC/B;MACAC,iBAAiB,CAAC,CAAC;IACvB;IAGA,SAASC,gBAAgBA,CAAA,EAAG;MACxB,MAAMC,SAAS,GAAG,IAAIC,eAAe,CAAChF,MAAM,CAACiF,QAAQ,CAACC,MAAM,CAAC;MAC7D,OAAOH,SAAS,CAACI,GAAG,CAAC,SAAS,CAAC;IACnC;IAGA,SAASC,0CAA0CA,CAAA,EAAG;MAClD1E,CAAC,CAAC,6BAA6B,CAAC,CAACgC,WAAW,CAAC,QAAQ,CAAC;MACtD,IAAI2C,WAAW,GAAGC,MAAM,CAACC,KAAK;MAC9B,IAAIC,yBAAyB,GAAG7E,QAAQ,CAAC8E,0BAA0B;MACnE,IAAIC,iBAAiB,GAAG,CAAC;MAEzB,IAAIL,WAAW,IAAI,IAAI,EAAE;QACrBK,iBAAiB,GAAGF,yBAAyB;MACjD,CAAC,MAAM,IAAIH,WAAW,IAAI,IAAI,EAAE;QAC5BK,iBAAiB,GAAIF,yBAAyB,IAAI,CAAC,GAAI,CAAC,GAAGA,yBAAyB;MACxF,CAAC,MAAM,IAAIH,WAAW,IAAI,GAAG,EAAE;QAC3BK,iBAAiB,GAAIF,yBAAyB,IAAI,CAAC,GAAI,CAAC,GAAGA,yBAAyB;MACxF,CAAC,MAAM,IAAIH,WAAW,IAAI,GAAG,EAAE;QAC3BK,iBAAiB,GAAIF,yBAAyB,IAAI,CAAC,GAAI,CAAC,GAAGA,yBAAyB;MACxF;MAEA9E,CAAC,CAAC,qBAAqB,CAAC,CAACiF,QAAQ,CAAC,6BAA6B,GAAGD,iBAAiB,CAAC;IACxF;IAEA,SAASf,qBAAqBA,CAAA,EAAG;MAC7B,OAAOjE,CAAC,CAAC,wCAAwC,CAAC,CAACpB,MAAM,GAAG,CAAC;IACjE;IAEA,SAASsG,qBAAqBA,CAAA,EAAG;MAC7B,OAAOlF,CAAC,CAAC,kCAAkC,CAAC,CAACY,GAAG,CAAC,CAAC;IACtD;IAEA,SAASsD,yBAAyBA,CAAA,EAAG;MACjClE,CAAC,CAAC,4BAA4B,CAAC,CAACmF,KAAK,CAAC,YAAY;QAC9CnF,CAAC,CAAC,oBAAoB,CAAC,CAACoC,IAAI,CAAC,CAAC;QAC9BpC,CAAC,CAAC,sCAAsC,CAAC,CAACoC,IAAI,CAAC,CAAC;QAChDpC,CAAC,CAAC,uBAAuB,CAAC,CAACoF,WAAW,CAAC,4BAA4B,CAAC;MACxE,CAAC,CAAC;IACN;IAEA,SAASpB,WAAWA,CAAA,EAAG;MACnBhE,CAAC,CAAC,sBAAsB,CAAC,CAACc,IAAI,CAAC,YAAY;QACvC,IAAId,CAAC,CAAC,IAAI,CAAC,CAACqF,EAAE,CAAC,UAAU,CAAC,EAAE;UACxB,IAAIC,cAAc,GAAGtF,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,cAAc,CAAC;UACjD,IAAI6E,eAAe,GAAGvF,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,iBAAiB,CAAC;UACrD8E,YAAY,CAACF,cAAc,EAAEC,eAAe,CAAC;QACjD;MACJ,CAAC,CAAC;IACN;IAEA,SAASxB,qBAAqBA,CAAA,EAAG;MAC7B0B,YAAY,CAACC,UAAU,CAAC,QAAQ,CAAC;IACrC;IAEA,SAAS5B,mBAAmBA,CAAA,EAAG;MAC3B9D,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,kBAAkB,EAClB,YAAY;QACR,IAAIwF,OAAO,GAAG3F,CAAC,CAAC,IAAI,CAAC,CAAC4F,OAAO,CAAC,qBAAqB,CAAC;QACpD,IAAIC,YAAY,GAAGF,OAAO,CAACjF,IAAI,CAAC,cAAc,CAAC;QAC/C,IAAI6E,eAAe,GAAGI,OAAO,CAACjF,IAAI,CAAC,gBAAgB,CAAC;QACpDoF,YAAY,CAACD,YAAY,EAAEN,eAAe,CAAC;QAC3CQ,mBAAmB,CAACC,WAAW,CAAC,CAAC,CAAC;QAClCC,oBAAoB,CAACD,WAAW,CAAC,CAAC,CAAC;MACvC,CACJ,CAAC;IACL;IAEA,SAASnC,WAAWA,CAAA,EAAG;MACnB,MAAMqC,sBAAsB,GAAGA,CAAA,KAAM;QACjClG,CAAC,CAAC,oBAAoB,CAAC,CAACoF,WAAW,CAAC,gCAAgC,CAAC;QACrEpF,CAAC,CAAC,SAAS,CAAC,CAACoF,WAAW,CAAC,4BAA4B,CAAC;MAC1D,CAAC;MACDpF,CAAC,CAAC,MAAM,CAAC,CAACG,EAAE,CAAC,OAAO,EAAE,qEAAqE,EAAE+F,sBAAsB,CAAC;IACxH;IAEA,SAASC,UAAUA,CAAA,EAAG;MAClBnG,CAAC,CAAC,yBAAyB,CAAC,CAACoC,IAAI,CAAC,CAAC;MACnCpC,CAAC,CAAC,yBAAyB,CAAC,CAACoG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;MAC1DpG,CAAC,CAAC,GAAG,CAAC,CAACiF,QAAQ,CAAC,qBAAqB,CAAC;IAC1C;IAEA,SAASoB,aAAaA,CAAA,EAAG;MACrBrG,CAAC,CAAC,yBAAyB,CAAC,CAACmD,IAAI,CAAC,CAAC;MACnCnD,CAAC,CAAC,GAAG,CAAC,CAACgC,WAAW,CAAC,qBAAqB,CAAC;IAC7C;IAEA,SAAS4B,gBAAgBA,CAAA,EAAG;MACxB5D,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,yBAAyB,EACzB,UAAUZ,CAAC,EAAE;QACT,IAAI+G,SAAS,GAAGC,kBAAkB,CAAC,WAAW,CAAC;QAC/C,IAAIC,SAAS,GAAGD,kBAAkB,CAAC,WAAW,CAAC;QAC/C,IAAIE,WAAW,GAAG,EAAE;QACpB,IAAID,SAAS,IAAIA,SAAS,EAAE;UACxBC,WAAW,GAAG,YAAY,GAAGH,SAAS,GAAG,GAAG,GAAG,YAAY,GAAGE,SAAS;QAC3E;QACAf,YAAY,CAACiB,OAAO,CAAC,aAAa,EAAED,WAAW,CAAC;QAChDV,mBAAmB,CAACC,WAAW,CAAC,CAAC,CAAC;QAClCC,oBAAoB,CAACD,WAAW,CAAC,CAAC,CAAC;MACvC,CACJ,CAAC;IACL;IAEA,SAASrC,aAAaA,CAAA,EAAG;MACrB3D,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,sBAAsB,EACtB,UAAUZ,CAAC,EAAE;QACT,IAAIsG,YAAY,GAAG7F,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,cAAc,CAAC;QAC/C,IAAI6E,eAAe,GAAGvF,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,iBAAiB,CAAC;QACrD,IAAIV,CAAC,CAAC,IAAI,CAAC,CAACqF,EAAE,CAAC,UAAU,CAAC,EAAE;UACxBrB,WAAW,CAAC,CAAC;QACjB,CAAC,MAAM;UACH8B,YAAY,CAACD,YAAY,EAAEN,eAAe,CAAC;QAC/C;QACAQ,mBAAmB,CAACC,WAAW,CAAC,CAAC,CAAC;QAClCC,oBAAoB,CAACD,WAAW,CAAC,CAAC,CAAC;MACvC,CACJ,CAAC;IACL;IAEA,SAAStC,YAAYA,CAAA,EAAG;MACpB1D,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,kBAAkB,EAClB,UAAUZ,CAAC,EAAE;QACTkG,YAAY,CAACC,UAAU,CAAC,aAAa,CAAC;QACtCD,YAAY,CAACC,UAAU,CAAC,kBAAkB,CAAC;QAC3CiB,gBAAgB,CAAC,CAAC;QAClBR,UAAU,CAAC,CAAC;MAChB,CACJ,CAAC;MAED,IAAI7G,MAAM,CAACiF,QAAQ,CAACC,MAAM,KAAK,EAAE,EAAE;QAC/BiB,YAAY,CAACC,UAAU,CAAC,aAAa,CAAC;QACtCD,YAAY,CAACC,UAAU,CAAC,kBAAkB,CAAC;MAC/C;MAEAW,aAAa,CAAC,CAAC;IACnB;IAEA,SAAS5C,aAAaA,CAAA,EAAG;MACrBzD,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,kBAAkB,EAClB,YAAY;QACRwG,gBAAgB,CAAC,CAAC;MACtB,CACJ,CAAC;IACL;IAEA,SAASA,gBAAgBA,CAAA,EAAG;MACxB5C,qBAAqB,CAAC,CAAC;MACvB,IAAIK,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7B9E,MAAM,CAACiF,QAAQ,CAACqC,IAAI,GAAGtH,MAAM,CAACiF,QAAQ,CAACsC,MAAM,GAAC,WAAW,GAAGzC,gBAAgB,CAAC,CAAC;MAClF,CAAC,MAAM;QACH9E,MAAM,CAACiF,QAAQ,CAACqC,IAAI,GAAGtH,MAAM,CAACiF,QAAQ,CAACqC,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAC7D;IACJ;IAEA,SAASd,WAAWA,CAAA,EAAG;MACnB,IAAIe,MAAM,GAAGtB,YAAY,CAACuB,OAAO,CAAC,QAAQ,CAAC;MAC3C,IAAIC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,MAAM,CAAC;MAC/B,IAAIK,YAAY,GAAGlG,MAAM,CAACmG,KAAK,CAACJ,MAAM,CAAC;MACvC,IAAIR,WAAW,GAAGhB,YAAY,CAACuB,OAAO,CAAC,aAAa,CAAC;MAErD,IAAIM,WAAW,GAAG,EAAE;MACpB,IAAIb,WAAW,KAAK,IAAI,EAAE;QACtBa,WAAW,GAAGF,YAAY,GAAG,GAAG,GAAGX,WAAW;MAClD,CAAC,MAAM;QACHa,WAAW,GAAGF,YAAY;MAC9B;MAEA,IAAIhD,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7BkD,WAAW,GAAG,UAAU,GAAGlD,gBAAgB,CAAC,CAAC,GAAG,GAAG,GAAGkD,WAAW;MACrE;MAGA,IAAIA,WAAW,KAAK,EAAE,EAAE;QACpBC,OAAO,CAACC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,GAAGF,WAAW,CAAC;MAChD,CAAC,MAAM;QACHC,OAAO,CAACC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAElI,MAAM,CAACiF,QAAQ,CAACkD,QAAQ,CAAC;MAC3D;MAEA,IAAIC,aAAa,GAAG1H,CAAC,CAAC,mBAAmB,CAAC,CAACY,GAAG,CAAC,CAAC;MAChD,IAAI+G,aAAa,GAAG3H,CAAC,CAAC,eAAe,CAAC,CAACY,GAAG,CAAC,CAAC;MAC5C,IAAIgH,WAAW,GAAGtI,MAAM,CAACiF,QAAQ,CAACqC,IAAI;MAEtC,IAAIc,aAAa,IAAIC,aAAa,EAAE;QAChCL,WAAW,GAAGA,WAAW,GAAG,YAAY,GAAGI,aAAa,GAAG,YAAY,GAAGC,aAAa;MAC3F;MAEAL,WAAW,GAAGA,WAAW,GAAG,eAAe,GAAGM,WAAW;MAEzD,OAAON,WAAW;IACtB;IAGA,SAASrB,oBAAoBA,CAAC4B,KAAK,EAAE;MACjC,IAAIC,SAAS,GAAG9H,CAAC,CAAC,mBAAmB,CAAC,CAACY,GAAG,CAAC,CAAC;MAC5C,IAAImH,QAAQ,GAAG/H,CAAC,CAAC,2BAA2B,CAAC,CAACY,GAAG,CAAC,CAAC;MACnD,IAAIoH,aAAa,GAAGhI,CAAC,CAAC,2BAA2B,CAAC,CAACY,GAAG,CAAC,CAAC;MACxDZ,CAAC,CAAC,6BAA6B,CAAC,CAACiF,QAAQ,CAAC,qBAAqB,CAAC;MAChEkB,UAAU,CAAC,CAAC;MACZ,IAAIvE,QAAQ,GAAGqG,OAAO,GAAG,qCAAqC,GAAGJ,KAAK,GAAG,YAAY,GAAGE,QAAQ,GAAG,YAAY,GAAGC,aAAa;MAC/H,IAAI,OAAOF,SAAS,KAAK,WAAW,EAAE;QAClClG,QAAQ,GAAGqG,OAAO,GAAG,qCAAqC,GAAGJ,KAAK,GAAG,oBAAoB,GAAGC,SAAS,GAAG,YAAY,GAAGC,QAAQ,GAAG,YAAY,GAAGC,aAAa;MAClK;MAEAhI,CAAC,CAACwB,IAAI,CAAC;QACHC,IAAI,EAAE,KAAK;QACXE,GAAG,EAAEC,QAAQ;QACbsG,KAAK,EAAE,KAAK;QACZxG,QAAQ,EAAE,MAAM;QAChBG,OAAO,EAAE,SAAAA,CAAUC,QAAQ,EAAE;UACzB9B,CAAC,CAAC,6BAA6B,CAAC,CAACgC,WAAW,CAAC,qBAAqB,CAAC;UACnEqE,aAAa,CAAC,CAAC;UACfrG,CAAC,CAAC,6BAA6B,CAAC,CAACiC,IAAI,CAACH,QAAQ,CAACpB,IAAI,CAACyH,eAAe,CAAC;UACpE,IAAIC,cAAc,GAAGpI,CAAC,CAAC8B,QAAQ,CAACpB,IAAI,CAAC2H,QAAQ,CAAC,CAACrH,IAAI,CAAC,+BAA+B,CAAC;UACpF,IAAIoH,cAAc,CAACxJ,MAAM,GAAG,CAAC,IAAI,CAACqF,qBAAqB,CAAC,CAAC,EAAE;YACvD,IAAIoE,QAAQ,GAAGrI,CAAC,CAAC8B,QAAQ,CAACpB,IAAI,CAAC2H,QAAQ,CAAC,CAACrH,IAAI,CAAC,yBAAyB,CAAC;YACxEhB,CAAC,CAAC,yBAAyB,CAAC,CAACsI,WAAW,CAACD,QAAQ,CAAC;UACtD,CAAC,MAAM;YACH,IAAIA,QAAQ,GAAGrI,CAAC,CAAC8B,QAAQ,CAACpB,IAAI,CAAC2H,QAAQ,CAAC,CAACrH,IAAI,CAAC,6BAA6B,CAAC;YAC5E,IAAIuH,UAAU,GAAGvI,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,+BAA+B,CAAC;YAElE,IAAIpD,SAAS,GAAG,6BAA6B;YAC7C,IAAI2K,UAAU,CAAC3J,MAAM,GAAG,CAAC,EAAE;cACvBhB,SAAS,GAAG,+BAA+B;YAC/C;YAEAoC,CAAC,CAACpC,SAAS,CAAC,CAAC0K,WAAW,CAACD,QAAQ,CAAC;UACtC;UACA3D,0CAA0C,CAAC,CAAC;QAChD;MACJ,CAAC,CAAC;IACN;IAEA,SAASqB,mBAAmBA,CAAC8B,KAAK,EAAE;MAChC,IAAIC,SAAS,GAAG9H,CAAC,CAAC,mBAAmB,CAAC,CAACY,GAAG,CAAC,CAAC;MAC5C,IAAImH,QAAQ,GAAG/H,CAAC,CAAC,2BAA2B,CAAC,CAACY,GAAG,CAAC,CAAC;MACnD,IAAIoH,aAAa,GAAGhI,CAAC,CAAC,2BAA2B,CAAC,CAACY,GAAG,CAAC,CAAC;MACxD,IAAIgB,QAAQ,GAAGqG,OAAO,GAAG,oCAAoC,GAAGJ,KAAK,GAAG,YAAY,GAAGE,QAAQ,GAAG,YAAY,GAAGC,aAAa;MAC9H,IAAI,OAAOF,SAAS,KAAK,WAAW,EAAE;QAClClG,QAAQ,GAAGqG,OAAO,GAAG,oCAAoC,GAAGJ,KAAK,GAAG,oBAAoB,GAAGC,SAAS,GAAG,YAAY,GAAGC,QAAQ,GAAG,YAAY,GAAGC,aAAa;MACjK;MAEAhI,CAAC,CAACwB,IAAI,CAAC;QACHC,IAAI,EAAE,KAAK;QACXE,GAAG,EAAEC,QAAQ;QACbsG,KAAK,EAAE,KAAK;QACZxG,QAAQ,EAAE,MAAM;QAChBG,OAAO,EAAE,SAAAA,CAAUC,QAAQ,EAAE;UACzB9B,CAAC,CAAC,kBAAkB,CAAC,CAACiC,IAAI,CAACjC,CAAC,CAAC8B,QAAQ,CAACpB,IAAI,CAAC8H,IAAI,CAAC,CAACvG,IAAI,CAAC,CAAC,CAAC;UACxD,IAAImG,cAAc,GAAGpI,CAAC,CAAC8B,QAAQ,CAACpB,IAAI,CAAC2H,QAAQ,CAAC,CAACrH,IAAI,CAAC,+BAA+B,CAAC;UACpF,IAAIoH,cAAc,CAACxJ,MAAM,GAAG,CAAC,IAAI,CAACqF,qBAAqB,CAAC,CAAC,EAAE;YACvD,IAAIjE,CAAC,CAAC,yBAAyB,CAAC,CAACpB,MAAM,GAAG,CAAC,EAAE;cACzCoB,CAAC,CAAC,yBAAyB,CAAC,CAAC4F,OAAO,CAAC,uBAAuB,CAAC,CAAC9F,MAAM,CAAC,CAAC;cACtEE,CAAC,CAAC,yBAAyB,CAAC,CAACF,MAAM,CAAC,CAAC;YACzC;YACAE,CAAC,CAAC,uBAAuB,CAAC,CAACyI,KAAK,CAAC,CAAC,CAACC,MAAM,CAAC5G,QAAQ,CAACpB,IAAI,CAACiI,MAAM,CAAC;YAC/D3I,CAAC,CAAC,0BAA0B,CAAC,CAACiC,IAAI,CAACH,QAAQ,CAACpB,IAAI,CAACkI,OAAO,CAAC;UAC7D,CAAC,MAAM;YACH,IAAIA,OAAO,GAAG5I,CAAC,CAAC8B,QAAQ,CAACpB,IAAI,CAACkI,OAAO,CAAC,CAAChD,OAAO,CAAC,oBAAoB,CAAC;YACpE5F,CAAC,CAAC,oBAAoB,CAAC,CAACsI,WAAW,CAACM,OAAO,CAAC;YAC5C,IAAI1D,qBAAqB,CAAC,CAAC,EAAE;cACzB,IAAIlF,CAAC,CAAC,mBAAmB,CAAC,CAACpB,MAAM,GAAG,CAAC,EAAE;gBACnCoB,CAAC,CAAC,mBAAmB,CAAC,CAACiC,IAAI,CAACH,QAAQ,CAACpB,IAAI,CAACiI,MAAM,CAAC;cACrD,CAAC,MAAM;gBACH3I,CAAC,CAAC,gCAAgC,CAAC,CAAC0I,MAAM,CAAC5G,QAAQ,CAACpB,IAAI,CAACiI,MAAM,CAAC;cACpE;cACA3I,CAAC,CAAC,4BAA4B,CAAC,CAACiC,IAAI,CAACH,QAAQ,CAACpB,IAAI,CAACmI,YAAY,CAAC;cAChE,IAAIA,YAAY,GAAG7I,CAAC,CAAC8B,QAAQ,CAACpB,IAAI,CAACmI,YAAY,CAAC,CAAC7H,IAAI,CAAC,kBAAkB,CAAC;cACzEhB,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,SAAS,CAAC,CAACJ,GAAG,CAACZ,CAAC,CAAC6I,YAAY,CAAC,CAACzC,IAAI,CAAC,UAAU,CAAC,CAAC;cACjEpG,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,SAAS,CAAC,CAACJ,GAAG,CAACZ,CAAC,CAAC6I,YAAY,CAAC,CAACzC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrE;UACJ;UAEA,IAAI0C,sBAAsB,GAAG9I,CAAC,CAAC,4BAA4B,CAAC;UAC5D,IAAI8I,sBAAsB,CAAClK,MAAM,KAAK,CAAC,EAAE;YACrCkK,sBAAsB,CAAC7G,IAAI,CAACH,QAAQ,CAACpB,IAAI,CAACqI,KAAK,CAAC;YAChDzJ,MAAM,CAAC0J,aAAa,CAAC5H,IAAI,CACrBU,QAAQ,CAACpB,IAAI,CAACuI,SAAS,EACvBnH,QAAQ,CAACpB,IAAI,CAACwI,SAAS,EACvBpH,QAAQ,CAACpB,IAAI,CAACyI,eAAe,EAC7BrH,QAAQ,CAACpB,IAAI,CAAC0I,eAClB,CAAC;UACL;UACAjF,iBAAiB,CAAC,CAAC;QACvB;MACJ,CAAC,CAAC;IACN;IAEA,SAASA,iBAAiBA,CAAA,EAAG;MACzBnE,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,wBAAwB,CAAC,CAACqI,MAAM,CAAC;QAC9CC,YAAY,EAAE,SAAAA,CAAA,EAAY;UACtBtJ,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,4BAA4B,CAAC,CAACF,IAAI,CAAC,YAAY;YAC5D,MAAM+D,KAAK,GAAG7E,CAAC,CAAC,IAAI,CAAC,CAChB4F,OAAO,CAAC,eAAe,CAAC,CACxB5E,IAAI,CAAC,QAAQ,CAAC,CACd6D,KAAK,CAAC,CAAC;YACZ;UACJ,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;IACN;IAEA,SAASrB,YAAYA,CAAA,EAAG;MACpBxD,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,uBAAuB,EACvB,YAAY;QACR,IAAKoJ,SAAS,CAACC,QAAQ,CAAC/K,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAM8K,SAAS,CAACC,QAAQ,CAAC/K,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAE,EAAE;UAC5FuB,CAAC,CAAC,6BAA6B,CAAC,CAACF,MAAM,CAAC,CAAC;QAC7C;QACAE,CAAC,CAAC,8BAA8B,CAAC,CAACiF,QAAQ,CAAC,yBAAyB,CAAC;MACzE,CACJ,CAAC;MAEDjF,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,QAAQ,EACR,uBAAuB,EACvB,YAAY;QACR,IAAIqI,IAAI,GAAGxI,CAAC,CAAC,IAAI,CAAC,CAACH,QAAQ,CAAC,iBAAiB,CAAC,CAACe,GAAG,CAAC,CAAC;QACpD,IAAI4H,IAAI,KAAK,WAAW,EAAE;UACtB/C,YAAY,CAACiB,OAAO,CAAC,kBAAkB,EAAE8B,IAAI,CAAC7J,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;UAElE,IAAI8K,SAAS,GAAG,CACZ,CAAC,MAAM,EAAEjB,IAAI,CAAC,CACjB;UACD,IAAIkB,MAAM,GAAGxL,QAAQ,CAACqG,QAAQ,CAACkD,QAAQ,GAAGkC,sBAAsB,CAACF,SAAS,CAAC;UAC3ElC,OAAO,CAACC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAEkC,MAAM,CAAC;UACjCxL,QAAQ,CAACqG,QAAQ,CAACqF,MAAM,CAAC,CAAC;QAC9B;MACJ,CACJ,CAAC;MAED5J,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,QAAQ,EACR,gBAAgB,EAChB,YAAY;QACRH,CAAC,CAAC,gBAAgB,CAAC,CAACc,IAAI,CAAC,YAAY;UACjC,IAAId,CAAC,CAAC,IAAI,CAAC,CAACqF,EAAE,CAAC,UAAU,CAAC,EAAE;YACxB,IAAImD,IAAI,GAAGxI,CAAC,CAAC,IAAI,CAAC,CAACY,GAAG,CAAC,CAAC;YACxB,IAAI4H,IAAI,KAAKqB,SAAS,EAAE;cACpBpE,YAAY,CAACiB,OAAO,CAAC,kBAAkB,EAAE8B,IAAI,CAAC7J,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;cAElE,IAAI8K,SAAS,GAAG,CACZ,CAAC,MAAM,EAAEjB,IAAI,CAAC,CACjB;cACD,IAAIkB,MAAM,GAAGxL,QAAQ,CAACqG,QAAQ,CAACkD,QAAQ,GAAGkC,sBAAsB,CAACF,SAAS,CAAC;cAC3ElC,OAAO,CAACC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAEkC,MAAM,CAAC;cACjCxL,QAAQ,CAACqG,QAAQ,CAACqF,MAAM,CAAC,CAAC;YAC9B;UACJ;QACJ,CAAC,CAAC;MACN,CACJ,CAAC;MAED5J,CAAC,CAAC,0CAA0C,CAAC,CAACmF,KAAK,CAAC,YAAY;QAC5DnF,CAAC,CAAC,8BAA8B,CAAC,CAACgC,WAAW,CAAC,yBAAyB,CAAC;MAC5E,CAAC,CAAC;MAEFhC,CAAC,CAAC,0BAA0B,CAAC,CAACmF,KAAK,CAAC,UAAU2E,KAAK,EAAE;QACjDA,KAAK,CAACC,eAAe,CAAC,CAAC;MAC3B,CAAC,CAAC;IACN;IAEA,SAASjE,YAAYA,CAACkE,EAAE,EAAEC,SAAS,EAAE;MACjC,IAAIlD,MAAM,GAAGtB,YAAY,CAACuB,OAAO,CAAC,QAAQ,CAAC;MAC3C,IAAIC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,MAAM,CAAC;MAC/B,IAAIE,MAAM,KAAK,IAAI,EAAE;QACjBxB,YAAY,CAACC,UAAU,CAAC,QAAQ,CAAC;MACrC,CAAC,MAAM;QACH,IAAIwE,MAAM,GAAG,EAAE;QACf,IAAI,OAAOjD,MAAM,CAAC,MAAM,CAAC,KAAK,WAAW,IAAI,OAAOA,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC,KAAK,WAAW,EAAE;UACpFE,MAAM,GAAGjD,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC,CAAClD,KAAK,CAAC,GAAG,CAAC;UACtCoD,MAAM,CAACC,OAAO,CAAC,UAAU/J,KAAK,EAAEW,GAAG,EAAE;YACjC,IAAIkJ,SAAS,IAAI7J,KAAK,EAAE;cACpB8J,MAAM,CAACE,MAAM,CAACrJ,GAAG,EAAE,CAAC,CAAC;YACzB;UACJ,CAAC,CAAC;QACN;QAEA,IAAImJ,MAAM,CAACtL,MAAM,GAAG,CAAC,EAAE;UACnB,IAAIyL,UAAU,GAAGH,MAAM,CAACI,IAAI,CAAC,GAAG,CAAC;UACjCrD,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC,GAAGK,UAAU;QACnC,CAAC,MAAM;UACH,OAAOpD,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC;QAC7B;QACAvE,YAAY,CAACiB,OAAO,CAAC,QAAQ,EAAEQ,IAAI,CAACqD,SAAS,CAACtD,MAAM,CAAC,CAAC;MAC1D;MAEA,IAAI+C,EAAE,KAAK,OAAO,EAAE;QAChBvE,YAAY,CAACC,UAAU,CAAC,aAAa,CAAC;MAC1C;MAEA8E,uBAAuB,CAACR,EAAE,EAAEC,SAAS,CAAC;IAC1C;IAEA,SAASO,uBAAuBA,CAACR,EAAE,EAAEC,SAAS,EAAE;MAC5CjK,CAAC,CAAC,sBAAsB,CAAC,CAACc,IAAI,CAAC,YAAY;QACvC,IAAId,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,cAAc,CAAC,IAAIsJ,EAAE,IAAIhK,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,gBAAgB,CAAC,IAAIuJ,SAAS,EAAE;UACnFjK,CAAC,CAAC,IAAI,CAAC,CAACyK,UAAU,CAAC,SAAS,CAAC;QACjC;MACJ,CAAC,CAAC;IACN;IAEA,SAASjF,YAAYA,CAACwE,EAAE,EAAE5J,KAAK,EAAE;MAC7B,IAAI2G,MAAM,GAAGtB,YAAY,CAACuB,OAAO,CAAC,QAAQ,CAAC;MAC3C,IAAIC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,MAAM,CAAC;MAE/B,IAAIE,MAAM,KAAK,IAAI,IAAIyD,MAAM,CAACC,IAAI,CAAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,CAACrI,MAAM,KAAK,CAAC,EAAE;QAC7DoB,CAAC,CAACc,IAAI,CAACmG,MAAM,CAAC,MAAM,CAAC,EAAE,UAAUjJ,CAAC,EAAEwC,IAAI,EAAE;UACtC,IAAIoK,KAAK,GAAGpK,IAAI,CAACsG,KAAK,CAAC,GAAG,CAAC;UAC3B,IAAI9I,CAAC,IAAIgM,EAAE,IAAIY,KAAK,CAACnM,OAAO,CAAC2B,KAAK,CAACyK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YACnD5D,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC,GAAGxJ,IAAI,GAAG,GAAG,GAAGJ,KAAK,CAACyK,QAAQ,CAAC,CAAC;UACtD;QACJ,CAAC,CAAC;MACN;MAEA,IAAI5D,MAAM,KAAK,IAAI,IAAIyD,MAAM,CAACC,IAAI,CAAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,CAACrI,MAAM,KAAK,CAAC,EAAE;QAC7DqI,MAAM,GAAG,CAAC,CAAC;QACXA,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnBA,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC,GAAG5J,KAAK,CAACyK,QAAQ,CAAC,CAAC;MACzC,CAAC,MAAM,IAAI,OAAO5D,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC,KAAK,WAAW,EAAE;QAClD/C,MAAM,CAAC,MAAM,CAAC,CAAC+C,EAAE,CAAC,GAAG5J,KAAK,CAACyK,QAAQ,CAAC,CAAC;MACzC;MAEApF,YAAY,CAACiB,OAAO,CAAC,QAAQ,EAAEQ,IAAI,CAACqD,SAAS,CAACtD,MAAM,CAAC,CAAC;IAC1D;IAEA,SAAS1D,cAAcA,CAAA,EAAG;MACtB;MACAvD,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,iBAAiB,EACjB,YAAY;QACR,MAAM2K,OAAO,GAAG9K,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;QAClC,MAAMqK,IAAI,GAAG/K,CAAC,CAAC,oCAAoC,GAAG8K,OAAO,CAAC;QAC9D,MAAME,SAAS,GAAGD,IAAI,CAAC/J,IAAI,CAAC,gEAAgE,CAAC;QAC7F,MAAMiK,OAAO,GAAGjL,CAAC,CAAC,IAAI,CAAC,CAACgB,IAAI,CAAC,qBAAqB,CAAC;QACnD,MAAMkK,aAAa,GAAG,QAAQ;QAC9B,MAAMC,QAAQ,GAAG,WAAW;QAC5B,MAAMC,QAAQ,GAAG,WAAW;QAC5B,MAAMC,SAAS,GAAGN,IAAI,CAACrK,IAAI,CAAC,YAAY,CAAC;QAEzCV,CAAC,CAAC,IAAI,CAAC,CAACoF,WAAW,CAAC8F,aAAa,CAAC;QAElC,IAAIlL,CAAC,CAAC,IAAI,CAAC,CAACsL,QAAQ,CAACJ,aAAa,CAAC,EAAE;UACjCD,OAAO,CAAC5K,IAAI,CAAC+K,QAAQ,CAAC;UACtBJ,SAAS,CAAC5I,IAAI,CAAC,CAAC;QACpB,CAAC,MAAM;UACH6I,OAAO,CAAC5K,IAAI,CAAC8K,QAAQ,CAAC;UACtBH,SAAS,CAAClK,IAAI,CACV,UAAU9C,CAAC,EAAE;YACT,IAAIA,CAAC,GAAG,CAAC,GAAGqN,SAAS,EAAE;cACnBrL,CAAC,CAAC,IAAI,CAAC,CAACmD,IAAI,CAAC,CAAC;YAClB;UACJ,CACJ,CAAC;QACL;MACJ,CACJ,CAAC;IACL;EACJ,CACJ,CAAC;AACL,CAAC,EAAEjC,MAAM,EAAE5B,MAAM,CAAC,C;;;;;;;;;;;AC/elB,CAAC,UAAUU,CAAC,EAAEV,MAAM,EAAE;EAClB,IAAIiM,oBAAoB,GAAG;IACvBC,sBAAsB,EAAE,wBAAwB;IAChDC,mBAAmB,EAAE,iBAAiB;IACtCC,kBAAkB,EAAE,uBAAuB;IAC3CC,sBAAsB,EAAE,oBAAoB;IAC5CC,cAAc,EAAE,kBAAkB;IAClCC,iBAAiB,EAAE,qBAAqB;IACxCC,wBAAwB,EAAE,4BAA4B;IACtDC,mBAAmB,EAAE,yBAAyB;IAC9CC,iBAAiB,EAAE,kBAAkB;IACrCC,UAAU,EAAE,mBAAmB;IAC/BC,eAAe,EAAE,0BAA0B;IAC3CC,gBAAgB,EAAE,sBAAsB;IACxCC,gBAAgB,EAAE,sBAAsB;IACxCC,sBAAsB,EAAE,EAAE;IAC1BC,uBAAuB,EAAE,6BAA6B;IAEtDlL,IAAI,EAAE,SAAAA,CAAA,EAAY;MACd,IAAI,IAAI,CAACmL,OAAO,CAAC,CAAC,EAAE;QAChB,IAAI,CAACC,uBAAuB,CAAC,CAAC;QAC9B,IAAI,CAACC,oBAAoB,CAAC,CAAC;MAC/B;IACJ,CAAC;IAEDF,OAAO,EAAE,SAAAA,CAAA,EAAY;MACjB,OAAOvM,CAAC,CAAC,IAAI,CAACyL,mBAAmB,CAAC,CAACpG,EAAE,CAAC,UAAU,CAAC;IACrD,CAAC;IAEDqH,eAAe,EAAE,SAAAA,CAAA,EAAY;MACzB,OAAO1M,CAAC,CAAC,IAAI,CAAC2L,sBAAsB,CAAC,CAACtG,EAAE,CAAC,UAAU,CAAC;IACxD,CAAC;IAEDsH,+BAA+BA,CAAA,EAAG;MAC9B,OAAO3M,CAAC,CAAC,IAAI,CAAC2L,sBAAsB,GAAG,UAAU,CAAC,CAACjL,IAAI,CAAC,WAAW,CAAC;IACxE,CAAC;IAED+L,oBAAoB,EAAE,SAAAA,CAAA,EAAY;MAC9B,IAAI1N,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAC,IAAI,CAACyL,mBAAmB,CAAC,CAACtL,EAAE,CAAC,OAAO,EAAE,YAAY;QAChD,IAAImF,cAAc,GAAGtF,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,WAAW,CAAC;QAC9CV,CAAC,CAAC,uCAAuC,GAAGsF,cAAc,GAAG,IAAI,CAAC,CAACL,QAAQ,CAAC,SAAS,CAAC;QACtFjF,CAAC,CAAC,oDAAoD,GAAGsF,cAAc,GAAG,IAAI,CAAC,CAACL,QAAQ,CAAC,SAAS,CAAC;QACnGlG,IAAI,CAAC6N,yBAAyB,CAAC,CAAC;QAChC5M,CAAC,CAAC9B,QAAQ,CAAC,CAAC2O,OAAO,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI9N,IAAI,CAAC2N,eAAe,CAAC,CAAC,EAAE;UACxB1M,CAAC,CAACjB,IAAI,CAACgN,mBAAmB,CAAC,CAACrL,IAAI,CAAC,WAAW,EAAE3B,IAAI,CAAC4N,+BAA+B,CAAC,CAAC,CAAC;UACrF3M,CAAC,CAACjB,IAAI,CAACgN,mBAAmB,CAAC,CAACrL,IAAI,CAAC,gBAAgB,EAAE4E,cAAc,CAAC;UAClEtF,CAAC,CAACjB,IAAI,CAACuN,uBAAuB,CAAC,CAACjM,IAAI,CAAC,gCAAgC,GAAItB,IAAI,CAAC4N,+BAA+B,CAAC,CAAC,CAAC;UAChH3M,CAAC,CAACjB,IAAI,CAACkN,UAAU,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC;UAChC;QACJ;QACA/N,IAAI,CAACgO,kBAAkB,CAACzH,cAAc,CAAC;MAC3C,CAAC,CAAC;MAGFtF,CAAC,CAAC,IAAI,CAACoM,gBAAgB,CAAC,CAACjM,EAAE,CAAC,OAAO,EAAE,YAAY;QAC7CH,CAAC,CAACjB,IAAI,CAACkN,UAAU,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC;MACpC,CAAC,CAAC;MAGF9M,CAAC,CAAC,IAAI,CAACgM,iBAAiB,CAAC,CAAC7L,EAAE,CAAC,OAAO,EAAE,YAAY;QAC9C,IAAImF,cAAc,GAAGtF,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,WAAW,CAAC;QAC9CV,CAAC,CAACjB,IAAI,CAACgN,mBAAmB,CAAC,CAACrL,IAAI,CAAC,WAAW,EAAE4E,cAAc,CAAC;QAC7DtF,CAAC,CAACjB,IAAI,CAACuN,uBAAuB,CAAC,CAACjM,IAAI,CAAC,gCAAgC,GAAIiF,cAAc,CAAC;QACxFtF,CAAC,CAACjB,IAAI,CAACkN,UAAU,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC;MACpC,CAAC,CAAC;MAGF9M,CAAC,CAAC,IAAI,CAAC+L,mBAAmB,CAAC,CAAC5L,EAAE,CAAC,OAAO,EAAE,YAAY;QAChD,IAAImF,cAAc,GAAGtF,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,WAAW,CAAC;QAC9CV,CAAC,CAACjB,IAAI,CAACkN,UAAU,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC;QAChC/N,IAAI,CAACiO,kBAAkB,CAAC1H,cAAc,CAAC;QACvCvG,IAAI,CAACgO,kBAAkB,CAAC/M,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvDV,CAAC,CAAC,IAAI,CAAC,CAACiN,UAAU,CAAC,WAAW,CAAC;QAC/BjN,CAAC,CAAC,IAAI,CAAC,CAACiN,UAAU,CAAC,gBAAgB,CAAC;QACpClO,IAAI,CAACmO,qBAAqB,CAAC,CAAC;QAC5B5N,MAAM,CAAC6N,cAAc,CAACC,iBAAiB,CAAC,CAAC;QACzCpN,CAAC,CAAC,uCAAuC,GAAGsF,cAAc,GAAG,IAAI,CAAC,CAACtD,WAAW,CAAC,SAAS,CAAC;QACzFhC,CAAC,CAAC,oDAAoD,GAAGsF,cAAc,GAAG,IAAI,CAAC,CAACtD,WAAW,CAAC,SAAS,CAAC;QACtGjD,IAAI,CAACsO,yBAAyB,CAAC,CAAC;QAChCrN,CAAC,CAAC9B,QAAQ,CAAC,CAAC2O,OAAO,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAAC,CAAC;MAC3D,CAAC,CAAC;IACN,CAAC;IAEDQ,yBAAyB,EAAE,SAAAA,CAAA,EAAY;MACnCrN,CAAC,CAAC,6BAA6B,CAAC,CAACoC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEDwK,yBAAyB,EAAE,SAAAA,CAAA,EAAY;MACnC5M,CAAC,CAAC,6BAA6B,CAAC,CAACmD,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED6J,kBAAkB,EAAE,SAAAA,CAAS1H,cAAc,EAAE;MACzCtF,CAAC,CAAC,IAAI,CAAC4L,cAAc,GAAGtG,cAAc,GAAG,KAAK,CAAC,CAACnC,IAAI,CAAC,CAAC;MACtDnD,CAAC,CAAC,IAAI,CAAC6L,iBAAiB,GAAGvG,cAAc,GAAG,KAAK,CAAC,CAAClD,IAAI,CAAC,CAAC;MACzDpC,CAAC,CAAC,IAAI,CAACkM,eAAe,CAAC,CAAC9J,IAAI,CAAC,CAAC;MAC9BpC,CAAC,CAAC,IAAI,CAACmM,gBAAgB,CAAC,CAAChJ,IAAI,CAAC,CAAC;IACnC,CAAC;IAED4J,kBAAkB,EAAE,SAAAA,CAAUzH,cAAc,EAAE;MAC1CtF,CAAC,CAAC,IAAI,CAAC6L,iBAAiB,GAAGvG,cAAc,GAAG,KAAK,CAAC,CAACnC,IAAI,CAAC,CAAC;MACzDnD,CAAC,CAAC,IAAI,CAAC4L,cAAc,GAAGtG,cAAc,GAAG,KAAK,CAAC,CAAClD,IAAI,CAAC,CAAC;MACtDpC,CAAC,CAAC,IAAI,CAACkM,eAAe,CAAC,CAAC/I,IAAI,CAAC,CAAC;MAC9BnD,CAAC,CAAC,IAAI,CAACmM,gBAAgB,CAAC,CAAC/J,IAAI,CAAC,CAAC;IACnC,CAAC;IAED8K,qBAAqB,EAAE,SAAAA,CAAA,EAAY;MAC/B,IAAII,wBAAwB,GAAGtN,CAAC,CAAC,oBAAoB,CAAC,CAACqF,EAAE,CAAC,UAAU,CAAC;MACrE,IAAIiI,wBAAwB,EAAE;QAC1BtN,CAAC,CAAC,0BAA0B,CAAC,CAACmD,IAAI,CAAC,CAAC;QACpCnD,CAAC,CAAC,sBAAsB,CAAC,CAACoC,IAAI,CAAC,CAAC;MACpC,CAAC,MAAM;QACHpC,CAAC,CAAC,sBAAsB,CAAC,CAACmD,IAAI,CAAC,CAAC;QAChCnD,CAAC,CAAC,0BAA0B,CAAC,CAACoC,IAAI,CAAC,CAAC;MACxC;IACJ,CAAC;IAEDoK,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjCxM,CAAC,CAAC,IAAI,CAACwL,sBAAsB,CAAC,CAAC+B,SAAS,CAAC;QACrCC,IAAI,EAAE,QAAQ;QACdC,KAAK,EAAE;MACX,CAAC,CAAC;IACN;EACJ,CAAC;EACDnO,MAAM,CAACoO,kBAAkB,GAAGnC,oBAAoB;AACpD,CAAC,EAAErK,MAAM,EAAE5B,MAAM,CAAC;AAElB4B,MAAM,CAAChD,QAAQ,CAAC,CAACoF,KAAK,CAAC,UAAUtD,CAAC,EAAE;EAChCV,MAAM,CAACoO,kBAAkB,CAACtM,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,C;;;;;;;;;;;ACnIF,CAAC,UAAUpB,CAAC,EAAEV,MAAM,EAAE;EAElB,IAAIqO,eAAe,GAAG;IAClBC,mBAAmB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;IAC7CC,sBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACpCC,oBAAoB,EAAE;MAAE,UAAU,EAAE,UAAU;MAAE,cAAc,EAAE;IAAc,CAAC;IAC/EC,gBAAgB,EAAE,kBAAkB;IACpCC,OAAO,EAAE,CAAC,CAAC;IACXC,0BAA0B,EAAE,KAAK;IACjCC,kBAAkB,EAAE,CAAC;IACrBC,wBAAwB,EAAE,KAAK;IAC/BC,iBAAiB,EAAE,IAAI;IACvBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,CAAC,CAAC;IAClBC,OAAO,EAAE,CAAC,CAAC;IACXC,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE,KAAK;IACfC,eAAe,EAAE,KAAK;IACtBC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,kBAAkB,EAAE,EAAE;IACtBC,2BAA2B,EAAE,wBAAwB;IACrDC,sBAAsB,EAAE,4BAA4B;IACpDC,YAAY,EAAE,EAAE;IAChBC,iBAAiB,EAAE,CAAC;IACpBC,gBAAgB,EAAE,sBAAsB;IACxCC,2BAA2B,EAAE,uBAAuB;IACpDC,iBAAiB,EAAE,2BAA2B;IAC9CC,cAAc,EAAE,yBAAyB;IACzCC,sBAAsB,EAAE,oBAAoB;IAC5CC,0BAA0B,EAAE,EAAE;IAC9BC,YAAY,EAAE,CAAC;IACfC,0BAA0B,EAAE,iBAAiB;IAC7ChE,mBAAmB,EAAE,iBAAiB;IACtCiE,2BAA2B,EAAE,yBAAyB;IACtDC,6BAA6B,EAAE,mBAAmB;IAClDC,8BAA8B,EAAE,6BAA6B;IAC7DC,qBAAqB,EAAE,KAAK;IAE5BzO,IAAI,EAAE,SAAAA,CAAA,EAAY;MACd,IAAI,CAACsN,eAAe,GAAGoB,OAAO,CAAE9P,CAAC,CAAE,oBAAqB,CAAC,CAACY,GAAG,CAAC,CAAE,CAAC;MACjE,IAAI7B,IAAI,CAAC2P,eAAe,EAAE;QACtBjJ,YAAY,CAACiB,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC8I,YAAY,CAAC;MAC3D;MACA,IAAIO,eAAe,GAAG/P,CAAC,CAAE,MAAO,CAAC,CAACsL,QAAQ,CAAE,wBAAyB,CAAC;MACtE,IAAI0E,YAAY,GAAGhQ,CAAC,CAAE,MAAO,CAAC,CAACsL,QAAQ,CAAE,0BAA2B,CAAC;MACrE,IAAI,CAACsD,iBAAiB,GAAG5O,CAAC,CAAE,aAAc,CAAC,CAACY,GAAG,CAAC,CAAC;MACjD,IAAI,CAAC6N,QAAQ,GAAGzO,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,eAAgB,CAAC,CAACN,IAAI,CAAE,MAAO,CAAC;MAEpE,IAAK,CAAEsP,YAAY,IAAID,eAAe,EAAE;QACpC,IAAK,CAAE,IAAI,CAACE,WAAW,CAAC,CAAC,EAAE;UACvB,IAAI,CAACC,uBAAuB,CAAC,CAAC;QAClC;QACA,IAAI,CAACC,gBAAgB,CAAC,CAAC;QACvB,IAAI,CAACC,eAAe,CAAE9Q,MAAM,CAACiF,QAAQ,CAAC8L,IAAK,CAAC;QAC5C,IAAI,CAACC,mBAAmB,CAAC,CAAC;QAC1B,IAAI,CAACC,eAAe,CAAC,CAAC;QACtB,IAAI,CAACC,oBAAoB,CAAC,CAAC;QAC3B,IAAI,CAACC,YAAY,CAAC,CAAC;QACnB,IAAI,CAACC,oBAAoB,CAAC,CAAC;QAC3B,IAAI,CAACC,sBAAsB,CAAC,CAAC;QAC7B,IAAI,CAACC,0BAA0B,CAAC,CAAC;QACjC,IAAI,CAACC,uBAAuB,CAAC,CAAC;QAC9B,IAAI,CAACC,sCAAsC,CAAC,CAAC;QAC7C,IAAI,CAACC,mBAAmB,CAAC,CAAC;QAC1B,IAAI,CAACC,wBAAwB,CAAC,CAAC;QAC/B,IAAI,CAACC,qBAAqB,CAAC,CAAC;QAC5B,IAAI,CAACC,mBAAmB,CAAC,CAAC;QAC1B,IAAI,CAACC,uBAAuB,CAAC,CAAC;QAC9B,IAAI,CAACC,qBAAqB,CAAC,CAAC;QAC5B,IAAI,CAACC,gCAAgC,CAAC,CAAC;QACvC,IAAI,CAACC,oBAAoB,CAAC,CAAC;QAC3B,IAAI,CAACC,gBAAgB,CAAC,CAAC;QACvB,IAAI,CAACC,cAAc,CAAC,CAAC;QACrB,IAAI,CAACC,sBAAsB,CAAC,CAAC;QAC7B,IAAI,CAACC,aAAa,CAAC,CAAC;QACpB,IAAI,CAACC,mBAAmB,CAAC,CAAC;QAC1B,IAAI,IAAI,CAACjD,eAAe,EAAE;UACtB,IAAI,CAACkD,4BAA4B,CAAC,CAAC;UACnC,IAAI,CAACC,wBAAwB,CAAC,CAAC;QACnC;MACJ;IACJ,CAAC;IAEDA,wBAAwB,EAAE,SAAAA,CAAA,EAAY;MAClC7R,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,OAAO,EAAE,yBAAyB,EAAE,YAAY;QAC3DH,CAAC,CAAC,cAAc,CAAC,CAAC8M,KAAK,CAAC,MAAM,CAAC;MACnC,CAAC,CAAC;IACN,CAAC;IAGDgF,WAAW,EAAE,SAAAA,CAAA,EAAY;MACrB,IAAI/S,IAAI,GAAG,IAAI;MACf,IAAIgT,gBAAgB,GAAG,EAAE;MACzB,IAAI,IAAI,CAACC,WAAW,CAAC,CAAC,EAAE;QACpBhS,CAAC,CAACjB,IAAI,CAAC6Q,8BAA8B,CAAC,CAAC9O,IAAI,CACvC,YAAY;UACR,IAAImR,YAAY,GAAGjS,CAAC,CAAC,IAAI,CAAC,CAAC4F,OAAO,CAAC,mCAAmC,CAAC;UACvE,IAAI5F,CAAC,CAAC,IAAI,CAAC,CAACqF,EAAE,CAAC,UAAU,CAAC,IAAI,CAACrF,CAAC,CAACiS,YAAY,CAAC,CAAC3G,QAAQ,CAAC,SAAS,CAAC,EAAE;YAChE,IAAIlL,KAAK,GAAGJ,CAAC,CAAC,IAAI,CAAC,CAACY,GAAG,CAAC,CAAC;YACzBZ,CAAC,CAAC,IAAI,CAAC,CAAC4F,OAAO,CAAC,sBAAsB,CAAC,CAAC5E,IAAI,CAAC,2BAA2B,CAAC,CAACiB,IAAI,CAAC,QAAQ,GAAGjC,CAAC,CAAC,IAAI,CAAC,CAACY,GAAG,CAAC,CAAC,CAAC;YACxGmR,gBAAgB,CAACtR,IAAI,CAACL,KAAK,CAAC;UAChC;QACJ,CACJ,CAAC;MACL,CAAC,MAAM;QACHJ,CAAC,CAAC,sBAAsB,CAAC,CAACc,IAAI,CAC1B,UAAUC,GAAG,EAAE;UACX,IAAImR,OAAO,GAAGlS,CAAC,CAAC,IAAI,CAAC,CAACgB,IAAI,CAAC,iBAAiB,CAAC;UAC7C,IAAIkR,OAAO,CAACtR,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtBmR,gBAAgB,CAACtR,IAAI,CAACyR,OAAO,CAACtR,GAAG,CAAC,CAAC,CAAC;UACxC;QACJ,CACJ,CAAC;MACL;MAEA,OAAOmR,gBAAgB;IAC3B,CAAC;IAEDJ,mBAAmB,EAAE,SAAAA,CAAA,EAAY;MAC7B,IAAIQ,eAAe,GAAG,YAAY;MAClC,IAAIC,mBAAmB,GAAGpS,CAAC,CAAC,iBAAiB,CAAC,CAACU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;MAClE,IAAI2R,kBAAkB,GAAGrS,CAAC,CAAC,iBAAiB,CAAC,CAACU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;MAEnE,IAAIV,CAAC,CAAC,UAAU,CAAC,CAACsL,QAAQ,CAAC,0CAA0C,CAAC,IAAItL,CAAC,CAAC,UAAU,CAAC,CAACsL,QAAQ,CAAC,2CAA2C,CAAC,EAAE;QAC3I,MAAMgH,KAAK,GAAGtS,CAAC,CAAC,eAAe,CAAC,CAACU,IAAI,CAAC,OAAO,CAAC;QAC9C,MAAMmE,KAAK,GAAG7E,CAAC,CAAC,eAAe,CAAC,CAAC6E,KAAK,CAAC,CAAC;QACxC,MAAM0N,MAAM,GAAG1N,KAAK,GAAGyN,KAAK;QAC5BtS,CAAC,CAAC,UAAU,CAAC,CAACuS,MAAM,CAACA,MAAM,CAAC;QAC5BJ,eAAe,GAAG,UAAU;QAC5BC,mBAAmB,GAAG,MAAM;MAChC;MAEA,MAAMI,OAAO,GAAGA,CAACC,MAAM,EAAEC,EAAE,KAAK;QAC5BA,EAAE,CAACvS,EAAE,CACD,OAAO,EACP,oCAAoC,EACpC,YAAY;UACR,IAAIsS,MAAM,CAACE,WAAW,EAAE;YACpBF,MAAM,CAACG,OAAO,CAACH,MAAM,CAACI,MAAM,CAACjU,MAAM,GAAG,CAAC,CAAC;UAC5C,CAAC,MAAM;YACH6T,MAAM,CAACK,SAAS,CAAC,CAAC;UACtB;QACJ,CACJ,CAAC;QACDJ,EAAE,CAACvS,EAAE,CACD,OAAO,EACP,oCAAoC,EACpC,YAAY;UACR,IAAIsS,MAAM,CAACM,KAAK,EAAE;YACdN,MAAM,CAACG,OAAO,CAAC,CAAC,CAAC;UACrB,CAAC,MAAM;YACHH,MAAM,CAACO,SAAS,CAAC,CAAC;UACtB;QACJ,CACJ,CAAC;MACL,CAAC;MAED,MAAMC,YAAY,GAAG,IAAIC,MAAM,CAC3B,iBAAiB,EACjB;QACIC,SAAS,EAAEhB,eAAe;QAC1BiB,aAAa,EAAEhB,mBAAmB;QAClCiB,YAAY,EAAEhB,kBAAkB;QAChCiB,KAAK,EAAE,GAAG;QACVnT,EAAE,EAAE;UACAiB,IAAI,EAAE,SAAAA,CAAUqR,MAAM,EAAE;YACpB,IAAIN,eAAe,KAAK,YAAY,EAAE;cAClC,MAAMU,MAAM,GAAG7S,CAAC,CAAC,+BAA+B,CAAC;cACjD,IAAI6S,MAAM,CAACjU,MAAM,GAAGwT,mBAAmB,EAAE;gBACrCpS,CAAC,CAAC,+CAA+C,CAAC,CAACoC,IAAI,CAAC,CAAC;gBACzDoQ,OAAO,CAACC,MAAM,EAAEzS,CAAC,CAAC,iBAAiB,CAAC,CAAC;cACzC;YACJ,CAAC,MAAM,IAAImS,eAAe,KAAK,UAAU,EAAE;cACvC,IAAIoB,YAAY,GAAG,CAAC;cACpB,IAAIC,UAAU,GAAGxT,CAAC,CAAC,eAAe,CAAC,CAACyT,WAAW,CAAC,CAAC;cACjDhB,MAAM,CAACI,MAAM,CAAC1I,OAAO,CACjBuJ,KAAK,IAAI;gBACLH,YAAY,IAAIvT,CAAC,CAAC0T,KAAK,CAAC,CAACD,WAAW,CAAC,CAAC;cAC1C,CACJ,CAAC;cACD,IAAIF,YAAY,GAAGC,UAAU,EAAE;gBAC3BxT,CAAC,CAAC,+CAA+C,CAAC,CAACoC,IAAI,CAAC,CAAC;gBACzDoQ,OAAO,CAACC,MAAM,EAAEzS,CAAC,CAAC,iBAAiB,CAAC,CAAC;cACzC;YACJ;UACJ;QACJ;MACJ,CACJ,CAAC;MAED,MAAM2T,UAAU,GAAG,IAAIT,MAAM,CACzB,eAAe,EACf;QACII,KAAK,EAAE,GAAG;QACVM,UAAU,EAAE;UACRlB,EAAE,EAAE,iCAAiC;UACrCjR,IAAI,EAAE;QACV,CAAC;QACDoS,MAAM,EAAE;UACJpB,MAAM,EAAEzS,CAAC,CAAC,iBAAiB,CAAC,CAACpB,MAAM,GAAGqU,YAAY,GAAG;QACzD,CAAC;QACD9S,EAAE,EAAE;UACAiB,IAAI,EAAE,SAAAA,CAAUqR,MAAM,EAAE;YACpB,MAAMI,MAAM,GAAG7S,CAAC,CAAC,6BAA6B,CAAC;YAC/C,IAAI6S,MAAM,CAACjU,MAAM,GAAG,CAAC,EAAE;cACnBoB,CAAC,CAAC,6CAA6C,CAAC,CAACoC,IAAI,CAAC,CAAC;cACvDoQ,OAAO,CAACC,MAAM,EAAEzS,CAAC,CAAC,eAAe,CAAC,CAAC;YACvC;UACJ;QACJ;MACJ,CACJ,CAAC;MAED,IAAI,OAAO8T,aAAa,KAAK,WAAW,IAAIxU,MAAM,CAACwU,aAAa,IAAI,KAAK,EAAE;QACvExU,MAAM,CAACwU,aAAa,GAAG,IAAI;QAE3B9T,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CACV,OAAO,EACP,qBAAqB,EACrB,IAAI,CAAC4T,gBAAgB,CAACC,IAAI,CAAC,IAAI,CACnC,CAAC;MACL;IACJ,CAAC;IAEDC,kBAAkB,EAAE,SAAAA,CAAA,EAAY;MAC5B,MAAMpB,MAAM,GAAG7S,CAAC,CAAC,6CAA6C,CAAC;MAC/D,IAAIa,KAAK,GAAG,EAAE;MAEd,IAAIgS,MAAM,CAACjU,MAAM,EAAE;QACfiU,MAAM,CAAC/R,IAAI,CACP,UAAU9C,CAAC,EAAE0U,EAAE,EAAE;UACb,IAAIwB,GAAG,GAAGlU,CAAC,CAAC0S,EAAE,CAAC,CAAC1R,IAAI,CAAC,KAAK,CAAC;UAE3B,IAAIkT,GAAG,CAACtV,MAAM,EAAE;YACZ,IAAIuV,eAAe,GAAGD,GAAG,CAAC9N,IAAI,CAAC,kBAAkB,CAAC;cAC9CgO,aAAa,GAAGF,GAAG,CAAC9N,IAAI,CAAC,wBAAwB,CAAC;cAClDiO,aAAa,GAAGH,GAAG,CAAC9N,IAAI,CAAC,yBAAyB,CAAC;cACnD5F,IAAI,GAAG;gBACH8T,GAAG,EAAEH,eAAe;gBACpBI,CAAC,EAAEH,aAAa;gBAChBI,CAAC,EAAEH,aAAa;gBAChBI,KAAK,EAAEP,GAAG,CAAC9N,IAAI,CAAC,cAAc,CAAC,GACzB8N,GAAG,CAAC9N,IAAI,CAAC,cAAc,CAAC,GACxB8N,GAAG,CAAC9N,IAAI,CAAC,OAAO;cAC1B,CAAC;YACLvF,KAAK,CAACJ,IAAI,CAACD,IAAI,CAAC;UACpB;QAEJ,CACJ,CAAC;MACL;MAEA,OAAOK,KAAK;IAChB,CAAC;IAEDkT,gBAAgB,EAAE,SAAAA,CAAUxU,CAAC,EAAE;MAC3BA,CAAC,CAACK,cAAc,CAAC,CAAC;MAElB,IAAI8U,WAAW,GAAG1U,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3Ba,KAAK,GAAG,IAAI,CAACoT,kBAAkB,CAAC,CAAC;QACjCU,KAAK,GAAG3U,CAAC,CAAC,oCAAoC,CAAC,CAAC2U,KAAK,CAAC,CAAC;MAE3D,IAAIC,OAAO,GAAG5U,CAAC,CAAC6U,MAAM,CAClB;QACIF,KAAK,EAAEA;MACX,CAAC,EACD,CAAC,CACL,CAAC;;MAED;MACA,IAAIG,UAAU,GAAG,IAAIC,UAAU,CAC3BL,WAAW,EACXM,oBAAoB,EACpBnU,KAAK,EACL+T,OACJ,CAAC;MACDE,UAAU,CAAC1T,IAAI,CAAC,CAAC;IACrB,CAAC;IAEDsQ,aAAaA,CAAA,EAAG;MACZ,IAAI3S,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,0BAA0B,EAAE,UAAUZ,CAAC,EAAC0V,OAAO,EAAE;QACvE,IAAIC,SAAS,GAAGlV,CAAC,CAAEiV,OAAQ,CAAC,CAACvU,IAAI,CAAE,WAAY,CAAC;QACjCV,CAAC,CAACjB,IAAI,CAAC2Q,2BAA2B,CAAC,CAACtJ,IAAI,CAAC,YAAY,EAAEpG,CAAC,CAACiV,OAAO,CAAC,CAACvU,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E3B,IAAI,CAACoW,oBAAoB,CAACD,SAAS,CAAC;MACxC,CACJ,CAAC;IACL,CAAC;IAEDC,oBAAoBA,CAAClL,SAAS,EAAE;MAC5B,IAAIlL,IAAI,GAAG,IAAI;MACf,IAAIqW,eAAe,GAAG,EAAE;MACxBpV,CAAC,CAAE,kBAAkB,GAAGiK,SAAS,GAAG,KAAM,CAAC,CAACnJ,IAAI,CAC5C,UAAUvB,CAAC,EAAE;QACxBS,CAAC,CAAE,IAAK,CAAC,CAACgB,IAAI,CAAEjC,IAAI,CAAC+P,2BAA4B,CAAC,CAAChO,IAAI,CACpC,UAAUvB,CAAC,EAAE;UACT,IAAI8V,QAAQ,GAAGrV,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAE,WAAY,CAAC;UAC5C0U,eAAe,CAAC3U,IAAI,CAAES,MAAM,CAACZ,IAAI,CAAE+U,QAAS,CAAE,CAAC;QACnD,CACnB,CAAC;MACF,CACQ,CAAC;MAED,IAAItW,IAAI,CAACkR,WAAW,CAAC,CAAC,EAAE;QACpB,IAAIqF,UAAU,GAAGvW,IAAI,CAACwW,wBAAwB,CAAC,CAAC;QAChD,IAAI7K,MAAM,CAACC,IAAI,CAAC2K,UAAU,CAACrL,SAAS,CAAC,CAACrL,MAAM,KAAK,CAAC,IAAIoB,CAAC,CAAC,oBAAoB,CAAC,CAACpB,MAAM,KAAK,CAAC,EAAE;UACxF0W,UAAU,CAACrL,SAAS,GAAG,EAAE;QAC7B;QAEA,IAAIS,MAAM,CAACC,IAAI,CAAC5L,IAAI,CAACyW,yBAAyB,CAACF,UAAU,CAACrL,SAAS,CAAC,CAAC,CAACrL,MAAM,GAAG,CAAC,EAAE;UAC9E,KAAK,MAAM,CAACmC,GAAG,EAAEX,KAAK,CAAC,IAAIsK,MAAM,CAAC+K,OAAO,CAACH,UAAU,CAACrL,SAAS,CAAC,EAAE;YAC7D,IAAIyL,cAAc,GAAG1V,CAAC,CAACjB,IAAI,CAAC2Q,2BAA2B,CAAC,CAAChP,IAAI,CAAC,OAAO,CAAC;YACtE,IAAIN,KAAK,KAAKsV,cAAc,EAAE;cAC1B,OAAOJ,UAAU,CAACrL,SAAS,CAAClJ,GAAG,CAAC;YACpC;UACJ;QACJ;QAEAhC,IAAI,CAAC4W,yBAAyB,CAACL,UAAU,CAACrL,SAAS,EAAEmL,eAAe,CAAC;MACzE;IACJ,CAAC;IAEDI,yBAAyB,EAAE,SAAAA,CAAUtL,MAAM,EAAE;MACzClK,CAAC,CAACc,IAAI,CAACoJ,MAAM,EAAE,UAASnJ,GAAG,EAACH,GAAG,EAAE;QAC7B,IAAI,kBAAkB,KAAKA,GAAG,EAAE;UAC5B,OAAOsJ,MAAM,CAACnJ,GAAG,CAAC;QACtB;MACJ,CAAC,CAAC;MAEF,OAAOmJ,MAAM;IACjB,CAAC;IAEDgH,mBAAmB,EAAE,SAAAA,CAAA,EAAY;MAC7B,IAAI,CAAC7C,eAAe,GAAGrO,CAAC,CAAE,kBAAmB,CAAC,CAACY,GAAG,CAAC,CAAC;IACxD,CAAC;IAEDqQ,qBAAqB,EAAE,SAAAA,CAAA,EAAY;MAC/B,IAAI2E,qBAAqB,GAAG5V,CAAC,CAAE,6BAA8B,CAAC,CAACY,GAAG,CAAC,CAAC;MAEpE,IAAIgV,qBAAqB,KAAK,KAAK,EAAE;QACjC5V,CAAC,CAAE,0BAA2B,CAAC,CAACF,MAAM,CAAC,CAAC;MAC5C,CAAC,MAAM;QACHE,CAAC,CAAE,0BAA2B,CAAC,CAACoC,IAAI,CAAC,CAAC;MAC1C;MACA,IAAI,CAACyT,iBAAiB,CAAC,CAAC;IAC5B,CAAC;IAEDC,yBAAyB,EAAE,SAAAA,CAAU/M,KAAK,EAAE;MACxC,IAAIgN,gBAAgB,GAAG/V,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,4BAA6B,CAAC,CAACpC,MAAM,GAAG,CAAC;MAEpF,IAAImX,gBAAgB,EAAE;QAClB,IAAI,OAAOC,WAAW,CAAEjN,KAAM,CAAC,KAAK,WAAW,EAAE;UAC7CA,KAAK,GAAG/I,CAAC,CAAE,6BAA8B,CAAC,CAACK,IAAI,CAAC,CAAC;QACrD;QAEA,IAAI4V,UAAU,GAAGjW,CAAC,CAAE,6BAA8B,CAAC,CAACY,GAAG,CAAC,CAAC;QACzD,IAAIsV,cAAc,GAAGlW,CAAC,CAAE,wCAAyC,CAAC,CAACgB,IAAI,CAAE,aAAc,CAAC,CAACX,IAAI,CAAC,CAAC;QAC/FL,CAAC,CAAE,kCAAmC,CAAC,CAACoC,IAAI,CAAC,CAAC;QAE9C,IAAK4T,WAAW,CAAEjN,KAAM,CAAC,KAAKiN,WAAW,CAAEC,UAAW,CAAC,EAAG;UACtDjW,CAAC,CAAE,iCAAkC,CAAC,CAACK,IAAI,CAAE8V,oBAAoB,CAAEH,WAAW,CAAEjN,KAAM,CAAE,CAAE,CAAC;QAC/F;QAEA/I,CAAC,CAAE,gCAAiC,CAAC,CAACK,IAAI,CAAE,GAAG,GAAG8V,oBAAoB,CAAEH,WAAW,CAAEC,UAAW,CAAE,CAAE,CAAC;QACrGjW,CAAC,CAAE,+BAAgC,CAAC,CAAC6M,OAAO,CAAE,OAAQ,CAAC;QAEvD,IAAKuJ,UAAU,CAAEF,cAAe,CAAC,KAAKE,UAAU,CAAErN,KAAM,CAAC,EAAG;UACxD/I,CAAC,CAAE,kCAAmC,CAAC,CAACK,IAAI,CAAE8V,oBAAoB,CAAEH,WAAW,CAAEjN,KAAM,CAAE,CAAE,CAAC;QAChG,CAAC,MAAM;UACH/I,CAAC,CAAE,kCAAmC,CAAC,CAACqW,MAAM,CAAC,CAAC,CAAClT,IAAI,CAAC,CAAC;QAC3D;MACJ;IACJ,CAAC;IAEDmT,iCAAiC,EAAE,SAAAA,CAAUjI,eAAe,EAAE;MAC1D,IAAItP,IAAI,GAAG,IAAI;MACf,IAAIwX,iBAAiB;MACrB,IAAIC,mBAAmB,GAAGxW,CAAC,CAAE,sBAAuB,CAAC;;MAErD;MACA,IAAIwW,mBAAmB,CAAC5X,MAAM,GAAG,CAAC,EAAE;QAChC2X,iBAAiB,GAAGvW,CAAC,CAAEjB,IAAI,CAAC0Q,0BAA2B,CAAC,CAACrJ,IAAI,CAAE,gBAAiB,CAAC;MACrF,CAAC,MAAM;QACH,IAAI,OAAOrH,IAAI,CAACuP,cAAc,KAAK,WAAW,EAAE;UAC5CiI,iBAAiB,GAAGxX,IAAI,CAACuP,cAAc,CAACmI,wBAAwB;QACpE;MACJ;MAEA,IAAI,OAAOF,iBAAiB,KAAK,WAAW,EAAE;QAC1C,IAAIjV,SAAS,GAAG;UACZC,MAAM,EAAE,sCAAsC;UAC9CgV,iBAAiB,EAAEA,iBAAiB;UACpCG,cAAc,EAAE3X,IAAI,CAACqP;QACzB,CAAC;QAED,IAAK,CAAErP,IAAI,CAACqP,iBAAiB,IAAIC,eAAe,IAAI,OAAOA,eAAe,KAAK,WAAW,EAAE;UACxFtP,IAAI,CAACsP,eAAe,GAAGA,eAAe;UACtC/M,SAAS,CAAC+M,eAAe,GAAGA,eAAe;QAC/C;QAEArO,CAAC,CAACwB,IAAI,CACF;UACdC,IAAI,EAAE,MAAM;UACZf,IAAI,EAAEY,SAAS;UACfI,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAEC,QAAQ;UACbC,OAAO,EAAE,SAAAA,CAAUnB,IAAI,EAAE;YACxB,IAAIA,IAAI,KAAK,IAAI,EAAE;cAClB3B,IAAI,CAACkP,0BAA0B,GAAGvN,IAAI,CAACiW,uBAAuB;YAC/D;UACD;QACc,CACJ,CAAC;MACL;IACJ,CAAC;IAEDpF,gBAAgB,EAAE,SAAAA,CAAA,EAAY;MAC1B,IAAIxS,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE9B,QAAS,CAAC,CACR0Y,GAAG,CAAE,OAAO,EAAE,iEAAkE,CAAC,CACjFzW,EAAE,CACC,OAAO,EACP,iEAAiE,EACjE,UAAUZ,CAAC,EAAE;QAC3B,IAAK,CAAER,IAAI,CAAC8X,gBAAgB,CAAC,CAAC,IAAI,CAAE9X,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;UAC1D;QACD;QAEA,IAAIP,iBAAiB;QACrB,IAAIC,mBAAmB,GAAGxW,CAAC,CAAE,sBAAuB,CAAC;QACrD,IAAI+W,mBAAmB,GAAG/W,CAAC,CAACjB,IAAI,CAAC6Q,8BAA8B,CAAC;QAChE,IAAIoH,cAAc,GAAGhX,CAAC,CAAE,IAAK,CAAC,CAACoG,IAAI,CAAE,WAAY,CAAC;QAElD,IAAI4Q,cAAc,KAAK,mCAAmC,EAAE;UAC3DhX,CAAC,CAAE,iBAAkB,CAAC,CAAC8M,KAAK,CAAE,MAAO,CAAC;UACtC/N,IAAI,CAACkP,0BAA0B,GAAG,KAAK;UACvClP,IAAI,CAACoP,wBAAwB,GAAG,IAAI;QACrC,CAAC,MAAM;UACNpP,IAAI,CAACoP,wBAAwB,GAAG,KAAK;QACtC;QAEA,IAAIpP,IAAI,CAACkP,0BAA0B,EAAE;UACpCjO,CAAC,CAAE,iBAAkB,CAAC,CAAC8M,KAAK,CAAE,MAAO,CAAC;UACtC/N,IAAI,CAACkP,0BAA0B,GAAG,KAAK;QACxC,CAAC,MAAM;UACN;UACA,IAAIuI,mBAAmB,CAAC5X,MAAM,GAAG,CAAC,IAAImY,mBAAmB,CAACnY,MAAM,GAAG,CAAC,EAAE;YACrE2X,iBAAiB,GAAGvW,CAAC,CAAE,IAAK,CAAC,CAACoG,IAAI,CAAE,gBAAiB,CAAC;UACvD,CAAC,MAAM;YACN,IAAI,OAAOrH,IAAI,CAACuP,cAAc,KAAK,WAAW,EAAE;cAC/CiI,iBAAiB,GAAGxX,IAAI,CAACuP,cAAc,CAACtE,EAAE;YAC3C;UACD;UAEA,IAAI,OAAOuM,iBAAiB,KAAK,WAAW,EAAE;YAC7CA,iBAAiB,GAAGvW,CAAC,CAAEjB,IAAI,CAAC0Q,0BAA2B,CAAC,CAACrJ,IAAI,CAAE,gBAAiB,CAAC;UAClF;UAEArH,IAAI,CAACkY,6BAA6B,CAAC,CAAC;UACpC,IAAIC,mBAAmB,GAAGlX,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC;UAErE,IAAI7B,IAAI,CAACoY,mBAAmB,CAAC,CAAC,EAAE;YAC/B,IAAIpY,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;cAC1B/X,IAAI,CAACqY,WAAW,CACeF,mBAAmB,EACnBnY,IAAI,CAAC8P,kBAAkB,EACvB9P,IAAI,CAACiQ,YAAY,EACjB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAC/B,CAAC;YACF,CAAC,MAAM;cACN;cACAjQ,IAAI,CAACqY,WAAW,CACeF,mBAAmB,EACnBX,iBAAiB,EACjBxX,IAAI,CAACwW,wBAAwB,CAAC,CAAC,EAC/BxW,IAAI,CAACsY,yBAAyB,CAAC,CAAC,EAChCtY,IAAI,CAACsP,eAAe,EACpBtP,IAAI,CAACoP,wBACpC,CAAC;YACF;UACD;QACD;MAED,CACW,CAAC;IACT,CAAC;IAEDsD,sBAAsB,EAAE,SAAAA,CAAA,EAAY;MAChC,IAAI1S,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,UAAU,EACVpB,IAAI,CAAC+P,2BAA2B,EAChC,UAAUvP,CAAC,EAAE;QACTR,IAAI,CAACuY,aAAa,CAAC,CAAC;MACpC,CACQ,CAAC;IACL,CAAC;IAEDA,aAAa,EAAE,SAAAA,CAAA,EAAY;MACvB,IAAIvY,IAAI,GAAG,IAAI;MACf,IAAIwY,cAAc,GAAG,CAAC;MACtB,IAAIC,WAAW,GAAG,EAAE;MACpB,IAAIlS,cAAc,GAAG,EAAE;MACvB,IAAI,IAAI,CAAC0M,WAAW,CAAC,CAAC,EAAE;QACpB,IAAI,CAACyF,kBAAkB,CAAC,CAAC;MAC7B,CAAC,MAAM;QACH,IAAI,CAACC,YAAY,CAAC,CAAC;MACvB;MAEA1X,CAAC,CAAEjB,IAAI,CAACuQ,sBAAuB,CAAC,CAACxO,IAAI,CACjC,UAAUvB,CAAC,EAAE;QACxB,IAAIoY,UAAU,GAAG3X,CAAC,CAAE,IAAK,CAAC,CAACqF,EAAE,CAAE,UAAW,CAAC;QAC3C,IAAIkJ,OAAO,GAAG,EAAE;QAChB,IAAIoJ,UAAU,EAAE;UACf3X,CAAC,CAAE,IAAK,CAAC,CAACgB,IAAI,CAAEjC,IAAI,CAAC+P,2BAA4B,CAAC,CAAChO,IAAI,CACjC,UAAUvB,CAAC,EAAE;YACT,IAAK,CAAEqY,KAAK,CAAEC,QAAQ,CAAE7X,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAE,CAAE,CAAC,EAAE;cACzC2W,cAAc,IAAIM,QAAQ,CAAE7X,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAE,CAAC;cAC7C0E,cAAc,GAAGtF,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAE,WAAY,CAAC;cAC9C6N,OAAO,GAAGjJ,cAAc,GAAG,GAAG,GAAGvG,IAAI,CAAC4P,eAAe,CAACrE,IAAI,CAAE,GAAI,CAAC;cAEjE,IAAIwN,GAAG,GAAG;gBACNvJ,OAAO,EAAEA,OAAO;gBAChB5N,QAAQ,EAAEkX,QAAQ,CAAE7X,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAE;cACxC,CAAC;cACD4W,WAAW,CAAC/W,IAAI,CAAEqX,GAAI,CAAC;YAC3B;UACJ,CACJ,CAAC;UAEnB9X,CAAC,CAAEjB,IAAI,CAACgQ,sBAAuB,CAAC,CAAC1O,IAAI,CAAEkX,cAAe,CAAC;UACvD,IAAIxY,IAAI,CAACoY,mBAAmB,CAAC,CAAC,EAAG;YAChCpY,IAAI,CAACgZ,sBAAsB,CAAER,cAAc,EAAEC,WAAY,CAAC;UAC3D;QACD;MACD,CACQ,CAAC;IACL,CAAC;IAEDO,sBAAsB,EAAE,SAAAA,CAAUpX,QAAQ,EAAEqX,wBAAwB,EAAE;MAClE,IAAI,CAAChJ,YAAY,GAAGgJ,wBAAwB;MAC5C,IAAI,CAAC/I,iBAAiB,GAAGtO,QAAQ;MACjC,IAAI,IAAI,CAACwW,mBAAmB,CAAC,CAAC,EAAG;QAC7B,IAAI,CAACc,gBAAgB,CAAED,wBAAwB,EAAErX,QAAQ,EAAE,IAAI,EAAE,IAAK,CAAC;MAC3E;IACJ,CAAC;IAEDkV,iBAAiB,EAAE,SAAAA,CAAA,EAAY;MAC3B,IAAI9W,IAAI,GAAG,IAAI;MACf,IAAIkX,UAAU,GAAG,CAAC;MAElBjW,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,QAAQ,EACR,wBAAwB,EACxB,YAAY;QACvB,IAAIH,CAAC,CAAE,IAAK,CAAC,CAACqF,EAAE,CAAE,UAAW,CAAC,EAAE;UAC/B4Q,UAAU,GAAGjW,CAAC,CAAE,IAAK,CAAC,CAACkY,IAAI,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAACtX,GAAG,CAAC,CAAC;UACxD,IAAIuX,kBAAkB,GAAG/B,UAAU,CAAEH,UAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGG,UAAU,CAAEH,UAAW,CAAC;UACpFlX,IAAI,CAACmP,kBAAkB,GAAG+H,UAAU;UACpCjW,CAAC,CAAE,6BAA8B,CAAC,CAACK,IAAI,CAAE8V,oBAAoB,CAAEgC,kBAAmB,CAAE,CAAC;UACrFpZ,IAAI,CAACsP,eAAe,GAAGrO,CAAC,CAAE,IAAK,CAAC,CAACkY,IAAI,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAACtX,GAAG,CAAC,CAAC;UAC3D7B,IAAI,CAACuX,iCAAiC,CAAEvX,IAAI,CAACsP,eAAgB,CAAC;UAC9DtP,IAAI,CAACqZ,iCAAiC,CAAEnC,UAAU,EAAEjW,CAAC,CAAE,IAAK,CAAE,CAAC;UAE/D,IAAI+I,KAAK,GAAG/I,CAAC,CAAE,gBAAiB,CAAC,CAACK,IAAI,CAAC,CAAC;UACxC,IAAI0I,KAAK,KAAK,EAAE,EAAE;YACjBA,KAAK,GAAGoN,oBAAoB,CAAEH,WAAW,CAAEhW,CAAC,CAAE,aAAc,CAAC,CAACK,IAAI,CAAC,CAAE,CAAE,CAAC;UACzE;UAEA,IAAIgY,eAAe,GAAGrY,CAAC,CAAE,IAAK,CAAC,CAAC4F,OAAO,CAAE,4BAA6B,CAAC,CAAC5E,IAAI,CAAE,uCAAwC,CAAC;UACvH,IAAIgV,WAAW,CAAEjX,IAAI,CAACmP,kBAAmB,CAAC,KAAK8H,WAAW,CAAEjN,KAAM,CAAC,EAAE;YACpEsP,eAAe,CAACjW,IAAI,CAAC,CAAC;YACtBpC,CAAC,CAAE,iCAAkC,CAAC,CAACK,IAAI,CAAE8V,oBAAoB,CAAEH,WAAW,CAAEjN,KAAM,CAAE,CAAE,CAAC,CAAC3G,IAAI,CAAC,CAAC;UACnG,CAAC,MAAM;YACNiW,eAAe,CAAClV,IAAI,CAAC,CAAC;UACvB;QACD;MACD,CACQ,CAAC;MAEDnD,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,OAAO,EACP,iEAAiE,EACjE,YAAY;QACvBH,CAAC,CAAE,iBAAkB,CAAC,CAAC8M,KAAK,CAAE,MAAO,CAAC;QACtC/N,IAAI,CAACkP,0BAA0B,GAAG,IAAI;MACvC,CACQ,CAAC;MAEDjO,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,OAAO,EACP,+BAA+B,EAC/B,YAAY;QACvBpB,IAAI,CAACuZ,wBAAwB,CAAEtY,CAAC,CAAE,IAAK,CAAE,CAAC;QAC1CjB,IAAI,CAACwZ,2BAA2B,CAAEvY,CAAC,CAAE,IAAK,CAAE,CAAC;QAC7C,IAAIwY,aAAa,GAAGxY,CAAC,CAAE,IAAK,CAAC,CAACyY,IAAI,CAAC,CAAC,CAACzX,IAAI,CAAE,iCAAkC,CAAC;QAE9E,IAAIwX,aAAa,CAAC5Z,MAAM,GAAG,CAAC,EAAE;UAC7BoB,CAAC,CAAE,wBAAyB,CAAC,CAACc,IAAI,CACZ,YAAY;YACR,IAAId,CAAC,CAAE,IAAK,CAAC,CAACqF,EAAE,CAAE,UAAW,CAAC,EAAE;cAC5BrF,CAAC,CAAE,wBAAyB,CAAC,CAACyK,UAAU,CAAE,UAAW,CAAC;cACtDwL,UAAU,GAAGG,UAAU,CAAEpW,CAAC,CAAE,6BAA8B,CAAC,CAACK,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAE,CAAC;cAC3EvB,IAAI,CAACmP,kBAAkB,GAAGkI,UAAU,CAAEH,UAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGG,UAAU,CAAEH,UAAW,CAAC;cACrFlX,IAAI,CAACsP,eAAe,GAAGrO,CAAC,CAAE,IAAK,CAAC,CAACkY,IAAI,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAACtX,GAAG,CAAC,CAAC;cAC3D7B,IAAI,CAACuX,iCAAiC,CAAEvX,IAAI,CAACsP,eAAgB,CAAC;cAC9DtP,IAAI,CAACqZ,iCAAiC,CAAEnC,UAAU,EAAEjW,CAAC,CAAE,IAAK,CAAE,CAAC;YACnE;UACJ,CACJ,CAAC;QACpB,CAAC,MAAM;UACNjB,IAAI,CAACuX,iCAAiC,CAAC,CAAC;UACxC,IAAIvN,KAAK,GAAG/I,CAAC,CAAE,IAAK,CAAC,CAACyY,IAAI,CAAC,CAAC,CAACzX,IAAI,CAAE,wCAAyC,CAAC,CAACX,IAAI,CAAC,CAAC;UACpFL,CAAC,CAAE,gCAAiC,CAAC,CAACK,IAAI,CAAE0I,KAAM,CAAC;QACpD;MACD,CACQ,CAAC;IACL,CAAC;IAEDwM,wBAAwB,EAAE,SAAAA,CAAA,EAAY;MAClC,IAAIiB,mBAAmB,GAAGxW,CAAC,CAAC,oCAAoC,CAAC;MACjE,IAAI0Y,gBAAgB,GAAG1Y,CAAC,CAAC,iDAAiD,CAAC;MAC3E,IAAIsV,UAAU,GAAG;QAACrL,SAAS,EAAE,CAAC,CAAC;QAAEzJ,IAAI,EAAE,CAAC;MAAC,CAAC;MAC1CgW,mBAAmB,CAAC1V,IAAI,CACpB,UAAUC,GAAG,EAAE;QACX,IAAImR,OAAO,GAAGlS,CAAC,CAAC,IAAI,CAAC,CAACgB,IAAI,CAAC,iBAAiB,CAAC;QAC7CsU,UAAU,CAAC,WAAW,CAAC,CAACvU,GAAG,CAAC,GAAGmR,OAAO,CAACxR,IAAI,CAAC,MAAM,CAAC;QACnD4U,UAAU,CAAC,MAAM,CAAC,CAACvU,GAAG,CAAC,GAAGmR,OAAO,CAAC7R,IAAI,CAAC,CAAC;MACxD,CACQ,CAAC;MAEDqY,gBAAgB,CAAC1X,IAAI,CAAC,6BAA6B,CAAC,CAACF,IAAI,CACrD,UAAUC,GAAG,EAAE;QAC1B,IAAIf,CAAC,CAAE,IAAK,CAAC,CAACqF,EAAE,CAAE,UAAW,CAAC,EAAE;UAC/BiQ,UAAU,CAAC,WAAW,CAAC,CAACvU,GAAG,CAAC,GAAGf,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAC,MAAM,CAAC;UACrD4U,UAAU,CAAC,MAAM,CAAC,CAACvU,GAAG,CAAC,GAAGf,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAC;QAC1C;MACD,CACQ,CAAC;MAED,OAAO0U,UAAU;IACrB,CAAC;IAEDgD,wBAAwB,EAAE,SAAAA,CAAU1a,SAAS,EAAE;MAC3C,IAAImB,IAAI,GAAG,IAAI;MACfA,IAAI,CAAC4Z,sBAAsB,CAAE/a,SAAU,CAAC;MACxC,IAAIA,SAAS,CAAC0N,QAAQ,CAAE,QAAS,CAAC,EAAE;QAChC,IAAI1N,SAAS,CAACwI,IAAI,CAAE,eAAgB,CAAC,KAAK,UAAU,EAAE;UAClDrH,IAAI,CAACmP,kBAAkB,GAAGtQ,SAAS,CAACoD,IAAI,CAAE,aAAc,CAAC,CAACX,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;UACvEvB,IAAI,CAACqP,iBAAiB,GAAG,IAAI;QACjC,CAAC,MAAM;UACHrP,IAAI,CAACmP,kBAAkB,GAAGlO,CAAC,CAAE,6BAA8B,CAAC,CAACK,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;UAC1EvB,IAAI,CAACqP,iBAAiB,GAAG,KAAK;QAClC;MACJ;IACJ,CAAC;IAEDwK,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjC,IAAI7Z,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE,+BAAgC,CAAC,CAACc,IAAI,CACrC,YAAY;QACvB/B,IAAI,CAACuZ,wBAAwB,CAAEtY,CAAC,CAAE,IAAK,CAAE,CAAC;MAC3C,CACQ,CAAC;IACL,CAAC;IAEDoY,iCAAiC,EAAE,SAAAA,CAAUrP,KAAK,EAAEnL,SAAS,EAAE;MAC3D,IAAIib,mBAAmB,GAAG,GAAG,GAAG1C,oBAAoB,CAAEpN,KAAM,CAAC;MAC7D,IAAI+P,gBAAgB,GAAGlb,SAAS,CAACyY,MAAM,CAAC,CAAC,CAACrV,IAAI,CAAE,4BAA6B,CAAC,CAACJ,GAAG,CAAC,CAAC;MACpFZ,CAAC,CAAE,gCAAiC,CAAC,CAACK,IAAI,CAAEwY,mBAAmB,GAAG,IAAI,GAAGC,gBAAgB,GAAG,GAAI,CAAC;IACrG,CAAC;IAEDP,2BAA2B,EAAE,SAAAA,CAAU3a,SAAS,EAAE;MAC9CoC,CAAC,CAAE,iCAAkC,CAAC,CAAC+Y,IAAI,CAAE,SAAS,EAAE,KAAM,CAAC;MAC/D/Y,CAAC,CAAE,+BAAgC,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;MAC5DhC,CAAC,CAAEpC,SAAU,CAAC,CAACoD,IAAI,CAAE,iCAAkC,CAAC,CAAC+X,IAAI,CAAE,SAAS,EAAE,IAAK,CAAC;MAChFnb,SAAS,CAACqH,QAAQ,CAAE,QAAS,CAAC;MAC9BjF,CAAC,CAAE,wBAAyB,CAAC,CAAC+Y,IAAI,CAC9B,UAAU,EACV,UAAU/a,CAAC,EAAEgb,CAAC,EAAE;QAC3B,OAAO,CAAEA,CAAC;MACX,CACQ,CAAC;IACL,CAAC;IAEDL,sBAAsB,EAAE,SAAAA,CAAU/a,SAAS,EAAE;MACzC,IAAIsQ,kBAAkB,GAAGlO,CAAC,CAAE,sCAAuC,CAAC,CAACK,IAAI,CAAC,CAAC;MAC3EL,CAAC,CAAE,mCAAoC,CAAC,CAACK,IAAI,CAAE6N,kBAAmB,CAAC,CAAC9L,IAAI,CAAC,CAAC;IAC9E,CAAC;IAEDiV,yBAAyB,EAAE,SAAAA,CAAA,EAAY;MACnC,IAAItY,IAAI,GAAG,IAAI;MACf,IAAIgK,KAAK,GAAG,CAAC;MACb,IAAIkQ,SAAS,GAAGjZ,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,aAAc,CAAC,CAACX,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;MACjE,IAAIyV,gBAAgB,GAAG/V,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,4BAA6B,CAAC,CAACpC,MAAM,GAAG,CAAC;MAEpF,IAAImX,gBAAgB,IAAI,CAAEhX,IAAI,CAACqP,iBAAiB,EAAE;QAC9CrF,KAAK,GAAGqN,UAAU,CAAErX,IAAI,CAACmP,kBAAmB,CAAC;MACjD;MAEA,IAAInP,IAAI,CAACqP,iBAAiB,IAAI6K,SAAS,KAAK,EAAE,EAAE;QAC5ClQ,KAAK,GAAGoN,oBAAoB,CAAE8C,SAAU,CAAC,CAACta,OAAO,CAAE,KAAK,EAAE,EAAG,CAAC;MAClE;MAEA,OAAOoK,KAAK;IAChB,CAAC;IAEDwD,OAAO,EAAE,SAAAA,CAAA,EAAY;MACjB,OAAOvM,CAAC,CAAE,IAAI,CAACyL,mBAAoB,CAAC,CAAC7M,MAAM;IAC/C,CAAC;IAGDkY,cAAc,EAAE,SAAAA,CAAA,EAAY;MACxB,OAAO9W,CAAC,CAAE,qBAAsB,CAAC,CAACqF,EAAE,CAAE,UAAW,CAAC;IACtD,CAAC;IAED+R,WAAW,EAAE,SAAAA,CACT8B,iBAAiB,EACjB3C,iBAAiB,EACjB4C,eAAe,EACfpQ,KAAK,GAAG,IAAI,EACZsF,eAAe,GAAG,IAAI,EACtBF,wBAAwB,GAAG,KAAK,EAChC5B,OAAO,GAAG,KAAK,EACjB;MACE,IAAIxN,IAAI,GAAG,IAAI;MAEf,IAAIuC,SAAS,GAAG;QACZC,MAAM,EAAE,yBAAyB;QACjCgV,iBAAiB,EAAEA,iBAAiB;QACpC6C,KAAK,EAAEF,iBAAiB;QACxBnQ,KAAK,EAAEA,KAAK;QACZuM,UAAU,EAAE6D,eAAe;QAC3BhL,wBAAwB,EAAEA,wBAAwB;QAClD5B,OAAO,EAAEA,OAAO;QAChB8M,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MAEDta,IAAI,CAACua,uBAAuB,CAAC,CAAC;MAE9B,IAAK,CAAEva,IAAI,CAACqP,iBAAiB,EAAE;QAC3B9M,SAAS,CAAC+M,eAAe,GAAGA,eAAe;MAC/C;MACAkL,YAAY,CAACxa,IAAI,CAACya,kBAAkB,CAAC;MACrCza,IAAI,CAACya,kBAAkB,GAAGC,UAAU,CAChC,YAAY;QACRzZ,CAAC,CAACwB,IAAI,CACF;UACIC,IAAI,EAAE,MAAM;UACZf,IAAI,EAAEY,SAAS;UACfI,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAEC,QAAQ;UACb8X,KAAK,EAAE,SAAAA,CAAUhZ,IAAI,EAAE;YACnB,IAAI3B,IAAI,CAAC2P,eAAe,IAAIhO,IAAI,CAACiZ,UAAU,IAAIjZ,IAAI,CAACiZ,UAAU,KAAK,GAAG,EAAE;cACpE5a,IAAI,CAAC6a,uBAAuB,CAAClZ,IAAI,CAAC;cAClC;YACJ;YAEA,IAAIpB,MAAM,CAACua,mBAAmB,KAAKhQ,SAAS,EAAE;cAC1CvK,MAAM,CAACua,mBAAmB,CAACC,kBAAkB,CAAC,IAAI,CAAC;YACvD;YACA/a,IAAI,CAACgb,UAAU,CAACrZ,IAAI,CAACsZ,YAAY,CAACtZ,IAAI,CAAC;UAC3C,CAAC;UACDmB,OAAO,EAAE,SAAAA,CAAUnB,IAAI,EAAE;YACrB,IAAI3B,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;cACvB/X,IAAI,CAACqO,iBAAiB,CAAC,CAAC;YAC5B;YAEA,IAAI9N,MAAM,CAACua,mBAAmB,KAAKhQ,SAAS,EAAE;cAC1CvK,MAAM,CAACua,mBAAmB,CAACC,kBAAkB,CAAC,KAAK,CAAC;YACxD;YAEA,IACK/a,IAAI,CAAC2P,eAAe,IAAI,OAAOhO,IAAI,CAACiZ,UAAU,KAAK,WAAW,IAC/D,CAAC5a,IAAI,CAAC2P,eAAe,EACvB;cACE3P,IAAI,CAACkb,eAAe,CAAC,CAAC;cACtBja,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC;cAC5C7B,IAAI,CAACmb,wBAAwB,CAAC,CAAC;cAC/Bnb,IAAI,CAACob,iBAAiB,CAAC,CAAC;YAC5B;YAEA,IAAIpb,IAAI,CAAC2P,eAAe,EAAE;cACtB3P,IAAI,CAAC6S,4BAA4B,CAAC,CAAC;YACvC;YAEA7S,IAAI,CAACqb,uBAAuB,CAAC,CAAC;YAC9B;YACA,IAAIpa,CAAC,CAAC,mBAAmB,CAAC,CAACU,IAAI,CAAC,eAAe,CAAC,KAAK,kBAAkB,EAAE;cACrE,IAAI2Z,gBAAgB,GAAGra,CAAC,CAAC,iBAAiB,CAAC,CAACU,IAAI,CAAC,MAAM,CAAC;cACxDpB,MAAM,CAACiF,QAAQ,CAAC5F,OAAO,CAAC0b,gBAAgB,CAAC;YAC7C;UACJ;QACJ,CACJ,CAAC;MACL,CAAC,EACD,GACJ,CAAC;IACL,CAAC;IAEDf,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjCtZ,CAAC,CAAC,IAAI,CAACyP,0BAA0B,CAAC,CAACsJ,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;IAC7D,CAAC;IAEDqB,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjCpa,CAAC,CAAC,IAAI,CAACyP,0BAA0B,CAAC,CAACsJ,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;IAC9D,CAAC;IAED3L,iBAAiB,EAAE,SAAAA,CAAA,EAAY;MAC3B,IAAIrO,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE,IAAI,CAAC8O,2BAA4B,CAAC,CAAChO,IAAI,CACtC,YAAY;QACvBd,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAE,EAAG,CAAC;QACnBZ,CAAC,CAAE,4BAA6B,CAAC,CAACK,IAAI,CAAE,CAAE,CAAC;QAC3CL,CAAC,CAAEjB,IAAI,CAACmQ,gBAAiB,CAAC,CAAC7O,IAAI,CAAE,OAAQ,CAAC;MAC3C,CACQ,CAAC;IACL,CAAC;IAEDuZ,uBAAuB,EAAE,SAAAA,CAAUlZ,IAAI,EAAE;MACrC,IAAI4Z,WAAW,GAAGta,CAAC,CAAE,wBAAyB,CAAC;MAC/Csa,WAAW,CAACtY,WAAW,CAAE,0BAA2B,CAAC;MACrDhC,CAAC,CAAC,MAAM,CAAC,CAACgC,WAAW,CAAC,iBAAiB,CAAC;MACxC,IAAK,OAAOtB,IAAI,CAAC6Z,OAAO,KAAK1Q,SAAS,EAAG;QACrC7J,CAAC,CAAE,0BAA2B,CAAC,CAACK,IAAI,CAAEK,IAAI,CAAC6Z,OAAQ,CAAC;QACpDva,CAAC,CAAE,cAAe,CAAC,CAAC8M,KAAK,CAAE,MAAO,CAAC;MACvC;IACJ,CAAC;IAEDmN,eAAe,EAAE,SAAAA,CAAA,EAAY;MACzB,IAAIK,WAAW,GAAGta,CAAC,CAAE,wBAAyB,CAAC;MAC/C,IAAIwa,MAAM,GAAGF,WAAW,CAAC5Z,IAAI,CAAE,WAAY,CAAC;MAC5C,IAAI8Z,MAAM,KAAK,KAAK,IAAIA,MAAM,EAAE;QAC5BF,WAAW,CAAClV,WAAW,CAAE,0BAA2B,CAAC;QACrDpF,CAAC,CAAC,MAAM,CAAC,CAACoF,WAAW,CAAC,iBAAiB,CAAC;QACxCqU,UAAU,CACN,YAAY;UAC1Ba,WAAW,CAACtY,WAAW,CAAE,0BAA2B,CAAC;UACnChC,CAAC,CAAC,MAAM,CAAC,CAACgC,WAAW,CAAC,iBAAiB,CAAC;QAC3D,CAAC,EACc,KACJ,CAAC;MACL;IACJ,CAAC;IAEDyV,kBAAkB,EAAE,SAAAA,CAAA,EAAY;MAC5B,IAAI1Y,IAAI,GAAG,IAAI;MACfA,IAAI,CAAC4P,eAAe,GAAG,EAAE;MACzB3O,CAAC,CAACjB,IAAI,CAAC6Q,8BAA8B,CAAC,CAAC9O,IAAI,CAAE,YAAY;QAChE,IAAImR,YAAY,GAAGjS,CAAC,CAAE,IAAK,CAAC,CAAC4F,OAAO,CAAE,mCAAoC,CAAC;QAC3E,IAAI5F,CAAC,CAAE,IAAK,CAAC,CAACqF,EAAE,CAAE,UAAW,CAAC,IAAI,CAAErF,CAAC,CAAEiS,YAAa,CAAC,CAAC3G,QAAQ,CAAE,SAAU,CAAC,EAAE;UAC5E,IAAIlL,KAAK,GAAGJ,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAC,MAAM,CAAC;UAClCV,CAAC,CAAE,IAAK,CAAC,CAAC4F,OAAO,CAAE,sBAAuB,CAAC,CAAC5E,IAAI,CAAE,2BAA4B,CAAC,CAACiB,IAAI,CAAE,QAAQ,GAAGjC,CAAC,CAAC,IAAI,CAAC,CAACY,GAAG,CAAC,CAAE,CAAC;UAChH7B,IAAI,CAAC4P,eAAe,CAAClO,IAAI,CAAEL,KAAM,CAAC;QACnC;MACD,CACQ,CAAC;IACL,CAAC;IAED2Q,mBAAmB,EAAE,SAAAA,CAAA,EAAY;MAC7B,IAAIhS,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,QAAQ,EAAEpB,IAAI,CAAC6Q,8BAA8B,EAAE,YAAY;QACtE7Q,IAAI,CAACuS,oBAAoB,CAAC,CAAC;QAC3B,IAAIvS,IAAI,CAACwN,OAAO,CAAC,CAAC,EAAE;UAChBvM,CAAC,CAAC,IAAI,CAAC,CAACqW,MAAM,CAAC,CAAC,CAACA,MAAM,CAAC,CAAC,CAACzQ,OAAO,CAAC,wCAAwC,CAAC,CAAC5E,IAAI,CAACjC,IAAI,CAAC0M,mBAAmB,CAAC,CAACrF,IAAI,CAAC,YAAY,EAAEpG,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,MAAM,CAAC,CAAC;QACvJ;QACA,IAAI3B,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;UACvB/X,IAAI,CAACuY,aAAa,CAAC,CAAC;UACpBvY,IAAI,CAAC0b,8BAA8B,CAAC,CAAC;UACrC,IAAIC,qBAAqB,GAAG1a,CAAC,CAAC,4BAA4B,CAAC,CAACgB,IAAI,CAAC,kBAAkB,CAAC,CAACN,IAAI,CAAC,WAAW,CAAC;UACtG3B,IAAI,CAACoW,oBAAoB,CAACuF,qBAAqB,CAAC;QACpD;MACJ,CAAC,CAAC;IACN,CAAC;IAEDpJ,oBAAoBA,CAAA,EAAG;MACnB,IAAIvS,IAAI,GAAG,IAAI;MACf,IAAI,CAAC0Y,kBAAkB,CAAC,CAAC;MACzB,IAAI,IAAI,CAACxH,WAAW,CAAC,CAAC,IAAI,IAAI,CAACkH,mBAAmB,CAAC,CAAC,EAAE;QAClD,IAAIwD,eAAe,GAAG9C,QAAQ,CAAE7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAE,CAAC;QAC7E,IAAI,CAACqX,gBAAgB,CAAE,IAAI,CAACtJ,eAAe,EAAEgM,eAAgB,CAAC;MAClE;IACJ,CAAC;IAEDF,8BAA8B,EAAE,SAAAA,CAAA,EAAY;MACxC,IAAI1b,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE,IAAI,CAACsP,sBAAuB,CAAC,CAACxO,IAAI,CACjC,YAAY;QACvB,IAAId,CAAC,CAAE,IAAK,CAAC,CAACqF,EAAE,CAAE,UAAW,CAAC,EAAE;UAC/BtG,IAAI,CAACwQ,0BAA0B,GAAGvP,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAE,WAAY,CAAC;QAChE;MACD,CACQ,CAAC;IACL,CAAC;IAEDgX,YAAY,EAAE,SAAAA,CAAA,EAAY;MACtB,IAAI3Y,IAAI,GAAG,IAAI;MACf,IAAImT,OAAO,GAAG,KAAK;MACnBnT,IAAI,CAAC4P,eAAe,GAAG,EAAE;MACzB3O,CAAC,CAAE,sBAAuB,CAAC,CAACc,IAAI,CAC5B,YAAY;QACvBoR,OAAO,GAAGlS,CAAC,CAAE,IAAK,CAAC,CAACgB,IAAI,CAAE,iBAAkB,CAAC;QAC7C,IAAK,CAAEhB,CAAC,CAAE,IAAK,CAAC,CAACsL,QAAQ,CAAE,SAAU,CAAC,IAAI4G,OAAO,CAACxR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAG;UACrD3B,IAAI,CAAC4P,eAAe,CAAClO,IAAI,CAACyR,OAAO,CAACxR,IAAI,CAAC,MAAM,CAAC,CAAC;UAC/C,IAAI3B,IAAI,CAACwN,OAAO,CAAC,CAAC,EAAE;YAChBvM,CAAC,CAAC,IAAI,CAAC,CAACqW,MAAM,CAAC,CAAC,CAACrV,IAAI,CAACjC,IAAI,CAAC0M,mBAAmB,CAAC,CAACrF,IAAI,CAAC,WAAW,EAAE8L,OAAO,CAACxR,IAAI,CAAC,MAAM,CAAC,CAAC;UAC3F;QACJ;MAChB,CACQ,CAAC;MAED3B,IAAI,CAAC4P,eAAe,GAAG,CAAC,GAAG,IAAIiM,GAAG,CAAE7b,IAAI,CAAC4P,eAAgB,CAAC,CAAC;IAC/D,CAAC;IAEDkM,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjC,IAAI9b,IAAI,GAAG,IAAI;MACf,IAAI+b,QAAQ,GAAG9a,CAAC,CAAE,IAAK,CAAC;MACxB,IAAIwW,mBAAmB,GAAGxW,CAAC,CAAE,sBAAuB,CAAC;MACrD,IAAI,CAAC0X,YAAY,CAAC,CAAC;MAEnB,IAAI,IAAI,CAAC/I,eAAe,CAAC/P,MAAM,KAAK4X,mBAAmB,CAAC5X,MAAM,EAAE;QAC5D,IAAI,CAACmc,iBAAiB,GAAG,IAAI;MACjC;MAEA,IAAI,IAAI,CAACA,iBAAiB,IAAI,IAAI,CAAC5D,mBAAmB,CAAC,CAAC,EAAE;QACtDpY,IAAI,CAACua,uBAAuB,CAAC,CAAC;QAC9B,IAAI,IAAI,CAACrJ,WAAW,CAAC,CAAC,EAAE;UACpB,IAAI0K,eAAe,GAAG9C,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC;UAC3E,IAAI,IAAI,CAACkW,cAAc,CAAC,CAAC,EAAE;YACvB,IAAI,CAACQ,aAAa,CAAC,CAAC;UACxB,CAAC,MAAM;YACH,IAAI,IAAI,CAACH,mBAAmB,CAAC,CAAC,IAAI,CAAE,IAAI,CAACL,cAAc,CAAC,CAAC,EAAE;cACvD,IAAI,CAACmB,gBAAgB,CAAElZ,IAAI,CAAC4P,eAAe,EAAEgM,eAAe,EAAEG,QAAS,CAAC;YAC5E;UACJ;QACJ;MACJ,CAAC,MAAM;QACH,IAAI,CAAC1M,iBAAiB,GAAG,IAAI;QAC7B,IAAI,CAAC4M,sBAAsB,CAAC,CAAC;QAE7B,IAAI,OAAOjc,IAAI,CAACuP,cAAc,CAAC2M,0BAA0B,KAAK,WAAW,EAAE;UACvE,IAAIC,eAAe,GAAG,IAAI,CAAC5M,cAAc,CAAC2M,0BAA0B,CAACE,SAAS,CAAC7F,UAAU;UACzF,IAAI,CAAC8F,0BAA0B,CAC3B,IAAI,CAAC9M,cAAc,CAAC+M,eAAe,EACnCH,eAAe,CAAC,cAAc,CAAC,GAAGA,eAAe,CAAC,aAAa,CAAC,EAChEA,eAAe,CAAC,aAAa,CAAC,GAC5B,KAAK,GAAGA,eAAe,CAAC,aAAa,CAAC,GACtC,KAAK,GAAGA,eAAe,CAAC,cAAc,CAAC,GACvCA,eAAe,CAAC,WAAW,CACjC,CAAC;QACL;MACJ;IACJ,CAAC;IAEDvF,yBAAyB,EAAE,SAAAA,CAAUpH,OAAO,EAAE+M,iBAAiB,EAAE;MAC7D,IAAIvc,IAAI,GAAG,IAAI;MACf,IAAIuC,SAAS,GAAG;QACZC,MAAM,EAAE,0CAA0C;QAClDga,OAAO,EAAEvb,CAAC,CAAC,aAAa,CAAC,CAACY,GAAG,CAAC,CAAC;QAC/B4a,QAAQ,EAAEjN,OAAO;QACjBkN,cAAc,EAAEH,iBAAiB;QACjCjC,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MAGDE,YAAY,CAACxa,IAAI,CAAC2c,qBAAqB,CAAC;MACxC3c,IAAI,CAAC2c,qBAAqB,GAAGjC,UAAU,CACnC,YAAY;QACRzZ,CAAC,CAACwB,IAAI,CAAC;UACCC,IAAI,EAAE,MAAM;UACZf,IAAI,EAAEY,SAAS;UACfI,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAEC,QAAQ;UACb8X,KAAK,EAAE,SAAAA,CAAUiC,GAAG,EAAEC,MAAM,EAAElC,KAAK,EAAE,CACrC,CAAC;UACD7X,OAAO,EAAE,SAAAA,CAAUC,QAAQ,EAAE;YACzB/C,IAAI,CAAC8c,qBAAqB,CAAC/Z,QAAQ,CAAC;UACxC;QACJ,CACJ,CAAC;MACL,CAAC,EACD,GACJ,CAAC;IACL,CAAC;IAED+Z,qBAAqB,EAAE,SAAAA,CAAU/Z,QAAQ,EAAE;MACvC,IAAI/C,IAAI,GAAG,IAAI;MACfiB,CAAC,CAACc,IAAI,CACFgB,QAAQ,CAACpB,IAAI,EACb,UAAUK,GAAG,EAAEX,KAAK,EAAE;QAClB,IACIA,KAAK,CAACkV,UAAU,IAChB,OAAOlV,KAAK,CAACkV,UAAU,CAAC,yBAAyB,CAAC,KAAK,WAAW,IAClEc,UAAU,CAAChW,KAAK,CAACkV,UAAU,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,EAC7D;UACEtV,CAAC,CAACjB,IAAI,CAACoQ,2BAA2B,GAAGpO,GAAG,CAAC,CAACqB,IAAI,CAAC,CAAC;UAChDpC,CAAC,CAACjB,IAAI,CAACoQ,2BAA2B,GAAGpO,GAAG,CAAC,CAACV,IAAI,CAAC,KAAK,GAAG+V,UAAU,CAAChW,KAAK,CAACkV,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACnH,CAAC,MAAM;UACHtV,CAAC,CAACjB,IAAI,CAACoQ,2BAA2B,GAAGpO,GAAG,CAAC,CAACoC,IAAI,CAAC,CAAC;QACpD;QAEA,IAAI2Y,SAAS,GAAG/a,GAAG,CAACpC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;QACvC,IAAI,OAAOyB,KAAK,CAAC2b,SAAS,KAAK,WAAW,IAAI3b,KAAK,CAAC2b,SAAS,CAACzG,UAAU,EAAE;UACtE,IACIlV,KAAK,CAAC2b,SAAS,CAACzG,UAAU,CAAC,cAAc,CAAC,IAC1ClV,KAAK,CAAC2b,SAAS,CAACzG,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,EAC9C;YACEtV,CAAC,CAACjB,IAAI,CAACqQ,iBAAiB,GAAG0M,SAAS,CAAC,CAACzb,IAAI,CAAC,YAAY,CAAC;YACxD,IAAID,KAAK,CAAC2b,SAAS,CAACzG,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;cAC9CtV,CAAC,CAACjB,IAAI,CAACsQ,cAAc,GAAGyM,SAAS,CAAC,CAACzb,IAAI,CAACD,KAAK,CAAC2b,SAAS,CAACzG,UAAU,CAAC,OAAO,CAAC,CAAC;YAChF;UACJ,CAAC,MAAM;YACHtV,CAAC,CAACjB,IAAI,CAACqQ,iBAAiB,GAAG0M,SAAS,CAAC,CAACzb,IAAI,CAACtB,IAAI,CAAC+O,oBAAoB,CAAC1N,KAAK,CAAC2b,SAAS,CAACzG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;UAC9G;QACJ;MACJ,CACJ,CAAC;IACL,CAAC;IAED2C,gBAAgB,EAAE,SAAAA,CAAU1J,OAAO,EAAEoM,eAAe,GAAG,IAAI,EAAEG,QAAQ,GAAG,IAAI,EAAEvO,OAAO,GAAG,KAAK,EAAEkP,cAAc,GAAG,KAAK,EAAE;MACnH,IAAI1c,IAAI,GAAG,IAAI;MACf,IAAIuC,SAAS,GAAG;QACZC,MAAM,EAAE,iCAAiC;QACzCga,OAAO,EAAEvb,CAAC,CAAC,aAAa,CAAC,CAACY,GAAG,CAAC,CAAC;QAC/B4a,QAAQ,EAAEjN,OAAO;QACjBqG,OAAO,EAAE,IAAI,CAAC9C,WAAW,CAAC,CAAC;QAC3B6I,eAAe,EAAEA,eAAe;QAChCpO,OAAO,EAAEA,OAAO;QAChBkP,cAAc,EAAEA,cAAc;QAC9BlX,QAAQ,EAAEjF,MAAM,CAACiF,QAAQ,CAACqC,IAAI;QAC9ByS,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MAEDE,YAAY,CAACxa,IAAI,CAACid,qBAAqB,CAAC;MACxChc,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACsJ,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;MACzD/Y,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAAChF,UAAU,CAAC,MAAM,CAAC;MACrD1L,IAAI,CAACid,qBAAqB,GAAGvC,UAAU,CACnC,YAAY;QACRzZ,CAAC,CAACwB,IAAI,CACF;UACIC,IAAI,EAAE,MAAM;UACZf,IAAI,EAAEY,SAAS;UACfI,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAEC,QAAQ;UACb8X,KAAK,EAAE,SAAAA,CAAUiC,GAAG,EAAEC,MAAM,EAAElC,KAAK,EAAE;YACjC1Z,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACsJ,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;YACzD/Y,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACrJ,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;UAC7D,CAAC;UACDvE,OAAO,EAAE,SAAAA,CAAUC,QAAQ,EAAE;YACzB,IAAIpB,IAAI,GAAGoB,QAAQ,CAACpB,IAAI,CAACub,MAAM;YAC/B,IAAK,OAAOvb,IAAI,KAAK,WAAW,EAAG;cAC/B;YACJ;YAEAV,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAAChF,UAAU,CAAC,MAAM,CAAC;YACrD,IAAI1L,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;cACvB9W,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAAChF,UAAU,CAAC,UAAU,CAAC;cACzD1L,IAAI,CAACmd,gBAAgB,CAACxb,IAAI,CAAC;YAC/B;YAEA,IAAI,OAAOA,IAAI,KAAKmJ,SAAS,IAAInJ,IAAI,CAACyb,aAAa,EAAE;cACjDnc,CAAC,CAAC,sBAAsB,CAAC,CAACiC,IAAI,CAACvB,IAAI,CAACyb,aAAa,CAAC;YACtD;YAEApd,IAAI,CAACwP,OAAO,GAAG7N,IAAI;YACnB,IAAIoa,QAAQ,EAAE;cACV/b,IAAI,CAACqd,iBAAiB,CAAC1b,IAAI,EAAEoa,QAAQ,CAAC;YAC1C,CAAC,MAAM;cACH/b,IAAI,CAACqd,iBAAiB,CAAC1b,IAAI,CAAC;YAChC;YAEA,IAAIqV,gBAAgB,GAAG/V,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,4BAA4B,CAAC,CAACpC,MAAM,GAAG,CAAC;YAEhF,IAAI,CAACmX,gBAAgB,EAAE;cACnBhX,IAAI,CAACqP,iBAAiB,GAAG,IAAI;YACjC;;YAEA;YACA,IAAI,OAAO1N,IAAI,CAACya,SAAS,KAAK,WAAW,EAAE;cACvC,IAAID,eAAe,GAAGxa,IAAI,CAACya,SAAS,CAAC7F,UAAU;cAC/CvW,IAAI,CAACqc,0BAA0B,CAC3B1a,IAAI,CAAC4U,UAAU,CAAC+G,GAAG,EACnBnB,eAAe,CAAC,cAAc,CAAC,GAAGA,eAAe,CAAC,aAAa,CAAC,EAChEA,eAAe,CAAC,aAAa,CAAC,GAC5B,KAAK,GAAGA,eAAe,CAAC,aAAa,CAAC,GACtC,KAAK,GAAGA,eAAe,CAAC,cAAc,CAAC,GACvCA,eAAe,CAAC,WAAW,CACjC,CAAC;YACL;;YAEA;YACAlb,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACsJ,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;;YAE1D;YACA,IAAI,OAAOrY,IAAI,KAAKmJ,SAAS,EAAE;cAC3B7J,CAAC,CAAC,oBAAoB,CAAC,CAACiC,IAAI,CAACjC,CAAC,CAACU,IAAI,CAAC4b,eAAe,CAAC,CAACra,IAAI,CAAC,CAAC,CAAC;cAC5DlD,IAAI,CAAC4S,mBAAmB,CAAC,CAAC;YAC9B;YAEA,IAAI,CAAC5S,IAAI,CAAC+X,cAAc,CAAC,CAAC,IAAI,CAAC/X,IAAI,CAAC8Q,qBAAqB,EAAE;cACvD;cACA9Q,IAAI,CAACyQ,YAAY,GAAG9O,IAAI,CAAC6b,aAAa,CAAC/M,YAAY;cACnD,IAAIzQ,IAAI,CAAC2P,eAAe,EAAE;gBACtBjJ,YAAY,CAACiB,OAAO,CAAC,cAAc,EAAEhG,IAAI,CAAC6b,aAAa,CAAC/M,YAAY,CAAC;gBACrE,IAAI4G,UAAU,CAAC1V,IAAI,CAAC6b,aAAa,CAACtT,SAAS,CAAC,KAAKmN,UAAU,CAAC1V,IAAI,CAAC6b,aAAa,CAACrT,SAAS,CAAC,EAAE;kBACvF,IAAIsT,kBAAkB,GAAG,QAAQ,GAAGrG,oBAAoB,CAACzV,IAAI,CAAC6b,aAAa,CAACtT,SAAS,CAAC,GAAG,OAAO,GAAGkN,oBAAoB,CAACzV,IAAI,CAAC6b,aAAa,CAACrT,SAAS,CAAC;kBACrJlJ,CAAC,CAAC,8BAA8B,CAAC,CAACK,IAAI,CAACmc,kBAAkB,CAAC;gBAC9D;gBAEAxc,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAACF,IAAI,CAAC6b,aAAa,CAAC/M,YAAY,CAAC;gBAC1ExP,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,uBAAuB,CAAC,CAAC+X,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;cACpE;YACJ;UACJ;QACJ,CACJ,CAAC;MACL,CAAC,EACD,GACJ,CAAC;IAEL,CAAC;IAEDmD,gBAAgB,EAAE,SAAAA,CAAUxb,IAAI,EAAE;MAC9B,IAAI,CAACmO,kBAAkB,GAAGnO,IAAI;MAC9B,IAAI,OAAOA,IAAI,KAAK,WAAW,EAAE;QAC7BV,CAAC,CAAE,IAAI,CAACkP,gBAAiB,CAAC,CAAC7O,IAAI,CAAE,GAAG,GAAG8V,oBAAoB,CAAE,IAAI,CAACtH,kBAAkB,CAACK,gBAAiB,CAAE,CAAC;QACzGlP,CAAC,CAAE,gCAAiC,CAAC,CAACK,IAAI,CAAE,GAAG,GAAG,IAAI,CAACwO,kBAAkB,CAACK,gBAAiB,CAAC;MAChG;IACJ,CAAC;IAGD8B,wBAAwB,EAAE,SAAAA,CAAA,EAAY;MAClC,IAAIjS,IAAI,GAAG,IAAI;MACf,IAAI0d,WAAW,GAAGzc,CAAC,CAAE,2BAA4B,CAAC;MAClD,IAAIwb,QAAQ,GAAGiB,WAAW,CAAC/b,IAAI,CAAE,UAAW,CAAC;MAC7C,IAAI8a,QAAQ,KAAK,WAAW,EAAE;QAC1Bxb,CAAC,CAAE,wBAAyB,CAAC,CAACc,IAAI,CAC9B,YAAY;UAC1B/B,IAAI,CAAC2d,aAAa,CAAE1c,CAAC,CAAE,IAAK,CAAC,EAAEwb,QAAQ,EAAE,CAAC,CAAE,CAAC;QAC9C,CACW,CAAC;QACD,IAAImB,cAAc,GAAG,KAAK;QAC1BC,UAAU,CAACC,IAAI,CAAC,sBAAsB,EAAE;UACpC1c,EAAE,EAAE;YACA2c,IAAI,EAAE,SAAAA,CAAA,EAAY;cACdH,cAAc,GAAG,IAAI;YACzB,CAAC;YACDI,MAAM,EAAE,SAAAA,CAAA,EAAY;cAChB,IAAIJ,cAAc,EAAE;gBAChB5d,IAAI,CAAC8b,uBAAuB,CAAC,CAAC;gBAC9B,IAAI9b,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;kBACvB/X,IAAI,CAACuY,aAAa,CAAC,CAAC;kBACpBvY,IAAI,CAAC0b,8BAA8B,CAAC,CAAC;kBACrC1b,IAAI,CAACoW,oBAAoB,CAACpW,IAAI,CAACwQ,0BAA0B,CAAC;gBAC9D;gBAEAoN,cAAc,GAAG,KAAK;cAC1B;YACJ;UAAC;QACT,CAAC,CAAC;MACN;MAEA3c,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,QAAQ,EACR,sBAAsB,EACtB,YAAY;QACvB,IAAI6c,QAAQ,GAAGhd,CAAC,CAAE,sBAAuB,CAAC;QAC1Cgd,QAAQ,CAAClc,IAAI,CACM,YAAY;UACR,IAAImc,mBAAmB,GAAG,EAAE;YAC5BC,mBAAmB,GAAG,EAAE;UACxB,IAAIC,YAAY,GAAGnd,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAE,WAAY,CAAC;UAChDsc,QAAQ,CAAClc,IAAI,CACT,YAAY;YACR,IAAId,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;cACxB,IAAIuc,YAAY,KAAKnd,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAE,WAAY,CAAC,EAAE;gBAChDwc,mBAAmB,CAACld,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAE,WAAY,CAAC,CAAC,GAAGV,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAC;cACxE;cACAqc,mBAAmB,CAACjd,CAAC,CAAE,IAAK,CAAC,CAACU,IAAI,CAAE,WAAY,CAAC,CAAC,GAAGV,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAC;YACxE;UACJ,CACJ,CAAC;UAED,IAAIwc,kBAAkB,GAAGre,IAAI,CAACse,eAAe,CAAEH,mBAAoB,CAAC;UACpEne,IAAI,CAAC2d,aAAa,CAAE1c,CAAC,CAAE,IAAK,CAAC,EAAEod,kBAAkB,EAAEH,mBAAoB,CAAC;QAC5E,CACnB,CAAC;MACF,CACQ,CAAC;IACL,CAAC;IAEDhN,WAAW,EAAE,SAAAA,CAAA,EAAY;MACrB,IAAIuL,QAAQ,GAAGxb,CAAC,CAAE,wBAAyB,CAAC,CAACU,IAAI,CAAE,YAAa,CAAC;MACjE,OAAOoP,OAAO,CAAE0L,QAAQ,CAAC5c,MAAO,CAAC;IACrC,CAAC;IAED8d,aAAa,EAAE,SAAAA,CAAUY,OAAO,EAAE9B,QAAQ,EAAEyB,mBAAmB,EAAE;MAC7D,IAAI3H,UAAU,GAAGtV,CAAC,CAAE,wBAAyB,CAAC,CAACU,IAAI,CAAE,YAAa,CAAC;MACnE,IAAI6c,oBAAoB,GAAG,CAAC,CAAC;MAE7B,KAAKvf,CAAC,IAAIwd,QAAQ,EAAE;QAChB,IAAIjN,OAAO,GAAGiN,QAAQ,CAACxd,CAAC,CAAC;QACzB,KAAKwf,CAAC,IAAIlI,UAAU,EAAE;UAClB,IAAImI,SAAS,GAAGnI,UAAU,CAACkI,CAAC,CAAC;UAC7B,IAAIpd,KAAK,GAAGsK,MAAM,CAACR,MAAM,CAAEqE,OAAO,CAACkP,SAAS,CAAE,CAAC,CAAC,CAAC,CAAC;UAClD,IAAIrd,KAAK,KAAKyJ,SAAS,EAAE;YACrB,IAAI0T,oBAAoB,CAACE,SAAS,CAAC,KAAK5T,SAAS,EAAE;cAC/C0T,oBAAoB,CAACE,SAAS,CAAC,GAAG,EAAE;YACxC;YACAF,oBAAoB,CAACE,SAAS,CAAC,CAACrd,KAAK,CAACsd,IAAI,CAAC,GAAGtd,KAAK;UACvD;QACJ;MACJ;MAEA,IAAIkd,OAAO,CAAC1e,MAAM,GAAG,CAAC,EAAE;QACpB,IAAI6e,SAAS,GAAGH,OAAO,CAAC5c,IAAI,CAAE,WAAY,CAAC;QAC3C,IAAIid,qBAAqB,GAAG3d,CAAC,CAAE,wBAAyB,CAAC,CAACY,GAAG,CAAC,CAAC;QAC/D0c,OAAO,CAACrb,IAAI,CAAE,uDAAuD,GAAG0b,qBAAqB,GAAG,WAAY,CAAC;QAC7G,IAAIC,eAAe,GAAG,EAAE;QACxBlT,MAAM,CAACR,MAAM,CAAEqT,oBAAoB,CAACE,SAAS,CAAE,CAAC,CAACjV,IAAI,CAAE,IAAI,CAACqV,aAAc,CAAC,CAAC1T,OAAO,CAC/E,UAAUoE,OAAO,EAAE;UACjCqP,eAAe,CAACnd,IAAI,CAAE8N,OAAO,CAACmP,IAAK,CAAC;QACrC,CACW,CAAC;QAGDE,eAAe,CAACzT,OAAO,CACnB,UAAUnM,CAAC,EAAE;UAC3B,IAAI8f,eAAe,GAAGP,oBAAoB,CAACE,SAAS,CAAC,CAACzf,CAAC,CAAC,CAAC0f,IAAI;UAC7D,IAAIK,eAAe,GAAGR,oBAAoB,CAACE,SAAS,CAAC,CAACzf,CAAC,CAAC,CAACggB,IAAI;UAC7D,IAAIC,cAAc,GAAG,EAAE;UACvB,IAAIC,mBAAmB,GAAG,EAAE;;UAE5B;UACA,IAAIX,oBAAoB,CAACE,SAAS,CAAC,CAACzf,CAAC,CAAC,CAACmgB,KAAK,IAAItU,SAAS,EAAE;YAC1D,MAAMuU,GAAG,GAAGlgB,QAAQ,CAACmgB,eAAe,CAAE,4BAA4B,EAAE,KAAM,CAAC;YAC3ED,GAAG,CAAC7f,YAAY,CAAE,OAAO,EAAE,KAAM,CAAC;YAClC6f,GAAG,CAAC7f,YAAY,CAAE,QAAQ,EAAE,KAAM,CAAC;YACnC6f,GAAG,CAAC/f,KAAK,CAACigB,eAAe,GAAG,OAAO;YAEnC,MAAMC,IAAI,GAAGrgB,QAAQ,CAACmgB,eAAe,CAAE,4BAA4B,EAAE,MAAO,CAAC;YAC7EE,IAAI,CAAChgB,YAAY,CAAE,OAAO,EAAE,MAAO,CAAC;YACpCggB,IAAI,CAAChgB,YAAY,CAAE,QAAQ,EAAE,MAAO,CAAC;YACrCggB,IAAI,CAAChgB,YAAY,CAAE,MAAM,EAAEgf,oBAAoB,CAACE,SAAS,CAAC,CAACzf,CAAC,CAAC,CAACmgB,KAAM,CAAC;YACrEC,GAAG,CAACI,WAAW,CAAED,IAAK,CAAC;YAEvB,MAAME,OAAO,GAAG,IAAIC,aAAa,CAAC,CAAC,CAACC,iBAAiB,CAAEP,GAAI,CAAC;YAC5D,MAAMQ,SAAS,GAAGC,IAAI,CAAEJ,OAAQ,CAAC;YACjC,MAAMK,OAAO,GAAG,4BAA4B,GAAGF,SAAS;YACxDX,cAAc,IAAI,eAAe,GAAGa,OAAO,GAAG,GAAG;UAClD;UACA,IAAIvB,oBAAoB,CAACE,SAAS,CAAC,CAACzf,CAAC,CAAC,CAAC+gB,KAAK,KAAKlV,SAAS,EAAE;YAC3DoU,cAAc,IAAI,eAAe,GAAGV,oBAAoB,CAACE,SAAS,CAAC,CAACzf,CAAC,CAAC,CAAC+gB,KAAK,GAAG,GAAG;UACnF;UAEA,IAAIC,WAAW,GAAG/B,mBAAmB,CAACQ,SAAS,CAAC,KAAKK,eAAe,IAAIP,oBAAoB,CAACE,SAAS,CAAC,CAACzf,CAAC,CAAC,CAACihB,OAAO;UAClH3B,OAAO,CAAC4B,MAAM,CAAE,uDAAuD,GAAGhB,mBAAmB,GAAG,eAAe,GAAGH,eAAe,GAAG,YAAY,GAAGD,eAAe,GAAG,GAAG,IAAIkB,WAAW,GAAG,WAAW,GAAG,EAAE,CAAC,GAAGf,cAAc,GAAG,GAAG,GAAGH,eAAe,GAAG,WAAY,CAAC;QACrQ,CACW,CAAC;MACL;IACJ,CAAC;IAEDD,aAAa,EAAE,SAAAA,CAAUsB,CAAC,EAAEC,CAAC,EAAE;MAC3B,OAAOD,CAAC,CAAC3W,IAAI,GAAG4W,CAAC,CAAC5W,IAAI;IAC1B,CAAC;IAED6U,eAAe,EAAE,SAAAA,CAAUJ,mBAAmB,EAAE;MAC5C,IAAIzB,QAAQ,GAAGxb,CAAC,CAAE,wBAAyB,CAAC,CAACU,IAAI,CAAE,UAAW,CAAC;QAC3D2e,iBAAiB,GAAG,EAAE;MAC1B,KAAKrhB,CAAC,IAAIwd,QAAQ,EAAE;QAChB,IAAI8D,YAAY,GAAG,IAAI;QACvB,KAAK,IAAI7B,SAAS,IAAIR,mBAAmB,EAAE;UACvC,IAAI,OAAOzB,QAAQ,CAACxd,CAAC,CAAC,CAACyf,SAAS,CAAC,CAACR,mBAAmB,CAACQ,SAAS,CAAC,CAAC,KAAK,WAAW,EAAE;YAC/E6B,YAAY,GAAG,KAAK;YACpB;UACJ;QACJ;QACA,IAAIA,YAAY,EAAE;UACdD,iBAAiB,CAAC5e,IAAI,CAAE+a,QAAQ,CAACxd,CAAC,CAAE,CAAC;QACzC;MACJ;MAEA,OAAOqhB,iBAAiB;IAC5B,CAAC;IAEDjP,eAAe,EAAE,SAAAA,CAAUC,IAAI,EAAE;MAC7B,IAAIA,IAAI,EAAE;QACN,IAAIA,IAAI,GAAGA,IAAI;QAEfrQ,CAAC,CAAE,YAAa,CAAC,CAACuf,OAAO,CACrB;UACdC,SAAS,EAAExf,CAAC,CAAEqQ,IAAK,CAAC,CAACoP,MAAM,CAAC,CAAC,CAACC;QAChB,CAAC,EACD,IAAI,EACJ,OACJ,CAAC;MACL;IACJ,CAAC;IAED;AACR;AACA;AACA;IACQzI,6BAA6B,EAAE,SAAAA,CAAA,EAAY;MACvC,IAAIhX,QAAQ,CAACC,kBAAkB,KAAK,EAAE,EAAE;QACpC,IAAI0H,WAAW,GAAGtI,MAAM,CAACiF,QAAQ,CAACkD,QAAQ,CAAC9I,OAAO,CAAE,MAAM,EAAE,EAAG,CAAC;QAChE,IAAIiJ,WAAW,CAAC+X,QAAQ,CAAE1f,QAAQ,CAAC2f,YAAa,CAAC,EAAE;UAC/C,IAAI7gB,IAAI,GAAG,IAAI;UACf,IAAIiP,OAAO,GAAGjP,IAAI,CAACwP,OAAO;UAC1B,IAAIxF,KAAK,GAAGiF,OAAO,CAACsH,UAAU,CAACvM,KAAK;UACpC,IAAIsT,GAAG,GAAGrO,OAAO,CAACsH,UAAU,CAAC+G,GAAG;UAChC;AACpB;AACA;UACoB,IAAI5H,KAAK,GAAGzG,OAAO,CAACsH,UAAU,CAAC+G,GAAG;UAClC,IAAIpG,UAAU,GAAGjI,OAAO,CAACsH,UAAU,CAAC,YAAY,CAAC;UACjD,IAAIuK,iBAAiB,GAAG7R,OAAO,CAAC6R,iBAAiB;UAEjDtf,IAAI,CACA,OAAO,EACP,aAAa,EACb;YACjB,gBAAgB,EAAE,mBAAmB;YACrC,OAAO,EAAE,CACY;cACI,IAAI,EAAEsf,iBAAiB;cACvB,MAAM,EAAEpL,KAAK;cACb;cACA,SAAS,EAAE4H,GAAG;cACd,OAAO,EAAEtd,IAAI,CAAC+gB,gBAAgB,CAAE/W,KAAK,EAAEkN,UAAW,CAAC;cACnD,UAAU,EAAE4B,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC;YACzF,CAAC;UAEgB,CACJ,CAAC;QACL;MACJ;IACJ,CAAC;IAED;AACR;AACA;IACQkQ,sCAAsC,EAAE,SAAAA,CAAA,EAAY;MAChD,IAAI/R,IAAI,GAAG,IAAI;MACf,IAAIkB,QAAQ,CAACC,kBAAkB,KAAK,EAAE,EAAE;QACpC,IAAI0H,WAAW,GAAGtI,MAAM,CAACiF,QAAQ,CAACkD,QAAQ,CAAC9I,OAAO,CAAE,MAAM,EAAE,EAAG,CAAC;QAChE,IAAIiJ,WAAW,CAAC+X,QAAQ,CAAE1f,QAAQ,CAAC2f,YAAa,CAAC,EAAE;UAC/C,IAAIG,YAAY,GAAGlI,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC;UAExEZ,CAAC,CAAE,6CAA8C,CAAC,CAACG,EAAE,CACjD,OAAO,EACP,YAAY;YAC7B,IAAI6N,OAAO,GAAGjP,IAAI,CAACwP,OAAO;YAE1B,IAAIxF,KAAK,GAAGiF,OAAO,CAACsH,UAAU,CAACvM,KAAK;YACpC,IAAIsT,GAAG,GAAGrO,OAAO,CAACsH,UAAU,CAAC+G,GAAG;YAChC;AACP;AACA;YACO,IAAI5H,KAAK,GAAGzG,OAAO,CAACsH,UAAU,CAAC+G,GAAG;YAClC,IAAIpG,UAAU,GAAGjI,OAAO,CAACsH,UAAU,CAAC,YAAY,CAAC;YACjD,IAAIuK,iBAAiB,GAAG7R,OAAO,CAAC6R,iBAAiB;YAEjDtf,IAAI,CACqB,OAAO,EACP,yBAAyB,EACzB;cACvB,gBAAgB,EAAE,iBAAiB;cACnC,OAAO,EAAE,CACT;gBACC,IAAI,EAAEsf,iBAAiB;gBACvB,MAAM,EAAEpL,KAAK;gBACb,KAAK,EAAE4H,GAAG;gBACV,OAAO,EAAEtd,IAAI,CAAC+gB,gBAAgB,CAAE/W,KAAK,EAAEkN,UAAW,CAAC;gBACnD,cAAc,EAAE4B,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAE,CAAC;gBACtE,cAAc,EAAEmf;cACjB,CAAC;YAEsB,CACzB,CAAC;UAEF,CACc,CAAC;QACL;MACJ;IACJ,CAAC;IAED;AACR;AACA;AACA;IACQC,+BAA+B,EAAE,SAAAA,CAAUtf,IAAI,EAAE;MAC7C,IAAIkH,WAAW,GAAGtI,MAAM,CAACiF,QAAQ,CAACkD,QAAQ,CAAC9I,OAAO,CAAE,MAAM,EAAE,EAAG,CAAC;MAEhE,IAAIoK,KAAK,GAAGrI,IAAI,CAAC4U,UAAU,CAACvM,KAAK;MACjC,IAAIsT,GAAG,GAAG3b,IAAI,CAAC4U,UAAU,CAAC+G,GAAG;MAC7B;AACZ;AACA;MACY,IAAI5H,KAAK,GAAG/T,IAAI,CAAC4U,UAAU,CAAC+G,GAAG;MAC/B,IAAIpG,UAAU,GAAGvV,IAAI,CAAC4U,UAAU,CAAC,YAAY,CAAC;MAC9C,IAAIuK,iBAAiB,GAAGnf,IAAI,CAACmf,iBAAiB;MAE9C,IAAI,OAAOjY,WAAW,CAAC+X,QAAQ,CAAE1f,QAAQ,CAAC2f,YAAa,CAAC,EAAE;QACtD,IAAI7gB,IAAI,GAAG,IAAI;QAEfwB,IAAI,CACA,OAAO,EACP,cAAc,EACd;UACd,gBAAgB,EAAE,iBAAiB;UACnC,OAAO,EAAE,CACS;YACI,IAAI,EAAEsf,iBAAiB;YACvB,MAAM,EAAEpL,KAAK;YACb;YACA,SAAS,EAAE4H,GAAG;YACd,OAAO,EAAEtd,IAAI,CAAC+gB,gBAAgB,CAAE/W,KAAK,EAAEkN,UAAW;UACxE,CAAC;QAEa,CACJ,CAAC;MACL;IACJ,CAAC;IAEDgK,gBAAgB,EAAE,SAAAA,CAAUrf,GAAG,EAAE;MAC7BZ,CAAC,CAAE,qBAAsB,CAAC,CAACoG,IAAI,CAAE,cAAc,EAAE,IAAK,CAAC;MACvD,IAAI,CAAC8Z,2BAA2B,CAAC,CAAC;IACtC,CAAC;IAEDtP,0BAA0B,EAAE,SAAAA,CAAA,EAAY;MACpC,IAAI7R,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,wBAAwB,EACxBpB,IAAI,CAAC4Q,6BAA6B,EAClC,UAAUpQ,CAAC,EAAE;QACT,IAAIA,CAAC,CAACkC,IAAI,KAAK,UAAU,IAAIlC,CAAC,CAAC4gB,KAAK,KAAK,EAAE,EAAE;UACzCphB,IAAI,CAACqhB,0BAA0B,CAAErhB,IAAI,EAAEiB,CAAC,CAAE,IAAK,CAAE,CAAC;QACtD,CAAC,MAAM,IAAIT,CAAC,CAACkC,IAAI,KAAK,MAAM,IAAIlC,CAAC,CAACkC,IAAI,KAAK,UAAU,EAAE;UACnD1C,IAAI,CAACqhB,0BAA0B,CAAErhB,IAAI,EAAEiB,CAAC,CAAE,IAAK,CAAE,CAAC;QACtD;MACJ,CACJ,CAAC;IACL,CAAC;IAEDogB,0BAA0B,EAAE,SAAAA,CAAUrhB,IAAI,EAAEnB,SAAS,EAAE;MACnD,IAAI+c,eAAe,GAAG9C,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC;MAC3E,IACI,IAAI,CAAC8N,eAAe,IACpB,IAAI,CAACuB,WAAW,CAAC,CAAC,IAClB,IAAI,CAACkH,mBAAmB,CAAC,CAAC,EAC5B;QACE,IAAI,CAACc,gBAAgB,CAAE,IAAI,CAACtJ,eAAe,EAAEgM,eAAgB,CAAC;MAClE,CAAC,MAAM,IAAI,IAAI,CAACjM,eAAe,IAAI,IAAI,CAACyI,mBAAmB,CAAC,CAAC,EAAE;QAC3D,IAAI,CAACjH,uBAAuB,CAAEyK,eAAgB,CAAC;MACnD;MAEA,IAAI9C,QAAQ,CAAEja,SAAS,CAACgD,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC,EAAE;QACjCZ,CAAC,CAAE,uBAAwB,CAAC,CAAC+Y,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;MAC1D;IACJ,CAAC;IAEDtI,YAAY,EAAE,SAAAA,CAAA,EAAY;MACtBzQ,CAAC,CAAE,wBAAyB,CAAC,CAACmF,KAAK,CAC/B,UAAU5F,CAAC,EAAE;QACxB,IAAIuC,QAAQ;QACZ9B,CAAC,CAACwB,IAAI,CACa;UACjBC,IAAI,EAAE,MAAM;UACZf,IAAI,EAAEV,CAAC,CAAE,cAAe,CAAC,CAACqgB,SAAS,CAAC,CAAC,GAAG,4BAA4B;UACpE3e,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAEC,QAAQ;UACb0e,KAAK,EAAE,KAAK;UACZze,OAAO,EAAE,SAAAA,CAAUnB,IAAI,EAAE;YACxB,IAAIA,IAAI,CAAC6f,SAAS,KAAK,MAAM,EAAE;cAC9Bze,QAAQ,GAAG,CAAC;YACb,CAAC,MAAM,IAAIpB,IAAI,CAAC8f,IAAI,KAAK,MAAM,EAAE;cAChC1e,QAAQ,GAAG,CAAC;YACb,CAAC,MAAM;cACNA,QAAQ,GAAG,CAAC;YACb;UACD;QACiB,CACnB,CAAC;MACF,CACQ,CAAC;IACL,CAAC;IAED4O,oBAAoB,EAAE,SAAAA,CAAA,EAAY;MAC9B,IAAIjC,QAAQ,GAAG,IAAI,CAACA,QAAQ;MAC5BzO,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,QAAQ,EACR,kBAAkB,EAClB,UAAUZ,CAAC,EAAE;QACxBA,CAAC,CAACK,cAAc,CAAC,CAAC;QAClBI,CAAC,CAAE,SAAU,CAAC,CAACiF,QAAQ,CAAE,8BAA+B,CAAC;QACzD,IAAIwb,IAAI,GAAGzgB,CAAC,CAAE,kBAAmB,CAAC;QAElCA,CAAC,CAACwB,IAAI,CACa;UACjBC,IAAI,EAAE,MAAM;UACZE,GAAG,EAAE8e,IAAI,CAACra,IAAI,CAAE,QAAS,CAAC;UAC1B1F,IAAI,EAAE+f,IAAI,CAACJ,SAAS,CAAC,CAAC;UACtB3G,KAAK,EAAE,SAAAA,CAAUA,KAAK,EAAE;YACvB1Z,CAAC,CAAE,cAAe,CAAC,CAAC8M,KAAK,CAAE,QAAS,CAAC;YACrC9M,CAAC,CAAE,qBAAsB,CAAC,CAAC8M,KAAK,CAAE,QAAS,CAAC;YAC5C9M,CAAC,CAAE,+BAAgC,CAAC,CAACmD,IAAI,CAAC,CAAC;YAC3CnD,CAAC,CAAE,0BAA2B,CAAC,CAACK,IAAI,CAAE,oDAAqD,CAAC;UAC7F,CAAC;UACDwB,OAAO,EAAE,SAAAA,CAAU6e,YAAY,EAAE;YAChC1gB,CAAC,CAAE,cAAe,CAAC,CAAC8M,KAAK,CAAE,QAAS,CAAC;YACrC9M,CAAC,CAAE,+BAAgC,CAAC,CAACmD,IAAI,CAAC,CAAC;YAC3C,IAAK,CAAEsL,QAAQ,EAAE;cAChBzO,CAAC,CAAE,SAAU,CAAC,CAACgC,WAAW,CAAE,8BAA+B,CAAC;cAC5D,IAAI,OAAO0e,YAAY,KAAK,WAAW,EAAE;gBACxC1gB,CAAC,CAAE,qBAAsB,CAAC,CAAC8M,KAAK,CAAE,QAAS,CAAC;gBAC5C9M,CAAC,CAAE,0BAA2B,CAAC,CAACK,IAAI,CAAE,wDAAyD,CAAC;cACjG;YACD;UACD;QACiB,CACnB,CAAC;MACF,CACQ,CAAC;IACL,CAAC;IAED8Z,iBAAiBA,CAAA,EAAG;MAChB,IAAIwG,mBAAmB,GAAG3gB,CAAC,CAAE,kCAAmC,CAAC;MACjE2gB,mBAAmB,CAACve,IAAI,CAAC,CAAC;MAC1Bue,mBAAmB,CAACC,KAAK,CAAE,IAAK,CAAC,CAACC,OAAO,CAAE,MAAO,CAAC;IACvD,CAAC;IAEDC,kBAAkBA,CAAA,EAAG;MACjB,IAAIC,SAAS,GAAG/gB,CAAC,CAAE,eAAgB,CAAC;MACpC+gB,SAAS,CAAC3e,IAAI,CAAC,CAAC;MAChBpC,CAAC,CAAE,0BAA2B,CAAC,CAACgC,WAAW,CAAE,aAAc,CAAC;IAChE,CAAC;IAEDkY,wBAAwBA,CAAA,EAAG;MACvB,IAAInb,IAAI,GAAG,IAAI;MACfiB,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACsJ,IAAI,CAAE,UAAU,EAAE,IAAK,CAAC;MAC3Dha,IAAI,CAACob,iBAAiB,CAAC,CAAC;MACxBpb,IAAI,CAAC+hB,kBAAkB,CAAC,CAAC;MAEzBrH,UAAU,CACN,YAAY;QACvBzZ,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACsJ,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;MAC7D,CAAC,EACW,IACJ,CAAC;IACL,CAAC;IAEDgB,UAAU,EAAE,SAAAA,CAAUQ,OAAO,EAAE9Y,IAAI,GAAG,SAAS,EAAE;MAC7C,IAAI1C,IAAI,GAAG,IAAI;MACf,IAAI4hB,mBAAmB,GAAG3gB,CAAC,CAAE,+BAAgC,CAAC;MAC9D2gB,mBAAmB,CAAC3f,IAAI,CAAE,MAAO,CAAC,CAACiB,IAAI,CAAEsY,OAAQ,CAAC;MAClDoG,mBAAmB,CAACve,IAAI,CAAC,CAAC;MAC1Bue,mBAAmB,CAACC,KAAK,CAAE,IAAK,CAAC,CAACC,OAAO,CAAE,MAAO,CAAC;MACnD,IAAIpf,IAAI,KAAK,OAAO,EAAE;QAClBkf,mBAAmB,CAAC1b,QAAQ,CAAE,oCAAqC,CAAC;MACxE;MACAlG,IAAI,CAACqb,uBAAuB,CAAC,CAAC;IAClC,CAAC;IAEDzJ,sBAAsB,EAAE,SAAAA,CAAA,EAAY;MAChC,IAAI5R,IAAI,GAAG,IAAI;MAEfA,IAAI,CAACmhB,2BAA2B,CAAC,CAAC;MAElClgB,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,UAAUZ,CAAC,EAAE;QACzDR,IAAI,CAACmhB,2BAA2B,CAAC,CAAC;MACnC,CACQ,CAAC;MAEDlgB,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAE,OAAO,EAAE,oBAAoB,EAAE,UAAUZ,CAAC,EAAE;QACnER,IAAI,CAACmhB,2BAA2B,CAAC,CAAC;MACnC,CACQ,CAAC;MAEDlgB,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAE,OAAO,EAAE,mBAAmB,EAAE,UAAUZ,CAAC,EAAE;QAClER,IAAI,CAACmhB,2BAA2B,CAAC,CAAC;MACnC,CACQ,CAAC;MAEDlgB,CAAC,CAAE,MAAO,CAAC,CAACG,EAAE,CACV,QAAQ,EACR,iBAAiB,EACjB,UAAUZ,CAAC,EAAE;QACxBR,IAAI,CAACmhB,2BAA2B,CAAC,CAAC;MACnC,CACQ,CAAC;IACL,CAAC;IAEDA,2BAA2B,EAAE,SAAAA,CAAA,EAAY;MACrC,IAAIc,cAAc,GAAGhhB,CAAC,CAAE,4CAA6C,CAAC;MAEtE,IAAIihB,WAAW,GAAGjhB,CAAC,CAAE,sBAAuB,CAAC,CAACpB,MAAM;MAEpD,IAAK,CAAE,IAAI,CAAC6P,QAAQ,EAAE;QAClB,IAAIyS,UAAU,GAAGlhB,CAAC,CAAE,iBAAkB,CAAC,CAACY,GAAG,CAAC,CAAC;MACjD;MAEA,IAAIugB,WAAW,GAAGnhB,CAAC,CAAE,UAAW,CAAC,CAACY,GAAG,CAAC,CAAC;MACvC,IAAIwgB,QAAQ,GAAGphB,CAAC,CAAE,oBAAqB,CAAC,CAACY,GAAG,CAAC,CAAC;MAC9C,IAAIygB,SAAS,GAAGrhB,CAAC,CAAE,mBAAoB,CAAC,CAACY,GAAG,CAAC,CAAC;MAC9C,IAAI0gB,WAAW,GAAGthB,CAAC,CAAE,uBAAwB,CAAC,CAACY,GAAG,CAAC,CAAC;MACpD,IAAI2gB,OAAO,GAAGvhB,CAAC,CAAE,uBAAwB,CAAC;MAC1C,IAAIwhB,gBAAgB,GAAGxhB,CAAC,CAAE,0BAA2B,CAAC,CAACpB,MAAM,GAAG,CAAC;MACjE,IAAI6iB,eAAe,GAAGzhB,CAAC,CAAE,mBAAoB,CAAC,CAACpB,MAAM,GAAG,CAAC;MACzD,IAAI8iB,aAAa,GAAG,IAAI;MAExB,IAAIxjB,QAAQ,CAACyjB,IAAI,CAACjiB,SAAS,CAACC,QAAQ,CAAE,WAAY,CAAC,EAAE;QACjD,IAAI,IAAI,CAAC8O,QAAQ,EAAE;UACf,IAAIiT,aAAa,GAAGP,WAAW;QACnC,CAAC,MAAM,IAAI,OAAOD,UAAU,KAAK,WAAW,EAAE;UAC1C,IAAIQ,aAAa,GAAGR,UAAU,IAAIC,WAAW;QACjD,CAAC,MAAM;UACH,IAAIO,aAAa,GAAGP,WAAW;QACnC;QACA,IAAII,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,CAAE,IAAI,CAAC6P,QAAQ,EAAE;UACvC,IAAIiT,aAAa,GAAGR,UAAU,IAAIC,WAAW,IAAIG,WAAW;QAChE,CAAC,MAAM,IAAIC,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC6P,QAAQ,EAAE;UAC5C,IAAIiT,aAAa,GAAGP,WAAW,IAAIG,WAAW;QAClD;MACJ,CAAC,MAAM;QACH,IAAI,OAAOJ,UAAU,KAAK,WAAW,EAAE;UACnC,IAAIQ,aAAa,GAAGR,UAAU,IAAIC,WAAW,IAAIC,QAAQ,IAAIC,SAAS;UACtE,IAAIE,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,CAAE,IAAI,CAAC6P,QAAQ,EAAE;YACvC,IAAIiT,aAAa,GAAGR,UAAU,IAAIC,WAAW,IAAIC,QAAQ,IAAIE,WAAW,IAAID,SAAS;UACzF,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC6P,QAAQ,EAAE;YAC5C,IAAIiT,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIE,WAAW,IAAID,SAAS;UAC3E,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC6P,QAAQ,IAAI+S,gBAAgB,EAAE;YAChE,IAAIE,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIF,UAAU,IAAIG,SAAS;UAC1E,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC6P,QAAQ,IAAI,CAAE+S,gBAAgB,EAAE;YACnE,IAAIE,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIC,SAAS;UAC5D,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC6P,QAAQ,IAAI,CAAE+S,gBAAgB,IAAI,CAAEC,eAAe,EAAE;YAC1F,IAAIC,aAAa,GAAGP,WAAW,IAAIC,QAAQ;UAC/C,CAAC,MAAM,IAAIG,OAAO,CAAC3iB,MAAM,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC6P,QAAQ,IAAI+S,gBAAgB,IAAI,CAAEC,eAAe,EAAE;YACxF,IAAIC,aAAa,GAAGP,WAAW,IAAIC,QAAQ;UAC/C;QACJ,CAAC,MAAM;UACH,IAAIM,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIC,SAAS;UAExD,IAAIE,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,CAAE,IAAI,CAAC6P,QAAQ,EAAE;YACvC,IAAIiT,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIE,WAAW,IAAID,SAAS;UAC3E,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC6P,QAAQ,EAAE;YAC5C,IAAIiT,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIE,WAAW,IAAID,SAAS;UAC3E,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC6P,QAAQ,IAAI+S,gBAAgB,EAAE;YAChE,IAAIE,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIC,SAAS;UAC5D,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC6P,QAAQ,IAAI,CAAE+S,gBAAgB,EAAE;YACnE,IAAIE,aAAa,GAAGP,WAAW,IAAIC,QAAQ,IAAIC,SAAS;UAC5D,CAAC,MAAM,IAAIE,OAAO,CAAC3iB,MAAM,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC6P,QAAQ,IAAI,CAAE+S,gBAAgB,IAAI,CAAEC,eAAe,EAAE;YAC1F,IAAIC,aAAa,GAAGP,WAAW,IAAIC,QAAQ;UAC/C;QACJ;MACJ;MAEA,IAAIM,aAAa,EAAE;QACfV,cAAc,CAACjI,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;MAC5C,CAAC,MAAM;QACHiI,cAAc,CAACjI,IAAI,CAAE,UAAU,EAAE,IAAK,CAAC;MAC3C;IACJ,CAAC;IAEDqC,0BAA0B,EAAE,SAAAA,CACxBiB,GAAG,EACHuF,MAAM,EACNzG,SAAS,EACX;MACE,IAAI0G,4BAA4B,GAAG7hB,CAAC,CAAE,+BAAgC,CAAC;MACvE,IAAI8hB,gCAAgC,GAAG9hB,CAAC,CAAE,mCAAoC,CAAC;MAC/E,IAAI+hB,iBAAiB,GAAG/hB,CAAC,CAAE,oBAAqB,CAAC;MAEjD6hB,4BAA4B,CAACxhB,IAAI,CAAEuhB,MAAO,CAAC;MAC3CE,gCAAgC,CAACzhB,IAAI,CAAE8a,SAAU,CAAC;MAClD4G,iBAAiB,CAAC1hB,IAAI,CAAEgc,GAAI,CAAC;IACjC,CAAC;IAED2F,aAAa,EAAE,SAAAA,CAAA,EAAY;MACvBhiB,CAAC,CAAC,IAAI,CAAC2P,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED0P,mBAAmB,EAAE,SAAAA,CAAA,EAAY;MAC7B,IAAIvR,IAAI,GAAG,IAAI;MACf,MAAMkjB,YAAY,GAAGjiB,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC;MAC1DsS,YAAY,CAAC1U,SAAS,CAAE;QAACE,KAAK,EAAE,gBAAgB;QAAEyU,UAAU,EAAE;MAAK,CAAE,CAAC;MAEtEliB,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,OAAO,EACP,uBAAuB,EACvB,YAAY;QACvB,IAAIwa,eAAe,GAAG9C,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/E,IAAK,CAAE7B,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;UAC7B,IAAI/X,IAAI,CAAC2P,eAAe,IAAI3P,IAAI,CAACkR,WAAW,CAAC,CAAC,IAAIlR,IAAI,CAACoY,mBAAmB,CAAC,CAAC,EAAE;YAC7EpY,IAAI,CAACkZ,gBAAgB,CAAElZ,IAAI,CAAC4P,eAAe,EAAEgM,eAAgB,CAAC;UAC/D,CAAC,MAAM,IAAI5b,IAAI,CAAC2P,eAAe,IAAI3P,IAAI,CAACoY,mBAAmB,CAAC,CAAC,EAAE;YAC9DpY,IAAI,CAACmR,uBAAuB,CAAEyK,eAAgB,CAAC;UAChD;QACD;QAEA3a,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACsJ,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;QAE5D,MAAMkJ,YAAY,GAAGjiB,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC;QAC1D,MAAMwS,QAAQ,GAAGniB,CAAC,CAAE,uBAAwB,CAAC;QAC7C,IAAIoiB,OAAO,GAAGvK,QAAQ,CAAEoK,YAAY,CAACrhB,GAAG,CAAC,CAAE,CAAC;QAC5C,IAAIwhB,OAAO,KAAKrjB,IAAI,CAACyQ,YAAY,EAAE;UAClCyS,YAAY,CAACrhB,GAAG,CAAE,EAAEwhB,OAAQ,CAAC;UAC7B,IAAIA,OAAO,IAAIrjB,IAAI,CAACyQ,YAAY,EAAE;YACjC2S,QAAQ,CAACpJ,IAAI,CAAE,UAAU,EAAE,IAAK,CAAC;UAClC;QACD;MACD,CACQ,CAAC;MAED/Y,CAAC,CAAE9B,QAAS,CAAC,CACR0Y,GAAG,CAAE,OAAO,EAAE,sBAAuB,CAAC,CACtCzW,EAAE,CACC,OAAO,EACP,sBAAsB,EACtB,YAAY;QAC1BpB,IAAI,CAACsjB,kBAAkB,CAAC,CAAC;QACzB,IAAI1H,eAAe,GAAG9C,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/E,IAAK,CAAE7B,IAAI,CAAC+X,cAAc,CAAC,CAAC,EAAE;UAC7B,IAAI/X,IAAI,CAAC2P,eAAe,IAAI3P,IAAI,CAACkR,WAAW,CAAC,CAAC,IAAIlR,IAAI,CAACoY,mBAAmB,CAAC,CAAC,EAAE;YAC7EpY,IAAI,CAACkZ,gBAAgB,CAAElZ,IAAI,CAAC4P,eAAe,EAAEgM,eAAgB,CAAC;UAC/D,CAAC,MAAM,IAAI5b,IAAI,CAAC2P,eAAe,IAAI3P,IAAI,CAACoY,mBAAmB,CAAC,CAAC,EAAE;YAC9DpY,IAAI,CAACmR,uBAAuB,CAAEyK,eAAgB,CAAC;UAChD;QACD;QAEkB,MAAMsH,YAAY,GAAGjiB,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC;QAC1D,IAAIyS,OAAO,GAAGvK,QAAQ,CAAEoK,YAAY,CAACrhB,GAAG,CAAC,CAAE,CAAC;QAC5C,MAAMuhB,QAAQ,GAAGniB,CAAC,CAAE,uBAAwB,CAAC;QAC7CiiB,YAAY,CAACrhB,GAAG,CAAE,EAAEwhB,OAAQ,CAAC;QAC7B,IAAIA,OAAO,GAAGrjB,IAAI,CAACyQ,YAAY,EAAE;UAC7B2S,QAAQ,CAACpJ,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;QACtC;MACnB,CACW,CAAC;IACT,CAAC;IAEDsJ,kBAAkB,EAAE,SAAAA,CAAA,EAAY;MAC5B,IAAItjB,IAAI,GAAG,IAAI;MAEf,IAAIuC,SAAS,GAAG;QACZC,MAAM,EAAE,sCAAsC;QAC9Cga,OAAO,EAAEvb,CAAC,CAAE,aAAc,CAAC,CAACY,GAAG,CAAC,CAAC;QACjCyY,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MACDE,YAAY,CAACxa,IAAI,CAACujB,kBAAkB,CAAC;MACrCvjB,IAAI,CAACujB,kBAAkB,GAAG7I,UAAU,CAChC,YAAY;QACRzZ,CAAC,CAACwB,IAAI,CACF;UACIC,IAAI,EAAE,MAAM;UACZf,IAAI,EAAEY,SAAS;UACfI,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAEC,QAAQ;UACbC,OAAO,EAAE,SAAAA,CAAUnB,IAAI,EAAE;YACrB,IAAI,OAAOA,IAAI,CAAC4U,UAAU,KAAK,WAAW,EAAE;cACxCvW,IAAI,CAACwjB,gBAAgB,CAAC7hB,IAAI,CAAC4U,UAAU,CAAC;YAC1C;UACJ;QACJ,CACJ,CAAC;MACL,CAAC,EACD,GACJ,CAAC;IACL,CAAC;IAEDkN,qBAAqB,EAAE,SAAAA,CAAUzG,SAAS,GAAG,IAAI,EAAE;MAC/C,IAAI,CAACiG,aAAa,CAAC,CAAC;IACxB,CAAC;IAEDO,gBAAgB,EAAE,SAAAA,CAAUxG,SAAS,EAAE0G,UAAU,EAAE;MAC/C,IAAI1jB,IAAI,GAAG,IAAI;MACf,IAAI2jB,kBAAkB,GAAG7K,QAAQ,CAACpS,YAAY,CAACuB,OAAO,CAAC,gBAAgB,CAAC,CAAC;MACzE,IAAI+U,SAAS,CAAC,cAAc,CAAC,IAAI,CAACA,SAAS,CAAC,eAAe,CAAC,IAAI2G,kBAAkB,GAAG,CAAC,EAAE;QACpF3jB,IAAI,CAACyP,QAAQ,GAAGkU,kBAAkB;MACtC;MACA,IAAI3G,SAAS,CAAC,cAAc,CAAC,EAAE;QAC3B,IAAK/b,CAAC,CAAC,sBAAsB,CAAC,CAACpB,MAAM,KAAK,CAAC,IAAI,CAAC6jB,UAAU,IAAKC,kBAAkB,KAAK,CAAC,EAAE;UACrF3jB,IAAI,CAAC4jB,uBAAuB,CAAC,CAAC;QAClC,CAAC,MAAM;UACH5jB,IAAI,CAAC6jB,oBAAoB,CAAC,CAAC;UAC3B7jB,IAAI,CAAC8jB,mBAAmB,CAAC9G,SAAS,CAAC;QACvC;MACJ,CAAC,MAAM,IAAI0G,UAAU,IAAI1G,SAAS,CAAC,cAAc,CAAC,IAAIA,SAAS,CAAC,eAAe,CAAC,IAAIA,SAAS,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI2G,kBAAkB,KAAK,CAAC,EAAE;QAC/I3jB,IAAI,CAAC8jB,mBAAmB,CAAC9G,SAAS,CAAC;MACvC,CAAC,MAAM,IAAI0G,UAAU,IAAI,CAAC1G,SAAS,CAAC,cAAc,CAAC,IAAIA,SAAS,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE;QACtFhd,IAAI,CAAC8jB,mBAAmB,CAAC9G,SAAS,CAAC;MACvC,CAAC,MAAM,IAAI0G,UAAU,IAAI,CAAC1G,SAAS,CAAC,cAAc,CAAC,IAAIA,SAAS,CAAC,OAAO,CAAC,KAAK,cAAc,EAAE;QAC1Fhd,IAAI,CAAC4jB,uBAAuB,CAAC,CAAC;MAClC;IACJ,CAAC;IAED3Q,WAAW,EAAE,SAAAA,CAAA,EAAY;MACrB,OAAOhS,CAAC,CAAE,mCAAoC,CAAC,CAACpB,MAAM,KAAK,CAAC;IAChE,CAAC;IAEDkkB,iBAAiB,EAAE,SAAAA,CAAWC,WAAW,EAAEha,KAAK,EAAEkN,UAAU,EAAEkG,aAAa,EAAE6G,mBAAmB,GAAG,CAAC,EAAE;MAClG,IAAIC,gBAAgB,GAAGjjB,CAAC,CAAE,sBAAuB,CAAC;MAClD,IAAIkjB,UAAU,GAAGljB,CAAC,CAAE,2BAA4B,CAAC;MACjD,IAAImjB,kBAAkB,GAAGnjB,CAAC,CAAE,0BAA2B,CAAC;MACxD,IAAIojB,eAAe,GAAGpjB,CAAC,CAAE,uBAAwB,CAAC;MAClD,IAAIqjB,aAAa,GAAGrjB,CAAC,CAAE,gBAAiB,CAAC;MACzC,IAAIsjB,YAAY,GAAGtjB,CAAC,CAAE,0BAA2B,CAAC;MAClD,IAAIujB,kBAAkB,GAAGvjB,CAAC,CAAE,gBAAiB,CAAC;MAC9C,IAAIwjB,gBAAgB,GAAGxjB,CAAC,CAAE,yBAA0B,CAAC;MAErD,IAAK,CAAEgjB,mBAAmB,IAAIhjB,CAAC,CAAE,gBAAiB,CAAC,CAACK,IAAI,CAAC,CAAC,KAAK8V,oBAAoB,CAAEpN,KAAM,CAAC,EAAE;QAC1FtD,YAAY,CAACiB,OAAO,CAAE,eAAe,EAAE1G,CAAC,CAAE,gBAAiB,CAAC,CAACK,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAE,CAAC;MAChF;MAEA,IAAI,CAAC2iB,gBAAgB,CAACrkB,MAAM,KAAK,CAAC,IAAI,IAAI,CAACoT,WAAW,CAAC,CAAC,KAAK,CAAEgR,mBAAmB,EAAE;QAChFE,UAAU,CAAC/f,IAAI,CAAC,CAAC;QACjBggB,kBAAkB,CAAChgB,IAAI,CAAC,CAAC;QACzBigB,eAAe,CAACjgB,IAAI,CAAC,CAAC;QACtBogB,kBAAkB,CAACpgB,IAAI,CAAC,CAAC;QACzBqgB,gBAAgB,CAACrgB,IAAI,CAAC,CAAC;QACvBkgB,aAAa,CAAChjB,IAAI,CAAEoF,YAAY,CAACuB,OAAO,CAAE,eAAgB,CAAE,CAAC;MACjE,CAAC,MAAM;QACH,IAAK,CAAE,IAAI,CAAC0H,eAAe,EAAE;UACzB,IAAI,CAAC+U,UAAU,CAAE1a,KAAK,EAAEkN,UAAU,EAAEkG,aAAc,CAAC;QACvD,CAAC,MAAM;UACH,IAAIpT,KAAK,GAAGga,WAAW,CAACW,YAAY;UACpC,IAAI,CAACD,UAAU,CAAE1a,KAAM,CAAC;QAC5B;MACJ;MAEAua,YAAY,CAAClhB,IAAI,CAAC,CAAC;MACnB,IAAI2T,gBAAgB,GAAG/V,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,4BAA6B,CAAC,CAACpC,MAAM,GAAG,CAAC;MAEpF,IAAIokB,mBAAmB,EAAE;QACrBM,YAAY,CAACngB,IAAI,CAAC,CAAC;QAEnB,IAAIgZ,aAAa,EAAE;UACfnc,CAAC,CAAE,qCAAsC,CAAC,CAAC6M,OAAO,CAAE,OAAQ,CAAC;UAC7D7M,CAAC,CAAE,iCAAkC,CAAC,CAACmD,IAAI,CAAC,CAAC;QACjD,CAAC,MAAM;UACHnD,CAAC,CAAE,iCAAkC,CAAC,CAACoC,IAAI,CAAC,CAAC;QACjD;QACA,IAAI,CAACuhB,uBAAuB,CAAE5a,KAAM,CAAC;MAEzC,CAAC,MAAM,IAAIgN,gBAAgB,EAAE;QACzB/V,CAAC,CAAE,gCAAiC,CAAC,CAACK,IAAI,CAAE,GAAG,GAAG0I,KAAM,CAAC;MAC7D;MAEA,IAAI,CAAC+M,yBAAyB,CAAE/M,KAAM,CAAC;IAC3C,CAAC;IAED4a,uBAAuB,EAAE,SAAAA,CAAU5a,KAAK,EAAE;MACtC,IAAIkN,UAAU,GAAGjW,CAAC,CAAE,6BAA8B,CAAC,CAACY,GAAG,CAAC,CAAC;MACzD,IAAIqV,UAAU,KAAKlN,KAAK,IAAI,OAAOkN,UAAU,KAAK,WAAW,EAAE;QAC3D,IAAIlN,KAAK,GAAG,IAAI,CAACsO,yBAAyB,CAAC,CAAC;QAC5C,IAAIuM,YAAY,GAAG,GAAG,GAAGzN,oBAAoB,CAAEpN,KAAM,CAAC;QACtD/I,CAAC,CAAE,kCAAmC,CAAC,CAACK,IAAI,CAAEujB,YAAa,CAAC,CAACxhB,IAAI,CAAC,CAAC;MACvE;IACJ,CAAC;IAEDqhB,UAAU,EAAE,SAAAA,CAAU1a,KAAK,EAAEkN,UAAU,GAAG,IAAI,EAAEkG,aAAa,GAAG,IAAI,EAAE;MAClE,IAAIqH,gBAAgB,GAAGxjB,CAAC,CAAE,yBAA0B,CAAC;MACrD,IAAIqjB,aAAa,GAAGrjB,CAAC,CAAE,gBAAiB,CAAC;MACzC+I,KAAK,GAAGoN,oBAAoB,CAAEpN,KAAM,CAAC;MACrC,IAAKkN,UAAU,EAAG;QACdlN,KAAK,GAAGoN,oBAAoB,CAAEF,UAAW,CAAC;MAC9C;MACA,IAAI,IAAI,CAACvH,eAAe,EAAE;QACtB2U,aAAa,GAAGrjB,CAAC,CAAE,8BAA+B,CAAC;QACnD+I,KAAK,GAAGoN,oBAAoB,CAAEpN,KAAM,CAAC;MACzC;MAEA,IAAIq a,eAAe,GAAGpjB,CAAC,CAAE,uBAAwB,CAAC;MAClD,IAAImjB,kBAAkB,GAAGnjB,CAAC,CAAE,0BAA2B,CAAC;MACxD,IAAIkjB,UAAU,GAAGljB,CAAC,CAAE,2BAA4B,CAAC;MACjD,IAAI6jB,sBAAsB,GAAG7jB,CAAC,CAAE,aAAc,CAAC;MAC/C,IAAI8jB,yBAAyB,GAAG9jB,CAAC,CAAE,gBAAiB,CAAC;MAErD,IACK,OAAOiW,UAAU,KAAK,WAAW,IACjC,OAAOA,UAAU,KAAK,WAAW,IAAI4B,QAAQ,CAAE5B,UAAW,CAAC,KAAK,CAAE,EACrE;QACE,IAAIlN,KAAK,KAAK,EAAE,IAAI8O,QAAQ,CAAE5B,UAAW,CAAC,KAAK,CAAC,EAAE;UAC9CiN,UAAU,CAAC/f,IAAI,CAAC,CAAC;UACjBggB,kBAAkB,CAAChgB,IAAI,CAAC,CAAC;UACzBigB,eAAe,CAACjgB,IAAI,CAAC,CAAC;QAC1B,CAAC,MAAM;UACHkgB,aAAa,CAAChjB,IAAI,CAAE,GAAG,GAAG0I,KAAM,CAAC;UACjCya,gBAAgB,CAACphB,IAAI,CAAC,CAAC;UACvB+gB,kBAAkB,CAAC/gB,IAAI,CAAC,CAAC;UACzBghB,eAAe,CAAChhB,IAAI,CAAC,CAAC;UACtB8gB,UAAU,CAAC9gB,IAAI,CAAC,CAAC;QACrB;QAEA,IAAI6T,UAAU,KAAK,EAAE,EAAE;UACnBmN,eAAe,CAAChhB,IAAI,CAAC,CAAC;UACtB,IAAI,OAAO2G,KAAK,KAAK,WAAW,IAAIA,KAAK,EAAE;YACvC8a,sBAAsB,CAACxjB,IAAI,CAAE,GAAG,GAAG0I,KAAM,CAAC;YAC1Coa,kBAAkB,CAAChgB,IAAI,CAAC,CAAC;UAC7B;QACJ,CAAC,MAAM;UACH,IAAI4F,KAAK,IAAI,OAAOA,KAAK,KAAK,WAAW,IAAKkN,UAAU,KAAK,IAAI,IAAIA,UAAU,CAACrX,MAAM,GAAG,CAAE,EAAE;YACzF,IAAIuX,oBAAoB,CAAEF,UAAW,CAAC,KAAKE,oBAAoB,CAAEpN,KAAM,CAAC,EAAG;cACvE+a,yBAAyB,CAACzjB,IAAI,CAAE,GAAG,GAAG0I,KAAM,CAAC;YACjD;YACA8a,sBAAsB,CAACxjB,IAAI,CAAE8V,oBAAoB,CAAEF,UAAW,CAAE,CAAC;YACjEkN,kBAAkB,CAAC/gB,IAAI,CAAC,CAAC;YACzBghB,eAAe,CAAChhB,IAAI,CAAC,CAAC;UAC1B,CAAC,MAAM;YACHyhB,sBAAsB,CAACxjB,IAAI,CAAE,GAAG,GAAG0I,KAAM,CAAC;YAC1Coa,kBAAkB,CAAChgB,IAAI,CAAC,CAAC;UAC7B;QACJ;MACJ,CAAC,MAAM;QACHigB,eAAe,CAACjgB,IAAI,CAAC,CAAC;QACtBggB,kBAAkB,CAAChgB,IAAI,CAAC,CAAC;MAC7B;IACJ,CAAC;IAED6X,sBAAsB,EAAE,SAAAA,CAAA,EAAY;MAChC,IAAIjc,IAAI,GAAG,IAAI;MACf,IACI,OAAO,IAAI,CAACuP,cAAc,KAAK,WAAW,IAC1C,IAAI,CAACA,cAAc,CAACyV,iBAAiB,KAAK,IAAI,EAChD;QACE,IAAI5H,aAAa,GAAG,KAAK;QACzB,IAAI,OAAO,IAAI,CAAC7N,cAAc,CAAC2M,0BAA0B,KAAK,WAAW,EAAE;UACvEkB,aAAa,GAAG,OAAO,IAAI,CAAC7N,cAAc,CAAC2M,0BAA0B,CAAC,mBAAmB,CAAC,KAAK,WAAW;QAC9G;QAEA,IAAIlS,KAAK,GAAG,CAAC;QACb,IAAIkN,UAAU,GAAG,CAAC;QAC9B,IAAI,OAAO,IAAI,CAAC3H,cAAc,CAACyV,iBAAiB,KAAK,WAAW,EAAE;UAClDhb,KAAK,GAAG,IAAI,CAACuF,cAAc,CAACyV,iBAAiB,CAAChb,KAAK;UAClEkN,UAAU,GAAG,IAAI,CAAC3H,cAAc,CAACyV,iBAAiB,CAAC,YAAY,CAAC;QACjE;QAEY,IAAI,CAACjB,iBAAiB,CAClB,IAAI,CAACxU,cAAc,EACnBvF,KAAK,EACLkN,UAAU,EACVkG,aACJ,CAAC;QAED,IACI,OAAO,IAAI,CAAC7N,cAAc,KAAK,WAAW,IAC1C,OAAO,IAAI,CAACA,cAAc,CAAC2M,0BAA0B,KAAK,WAAW,EACvE;UACExV,YAAY,CAACiB,OAAO,CAAE,gBAAgB,EAAE,IAAI,CAAC4H,cAAc,CAAC2M,0BAA0B,CAACc,SAAS,CAACzG,UAAU,CAAC8D,KAAM,CAAC;QACvH;QAEA,IAAI4K,YAAY,GAAG,CAAEhkB,CAAC,CAACikB,aAAa,CAAE,IAAI,CAAC3V,cAAc,CAAC4V,cAAe,CAAC;QAC1E,IAAK,CAAEF,YAAY,EAAE;UACjBjlB,IAAI,CAACqb,uBAAuB,CAAC,CAAC;QAClC;QAEA,IACI,OAAO,IAAI,CAAC9L,cAAc,CAAC2M,0BAA0B,KAAK,WAAW,IAClE,OAAO,IAAI,CAAC3M,cAAc,CAAC2M,0BAA0B,CAACc,SAAS,KAAK,WAAW,EACpF;UACE,IAAI,CAACoI,WAAW,CAAE,IAAI,CAAC7V,cAAc,CAAC2M,0BAA0B,CAACc,SAAS,CAACzG,UAAU,EAAE0O,YAAY,EAAE,KAAM,CAAC;QAChH;MACJ;MAEA,IACI,IAAI,CAAChW,OAAO,CAACoW,IAAI,IACjB,OAAO,IAAI,CAACpW,OAAO,CAACoW,IAAI,CAACC,WAAW,KAAK,WAAW,IACpD,IAAI,CAACrW,OAAO,CAACoW,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC,EAClC;QACE,IAAIC,gBAAgB,GAAG,IAAI,CAACtW,OAAO,CAACoW,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC;QACvDrkB,CAAC,CAAE,oBAAqB,CAAC,CAACK,IAAI,CAAEikB,gBAAiB,CAAC;MACtD;MAEA,IAAIvO,gBAAgB,GAAG/V,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,4BAA6B,CAAC,CAACpC,MAAM,GAAG,CAAC;MAEpF,IAAK,CAAEmX,gBAAgB,EAAE;QACrBhX,IAAI,CAACqP,iBAAiB,GAAG,IAAI;MACjC;MAEArP,IAAI,CAAC6Z,uBAAuB,CAAC,CAAC;IAClC,CAAC;IAGDhH,4BAA4B,EAAE,SAAAA,CAAA,EAAW;MACrC,IAAI7S,IAAI,GAAG,IAAI;MACf,IAAIuC,SAAS,GAAG;QACZC,MAAM,EAAE,iCAAiC;QACzCgjB,UAAU,EAAE,IAAI,CAAC3V,iBAAiB;QAClCyK,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MAEDE,YAAY,CAACxa,IAAI,CAACylB,gBAAgB,CAAC;MACnCzlB,IAAI,CAACylB,gBAAgB,GAAG/K,UAAU,CAAC,YAAW;QAC1CzZ,CAAC,CAACwB,IAAI,CAAC;UACHC,IAAI,EAAE,MAAM;UACZf,IAAI,EAAEY,SAAS;UACfI,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAEC,QAAQ;UACbC,OAAO,EAAE,SAAAA,CAAUnB,IAAI,EAAE;YACrB3B,IAAI,CAACyQ,YAAY,GAAG9O,IAAI,CAACA,IAAI,CAAC8O,YAAY;YAC1C,IAAIzQ,IAAI,CAAC2P,eAAe,IAAI,CAAC3P,IAAI,CAAC8Q,qBAAqB,EAAE;cACrDpK,YAAY,CAACiB,OAAO,CAAC,cAAc,EAAEhG,IAAI,CAACA,IAAI,CAAC8O,YAAY,CAAC;cAC5D,IAAI4G,UAAU,CAAC1V,IAAI,CAACA,IAAI,CAACuI,SAAS,CAAC,KAAKmN,UAAU,CAAC1V,IAAI,CAACA,IAAI,CAACwI,SAAS,CAAC,EAAG;gBACtE,IAAIsT,kBAAkB,GAAG,QAAQ,GAAGrG,oBAAoB,CAACzV,IAAI,CAACA,IAAI,CAACuI,SAAS,CAAC,GAAG,OAAO,GAAGkN,oBAAoB,CAACzV,IAAI,CAACA,IAAI,CAACwI,SAAS,CAAC;gBACnIlJ,CAAC,CAAC,8BAA8B,CAAC,CAACK,IAAI,CAACmc,kBAAkB,CAAC;cAC9D;cAEAxc,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAACF,IAAI,CAACA,IAAI,CAAC8O,YAAY,CAAC;cACjExP,CAAC,CAAC9B,QAAQ,CAAC,CAAC8C,IAAI,CAAC,uBAAuB,CAAC,CAAC+X,IAAI,CAAE,UAAU,EAAE,IAAK,CAAC;YACtE;UACJ;QACJ,CAAC,CAAC;MACN,CAAC,EAAE,GAAG,CAAC;IACX,CAAC;IAEDoL,WAAW,EAAE,SAAAA,CAAUpI,SAAS,EAAE0I,WAAW,EAAEC,cAAc,EAAE;MAC3D,IAAI3lB,IAAI,GAAG,IAAI;MACf,IAAI2jB,kBAAkB,GAAG7K,QAAQ,CAAEpS,YAAY,CAACuB,OAAO,CAAE,gBAAiB,CAAE,CAAC;MAC7E,IAAI,OAAO0b,kBAAkB,KAAK,WAAW,IAAI3G,SAAS,CAAC,cAAc,CAAC,EAAE;QACxEhd,IAAI,CAACyP,QAAQ,GAAGkU,kBAAkB;MACtC;MACA,IAAID,UAAU,GAAIgC,WAAW,IAAIC,cAAc,IAAK,CAAED,WAAW;MAEjE,IAAI,OAAO1I,SAAS,CAAC4I,KAAK,KAAK,WAAW,EAAE;QACxC5lB,IAAI,CAACwjB,gBAAgB,CAAExG,SAAS,EAAE0G,UAAW,CAAC;MAClD;IACJ,CAAC;IAEDG,oBAAoB,EAAE,SAAAA,CAAA,EAAY;MAC9B,IAAIgC,KAAK,GAAG5kB,CAAC,CAAE,uBAAwB,CAAC;MAExC,IAAI6X,QAAQ,CAAC7X,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC,CAAC/O,GAAG,CAAC,CAAC,CAAC,KAAK7B,IAAI,CAACyQ,YAAY,EAAE;QAC7EoV,KAAK,CAAC7L,IAAI,CAAE,UAAU,EAAE,IAAK,CAAC;MAClC,CAAC,MAAM;QACH6L,KAAK,CAAC7L,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;MACnC;IACJ,CAAC;IAED4J,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjC3iB,CAAC,CAAE,2BAA4B,CAAC,CAACK,IAAI,CAAE,IAAI,CAACyN,oBAAoB,CAAC,cAAc,CAAE,CAAC;IACtF,CAAC;IAED+U,mBAAmB,EAAE,SAAAA,CAAW9G,SAAS,EAAG;MACxC,IAAI8I,IAAI,GAAG7kB,CAAC,CAAE,sBAAuB,CAAC;MACtC,IAAI8kB,WAAW,GAAG9kB,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC;MACvDmV,WAAW,CAAC/L,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;MACrC8L,IAAI,CAAC9L,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;MAC9B/Y,CAAC,CAAC,IAAI,CAACyP,0BAA0B,CAAC,CAACsJ,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;MAC5D,IAAIqJ,OAAO,GAAGrG,SAAS,CAAC3C,KAAK,KAAK,IAAI,GAAG2C,SAAS,CAAC3C,KAAK,GAAG,EAAE;MAC7DpZ,CAAC,CAAE,2BAA4B,CAAC,CAACK,IAAI,CAAE,IAAI,CAACyN,oBAAoB,CAACiO,SAAS,CAAC4I,KAAK,CAAC,GAAG,GAAG,GAAGvC,OAAO,CAAC;IACtG,CAAC;IAEDtC,gBAAgB,EAAE,SAAAA,CAAU/W,KAAK,EAAEkN,UAAU,EAAE;MAC3C,IAAIA,UAAU,KAAK,EAAE,EAAE;QACnB,OAAOlN,KAAK;MAChB,CAAC,MAAM;QACH,OAAOkN,UAAU;MACrB;IACJ,CAAC;IAEDmG,iBAAiB,EAAE,SAAAA,CAAU1b,IAAI,EAAEoa,QAAQ,GAAG,IAAI,EAAE;MAChD,IAAI/b,IAAI,GAAG,IAAI;MACf,IAAI,OAAO2B,IAAI,KAAK,WAAW,EAAE;QAE7B,IAAIT,QAAQ,CAACC,kBAAkB,KAAK,EAAE,IAAI,OAAOD,QAAQ,CAACC,kBAAkB,KAAK,WAAW,EAAE;UAC1FnB,IAAI,CAACihB,+BAA+B,CAAEtf,IAAK,CAAC;QAChD;QAEA,IAAI2b,GAAG;QACP,IACI3b,IAAI,IACJ,OAAOA,IAAI,CAAC4U,UAAU,KAAK,WAAW,IACtC5U,IAAI,CAAC4U,UAAU,CAAC+G,GAAG,EACrB;UACEA,GAAG,GAAG3b,IAAI,CAAC4U,UAAU,CAAC+G,GAAG;QAC7B;QAEA,IAAK,OAAO3b,IAAI,CAACqb,SAAS,KAAK,WAAW,IAAI,OAAOrb,IAAI,CAACqb,SAAS,CAACzG,UAAU,CAAC8D,KAAK,KAAK,WAAW,EAAG;UACnG3T,YAAY,CAACiB,OAAO,CAAE,gBAAgB,EAAEhG,IAAI,CAACqb,SAAS,CAACzG,UAAU,CAAC8D,KAAM,CAAC;UACzE,IAAI,CAAC+K,WAAW,CAAEzjB,IAAI,CAACqb,SAAS,CAACzG,UAAU,EAAE,IAAI,EAAE,IAAK,CAAC;UACzDvW,IAAI,CAAC8Q,qBAAqB,GAAG,IAAI;UACjC,IAAI9Q,IAAI,CAAC2P,eAAe,EAAE;YACtB,MAAMuT,YAAY,GAAGjiB,CAAC,CAACjB,IAAI,CAAC4Q,6BAA6B,CAAC;YAC1D,IAAIyS,OAAO,GAAGvK,QAAQ,CAAEoK,YAAY,CAACrhB,GAAG,CAAC,CAAE,CAAC;YAC5C,MAAMuhB,QAAQ,GAAGniB,CAAC,CAAE,uBAAwB,CAAC;YAC7CiiB,YAAY,CAACrhB,GAAG,CAAEwhB,OAAQ,CAAC;YAC3B,IAAIA,OAAO,GAAGrjB,IAAI,CAACyQ,YAAY,EAAE;cAC7B2S,QAAQ,CAACpJ,IAAI,CAAE,UAAU,EAAE,KAAM,CAAC;YACtC;UACJ,CAAC,MACI,IAAIrY,IAAI,CAACqb,SAAS,CAACzG,UAAU,CAAC,cAAc,CAAC,EAAE;YAChD,IAAI,CAACkN,qBAAqB,CAAE9hB,IAAI,CAACqb,SAAS,CAACzG,UAAW,CAAC;UAC3D;UAEA,IAAI,CAACwN,iBAAiB,CAClBpiB,IAAI,CAAC4U,UAAU,EACf5U,IAAI,CAAC4U,UAAU,CAACvM,KAAK,EACrBrI,IAAI,CAAC4U,UAAU,CAAC,YAAY,CAAC,EAC7B5U,IAAI,CAAC,mBAAmB,CAAC,EACzB,IACJ,CAAC;QACL;QAEA,IAAI2b,GAAG,KAAK,EAAE,IAAI,OAAOA,GAAG,KAAK,WAAW,EAAE;UAC1Crc,CAAC,CAAE,oBAAqB,CAAC,CAACK,IAAI,CAAEgc,GAAI,CAAC;QACzC,CAAC,MAAM;UACHrc,CAAC,CAAE,yCAA0C,CAAC,CAACmD,IAAI,CAAC,CAAC;QACzD;;QAEA;QACA,IAAI,OAAOzC,IAAI,KAAK,WAAW,EAAE;UAC7B,IAAI,OAAOA,IAAI,CAACmf,iBAAiB,KAAK,WAAW,EAAE;YAC/C7f,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACrJ,IAAI,CAAE,gBAAgB,EAAE1F,IAAI,CAACmf,iBAAkB,CAAC;UACvF;UAEA,IAAI,OAAOnf,IAAI,CAACqkB,gBAAgB,KAAK,WAAW,EAAE;YAC9C/kB,CAAC,CAACjB,IAAI,CAAC0Q,0BAA0B,CAAC,CAACrJ,IAAI,CAAE,eAAe,EAAE1F,IAAI,CAACqkB,gBAAiB,CAAC;UACrF;QACJ;QACAhmB,IAAI,CAAC6Z,uBAAuB,CAAC,CAAC;MAClC;IACJ,CAAC;IAED;AACR;AACA;AACA;AACA;IACQ1I,uBAAuB,EAAE,SAAAA,CAAUyK,eAAe,GAAG,CAAC,EAAE;MACpD,IAAIrZ,SAAS,GAAG;QACZC,MAAM,EAAE,iCAAiC;QACzCga,OAAO,EAAE,IAAI,CAAC3M,iBAAiB;QAC/BoW,YAAY,EAAErK,eAAe;QAC7BtB,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MAED,IAAIta,IAAI,GAAG,IAAI;MAEfiB,CAAC,CAACwB,IAAI,CACF;QACXC,IAAI,EAAE,MAAM;QACZf,IAAI,EAAEY,SAAS;QACfI,QAAQ,EAAE,MAAM;QAChBC,GAAG,EAAEC,QAAQ;QACbC,OAAO,EAAE,SAAAA,CAAUnB,IAAI,EAAE;UACxB3B,IAAI,CAACuP,cAAc,GAAG5N,IAAI,CAACA,IAAI;UAC/B,IAAI,OAAOT,QAAQ,CAACglB,UAAU,KAAK,WAAW,IAC5BhlB,QAAQ,CAACglB,UAAU,KAAK,EAAE,IAC1B,OAAOhlB,QAAQ,CAACilB,gBAAgB,KAAK,WAAW,IAChDjlB,QAAQ,CAACilB,gBAAgB,KAAK,EAAE,EAChD;YACD,IAAIzW,QAAQ,GAAGzO,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,eAAgB,CAAC,CAACN,IAAI,CAAE,MAAO,CAAC;YACnE,IAAK,CAAE+N,QAAQ,EAAE;cAChB0W,UAAU,CAACC,MAAM,CACW,SAAS,EACT;gBAC1B,SAAS,EAAEnlB,QAAQ,CAACilB;cACM,CACJ,CAAC;YAC1B;UACD;UAEA,IAAI,OAAOxkB,IAAI,CAACA,IAAI,KAAK,WAAW,EAAE;YACrC3B,IAAI,CAACwP,OAAO,GAAG7N,IAAI,CAACA,IAAI,CAACua,0BAA0B;UACpD;UACAlc,IAAI,CAACic,sBAAsB,CAAC,CAAC;UAC7B;UACAjc,IAAI,CAACwS,gBAAgB,CAAC,CAAC;QACxB;MACW,CACJ,CAAC;IACL,CAAC;IAEDf,oBAAoB,EAAE,SAAAA,CAAA,EAAY;MAC9BxQ,CAAC,CAAE,MAAO,CAAC,CAACG,EAAE,CACV,OAAO,EACP,sBAAsB,EACtB,YAAY;QACvBH,CAAC,CAAE,kBAAmB,CAAC,CAACiF,QAAQ,CAAE,QAAS,CAAC,CAAC7C,IAAI,CAAC,CAAC;QACnDpC,CAAC,CAAE,kBAAmB,CAAC,CAACoC,IAAI,CAAC,CAAC;QAC9BpC,CAAC,CAAE,iBAAkB,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;QAC9ChC,CAAC,CAAE,6BAA8B,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;QAC1DhC,CAAC,CAAE,cAAe,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;QAC3ChC,CAAC,CAAE,oBAAqB,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;QACjDhC,CAAC,CAAE,6BAA8B,CAAC,CAACmD,IAAI,CAAC,CAAC;QACzCnD,CAAC,CAAE,cAAe,CAAC,CAACmD,IAAI,CAAC,CAAC;QAC1BnD,CAAC,CAAE,oBAAqB,CAAC,CAACmD,IAAI,CAAC,CAAC;MACjC,CACQ,CAAC;IACL,CAAC;IAEDoN,eAAe,EAAE,SAAAA,CAAA,EAAY;MACzBvQ,CAAC,CAAE,MAAO,CAAC,CAACG,EAAE,CACV,OAAO,EACP,yBAAyB,EACzB,YAAY;QACvBH,CAAC,CAAE,cAAe,CAAC,CAACiF,QAAQ,CAAE,QAAS,CAAC,CAAC7C,IAAI,CAAC,CAAC;QAC/CpC,CAAC,CAAE,iBAAkB,CAAC,CAACiF,QAAQ,CAAE,QAAS,CAAC;QAC3CjF,CAAC,CAAE,kBAAmB,CAAC,CAACmD,IAAI,CAAC,CAAC;QAC9BnD,CAAC,CAAE,6BAA8B,CAAC,CAACmD,IAAI,CAAC,CAAC;QACzCnD,CAAC,CAAE,oBAAqB,CAAC,CAACmD,IAAI,CAAC,CAAC;QAChCnD,CAAC,CAAE,kBAAmB,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;QAC/ChC,CAAC,CAAE,oBAAqB,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;QACjDhC,CAAC,CAAE,6BAA8B,CAAC,CAACgC,WAAW,CAAE,QAAS,CAAC;QAC1DhC,CAAC,CAAE,cAAe,CAAC,CAACiF,QAAQ,CAAE,QAAS,CAAC;QACxC,IAAI/G,QAAQ,CAACC,cAAc,CAAE,aAAc,CAAC,EAAE;UAC7CD,QAAQ,CAACC,cAAc,CAAE,aAAc,CAAC,CAACknB,cAAc,CAAC,CAAC;QAC1D;MACD,CACQ,CAAC;IACL,CAAC;IAEDlV,gBAAgB,EAAE,SAAAA,CAAA,EAAY;MAC1BnQ,CAAC,CAAE,kBAAmB,CAAC,CAACiF,QAAQ,CAAE,QAAS,CAAC;MAC5CjF,CAAC,CAAE,6BAA8B,CAAC,CAACmD,IAAI,CAAC,CAAC;MACzCnD,CAAC,CAAE,cAAe,CAAC,CAACmD,IAAI,CAAC,CAAC;MAE1B,IAAImiB,WAAW,GAAGtlB,CAAC,CAAE,iBAAkB,CAAC,CAACY,GAAG,CAAC,CAAC;MAC9CZ,CAAC,CAAE9B,QAAS,CAAC,CAACiC,EAAE,CACZ,OAAO,EACP,uGAAuG,EACvG,YAAY;QACvBH,CAAC,CAAE,WAAY,CAAC,CAACuf,OAAO,CAAE;UAACC,SAAS,EAAExf,CAAC,CAAE,IAAK,CAAC,CAACyf,MAAM,CAAC,CAAC,CAACC;QAAG,CAAC,EAAE,GAAI,CAAC;MACrE,CACQ,CAAC;MAED1f,CAAC,CAAE,MAAO;MACN;MAAA,CACCG,EAAE,CACC,MAAM,EACN,iCAAiC,EACjC,YAAY;QAC1BH,CAAC,CAAE,kDAAmD,CAAC,CAACmD,IAAI,CAAC,CAAC;QAC9D,IAAIkN,IAAI,GAAG/Q,MAAM,CAACiF,QAAQ,CAAC8L,IAAI;QAC/B,IAAI1O,GAAG,GAAGrC,MAAM,CAACiF,QAAQ,CAACqC,IAAI;QAC9B,IAAI2e,KAAK,GAAGvlB,CAAC,CAAE,IAAK,CAAC,CACFgB,IAAI,CAAE,mBAAoB,CAAC,CAC3ByH,KAAK,CAAC,CAAC;QAC1B,IACkB4H,IAAI,CAACpR,WAAW,CAAC,CAAC,CAACR,OAAO,CAAE,UAAW,CAAC,IAAI,CAAC,IAC7C4R,IAAI,KAAK,UAAU,IACnBA,IAAI,KAAK,cAAc,EACvC;UACDkV,KAAK,CAACvkB,IAAI,CAAE,kBAAmB,CAAC,CAACmE,KAAK,CAAC,CAAC;QACzC,CAAC,MAAM,IACWxD,GAAG,CAAClD,OAAO,CAAE,eAAgB,CAAC,GAAG,CAAC,IAClCkD,GAAG,CAAClD,OAAO,CAAE,QAAS,CAAC,GAAG,CAAC,EAC3C;UACD8mB,KAAK,CAACvkB,IAAI,CAAE,kBAAmB,CAAC,CAACmE,KAAK,CAAC,CAAC;QACzC,CAAC,MAAM,IAAIkL,IAAI,KAAK,6BAA6B,EAAE;UAClDkV,KAAK,CAACvkB,IAAI,CAAE,iCAAkC,CAAC,CAACmE,KAAK,CAAC,CAAC;QACxD,CAAC,MAAM;UACN,IAAIqgB,IAAI,GAAGD,KAAK,CAACvkB,IAAI,CAAE,YAAa,CAAC;UACrC,IAAIykB,aAAa,GAAGD,IAAI,CAAC5f,OAAO,CAAE,iCAAkC,CAAC;UACrE2f,KAAK,CAACvkB,IAAI,CAAE,IAAK,CAAC,CAACgB,WAAW,CAAE,QAAS,CAAC;UAC1CyjB,aAAa,CAACzkB,IAAI,CAAE,oCAAqC,CAAC,CAACmC,IAAI,CAAC,CAAC;UAEjEqiB,IAAI,CAACvgB,QAAQ,CAAE,QAAS,CAAC;UACzBwgB,aAAa,CAACzkB,IAAI,CAAEwkB,IAAI,CAAC9kB,IAAI,CAAE,MAAO,CAAE,CAAC,CAAC0B,IAAI,CAAC,CAAC;QACjD;MACD,CACW,CAAC,CACAjC,EAAE,CACC,OAAO,EACP,6BAA6B,EAC7B,UAAUZ,CAAC,EAAE;QAC3B,IAAIimB,IAAI,GAAGxlB,CAAC,CAAE,IAAK,CAAC;QACpB,IAAIylB,aAAa,GAAGD,IAAI,CAAC5f,OAAO,CAAE,iCAAkC,CAAC;QACrE,IAAI2f,KAAK,GAAGE,aAAa,CAACzkB,IAAI,CAAE,mBAAoB,CAAC;QAErDukB,KAAK,CAACvkB,IAAI,CAAE,IAAK,CAAC,CAACgB,WAAW,CAAE,QAAS,CAAC;QAC1CyjB,aAAa,CAACzkB,IAAI,CAAE,oCAAqC,CAAC,CAACmC,IAAI,CAAC,CAAC;QAEjEqiB,IAAI,CAAC5f,OAAO,CAAE,IAAK,CAAC,CAACX,QAAQ,CAAE,QAAS,CAAC;QACzCwgB,aAAa,CAACzkB,IAAI,CAAEwkB,IAAI,CAAC9kB,IAAI,CAAE,MAAO,CAAE,CAAC,CAAC0B,IAAI,CAAC,CAAC;MACjD,CACW;;MAEA;MAAA,CACCjC,EAAE,CACC,MAAM,EACN,iBAAiB,EACjB,YAAY;QAC1BH,CAAC,CAAE,IAAK,CAAC,CACUmD,IAAI,CAAC,CAAC,CACNuF,MAAM,CACH,EAAE,GACF,6CAA6C,GAC7C,uEAAuE,GACvE,uEAAuE,GACvE,uEAAuE,GACvE,uEAAuE,GACvE,uEAAuE,GACvE,QACJ,CAAC;MACpB,CACW,CAAC,CACAvI,EAAE,CACC,OAAO,EACP,sBAAsB,EACtB,YAAY;QAC1B,IAAIulB,KAAK,GAAG1lB,CAAC,CAAE,IAAK,CAAC;UACH2lB,OAAO,GAAG3lB,CAAC,CAAE,IAAK,CAAC,CACd4F,OAAO,CAAE,UAAW,CAAC,CACrB5E,IAAI,CAAE,iBAAkB,CAAC;UAC9B4kB,UAAU,GAAG5lB,CAAC,CAAE,IAAK,CAAC,CAAC4F,OAAO,CAAE,QAAS,CAAC;QAC5D+f,OAAO,CAAC/kB,GAAG,CAAE8kB,KAAK,CAACrlB,IAAI,CAAC,CAAE,CAAC,CAACwM,OAAO,CAAE,QAAS,CAAC;QAC/C6Y,KAAK,CAACG,QAAQ,CAAE,GAAI,CAAC,CAAC7jB,WAAW,CAAE,QAAS,CAAC;QAC7C0jB,KAAK,CAACzgB,QAAQ,CAAE,QAAS,CAAC;QAC1B2gB,UAAU,CAAC3gB,QAAQ,CAAE,UAAW,CAAC;QAEjC,OAAO,KAAK;MACb,CACW,CAAC,CAEA9E,EAAE,CACC,OAAO,EACP,4CAA4C,EAC5C,YAAY;QAC1Bb,MAAM,CAAC6N,cAAc,CACF2Y,gBAAgB,CAAC,CAAC,CAClBC,IAAI,CACD,UAAU9J,MAAM,EAAE;UACtC,IAAI+J,YAAY,GAAG/J,MAAM,CAACvb,IAAI;UAC9B,IAAIslB,YAAY,GAAG,CAAC,EAAE;YACrB1mB,MAAM,CAAC6N,cAAc,CAAC8Y,kBAAkB,CAAC,CAAC;UAC3C;QACD,CACiB,CAAC,CACAC,IAAI,CACD,YAAY,CACjC,CACiB,CAAC;MACpB,CACW,CAAC;MAELlmB,CAAC,CAAE,kDAAmD,CAAC,CAAC6M,OAAO,CAAE,MAAO,CAAC;IAC7E,CAAC;IAEDoZ,kBAAkB,EAAE,SAAAA,CAAA,EAAY;MAC5B,IAAIlnB,IAAI,GAAGiB,CAAC,CAAE,4CAA6C,CAAC;MAC5D,IAAImmB,IAAI,GAAGnmB,CAAC,CAAE,cAAe,CAAC,CAACU,IAAI,CAAE,MAAO,CAAC;MAC7C,IAAIY,SAAS,GAAG;QACZC,MAAM,EAAE,6BAA6B;QACrCga,OAAO,EAAEvb,CAAC,CAAE,aAAc,CAAC,CAACY,GAAG,CAAC,CAAC;QACjCulB,IAAI,EAAEA,IAAI;QACV9M,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MAEDrZ,CAAC,CAACwB,IAAI,CACF;QACXC,IAAI,EAAE,MAAM;QACZf,IAAI,EAAEY,SAAS;QACfI,QAAQ,EAAE,MAAM;QAChBC,GAAG,EAAEC,QAAQ;QACbC,OAAO,EAAE,SAAAA,CAAUnB,IAAI,EAAE;UACxB3B,IAAI,CAAC2J,MAAM,CAAEhI,IAAK,CAAC;UACnBV,CAAC,CAAE,cAAe,CAAC,CAACU,IAAI,CAAE,MAAM,EAAEylB,IAAI,GAAG,CAAE,CAAC;UAE5C7mB,MAAM,CAAC6N,cAAc,CAAC2Y,gBAAgB,CAAC,CAAC,CAACC,IAAI,CACvB,UAAUK,GAAG,EAAE;YACX,IAAIA,GAAG,CAAC1lB,IAAI,KAAK,CAAC,EAAE;cAChBpB,MAAM,CAAC6N,cAAc,CAACkZ,2BAA2B,CAAC,CAAC;YACvD;UACJ,CACtB,CAAC;QACF;MACW,CACJ,CAAC;IACL,CAAC;IAEDP,gBAAgB,EAAE,SAAAA,CAAA,EAAY;MAC1B,IAAIxkB,SAAS,GAAG;QACZC,MAAM,EAAE,mCAAmC;QAC3Cga,OAAO,EAAEvb,CAAC,CAAE,aAAc,CAAC,CAACY,GAAG,CAAC,CAAC;QACjCulB,IAAI,EAAEnmB,CAAC,CAAE,cAAe,CAAC,CAACU,IAAI,CAAE,MAAO,CAAC;QACxC2Y,KAAK,EAAEpZ,QAAQ,CAACoZ;MACpB,CAAC;MAED,OAAOrZ,CAAC,CAACwB,IAAI,CACT;QACXC,IAAI,EAAE,MAAM;QACZf,IAAI,EAAEY,SAAS;QACfI,QAAQ,EAAE,MAAM;QAChBC,GAAG,EAAEC;MACM,CACJ,CAAC;IACL,CAAC;IAEDykB,2BAA2B,EAAE,SAAAA,CAAA,EAAY;MACrCrmB,CAAC,CAAE,4BAA6B,CAAC,CAC5BgC,WAAW,CAAE,QAAS,CAAC,CACvBiD,QAAQ,CAAE,QAAS,CAAC;IAC7B,CAAC;IAED4L,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjCvR,MAAM,CAAC6N,cAAc,CAAC2Y,gBAAgB,CAAC,CAAC,CAACC,IAAI,CACzC,UAAUK,GAAG,EAAE;QAC1B,IAAIA,GAAG,CAAC1lB,IAAI,KAAK,CAAC,EAAE;UACnBpB,MAAM,CAAC6N,cAAc,CAACkZ,2BAA2B,CAAC,CAAC;QACpD;MACD,CACQ,CAAC;IACL,CAAC;IAEDC,cAAc,EAAE,SAAAA,CAAA,EAAY;MACxBtmB,CAAC,CAAE,MAAO,CAAC,CAACG,EAAE,CACV,OAAO,EACP,yCAAyC,EACzC,YAAY;QACR,IAAIylB,UAAU,GAAG5lB,CAAC,CAAE,IAAK,CAAC,CAACqW,MAAM,CAAC,CAAC;QACnCuP,UAAU,CACL5kB,IAAI,CAAE,yCAA0C,CAAC,CACjDgB,WAAW,CAAE,mDAAoD,CAAC;QACvE4jB,UAAU,CAAC5kB,IAAI,CAAE,oCAAqC,CAAC,CAAClB,MAAM,CAAC,CAAC;QAChEE,CAAC,CAAE,IAAK,CAAC,CAACF,MAAM,CAAC,CAAC;MACtB,CACJ,CAAC;IACL,CAAC;IAEDuR,gCAAgC,EAAE,SAAAA,CAAA,EAAY;MAC1CrR,CAAC,CAAE9B,QAAS,CAAC,CAAC8C,IAAI,CAAE,wBAAyB,CAAC,CAAC6L,OAAO,CAAE,OAAQ,CAAC;IACrE,CAAC;IAEDuE,qBAAqB,EAAE,SAAAA,CAAA,EAAY;MAC/BpR,CAAC,CAAE,wBAAyB,CAAC,CAACqJ,MAAM,CAChC;QACXC,YAAY,EAAE,SAAAA,CAAA,EAAY;UACzBtJ,CAAC,CAAE,4BAA6B,CAAC,CAACc,IAAI,CAChB,YAAY;YACR,MAAM+D,KAAK,GAAG7E,CAAC,CAAE,IAAK,CAAC,CACtB4F,OAAO,CAAE,eAAgB,CAAC,CAC1B5E,IAAI,CAAE,QAAS,CAAC,CAChB6D,KAAK,CAAC,CAAC;YACR7E,CAAC,CAAE,IAAK,CAAC,CAAC6E,KAAK,CAAEA,KAAM,CAAC;UAC5B,CACtB,CAAC;QACF;MACW,CACJ,CAAC;IACL,CAAC;IAEDsM,uBAAuB,EAAE,SAAAA,CAAA,EAAY;MACjC,IAAIxM,WAAW,GAAGrF,MAAM,CAACinB,UAAU;MACnC,IAAI5hB,WAAW,GAAG,GAAG,EAAE;QACnB3E,CAAC,CAAE,wBAAyB,CAAC,CAACF,MAAM,CAAC,CAAC;MAC1C,CAAC,MAAM;QACHE,CAAC,CAAE,uBAAwB,CAAC,CAACF,MAAM,CAAC,CAAC;MACzC;IACJ,CAAC;IAEDqX,mBAAmB,EAAE,SAAAA,CAAA,EAAY;MAC7B,IAAI8E,MAAM,GAAG,IAAI;MACjB,IAAIld,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE,4BAA6B,CAAC,CAACc,IAAI,CAClC,UAAU9C,CAAC,EAAE4N,cAAc,EAAE;QACxC,IAAI4a,WAAW,GAAG,KAAK;QACvBxmB,CAAC,CAAE4L,cAAe,CAAC,CAAC5K,IAAI,CAAEjC,IAAI,CAAC+P,2BAA4B,CAAC,CAAChO,IAAI,CAC9C,UAAU6T,KAAK,EAAE8R,KAAK,EAAE;UACpB,IAAIzmB,CAAC,CAAEymB,KAAM,CAAC,CAAC7lB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB4lB,WAAW,GAAG,IAAI;UACtB,CAAC,MAAM;YACHA,WAAW,GAAGA,WAAW,IAAI,KAAK;UACtC;QACJ,CACnB,CAAC;QACDvK,MAAM,GAAGA,MAAM,IAAIuK,WAAW;MAC/B,CACQ,CAAC;MAEDxmB,CAAC,CAAE,sBAAuB,CAAC,CAACc,IAAI,CAC5B,UAAUvB,CAAC,EAAE;QACxB,IAAK,CAAES,CAAC,CAAE,IAAK,CAAC,CAACsL,QAAQ,CAAE,SAAU,CAAC,EAAE;UACvC,IAAItL,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3Bqb,MAAM,GAAG,KAAK;UACf,CAAC,MAAM;YACNA,MAAM,GAAGA,MAAM,IAAI,IAAI;UACxB;QACD;MACD,CACQ,CAAC;MAEDjc,CAAC,CAAE,mCAAoC,CAAC,CAACc,IAAI,CAC7C,YAAY;QACR,IAAI/B,IAAI,GAAG,IAAI;QACX,IAAI2nB,QAAQ,GAAG1mB,CAAC,CAAE,IAAK,CAAC,CAACgB,IAAI,CAAC,6BAA6B,CAAC;QAC5D0lB,QAAQ,CAAC5lB,IAAI,CACb,YAAY;UACJ,IAAK,CAAE4lB,QAAQ,CAACrhB,EAAE,CAAE,UAAW,CAAC,IAAI,CAAErF,CAAC,CAAEjB,IAAK,CAAC,CAACuM,QAAQ,CAAE,SAAU,CAAC,EAAG;YACpE2Q,MAAM,GAAG,KAAK;UAClB,CAAC,MAAM;YACHA,MAAM,GAAGA,MAAM,IAAI,IAAI;UAC3B;QACJ,CACnB,CAAC;MACF,CACQ,CAAC;MAED,OAAOA,MAAM;IACjB,CAAC;IAEDpF,gBAAgB,EAAE,SAAAA,CAAA,EAAY;MAC1B,IAAIoF,MAAM,GAAG,IAAI;MACjB,IAAIld,IAAI,GAAG,IAAI;MACfiB,CAAC,CAAE,4BAA6B,CAAC,CAACc,IAAI,CAClC,UAAU9C,CAAC,EAAE4N,cAAc,EAAE;QACxC,IAAI4a,WAAW,GAAG,KAAK;QACvBxmB,CAAC,CAAE4L,cAAe,CAAC,CAAC5K,IAAI,CAAEjC,IAAI,CAAC+P,2BAA4B,CAAC,CAAChO,IAAI,CAC9C,UAAU6T,KAAK,EAAE8R,KAAK,EAAE;UACpB,IAAIzmB,CAAC,CAAEymB,KAAM,CAAC,CAAC7lB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB4lB,WAAW,GAAG,IAAI;UACtB,CAAC,MAAM;YACHA,WAAW,GAAGA,WAAW,IAAI,KAAK;UACtC;QACJ,CACnB,CAAC;QACD,MAAMG,OAAO,GAAG3mB,CAAC,CAAE4L,cAAe,CAAC,CAAC5K,IAAI,CAAE,6CAA8C,CAAC;QACzFwlB,WAAW,GAAGG,OAAO,CAAClc,UAAU,CAAE,OAAQ,CAAC,GAAGkc,OAAO,CAACC,GAAG,CAAE,cAAc,EAAE,KAAM,CAAC;QAClF3K,MAAM,GAAGA,MAAM,IAAIuK,WAAW;MAC/B,CACQ,CAAC;MAEDxmB,CAAC,CAAE,sBAAuB,CAAC,CAACc,IAAI,CAC5B,UAAUvB,CAAC,EAAE;QACxB,IAAK,CAAES,CAAC,CAAE,IAAK,CAAC,CAACsL,QAAQ,CAAE,SAAU,CAAC,IAAItL,CAAC,CAAE,IAAK,CAAC,CAACY,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;UACjEZ,CAAC,CAAE,IAAK,CAAC,CAACkY,IAAI,CAAC,CAAC,CAAC0O,GAAG,CAAE,OAAO,EAAE,KAAM,CAAC;UACtC5mB,CAAC,CAAE,IAAK,CAAC,CAAC4mB,GAAG,CAAE,cAAc,EAAE,KAAM,CAAC;UACtC3K,MAAM,GAAG,KAAK;QACf,CAAC,MAAM;UACNjc,CAAC,CAAE,IAAK,CAAC,CAACkY,IAAI,CAAC,CAAC,CAACzN,UAAU,CAAE,OAAQ,CAAC;UACtCwR,MAAM,GAAGA,MAAM,IAAI,IAAI;QACxB;MACD,CACQ,CAAC;MAEDjc,CAAC,CAAE,iDAAkD,CAAC,CAACc,IAAI,CACvD,YAAY;QACvB,IAAI6E,OAAO,GAAG3F,CAAC,CAAE,IAAK,CAAC,CAAC4F,OAAO,CAAE,8CAA+C,CAAC,CAAC5E,IAAI,CAAE,6BAA8B,CAAC;QACvH,IAAI0lB,QAAQ,GAAG1mB,CAAC,CAAE,IAAK,CAAC,CAACgB,IAAI,CAACjC,IAAI,CAAC6Q,8BAA8B,CAAC;QAClE8W,QAAQ,CAAC5lB,IAAI,CACM,YAAY;UACR,IAAK,CAAE4lB,QAAQ,CAACrhB,EAAE,CAAE,UAAW,CAAC,EAAE;YAC9BM,OAAO,CAACihB,GAAG,CAAE,OAAO,EAAE,KAAM,CAAC;YAC7B3K,MAAM,GAAG,KAAK;UAClB,CAAC,MAAM;YACHtW,OAAO,CAAC8E,UAAU,CAAE,OAAQ,CAAC;YAC7BwR,MAAM,GAAGA,MAAM,IAAI,IAAI;UAC3B;QACJ,CACnB,CAAC;MACF,CACQ,CAAC;MAED,OAAOA,MAAM;IACjB,CAAC;IACDzK,cAAc,EAAE,SAAAA,CAAA,EAAY;MACxBxR,CAAC,CAAE,6BAA8B,CAAC,CAACc,IAAI,CACnC,YAAY;QACvB,IAAId,CAAC,CAACM,IAAI,CAAEN,CAAC,CAAE,IAAK,CAAC,CAACK,IAAI,CAAC,CAAE,CAAC,IAAI,EAAE,IAAIL,CAAC,CAAE,IAAK,CAAC,CAACH,QAAQ,CAAC,CAAC,CAACjB,MAAM,IAAI,CAAC,EAAE;UACzEoB,CAAC,CAAE,IAAK,CAAC,CAACmD,IAAI,CAAC,CAAC;QACjB;MACD,CACQ,CAAC;IACL;EACJ,CAAC;EAED7D,MAAM,CAAC6N,cAAc,GAAGQ,eAAe;AAC3C,CAAC,EAAGzM,MAAM,EAAE5B,MAAO,CAAC;AAEpB4B,MAAM,CAAEhD,QAAS,CAAC,CAACoF,KAAK,CACpB,UAAUtD,CAAC,EAAE;EACfV,MAAM,CAAC6N,cAAc,CAAC/L,IAAI,CAAC,CAAC;EAC5B9B,MAAM,CAACunB,wBAAwB,GAAGvnB,MAAM,CAAC6N,cAAc,CAAC8S,gBAAgB,CAACjM,IAAI,CACnE1U,MAAM,CAAC6N,cACjB,CAAC;AACF,CACD,CAAC,C;;;;;;;;;;;ACrhFD,CAAE,UAAWnN,CAAC,EAAEV,MAAM,EAAG;EACjB,MAAMwnB,MAAM,GAAG7mB,QAAQ,CAACoZ,KAAK;EAC7BrZ,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY;IAClDb,MAAM,CAACwU,aAAa,GAAG,KAAK;IAC5B9T,CAAC,CAACwB,IAAI,CAAC;MACHC,IAAI,EAAE,MAAM;MACZE,GAAG,EAAEsG,OAAO;MACZvH,IAAI,EAAE;QACFa,MAAM,EAAE,oBAAoB;QAC5Bga,OAAO,EAAEvb,CAAC,CAAC,IAAI,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;QAC3B2Y,KAAK,EAAEyN;MACX,CAAC;MACD5e,KAAK,EAAE,KAAK;MACZrG,OAAO,EAAE,SAAAA,CAASI,IAAI,EAAE;QACpBjC,CAAC,CAAC+mB,aAAa,CAACjK,IAAI,CAAC;UACjBjc,KAAK,EAAE;YACHyT,GAAG,EAAE;UACT,CAAC;UACD7S,IAAI,EAAE,QAAQ;UACdulB,SAAS,EAAE;YACPC,UAAU,EAAG,SAAAA,CAAA,EAAW;cACpBjnB,CAAC,CAAC,wBAAwB,CAAC,CAACiC,IAAI,CAACA,IAAI,CAAC;cACtC3C,MAAM,CAAC6N,cAAc,CAAC/L,IAAI,CAAC,CAAC;cAC5B,IAAI,CAAC9B,MAAM,CAAC6N,cAAc,CAAC8C,WAAW,CAAC,CAAC,EAAE;gBACtC3Q,MAAM,CAAC6N,cAAc,CAAC+C,uBAAuB,CAAC,CAAC;cACnD;cACA5Q,MAAM,CAAC6N,cAAc,CAACwE,mBAAmB,CAAC,CAAC;cAC3CrS,MAAM,CAAC6N,cAAc,CAAC6D,wBAAwB,CAAC,CAAC;cAChD1R,MAAM,CAAC6N,cAAc,CAAC8D,qBAAqB,CAAC,CAAC;cAC7C3R,MAAM,CAAC6N,cAAc,CAACmD,mBAAmB,CAAC,CAAC;cAC3ChR,MAAM,CAAC6N,cAAc,CAAC4D,mBAAmB,CAAC,CAAC;cAC3CzR,MAAM,CAAC6N,cAAc,CAACsK,kBAAkB,CAAC,CAAC;cAC1CnY,MAAM,CAAC6N,cAAc,CAAC0N,uBAAuB,CAAC,CAAC;cAC/Cvb,MAAM,CAAC6N,cAAc,CAACmE,oBAAoB,CAAC,CAAC;cAC5ChS,MAAM,CAAC6N,cAAc,CAACoE,gBAAgB,CAAC,CAAC;cACxCjS,MAAM,CAAC6N,cAAc,CAACyD,0BAA0B,CAAC,CAAC;cAClDtR,MAAM,CAAC6N,cAAc,CAACsE,sBAAsB,CAAC,CAAC;cAC9CnS,MAAM,CAACoO,kBAAkB,CAACjB,oBAAoB,CAAC,CAAC;cAChD,IAAInN,MAAM,CAAC6N,cAAc,CAACuB,eAAe,EAAE;gBACvCpP,MAAM,CAAC6N,cAAc,CAACyE,4BAA4B,CAAC,CAAC;cACxD;YACJ;UACJ;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;IAGN5R,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAUZ,CAAC,EAAE;MACvEA,CAAC,CAACK,cAAc,CAAC,CAAC;MAClBI,CAAC,CAAC+mB,aAAa,CAACG,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,EAAEhmB,MAAM,EAAE5B,MAAM,CAAC,C;;;;;;;;;;;ACrDlB,CAAC,UAAUU,CAAC,EAAE;EACV,YAAY;;EAEZ,IAAImnB,aAAa,GAAGlnB,QAAQ,CAACknB,aAAa;EAC1C,IAAIriB,yBAAyB,GAAG7E,QAAQ,CAAC8E,0BAA0B;EACnE,IAAIJ,WAAW,GAAGC,MAAM,CAACC,KAAK;EAE9B7E,CAAC,CAAC9B,QAAQ,CAAC,CAACoF,KAAK,CAAC,YAAY;IAC1B,IAAI8jB,kBAAkB,GAAG,CACrB,gBAAgB,EAChB,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,CAC9B;IAEDhmB,IAAI,CAAC,CAAC;IAEN,SAASA,IAAIA,CAAA,EAAG;MACZimB,qBAAqB,CAAC,CAAC;MACvBC,qBAAqB,CAAC,CAAC;MACvBC,cAAc,CAAC,CAAC;MAChBC,WAAW,CAAC,CAAC;MACbC,oBAAoB,CAAC,CAAC;MACtBC,yBAAyB,CAAC,CAAC;MAC3BhjB,0CAA0C,CAAC,CAAC;IAChD;IAEA,SAASA,0CAA0CA,CAAA,EAAG;MAClD1E,CAAC,CAAC,6BAA6B,CAAC,CAACgC,WAAW,CAAC,QAAQ,CAAC;MACtD,IAAIgD,iBAAiB,GAAG,EAAE;MAE1B,IAAIL,WAAW,IAAI,IAAI,EAAE;QACrBK,iBAAiB,GAAGF,yBAAyB;MACjD,CAAC,MAAM,IAAIH,WAAW,IAAI,IAAI,EAAE;QAC5BK,iBAAiB,GAAIF,yBAAyB,IAAI,CAAC,GAAI,CAAC,GAAGA,yBAAyB;MACxF,CAAC,MAAM,IAAIH,WAAW,IAAI,GAAG,EAAE;QAC3BK,iBAAiB,GAAIF,yBAAyB,IAAI,CAAC,GAAI,CAAC,GAAGA,yBAAyB;MACxF,CAAC,MAAM,IAAIH,WAAW,IAAI,GAAG,EAAE;QAC3BK,iBAAiB,GAAIF,yBAAyB,IAAI,CAAC,GAAI,CAAC,GAAGA,yBAAyB;MACxF;MAEA9E,CAAC,CAAC,qBAAqB,CAAC,CAACiF,QAAQ,CAAC,6BAA6B,GAAGD,iBAAiB,CAAC;IACxF;IAEA,SAAS0iB,yBAAyBA,CAAA,EAAG;MACjC,IAAIljB,MAAM,GAAGxE,CAAC,CAAC,uBAAuB,CAAC;MACvC,IAAI2nB,OAAO,GAAG3nB,CAAC,CAAC,2BAA2B,CAAC;MAC5C,IAAIwE,MAAM,CAAC5F,MAAM,KAAK,CAAC,IAAI+oB,OAAO,CAAC/oB,MAAM,KAAK,CAAC,EAAE;QAC7CoB,CAAC,CAAC,wBAAwB,CAAC,CAACF,MAAM,CAAC,CAAC;MACxC;IACJ;IAEA,SAAS2nB,oBAAoBA,CAAA,EAAG;MAC5BznB,CAAC,CAAC,uBAAuB,CAAC,CAACc,IAAI,CAAC,UAAU6T,KAAK,EAAEhP,OAAO,EAAE;QACtD,IAAIiiB,KAAK,GAAG5nB,CAAC,CAAC2F,OAAO,CAAC,CAAC3E,IAAI,CAAC,yBAAyB,CAAC;QACtD,IAAI6mB,mBAAmB,GAAGD,KAAK,CAAC5mB,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI8mB,aAAa,GAAGD,mBAAmB,CAACnnB,IAAI,CAAC,gBAAgB,CAAC;QAC9D,IAAIknB,KAAK,CAAChpB,MAAM,KAAK,CAAC,IAAI,OAAOkpB,aAAa,KAAK,WAAW,EAAE;UAC5DniB,OAAO,CAAC7F,MAAM,CAAC,CAAC;QACpB;MACJ,CAAC,CAAC;IACN;IAEA,SAAS0nB,WAAWA,CAAA,EAAG;MACnB,IAAIjhB,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAC9BvG,CAAC,CAAC,WAAW,CAAC,CAACuf,OAAO,CAAC;UAACC,SAAS,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;MAClD;IACJ;IAEA,SAAS+H,cAAcA,CAAA,EAAG;MACtB,MAAMQ,SAAS,GAAG/nB,CAAC,CAAC,0BAA0B,CAAC;MAC/C,MAAMgoB,eAAe,GAAGhoB,CAAC,CAAC,iCAAiC,CAAC;MAC5D,MAAMioB,cAAc,GAAGjoB,CAAC,CAAC,6BAA6B,CAAC;MACvD,MAAMkoB,WAAW,GAAGloB,CAAC,CAAC,2BAA2B,CAAC;MAClD,MAAMmoB,YAAY,GAAGnoB,CAAC,CAAC,gCAAgC,CAAC;MACxD,MAAMooB,eAAe,GAAGpoB,CAAC,CAAC,MAAM,CAAC;MAEjCgoB,eAAe,CAAC7nB,EAAE,CAAC,OAAO,EAAGZ,CAAC,IAAK;QAC/B,IAAIknB,KAAK,GAAGzmB,CAAC,CAACT,CAAC,CAAC8oB,MAAM,CAAC,CAACziB,OAAO,CAAC,MAAM,CAAC,CAAC5E,IAAI,CAAC,6DAA6D,CAAC;QAC3G,IAAI,CAACylB,KAAK,CAAC7nB,MAAM,EAAE;UACf;QACJ;QACA0pB,iBAAiB,CAAC7B,KAAK,CAAC7lB,GAAG,CAAC,CAAC,CAAC;MAClC,CAAC,CAAC;MAEFmnB,SAAS,CAAC5nB,EAAE,CAAC,OAAO,EAAE,MAAM;QACxBsF,YAAY,CAACC,UAAU,CAAC,aAAa,CAAC;QACtCD,YAAY,CAACC,UAAU,CAAC,kBAAkB,CAAC;;QAE3C;AAChB;AACA;QACgBwiB,WAAW,CAAC9iB,WAAW,CAAC,+BAA+B,CAAC;QACxD8iB,WAAW,CAACK,KAAK,CAAC,CAAC;QAEnB,IAAIL,WAAW,CAAC5c,QAAQ,CAAC,+BAA+B,CAAC,IAAI4c,WAAW,CAACtnB,GAAG,CAAC,CAAC,CAAChC,MAAM,GAAG,CAAC,EAAE;UACvF6a,UAAU,CAAC,YAAY;YACnBwO,cAAc,CAACjmB,WAAW,CAAC,QAAQ,CAAC;UACxC,CAAC,EAAE,GAAG,CAAC;QACX,CAAC,MAAM;UACHimB,cAAc,CAAChjB,QAAQ,CAAC,QAAQ,CAAC;QACrC;MAEJ,CAAC,CAAC;MAEF,IAAI,OAAOijB,WAAW,CAACtnB,GAAG,CAAC,CAAC,KAAK,WAAW,IAAIsnB,WAAW,CAACtnB,GAAG,CAAC,CAAC,CAAChC,MAAM,GAAG,CAAC,EAAE;QAC1EspB,WAAW,CAACjjB,QAAQ,CAAC,+BAA+B,CAAC;QACrDgjB,cAAc,CAACjmB,WAAW,CAAC,QAAQ,CAAC;MACxC;MAEAkmB,WAAW,CAAC/nB,EAAE,CAAC,OAAO,EAAE,YAAY;QAChC,IAAI+nB,WAAW,CAACtnB,GAAG,CAAC,CAAC,CAAChC,MAAM,GAAG,CAAC,EAAE;UAC9BqpB,cAAc,CAACjmB,WAAW,CAAC,QAAQ,CAAC;QACxC,CAAC,MAAM;UACHimB,cAAc,CAAChjB,QAAQ,CAAC,QAAQ,CAAC;QACrC;MACJ,CAAC,CAAC;MAEFgjB,cAAc,CAAC9nB,EAAE,CAAC,OAAO,EAAE,YAAY;QACnC+nB,WAAW,CAACtnB,GAAG,CAAC,EAAE,CAAC;QACnBZ,CAAC,CAAC,IAAI,CAAC,CAACiF,QAAQ,CAAC,QAAQ,CAAC;QAC1B3F,MAAM,CAACiI,OAAO,CAACihB,YAAY,CAAC,CAAC,CAAC,EAAEtqB,QAAQ,CAACuW,KAAK,EAAE0S,aAAa,CAAC;QAC9DjpB,QAAQ,CAACqG,QAAQ,CAACqF,MAAM,CAAC,CAAC;MAC9B,CAAC,CAAC;MAEFue,YAAY,CAAChoB,EAAE,CAAC,OAAO,EAAE,UAAUZ,CAAC,EAAE;QAClCA,CAAC,CAACwK,eAAe,CAAC,CAAC;QACnB/J,CAAC,CAAC,IAAI,CAAC,CAAC4F,OAAO,CAAC,kCAAkC,CAAC,CAACX,QAAQ,CAAC,uCAAuC,CAAC;MACzG,CAAC,CAAC;MAEFmjB,eAAe,CAACjoB,EAAE,CAAC,OAAO,EAAE,UAAUZ,CAAC,EAAE;QACrC,IAAI,CAACS,CAAC,CAACT,CAAC,CAAC8oB,MAAM,CAAC,CAACziB,OAAO,CAAC,+CAA+C,CAAC,CAAChH,MAAM,EAAE;UAC9EoB,CAAC,CAAC,kCAAkC,CAAC,CAACgC,WAAW,CAAC,uCAAuC,CAAC;QAC9F;MACJ,CAAC,CAAC;IAEN;IAEA,SAASqlB,qBAAqBA,CAAA,EAAG;MAC7B,IAAI7iB,MAAM,GAAG+B,kBAAkB,CAAC,QAAQ,CAAC;MACzC,IAAI,OAAO/B,MAAM,KAAK,WAAW,IAAIA,MAAM,KAAK,CAAC,EAAE;QAC/CxE,CAAC,CAAC,2BAA2B,CAAC,CAACY,GAAG,CAAC2F,kBAAkB,CAAC,QAAQ,CAAC,CAAC;MACpE;MAEAvG,CAAC,CAAC9B,QAAQ,CAAC,CAACiC,EAAE,CAAC,UAAU,EAAE,6DAA6D,EAAE,UAAUZ,CAAC,EAAE;QACnG,IAAI8oB,MAAM,GAAGroB,CAAC,CAACT,CAAC,CAACkpB,aAAa,CAAC;QAC/B,IAAIlpB,CAAC,CAAC4gB,KAAK,KAAK,EAAE,IAAIkI,MAAM,CAACznB,GAAG,CAAC,CAAC,IAAI,OAAOynB,MAAM,CAACznB,GAAG,CAAC,CAAC,KAAK,WAAW,EAAE;UACvErB,CAAC,CAACK,cAAc,CAAC,CAAC;UAClB0oB,iBAAiB,CAACD,MAAM,CAACznB,GAAG,CAAC,CAAC,CAAC;QACnC;MACJ,CAAC,CAAC;IACN;IAEA,SAAS0nB,iBAAiBA,CAACI,YAAY,EAAE;MACrC,IAAIjf,SAAS,GAAG,CACZ,CAAC,QAAQ,EAAEif,YAAY,CAAC,CAC3B;MAEDppB,MAAM,CAACiI,OAAO,CAACihB,YAAY,CAAC,CAAC,CAAC,EAAEtqB,QAAQ,CAACuW,KAAK,EAAE0S,aAAa,CAAC;MAC9D,IAAIzd,MAAM,GAAGxL,QAAQ,CAACqG,QAAQ,CAACkD,QAAQ,GAAGkC,sBAAsB,CAACF,SAAS,CAAC;MAE3ElC,OAAO,CAACC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAEkC,MAAM,CAAC;MACjCxL,QAAQ,CAACqG,QAAQ,CAACqF,MAAM,CAAC,CAAC;IAC9B;IAEA,SAAS0d,qBAAqBA,CAAA,EAAG;MAC7B,IAAIqB,OAAO,GAAG,EAAE;MAChB,IAAIC,UAAU,GAAGriB,kBAAkB,CAAC,MAAM,CAAC;MAC3C,IAAIsiB,kBAAkB,GAAG7oB,CAAC,CAAC,2BAA2B,CAAC;MAEvD,QAAQ4oB,UAAU;QACd,KAAK,YAAY;UACbD,OAAO,GAAG,iBAAiB;UAC3B;QACJ,KAAK,QAAQ;UACTA,OAAO,GAAG,wBAAwB;UAClC;QACJ,KAAK,OAAO;UACRA,OAAO,GAAG,eAAe;UACzB;QACJ;UACIA,OAAO,GAAG,iBAAiB;UAC3B;MACR;MAEAE,kBAAkB,CAACC,OAAO,CAAC,YAAY,CAAC,CAAC9nB,IAAI,CAAC,wBAAwB,CAAC,CAACiB,IAAI,CAAC0mB,OAAO,GAAG,8BAA8B,CAAC;MAEtHE,kBAAkB,CAAC1jB,KAAK,CAAC,UAAU5F,CAAC,EAAE;QAClCopB,OAAO,GAAG3oB,CAAC,CAAC,IAAI,CAAC,CAACK,IAAI,CAAC,CAAC;QACxBL,CAAC,CAAC,IAAI,CAAC,CAAC8oB,OAAO,CAAC,YAAY,CAAC,CAAC9nB,IAAI,CAAC,wBAAwB,CAAC,CAACiB,IAAI,CAAC0mB,OAAO,GAAG,8BAA8B,CAAC;MAC/G,CAAC,CAAC;IACN;IAEA,MAAMziB,sBAAsB,GAAGA,CAAA,KAAM;MACjClG,CAAC,CAAC,uBAAuB,CAAC,CAACoF,WAAW,CAAC,4BAA4B,CAAC;MACpEpF,CAAC,CAAC,MAAM,CAAC,CAACoF,WAAW,CAAC,2BAA2B,CAAC;MAClDpF,CAAC,CAAC,MAAM,CAAC,CAACoF,WAAW,CAAC,2BAA2B,CAAC;IACtD,CAAC;IAEDpF,CAAC,CAAC,MAAM,CAAC,CAACG,EAAE,CAAC,OAAO,EAAE,2IAA2I,EAAE+F,sBAAsB,CAAC;EAC9L,CAAC,CAAC;AACN,CAAC,EAAEhF,MAAM,CAAC,C;;;;;;;;;;;AC1MV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAE,YAAW;EACZ,IAAI6nB,IAAI,GAAG,iBAAiB,CAACC,IAAI,CAAEzf,SAAS,CAAC0f,SAAU,CAAC;EAExD,IAAKF,IAAI,IAAI7qB,QAAQ,CAACC,cAAc,IAAImB,MAAM,CAACT,gBAAgB,EAAG;IACjES,MAAM,CAACT,gBAAgB,CAAE,YAAY,EAAE,YAAW;MACjD,IAAImL,EAAE,GAAGzF,QAAQ,CAAC8L,IAAI,CAAC6Y,SAAS,CAAE,CAAE,CAAC;QACpCvjB,OAAO;MAER,IAAK,CAAI,eAAe,CAACqjB,IAAI,CAAEhf,EAAG,CAAG,EAAG;QACvC;MACD;MAEArE,OAAO,GAAGzH,QAAQ,CAACC,cAAc,CAAE6L,EAAG,CAAC;MAEvC,IAAKrE,OAAO,EAAG;QACd,IAAK,CAAI,uCAAuC,CAACqjB,IAAI,CAAErjB,OAAO,CAAC3G,OAAQ,CAAG,EAAG;UAC5E2G,OAAO,CAACwjB,QAAQ,GAAG,CAAC,CAAC;QACtB;QAEAxjB,OAAO,CAAC4iB,KAAK,CAAC,CAAC;MAChB;IACD,CAAC,EAAE,KAAM,CAAC;EACX;AACD,CAAC,EAAG,CAAC,C","file":"js/public.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/**\n * File navigation.js.\n *\n * Handles toggling the navigation menu for small screens and enables TAB key\n * navigation support for dropdown menus.\n */\n( function() {\n\tvar container, button, menu, links, i, len;\n\n\tcontainer = document.getElementById( 'site-navigation' );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tbutton = container.getElementsByTagName( 'button' )[0];\n\tif ( 'undefined' === typeof button ) {\n\t\treturn;\n\t}\n\n\tmenu = container.getElementsByTagName( 'ul' )[0];\n\n\t// Hide menu toggle button if menu is empty and return early.\n\tif ( 'undefined' === typeof menu ) {\n\t\tbutton.style.display = 'none';\n\t\treturn;\n\t}\n\n\tmenu.setAttribute( 'aria-expanded', 'false' );\n\tif ( -1 === menu.className.indexOf( 'nav-menu' ) ) {\n\t\tmenu.className += ' nav-menu';\n\t}\n\n\tbutton.onclick = function() {\n\t\tif ( -1 !== container.className.indexOf( 'toggled' ) ) {\n\t\t\tcontainer.className = container.className.replace( ' toggled', '' );\n\t\t\tbutton.setAttribute( 'aria-expanded', 'false' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'false' );\n\t\t} else {\n\t\t\tcontainer.className += ' toggled';\n\t\t\tbutton.setAttribute( 'aria-expanded', 'true' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'true' );\n\t\t}\n\t};\n\n\t// Get all the link elements within the menu.\n\tlinks = menu.getElementsByTagName( 'a' );\n\n\t// Each time a menu link is focused or blurred, toggle focus.\n\tfor ( i = 0, len = links.length; i < len; i++ ) {\n\t\tlinks[i].addEventListener( 'focus', toggleFocus, true );\n\t\tlinks[i].addEventListener( 'blur', toggleFocus, true );\n\t}\n\n\t/**\n\t * Sets or removes .focus class on an element.\n\t */\n\tfunction toggleFocus() {\n\t\tvar self = this;\n\n\t\t// Move up through the ancestors of the current link until we hit .nav-menu.\n\t\twhile ( -1 === self.className.indexOf( 'nav-menu' ) ) {\n\n\t\t\t// On li elements toggle the class .focus.\n\t\t\tif ( 'li' === self.tagName.toLowerCase() ) {\n\t\t\t\tif ( -1 !== self.className.indexOf( 'focus' ) ) {\n\t\t\t\t\tself.className = self.className.replace( ' focus', '' );\n\t\t\t\t} else {\n\t\t\t\t\tself.className += ' focus';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tself = self.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Toggles `focus` class to allow submenu access on tablets.\n\t */\n\t( function( container ) {\n\t\tvar touchStartFn, i,\n\t\t\tparentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );\n\n\t\tif ( 'ontouchstart' in window ) {\n\t\t\ttouchStartFn = function( e ) {\n\t\t\t\tvar menuItem = this.parentNode, i;\n\n\t\t\t\tif ( ! menuItem.classList.contains( 'focus' ) ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfor ( i = 0; i < menuItem.parentNode.children.length; ++i ) {\n\t\t\t\t\t\tif ( menuItem === menuItem.parentNode.children[i] ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmenuItem.parentNode.children[i].classList.remove( 'focus' );\n\t\t\t\t\t}\n\t\t\t\t\tmenuItem.classList.add( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tmenuItem.classList.remove( 'focus' );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor ( i = 0; i < parentLink.length; ++i ) {\n\t\t\t\tparentLink[i].addEventListener( 'touchstart', touchStartFn, false );\n\t\t\t}\n\t\t}\n\t}( container ) );\n} )();\n","(function( $ , window) {\n if (settings.pg_google_track_id !== '') {\n $(document).on(\"click\", \".category-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_attribute_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_attribute_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".attribute-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_category_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_category_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".remove-item-js, .widget-remove-item-js\", function () {\n var item = [];\n item.push($(this).data('cart-item'));\n item.push({\n quantity: $('counter-count-js').val(),\n });\n\n gtag('event', 'remove_from_cart', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": item[0]\n });\n });\n\n\n $(document).on(\"click\", \"button.checkout-button-js\", function () {\n var items = [];\n $('.cart-item-js').each(function (key, item) {\n var item = $(this).data('cart-item');\n item.quantity = $(this).find('.counter-count-js').val();\n items.push(item);\n });\n\n var cart_items = [];\n gtag('event', 'begin_checkout', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": items\n });\n });\n }\n\n}) (jQuery, window);\n","(function ($, window) {\n\n let prodigy_remote_cart = {\n\n init: function () {\n // this.get_remote_cart();\n },\n\n get_remote_cart: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-template-cart\",\n };\n\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (response) {\n if (response.success === false) {\n self.check_empty_cart_load_remote();\n } else {\n $('.prodigy-cart-container-js .row').removeClass('cart-skeleton').html(response.data.cart);\n if (response.data.is_show_cross_products) {\n $('.related-products-block-js').show();\n $('.related-products-container-js').show().html(response.data.cross_products);\n self.cross_slider_init();\n }\n }\n }\n });\n },\n\n cross_slider_init: function () {\n $('.related-products-js').not('.slick-initialized').slick({\n prevArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--prev icon icon-arrow-left\"></button>',\n nextArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--next icon icon-arrow-right\"></button>',\n slidesToShow: 2,\n slidesToScroll: 1,\n dots: false,\n arrows: true,\n mobileFirst: true,\n variableWidth: false,\n responsive: [\n {\n breakpoint: 767,\n settings: {\n variableWidth: false,\n slidesToShow: 3,\n slidesToScroll: 3,\n }\n },\n {\n breakpoint: 1168,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n variableWidth: false,\n arrows: true,\n }\n },\n ]\n });\n },\n\n check_empty_cart_load_remote: function () {\n $('.prodigy-cart-container-js .row').hide();\n $('.empty-cart-js').show();\n if (settings.is_deleted_product) {\n $('.widget-cart-message-error-js').show();\n }\n },\n };\n\n window.prodigyRemoteCart = prodigy_remote_cart;\n})(jQuery, window);\n\njQuery(function ($) {\n window.prodigyRemoteCart.init();\n});\n","(function ($, window) {\n 'use strict';\n $(document).ready(\n function () {\n init();\n\n function init() {\n filter_handler();\n set_sortable();\n reset_filters();\n clear_params();\n apply_filters();\n set_price_filter();\n set_sidebar();\n close_active_filter();\n remove_filter_storage();\n set_filters();\n if (is_elementor_template()) {\n set_elementor_filter_mode();\n }\n set_custom_select();\n }\n\n\n function get_shop_page_id() {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('page_id');\n }\n\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let windowWidth = screen.width;\n let default_number_of_columns = settings.customizer_product_columns;\n let number_of_columns = 1;\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function is_elementor_template() {\n return $('.elementor-widget-pae-archive-products').length > 0;\n }\n\n function is_show_active_filter() {\n return $('.elementor-show-active-filter-js').val();\n }\n\n function set_elementor_filter_mode() {\n $('.prodigy-filter__sm-btn-js').click(function () {\n $('.prodigy-filter-js').show();\n $('.prodigy-filter__accordion-header-js').show();\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n });\n }\n\n function set_filters() {\n $('.attribute-filter-js').each(function () {\n if ($(this).is(':checked')) {\n let attribute_name = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n load_filters(attribute_name, attribute_value);\n }\n });\n }\n\n function remove_filter_storage() {\n localStorage.removeItem('filter');\n }\n\n function close_active_filter() {\n $(document).on(\n 'click',\n '.filter-close-js',\n function () {\n let element = $(this).closest('.prodigy-main-badge');\n let attribute_id = element.data(\"attribute-id\");\n let attribute_value = element.data('attribute-slug');\n unset_filter(attribute_id, attribute_value);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function set_sidebar() {\n const filterToggleBtnHandler = () => {\n $('#filter-toggle-btn').toggleClass('prodigy-shop-sidebar-btn--show');\n $('#filter').toggleClass('prodigy-shop-sidebar--open');\n }\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-2, #shop-sidebar-backdrop-js', filterToggleBtnHandler);\n }\n\n function set_loader() {\n $('.prodigy-loader-wrapper').show();\n $('.prodigy-loader-wrapper').attr(\"style\", \"display:flex\");\n $('*').addClass('pointer-events-none');\n }\n\n function remove_loader() {\n $('.prodigy-loader-wrapper').hide();\n $('*').removeClass('pointer-events-none');\n }\n\n function set_price_filter() {\n $(document).on(\n 'click',\n '.price-filter-submit-js',\n function (e) {\n let price_max = prodigyGetUrlParam('price_max');\n let price_min = prodigyGetUrlParam('price_min');\n let price_query = '';\n if (price_min && price_min) {\n price_query = 'price_max=' + price_max + '&' + 'price_min=' + price_min;\n }\n localStorage.setItem('price-range', price_query);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function apply_filters() {\n $(document).on(\n 'click',\n '.attribute-filter-js',\n function (e) {\n let attribute_id = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n if ($(this).is(':checked')) {\n set_filters();\n } else {\n unset_filter(attribute_id, attribute_value);\n }\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function clear_params() {\n $(document).on(\n 'click',\n '.clear-params-js',\n function (e) {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n clear_url_params();\n set_loader();\n }\n );\n\n if (window.location.search === '') {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n }\n\n remove_loader();\n }\n\n function reset_filters() {\n $(document).on(\n 'click',\n '.filter-reset-js',\n function () {\n clear_url_params();\n }\n );\n }\n\n function clear_url_params() {\n remove_filter_storage();\n if (get_shop_page_id() !== null) {\n window.location.href = window.location.origin+'?page_id=' + get_shop_page_id();\n } else {\n window.location.href = window.location.href.split(\"?\")[0];\n }\n }\n\n function build_query() {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n let filter_query = jQuery.param(params);\n let price_query = localStorage.getItem('price-range');\n\n let total_query = '';\n if (price_query !== null) {\n total_query = filter_query + '&' + price_query;\n } else {\n total_query = filter_query;\n }\n\n if (get_shop_page_id() !== null) {\n total_query = 'page_id=' + get_shop_page_id() + '&' + total_query;\n }\n\n\n if (total_query !== '') {\n history.pushState('', '', '?' + total_query);\n } else {\n history.pushState(null, null, window.location.pathname);\n }\n\n let category_name = $('.category-name-js').val();\n let category_slug = $('.slug-name-js').val();\n let current_url = window.location.href;\n\n if (category_name && category_slug) {\n total_query = total_query + '&tax_name=' + category_name + '&tax_slug=' + category_slug;\n }\n\n total_query = total_query + '¤t_url=' + current_url;\n\n return total_query;\n }\n\n\n function get_catalog_products(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n $('.prodigy-product-list__grid').addClass('prodigy__is-loading');\n set_loader();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.prodigy-product-list__grid').removeClass('prodigy__is-loading');\n remove_loader();\n $('.prodigy-pagination-shop-js').html(response.data.pagination_list);\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n let products = $(response.data.products).find('.shop-page-container-js');\n $('.shop-page-container-js').replaceWith(products);\n } else {\n let products = $(response.data.products).find('.prodigy-product-list__grid');\n let no_results = $(document).find('.shop-page-container-empty-js');\n\n let container = '.prodigy-product-list__grid';\n if (no_results.length > 0) {\n container = '.shop-page-container-empty-js';\n }\n\n $(container).replaceWith(products);\n }\n set_number_of_columns_by_screen_resolution();\n }\n });\n }\n\n function get_catalog_filters(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.catalog-sort-js').html($(response.data.sort).html());\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n if ($('.prodigy-filter__badges').length > 0) {\n $('.prodigy-filter__badges').closest('.prodigy-filter__main').remove();\n $('.prodigy-filter__badges').remove();\n }\n $('.prodigy-filter__main').first().before(response.data.active);\n $('.prodigy-filter-title-js').html(response.data.filters);\n } else {\n let filters = $(response.data.filters).closest('.prodigy-filter-js');\n $('.prodigy-filter-js').replaceWith(filters);\n if (is_show_active_filter()) {\n if ($('.active-filter-js').length > 0) {\n $('.active-filter-js').html(response.data.active);\n } else {\n $('.prodigy-filter-title-js:first').before(response.data.active);\n }\n $('.price-filter-container-js').html(response.data.price_filter);\n let price_filter = $(response.data.price_filter).find('.js-range-slider');\n $(document).find('.min-js').val($(price_filter).attr('data-min'));\n $(document).find('.max-js').val($(price_filter).attr('data-max'));\n }\n }\n\n let price_filter_container = $('.price-filter-container-js');\n if (price_filter_container.length !== 0) {\n price_filter_container.html(response.data.price);\n window.slider_widget.init(\n response.data.min_price,\n response.data.max_price,\n response.data.query_min_price,\n response.data.query_max_price\n );\n }\n set_custom_select();\n }\n });\n }\n\n function set_custom_select() {\n $(document).find('.prodigy-custom-select').styler({\n onFormStyled: function () {\n $(document).find('.jq-selectbox__select-text').each(function () {\n const width = $(this)\n .closest('.jq-selectbox')\n .find('select')\n .width();\n // $(this).width(width);\n });\n }\n });\n }\n\n function set_sortable() {\n $(document).on(\n 'click',\n '.catalog-page-sort-js',\n function () {\n if ((navigator.platform.indexOf(\"iPhone\") != -1) || (navigator.platform.indexOf(\"iPod\") != -1)) {\n $(\"select.catalog-page-sort-js\").remove();\n }\n $('.catalog-page-device-sort-js').addClass('prodigy-select-md--open');\n }\n );\n\n $(document).on(\n 'change',\n '.catalog-page-sort-js',\n function () {\n var sort = $(this).children(\"option:selected\").val();\n if (sort !== 'undefined') {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n );\n\n $(document).on(\n 'change',\n '.sort-radio-js',\n function () {\n $('.sort-radio-js').each(function () {\n if ($(this).is(':checked')) {\n var sort = $(this).val();\n if (sort !== undefined) {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n });\n }\n );\n\n $('body, .catalog-page-device-sort-close-js').click(function () {\n $('.catalog-page-device-sort-js').removeClass('prodigy-select-md--open');\n });\n\n $('.prodigy-select-md__wrap').click(function (event) {\n event.stopPropagation();\n });\n }\n\n function unset_filter(id, attribute) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n if (params === null) {\n localStorage.removeItem('filter');\n } else {\n let values = '';\n if (typeof params['attr'] !== 'undefined' && typeof params['attr'][id] !== 'undefined') {\n values = params['attr'][id].split(';');\n values.forEach(function (value, key) {\n if (attribute == value) {\n values.splice(key, 1);\n }\n });\n }\n\n if (values.length > 0) {\n let values_str = values.join(';');\n params['attr'][id] = values_str;\n } else {\n delete params['attr'][id];\n }\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n if (id === 'Price') {\n localStorage.removeItem('price-range')\n }\n\n uncheck_filter_checkbox(id, attribute);\n }\n\n function uncheck_filter_checkbox(id, attribute) {\n $('.attribute-filter-js').each(function () {\n if ($(this).data('attribute-id') == id && $(this).data('attribute-name') == attribute) {\n $(this).removeAttr('checked');\n }\n })\n }\n\n function load_filters(id, value) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n\n if (params !== null && Object.keys(params['attr']).length !== 0) {\n $.each(params['attr'], function (i, item) {\n let parts = item.split(\";\");\n if (i == id && parts.indexOf(value.toString()) === -1) {\n params['attr'][id] = item + ';' + value.toString();\n }\n });\n }\n\n if (params === null || Object.keys(params['attr']).length === 0) {\n params = {};\n params['attr'] = {};\n params['attr'][id] = value.toString();\n } else if (typeof params['attr'][id] === 'undefined') {\n params['attr'][id] = value.toString();\n }\n\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n function filter_handler() {\n // show more/less filter values\n $(document).on(\n 'click',\n '.filter__btn-js',\n function () {\n const id_attr = $(this).data('id')\n const list = $('.filter__item-list-js#filter_attr_' + id_attr)\n const listItems = list.find('.prodigy-filter__item-list-li, .prodigy-filter__card-list-item')\n const btnText = $(this).find('.filter__btn-txt-js')\n const listOpenClass = 'active'\n const moreText = 'Show more'\n const lessText = 'Show less'\n const countShow = list.data('count-show')\n\n $(this).toggleClass(listOpenClass)\n\n if ($(this).hasClass(listOpenClass)) {\n btnText.text(lessText)\n listItems.show()\n } else {\n btnText.text(moreText)\n listItems.each(\n function (i) {\n if (i + 1 > countShow) {\n $(this).hide()\n }\n }\n )\n }\n }\n );\n }\n }\n );\n})(jQuery, window);\n","(function ($, window) {\n let prodigy_product_bulk = {\n input_quantity_element: '.prodigy-bulk-input-js',\n enable_bulk_element: '.enable-bulk-js',\n add_to_cart_button: \"button.add-to-cart-js\",\n bulk_container_general: '.bulk-container-js',\n bulk_container: '.bulk-container-',\n variant_container: '.variant-container-',\n swatch_variant_container: '.swatch-variant-container-',\n button_disable_bulk: '.disable-bulk-button-js',\n link_disable_bulk: '.disable-bulk-js',\n bulk_modal: '#disableBulkModal',\n counter_element: '.prodigy-counter-wrap-js',\n bulk_total_block: '.bulk-total-block-js',\n close_bulk_modal: '.close-bulk-modal-js',\n replaced_hidden_option: '',\n disable_bulk_modal_text: '.disable-bulk-modal-text-js',\n\n init: function () {\n if (this.is_bulk()) {\n this.set_quantity_validation();\n this.bulk_showing_manager();\n }\n },\n\n is_bulk: function () {\n return $(this.enable_bulk_element).is(\":visible\");\n },\n\n is_bulk_enabled: function () {\n return $(this.bulk_container_general).is(\":visible\");\n },\n\n get_attr_name_with_bulk_enabled() {\n return $(this.bulk_container_general + ':visible').data('attribute');\n },\n\n bulk_showing_manager: function () {\n let self = this;\n $(this.enable_bulk_element).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n self.hide_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n\n if (self.is_bulk_enabled()) {\n $(self.button_disable_bulk).data('attribute', self.get_attr_name_with_bulk_enabled()) ;\n $(self.button_disable_bulk).data('show-attribute', attribute_name);\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + self.get_attr_name_with_bulk_enabled());\n $(self.bulk_modal).modal('show');\n return;\n }\n self.show_bulk_for_attr(attribute_name);\n });\n\n\n $(this.close_bulk_modal).on('click', function () {\n $(self.bulk_modal).modal('hide');\n });\n\n\n $(this.link_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.button_disable_bulk).data('attribute', attribute_name) ;\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + attribute_name);\n $(self.bulk_modal).modal('show');\n });\n\n\n $(this.button_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.bulk_modal).modal('hide');\n self.hide_bulk_for_attr(attribute_name);\n self.show_bulk_for_attr($(this).data('show-attribute'));\n $(this).removeData('attribute');\n $(this).removeData('show-attribute');\n self.show_price_bulk_block();\n window.prodigyProduct.reset_bulk_inputs();\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n self.show_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n });\n },\n\n show_default_product_info: function () {\n $('.prodigy-product__prop-wrap').show();\n },\n\n hide_default_product_info: function () {\n $('.prodigy-product__prop-wrap').hide();\n },\n\n hide_bulk_for_attr: function(attribute_name) {\n $(this.bulk_container + attribute_name + '-js').hide();\n $(this.variant_container + attribute_name + '-js').show();\n $(this.counter_element).show();\n $(this.bulk_total_block).hide();\n },\n\n show_bulk_for_attr: function (attribute_name) {\n $(this.variant_container + attribute_name + '-js').hide();\n $(this.bulk_container + attribute_name + '-js').show();\n $(this.counter_element).hide();\n $(this.bulk_total_block).show();\n },\n\n show_price_bulk_block: function () {\n let is_show_bulk_price_block = $('.bulk-container-js').is(\":visible\");\n if (is_show_bulk_price_block) {\n $('.prodigy-counter-wrap-js').hide();\n $('.bulk-total-block-js').show();\n } else {\n $('.bulk-total-block-js').hide();\n $('.prodigy-counter-wrap-js').show();\n }\n },\n\n set_quantity_validation: function () {\n $(this.input_quantity_element).inputmask({\n mask: '9{1,4}',\n regex: \"^[1-9][0-9]*|$\"\n });\n }\n }\n window.prodigyProductBulk = prodigy_product_bulk;\n})(jQuery, window);\n\njQuery(document).ready(function ($) {\n window.prodigyProductBulk.init();\n});\n","(function ($, window) {\n\n var prodigy_product = {\n _weight_type_mapper: [\"lbs\", \"g\", \"kg\", \"oz\"],\n _dimension_type_mapper: [\"in\", \"cm\"],\n _stock_status_mapper: { \"in_stock\": \"In stock\", \"out_of_stock\": \"Out of stock\"},\n _add_to_cart_key: \"add_item_to_cart\",\n product: {},\n is_show_subscription_popup: false,\n subscription_price: 0,\n is_subscription_replaced: false,\n is_one_time_order: true,\n subscription_id: '',\n remote_product: {},\n variant: {},\n maxItems: 9999,\n is_admin: false,\n is_tiered_price: false,\n selectedVariant: [],\n master_variant_id: 0,\n bulk_variants_info: [],\n input_bulk_quantity_element: '.prodigy-bulk-input-js',\n total_quantity_element: '.prodigy-bulk-total-qty-js',\n bulkVariants: [],\n bulkTotalQuantity: 0,\n bulk_total_price: '.bulk-total-price-js',\n bulk_price_modifier_element: '.bulk-price-modify-js',\n bulk_stock_status: '.stock-indicator-label-js',\n bulk_stock_qty: '.stock-indicator-qty-js',\n bulk_container_element: '.bulk-container-js',\n active_bulk_attribute_name: '',\n min_quantity: 1,\n add_to_cart_button_element: '.add-to-cart-js',\n enable_bulk_element: '.enable-bulk-js',\n disable_bulk_button_element: '.disable-bulk-button-js',\n product_counter_input_element: '.counter-count-js',\n prodigy_product_swatch_element: '.prodigy-product__swatch-js',\n is_variant_was_chosen: false,\n\n init: function () {\n this.is_tiered_price = Boolean( $( '.is_tired_price-js' ).val() );\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", this.min_quantity);\n }\n let is_product_page = $( \"body\" ).hasClass( \"single-prodigy-product\" );\n let is_shop_page = $( \"body\" ).hasClass( \"tax-prodigy-product-shop\" );\n this.master_variant_id = $( '#product_id' ).val();\n this.is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\n if ( ! is_shop_page && is_product_page) {\n if ( ! this.is_variants()) {\n this.get_master_variant_data();\n }\n this.set_product_tabs();\n this.scroll_for_hash( window.location.hash );\n this.set_product_counter();\n this.show_tab_review();\n this.show_tab_description();\n this.send_captcha();\n this.send_review_for_user();\n this.disable_submit_comment();\n this.reset_focus_to_press_enter();\n this.set_default_link_review();\n this.change_product_quantity_analytic_event();\n this.change_swatch_value();\n this.update_variants_dropdown();\n this.set_elementor_options();\n this.set_subscription_id();\n this.set_tabs_for_resolution();\n this.customise_sort_select();\n this.set_customised_variant_selection();\n this.choose_radio_variant();\n this.add_item_to_cart();\n this.hide_empty_div();\n this.set_bulk_variants_data();\n this.set_bulk_info();\n this.set_product_gallery();\n if (this.is_tiered_price) {\n this.get_tiered_prices_range_ajax();\n this.close_tiered_price_popup();\n }\n }\n },\n\n close_tiered_price_popup: function () {\n $(document).on('click', '.close-tiered-prices-js', function () {\n $('#minorderQTY').modal('hide');\n })\n },\n\n\n get_options: function () {\n let self = this;\n let selected_options = [];\n if (this.is_swatches()) {\n $(self.prodigy_product_swatch_element).each(\n function () {\n let swatch_block = $(this).closest('.prodigy-product__swatch-block-js');\n if ($(this).is(':checked') && !$(swatch_block).hasClass('ignored')) {\n let value = $(this).val();\n $(this).closest('.swatch-container-js').find('.swatch-attribute-name-js').html(\" \" + $(this).val());\n selected_options.push(value);\n }\n }\n );\n } else {\n $(\".attribute_values_js\").each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n if ($option.val() !== '') {\n selected_options.push($option.val());\n }\n }\n );\n }\n\n return selected_options;\n },\n\n set_product_gallery: function () {\n let thumbsDirection = 'horizontal';\n let thumbsSlidesPerView = $(\"#gallery-thumbs\").data('slides') || 3;\n let thumbsSpaceBetween = $(\"#gallery-thumbs\").data('spacing') || 10;\n\n if ($(\"#gallery\").hasClass(\"prodigy-product__gallery-container--left\") || $(\"#gallery\").hasClass(\"prodigy-product__gallery-container--right\")) {\n const ratio = $(\"#gallery-main\").data(\"ratio\");\n const width = $(\"#gallery-main\").width();\n const height = width / ratio;\n $(\"#gallery\").height(height);\n thumbsDirection = 'vertical';\n thumbsSlidesPerView = 'auto';\n }\n\n const initNav = (swiper, el) => {\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-prev\",\n function () {\n if (swiper.isBeginning) {\n swiper.slideTo(swiper.slides.length - 1);\n } else {\n swiper.slidePrev();\n }\n }\n )\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-next\",\n function () {\n if (swiper.isEnd) {\n swiper.slideTo(0);\n } else {\n swiper.slideNext();\n }\n }\n )\n }\n\n const swiperThumbs = new Swiper(\n \"#gallery-thumbs\",\n {\n direction: thumbsDirection,\n slidesPerView: thumbsSlidesPerView,\n spaceBetween: thumbsSpaceBetween,\n speed: 500,\n on: {\n init: function (swiper) {\n if (thumbsDirection === 'horizontal') {\n const slides = $(\"#gallery-thumbs .swiper-slide\");\n if (slides.length > thumbsSlidesPerView) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n } else if (thumbsDirection === 'vertical') {\n let slidesHeight = 0;\n let mainHeight = $(\"#gallery-main\").outerHeight();\n swiper.slides.forEach(\n slide => {\n slidesHeight += $(slide).outerHeight();\n }\n );\n if (slidesHeight > mainHeight) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n }\n }\n }\n }\n );\n\n const swiperMain = new Swiper(\n \"#gallery-main\",\n {\n speed: 500,\n pagination: {\n el: \".prodigy-product__gallery-count\",\n type: \"fraction\",\n },\n thumbs: {\n swiper: $(\"#gallery-thumbs\").length ? swiperThumbs : null,\n },\n on: {\n init: function (swiper) {\n const slides = $(\"#gallery-main .swiper-slide\");\n if (slides.length > 1) {\n $(\"#gallery-main .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-main\"));\n }\n }\n }\n }\n );\n\n if (typeof code_happened === 'undefined' || window.code_happened == false) {\n window.code_happened = true;\n\n $(document).on(\n \"click\",\n \".icon-fullscreen-js\",\n this.open_photo_swipe.bind(this)\n );\n }\n },\n\n get_gallery_images: function () {\n const slides = $(\"#gallery-main .prodigy-product__gallery-img\");\n let items = [];\n\n if (slides.length) {\n slides.each(\n function (i, el) {\n var img = $(el).find(\"img\");\n\n if (img.length) {\n var large_image_src = img.attr(\"data-large_image\"),\n large_image_w = img.attr(\"data-large_image_width\"),\n large_image_h = img.attr(\"data-large_image_height\"),\n item = {\n src: large_image_src,\n w: large_image_w,\n h: large_image_h,\n title: img.attr(\"data-caption\")\n ? img.attr(\"data-caption\")\n : img.attr(\"title\")\n };\n items.push(item);\n }\n\n }\n );\n }\n\n return items;\n },\n\n open_photo_swipe: function (e) {\n e.preventDefault();\n\n var pswpElement = $(\".pswp\")[0],\n items = this.get_gallery_images(),\n index = $(\"#gallery-main .swiper-slide-active\").index();\n\n var options = $.extend(\n {\n index: index,\n },\n {}\n );\n\n // Initializes and opens PhotoSwipe.\n var photoswipe = new PhotoSwipe(\n pswpElement,\n PhotoSwipeUI_Default,\n items,\n options\n );\n photoswipe.init();\n },\n\n set_bulk_info() {\n let self = this;\n $(document).on('enable-multiple-quantity', function (e,context) {\n\t\t\t\t\tlet bulk_attr = $( context ).data( 'attribute' );\n $(self.disable_bulk_button_element).attr('data-value', $(context).data('slug'));\n self.set_variant_modifier(bulk_attr);\n }\n );\n },\n\n set_variant_modifier(attribute) {\n let self = this;\n let modifierOptions = [];\n $( '.bulk-container-' + attribute + '-js' ).each(\n function (e) {\n\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n let modifier = $( this ).data( 'attribute' );\n modifierOptions.push( jQuery.trim( modifier ) );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n if (self.is_variants()) {\n let attributes = self.get_attributes_for_query();\n if (Object.keys(attributes.attribute).length === 1 && $('.bulk-container-js').length === 1) {\n attributes.attribute = [];\n }\n\n if (Object.keys(self.clear_selected_attributes(attributes.attribute)).length > 1) {\n for (const [key, value] of Object.entries(attributes.attribute)) {\n let selected_value = $(self.disable_bulk_button_element).data('value');\n if (value === selected_value) {\n delete attributes.attribute[key];\n }\n }\n }\n\n self.get_multiple_variant_data(attributes.attribute, modifierOptions);\n }\n },\n\n clear_selected_attributes: function (values) {\n $.each(values, function(key,val) {\n if ('Choose an option' === val) {\n delete values[key];\n }\n });\n\n return values;\n },\n\n set_subscription_id: function () {\n this.subscription_id = $( '.subscription_id' ).val();\n },\n\n set_elementor_options: function () {\n let is_show_regular_price = $( '#regular_price_state_option' ).val();\n\n if (is_show_regular_price !== 'yes') {\n $( '.regular-price-container' ).remove();\n } else {\n $( '.regular-price-container' ).show();\n }\n this.set_subscriptions();\n },\n\n format_subscription_price: function (price) {\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions) {\n if (typeof parse_price( price ) === 'undefined') {\n price = $( '.sale-subscription-price-js' ).text();\n }\n\n let sale_price = $( '.subscription-sale_price-js' ).val();\n let one_time_price = $( '.prodigy-subscriptions-tab__item-price' ).find( '.sale-price' ).text();\n $( '.subscriptions-price-currency-js' ).show();\n\n if ( parse_price( price ) !== parse_price( sale_price ) ) {\n $( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n }\n\n $( '.product-default-info-price-js' ).text( '$' + prodigy_price_format( parse_price( sale_price ) ) );\n $( '.prodigy-subscriptions-tab-js' ).trigger( 'click' );\n\n if ( parseFloat( one_time_price ) !== parseFloat( price ) ) {\n $( '.subscriptions-one-time-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n } else {\n $( '.subscriptions-one-time-price-js' ).parent().hide();\n }\n }\n },\n\n is_need_replace_subscription_item: function (subscription_id) {\n let self = this;\n let remote_product_id;\n let attribute_values_js = $( \".attribute_values_js\" );\n\n // if isset variants\n if (attribute_values_js.length > 0) {\n remote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n } else {\n if (typeof self.remote_product !== 'undefined') {\n remote_product_id = self.remote_product.remote_master_id_variant;\n }\n }\n\n if (typeof remote_product_id !== \"undefined\") {\n let post_data = {\n action: \"prodigy-is-replace-subscription-item\",\n remote_product_id: remote_product_id,\n one_time_order: self.is_one_time_order,\n };\n\n if ( ! self.is_one_time_order && subscription_id && typeof subscription_id !== 'undefined') {\n self.subscription_id = subscription_id;\n post_data.subscription_id = subscription_id;\n }\n\n $.ajax(\n {\n\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\tdata: post_data,\n\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\tif (data !== null) {\n\t\t\t\t\t\t\t\tself.is_show_subscription_popup = data.show_subscription_popup;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n }\n );\n }\n },\n\n add_item_to_cart: function () {\n let self = this;\n $( document )\n .off( \"click\", \"button.add-to-cart-js, button.replace-subscription-condition-js\" )\n .on(\n \"click\",\n \"button.add-to-cart-js, button.replace-subscription-condition-js\",\n function (e) {\n\t\t\t\t\t\tif ( ! self.validate_options() && ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet remote_product_id;\n\t\t\t\t\t\tlet attribute_values_js = $( \".attribute_values_js\" );\n\t\t\t\t\t\tlet attribute_swatch_js = $(self.prodigy_product_swatch_element);\n\t\t\t\t\t\tlet current_button = $( this ).attr( 'data-name' );\n\n\t\t\t\t\t\tif (current_button === 'replace-subscription-condition-js') {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t\tself.is_subscription_replaced = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.is_subscription_replaced = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (self.is_show_subscription_popup) {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'show' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// if isset variants\n\t\t\t\t\t\t\tif (attribute_values_js.length > 0 || attribute_swatch_js.length > 0) {\n\t\t\t\t\t\t\t\tremote_product_id = $( this ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (typeof self.remote_product !== 'undefined') {\n\t\t\t\t\t\t\t\t\tremote_product_id = self.remote_product.id;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof remote_product_id === 'undefined') {\n\t\t\t\t\t\t\t\tremote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tself.set_analytic_add_item_to_cart();\n\t\t\t\t\t\t\tlet form_count_products = $(self.product_counter_input_element).val();\n\n\t\t\t\t\t\t\tif (self.is_validate_options()) {\n\t\t\t\t\t\t\t\tif (self.is_bulk_opened()) {\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n self.bulk_variants_info,\n self.bulkVariants,\n null,\n null,\n false,\n true\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// set items in remote cart\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n remote_product_id,\n self.get_attributes_for_query(),\n self.get_current_product_price(),\n self.subscription_id,\n self.is_subscription_replaced\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n );\n },\n\n set_bulk_variants_data: function () {\n let self = this;\n $( document ).on(\n \"keypress\",\n self.input_bulk_quantity_element,\n function (e) {\n self.set_bulk_data();\n\t\t\t\t}\n );\n },\n\n set_bulk_data: function () {\n let self = this;\n let total_quantity = 0;\n let bulkOptions = [];\n let attribute_name = '';\n if (this.is_swatches()) {\n this.set_checked_swatch();\n } else {\n this.set_variants();\n }\n\n $( self.bulk_container_element ).each(\n function (e) {\n\t\t\t\t\tlet is_visible = $( this ).is( ':visible' );\n\t\t\t\t\tlet variant = '';\n\t\t\t\t\tif (is_visible) {\n\t\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n if ( ! isNaN( parseInt( $( this ).val() ) )) {\n total_quantity += parseInt( $( this ).val() );\n attribute_name = $( this ).data( 'attribute' );\n variant = attribute_name + '&' + self.selectedVariant.join( \"&\" );\n\n let obj = {\n variant: variant,\n quantity: parseInt( $( this ).val() )\n };\n bulkOptions.push( obj );\n }\n }\n );\n\n\t\t\t\t\t\t$( self.total_quantity_element ).text( total_quantity );\n\t\t\t\t\t\tif (self.is_validate_options() ) {\n\t\t\t\t\t\t\tself.get_bulk_variants_data( total_quantity, bulkOptions );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_bulk_variants_data: function (quantity, selected_variant_options) {\n this.bulkVariants = selected_variant_options;\n this.bulkTotalQuantity = quantity;\n if (this.is_validate_options() ) {\n this.get_variant_data( selected_variant_options, quantity, null, true );\n }\n },\n\n set_subscriptions: function () {\n var self = this;\n var sale_price = 0;\n\n $( document ).on(\n 'change',\n '.subscription-radio-js',\n function () {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tsale_price = $( this ).prev().prev().prev().prev().val();\n\t\t\t\t\t\tvar sale_price_rounded = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n\t\t\t\t\t\tself.subscription_price = sale_price;\n\t\t\t\t\t\t$( '.sale-subscription-price-js' ).text( prodigy_price_format( sale_price_rounded ) );\n\t\t\t\t\t\tself.subscription_id = $( this ).prev().prev().prev().val();\n\t\t\t\t\t\tself.is_need_replace_subscription_item( self.subscription_id );\n\t\t\t\t\t\tself.set_subscription_additional_price( sale_price, $( this ) );\n\n\t\t\t\t\t\tlet price = $( '.regular-price' ).text();\n\t\t\t\t\t\tif (price === '') {\n\t\t\t\t\t\t\tprice = prodigy_price_format( parse_price( $( '.sale-price' ).text() ) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet price_container = $( this ).closest( '.prodigy-subscriptions-tab' ).find( '.prodigy-subscriptions-tab__item-sale' );\n\t\t\t\t\t\tif (parse_price( self.subscription_price ) !== parse_price( price )) {\n\t\t\t\t\t\t\tprice_container.show();\n\t\t\t\t\t\t\t$( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) ).show();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprice_container.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n 'button.prodigy-close-button, button.close-subscription-popup-js',\n function () {\n\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\tself.is_show_subscription_popup = true;\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n '.prodigy-subscriptions-tab-js',\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t\tself.activate_subscription_block( $( this ) );\n\t\t\t\t\tlet is_conditions = $( this ).next().find( '.prodigy-subscription-period-js' );\n\n\t\t\t\t\tif (is_conditions.length > 0) {\n\t\t\t\t\t\t$( '.subscription-radio-js' ).each(\n function () {\n if ($( this ).is( ':checked' )) {\n $( '.subscription-radio-js' ).removeAttr( 'disabled' );\n sale_price = parseFloat( $( '.sale-subscription-price-js' ).text().trim() );\n self.subscription_price = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n self.subscription_id = $( this ).prev().prev().prev().val();\n self.is_need_replace_subscription_item( self.subscription_id );\n self.set_subscription_additional_price( sale_price, $( this ) );\n }\n }\n );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.is_need_replace_subscription_item();\n\t\t\t\t\t\tlet price = $( this ).next().find( '.prodigy-subscriptions-tab__item-price' ).text();\n\t\t\t\t\t\t$( '.product-default-info-price-js' ).text( price );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_attributes_for_query: function () {\n let attribute_values_js = $('.attribute_values_js:not(.ignored)');\n let attribute_swatch = $('.prodigy-product__swatch-block-js:not(.ignored)');\n let attributes = {attribute: {}, item: {}};\n attribute_values_js.each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n attributes[\"attribute\"][key] = $option.data('slug');\n attributes[\"item\"][key] = $option.text();\n\t\t\t\t}\n );\n\n attribute_swatch.find('.prodigy-product__swatch-js').each(\n function (key) {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tattributes[\"attribute\"][key] = $( this ).data('slug');\n\t\t\t\t\t\tattributes[\"item\"][key] = $( this ).val();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n return attributes;\n },\n\n set_subscription_options: function (container) {\n let self = this;\n self.set_subscription_price( container );\n if (container.hasClass( \"active\" )) {\n if (container.attr( 'aria-controls' ) === 'nav-home') {\n self.subscription_price = container.find( '.sale-price' ).text().trim();\n self.is_one_time_order = true;\n } else {\n self.subscription_price = $( '.sale-subscription-price-js' ).text().trim();\n self.is_one_time_order = false;\n }\n }\n },\n\n load_subscription_price: function () {\n let self = this;\n $( '.prodigy-subscriptions-tab-js' ).each(\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t}\n );\n },\n\n set_subscription_additional_price: function (price, container) {\n let format_price_string = '$' + prodigy_price_format( price );\n let condition_string = container.parent().find( '.subscription-condition-js' ).val();\n $( '.product-default-info-price-js' ).text( format_price_string + ' (' + condition_string + ')' );\n },\n\n activate_subscription_block: function (container) {\n $( '.prodigy-subscriptions-radio-js' ).prop( 'checked', false );\n $( '.prodigy-subscriptions-tab-js' ).removeClass( 'active' );\n $( container ).find( '.prodigy-subscriptions-radio-js' ).prop( 'checked', true );\n container.addClass( 'active' );\n $( '.subscription-radio-js' ).prop(\n 'disabled',\n function (i, v) {\n\t\t\t\t\treturn ! v;\n\t\t\t\t}\n );\n },\n\n set_subscription_price: function (container) {\n let subscription_price = $( '.prodigy-subscriptions-wrap-price-js' ).text();\n $( '.prodigy-additional-info-price-js' ).text( subscription_price ).show();\n },\n\n get_current_product_price: function () {\n var self = this;\n var price = 0;\n var price_str = $( document ).find( \".sale-price\" ).text().trim();\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions && ! self.is_one_time_order) {\n price = parseFloat( self.subscription_price );\n }\n\n if (self.is_one_time_order && price_str !== '') {\n price = prodigy_price_format( price_str ).replace( /\\,/g, '' );\n }\n\n return price;\n },\n\n is_bulk: function () {\n return $( this.enable_bulk_element ).length;\n },\n\n\n is_bulk_opened: function () {\n return $( '.prodigy-bulk__wrap' ).is( \":visible\" );\n },\n\n add_to_cart: function (\n number_of_product,\n remote_product_id,\n attributes_item,\n price = null,\n subscription_id = null,\n is_subscription_replaced = false,\n is_bulk = false\n ) {\n let self = this;\n\n let post_data = {\n action: \"prodigy-add-remote-cart\",\n remote_product_id: remote_product_id,\n count: number_of_product,\n price: price,\n attributes: attributes_item,\n is_subscription_replaced: is_subscription_replaced,\n is_bulk: is_bulk,\n nonce: settings.nonce\n };\n\n self.show_cart_button_loader();\n\n if ( ! self.is_one_time_order) {\n post_data.subscription_id = subscription_id;\n }\n clearTimeout(self.timeoutAddToCartId);\n self.timeoutAddToCartId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (data) {\n if (self.is_tiered_price && data.error_code && data.error_code === 422) {\n self.show_tiered_price_modal(data);\n return;\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(true);\n }\n self.show_error(data.responseJSON.data);\n },\n success: function (data) {\n if (self.is_bulk_opened()) {\n self.reset_bulk_inputs();\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(false);\n }\n\n if (\n (self.is_tiered_price && typeof data.error_code === \"undefined\") ||\n !self.is_tiered_price\n ) {\n self.cart_slide_open();\n $(self.product_counter_input_element).val(1);\n self.show_add_to_cart_message();\n self.show_cart_message();\n }\n\n if (self.is_tiered_price) {\n self.get_tiered_prices_range_ajax();\n }\n\n self.hide_cart_button_loader();\n // redirect to cart page\n if ($(\".cart-redirect-js\").data(\"cart-redirect\") === \"redirect_to_cart\") {\n var dinamic_cart_url = $('.pg-cart-url-js').data('attr');\n window.location.replace(dinamic_cart_url);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n show_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", true);\n },\n\n hide_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", false);\n },\n\n reset_bulk_inputs: function () {\n let self = this;\n $( this.input_bulk_quantity_element ).each(\n function () {\n\t\t\t\t\t$( this ).val( '' );\n\t\t\t\t\t$( '.prodigy-bulk-total-qty-js' ).text( 0 );\n\t\t\t\t\t$( self.bulk_total_price ).text( '$0.00' );\n\t\t\t\t}\n );\n },\n\n show_tiered_price_modal: function (data) {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n cart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n if ( typeof data.message !== undefined ) {\n $( '.tiered-price-message-js' ).text( data.message );\n $( '#minorderQTY' ).modal( 'show' );\n }\n },\n\n cart_slide_open: function () {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n let slider = cart_slider.data( 'auto-open' );\n if (slider === 'yes' || slider) {\n cart_slider.toggleClass( 'prodigy-cart-slide--open' );\n $('body').toggleClass('overflow-hidden');\n setTimeout(\n function () {\n\t\t\t\t\t\tcart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n\t\t\t\t\t},\n 10000\n );\n }\n },\n\n set_checked_swatch: function () {\n let self = this;\n self.selectedVariant = [];\n $(self.prodigy_product_swatch_element).each( function () {\n\t\t\t\t\tlet swatch_block = $( this ).closest( '.prodigy-product__swatch-block-js' );\n\t\t\t\t\tif ($( this ).is( ':checked' ) && ! $( swatch_block ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tlet value = $( this ).data('slug');\n\t\t\t\t\t\t$( this ).closest( '.swatch-container-js' ).find( '.swatch-attribute-name-js' ).html( \" \" + $(this).val() );\n\t\t\t\t\t\tself.selectedVariant.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n change_swatch_value: function () {\n let self = this;\n $(document).on('change', self.prodigy_product_swatch_element, function () {\n self.choose_radio_variant();\n if (self.is_bulk()) {\n $(this).parent().parent().closest('.prodigy-product__attr-item--no-select').find(self.enable_bulk_element).attr('data-value', $(this).data('slug'));\n }\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n let active_bulk_attribute = $('.bulk-container-js:visible').find('.disable-bulk-js').data('attribute');\n self.set_variant_modifier(active_bulk_attribute);\n }\n });\n },\n\n choose_radio_variant() {\n let self = this;\n this.set_checked_swatch();\n if (this.is_variants() && this.is_validate_options()) {\n let number_of_items = parseInt( $(self.product_counter_input_element).val() );\n this.get_variant_data( this.selectedVariant, number_of_items );\n }\n },\n\n set_active_bulk_attribute_name: function () {\n let self = this;\n $( this.bulk_container_element ).each(\n function () {\n\t\t\t\t\tif ($( this ).is( \":visible\" )) {\n\t\t\t\t\t\tself.active_bulk_attribute_name = $( this ).data( 'attribute' );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_variants: function () {\n let self = this;\n let $option = false;\n self.selectedVariant = [];\n $( '.attribute_values_js' ).each(\n function () {\n\t\t\t\t\t$option = $( this ).find( \"option:selected\" );\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $option.data('slug') !== '' ) {\n self.selectedVariant.push($option.data('slug'));\n if (self.is_bulk()) {\n $(this).parent().find(self.enable_bulk_element).attr('data-slug', $option.data('slug'));\n }\n }\n\t\t\t\t}\n );\n\n self.selectedVariant = [...new Set( self.selectedVariant )];\n },\n\n choose_variant_dropdown: function () {\n let self = this;\n let selector = $( this );\n let attribute_values_js = $( '.attribute_values_js' );\n this.set_variants();\n\n if (this.selectedVariant.length === attribute_values_js.length) {\n this.isVariantSelected = true;\n }\n\n if (this.isVariantSelected && this.is_validate_options()) {\n self.show_cart_button_loader();\n if (this.is_variants()) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (this.is_bulk_opened()) {\n this.set_bulk_data();\n } else {\n if (this.is_validate_options() && ! this.is_bulk_opened()) {\n this.get_variant_data( self.selectedVariant, number_of_items, selector );\n }\n }\n }\n } else {\n this.is_one_time_order = true;\n this.show_main_product_info();\n\n if (typeof self.remote_product.remote_master_variant_info !== \"undefined\") {\n let dimension_attrs = this.remote_product.remote_master_variant_info.dimension.attributes;\n this.set_shipping_data_variants(\n this.remote_product.remote_main_sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n }\n },\n\n get_multiple_variant_data: function (variant, current_attribute) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-multiple-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n bulk_attribute: current_attribute,\n nonce: settings.nonce\n };\n\n\n clearTimeout(self.timeoutMultipleDataId);\n self.timeoutMultipleDataId = setTimeout(\n function () {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n },\n success: function (response) {\n self.set_variant_bulk_info(response);\n }\n }\n );\n },\n 500\n );\n },\n\n set_variant_bulk_info: function (response) {\n let self = this;\n $.each(\n response.data,\n function (key, value) {\n if (\n value.attributes &&\n typeof value.attributes['price-quantity-modifier'] !== \"undefined\" &&\n parseFloat(value.attributes['price-quantity-modifier']) > 0\n ) {\n $(self.bulk_price_modifier_element + key).show();\n $(self.bulk_price_modifier_element + key).text('+ $' + parseFloat(value.attributes['price-quantity-modifier']));\n } else {\n $(self.bulk_price_modifier_element + key).hide();\n }\n\n let key_field = key.replace(/\\s/g, \"_\");\n if (typeof value.inventory !== \"undefined\" && value.inventory.attributes) {\n if (\n value.inventory.attributes['manage-stock'] &&\n value.inventory.attributes['count'] !== null\n ) {\n $(self.bulk_stock_status + key_field).text('In stock: ');\n if (value.inventory.attributes['count'] !== null) {\n $(self.bulk_stock_qty + key_field).text(value.inventory.attributes['count']);\n }\n } else {\n $(self.bulk_stock_status + key_field).text(self._stock_status_mapper[value.inventory.attributes['stock']]);\n }\n }\n }\n );\n },\n\n get_variant_data: function (variant, number_of_items = null, selector = null, is_bulk = false, bulk_attribute = false) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n options: this.get_options(),\n number_of_items: number_of_items,\n is_bulk: is_bulk,\n bulk_attribute: bulk_attribute,\n location: window.location.href,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutVariantsDataId);\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).removeAttr('data');\n self.timeoutVariantsDataId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).attr('data', 'loader');\n },\n success: function (response) {\n let data = response.data.result;\n if ( typeof data === \"undefined\" ) {\n return;\n }\n\n $(self.add_to_cart_button_element).removeAttr('data');\n if (self.is_bulk_opened()) {\n $(self.add_to_cart_button_element).removeAttr(\"disabled\");\n self.update_bulk_info(data);\n }\n\n if (typeof data !== undefined && data.subscriptions) {\n $('#subscriptions_block').html(data.subscriptions);\n }\n\n self.variant = data;\n if (selector) {\n self.set_variants_data(data, selector);\n } else {\n self.set_variants_data(data);\n }\n\n let is_subscriptions = $(document).find('.prodigy-subscriptions-tab').length > 0;\n\n if (!is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n // Set shipping data\n if (typeof data.dimension !== \"undefined\") {\n let dimension_attrs = data.dimension.attributes;\n self.set_shipping_data_variants(\n data.attributes.sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n\n //swicth off loader\n $(self.add_to_cart_button_element).prop(\"disabled\", false);\n\n //Set option-image for gallery\n if (typeof data !== undefined) {\n $('.images-gallery-js').html($(data.product_gallery).html());\n self.set_product_gallery();\n }\n\n if (!self.is_bulk_opened() && !self.is_variant_was_chosen) {\n //Set tiered prices\n self.min_quantity = data.tiered_prices.min_quantity;\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", data.tiered_prices.min_quantity);\n if (parseFloat(data.tiered_prices.min_price) !== parseFloat(data.tiered_prices.max_price)) {\n let range_price_string = 'From $' + prodigy_price_format(data.tiered_prices.min_price) + ' to $' + prodigy_price_format(data.tiered_prices.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.tiered_prices.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop(\"disabled\", true);\n }\n }\n }\n }\n );\n },\n 500\n );\n\n },\n\n update_bulk_info: function (data) {\n this.bulk_variants_info = data;\n if (typeof data !== \"undefined\") {\n $( this.bulk_total_price ).text( '$' + prodigy_price_format( this.bulk_variants_info.bulk_total_price ) );\n $( '.product-default-info-price-js' ).text( '$' + this.bulk_variants_info.bulk_total_price );\n }\n },\n\n\n update_variants_dropdown: function () {\n let self = this;\n let variantsObj = $( 'div.variants-container-js' );\n let variants = variantsObj.data( 'variants' );\n if (variants !== 'undefined') {\n $( 'select[data-attribute]' ).each(\n function () {\n\t\t\t\t\t\tself.update_select( $( this ), variants, {} );\n\t\t\t\t\t}\n );\n let dropdownOpened = false;\n MsDropdown.make('.attribute_values_js', {\n on: {\n open: function () {\n dropdownOpened = true;\n },\n change: function () {\n if (dropdownOpened) {\n self.choose_variant_dropdown();\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n self.set_variant_modifier(self.active_bulk_attribute_name);\n }\n\n dropdownOpened = false;\n }\n }}\n });\n }\n\n $( document ).on(\n 'change',\n '.attribute_values_js',\n function () {\n\t\t\t\t\tlet $selects = $( '.attribute_values_js' );\n\t\t\t\t\t$selects.each(\n function () {\n let selected_attributes = [],\n filtered_attributes = [];\n let current_attr = $( this ).data( 'attribute' );\n $selects.each(\n function () {\n if ($( this ).val() !== '') {\n if (current_attr !== $( this ).data( 'attribute' )) {\n filtered_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n selected_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n }\n );\n\n let available_variants = self.filter_variants( filtered_attributes );\n self.update_select( $( this ), available_variants, selected_attributes );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n is_variants: function () {\n let variants = $( '.variants-container-js' ).data( 'attributes' );\n return Boolean( variants.length );\n },\n\n update_select: function ($select, variants, selected_attributes) {\n let attributes = $( '.variants-container-js' ).data( 'attributes' );\n let available_attributes = {};\n\n for (i in variants) {\n let variant = variants[i];\n for (j in attributes) {\n let attr_name = attributes[j];\n let value = Object.values( variant[attr_name] )[0];\n if (value !== undefined) {\n if (available_attributes[attr_name] === undefined) {\n available_attributes[attr_name] = [];\n }\n available_attributes[attr_name][value.name] = value;\n }\n }\n }\n\n if ($select.length > 0) {\n let attr_name = $select.data( 'attribute' );\n let default_select_option = $( '#default_select_option' ).val();\n $select.html( '<option class=\"attributes_default_value-js\" value=\"\">' + default_select_option + '</option>' );\n let orderedVariants = [];\n Object.values( available_attributes[attr_name] ).sort( this.compareBySort ).forEach(\n function (variant) {\n\t\t\t\t\t\torderedVariants.push( variant.name );\n\t\t\t\t\t}\n );\n\n\n orderedVariants.forEach(\n function (i) {\n\t\t\t\t\t\tlet attr_value_name = available_attributes[attr_name][i].name;\n\t\t\t\t\t\tlet attr_value_slug = available_attributes[attr_name][i].slug;\n\t\t\t\t\t\tlet dataProperties = '';\n\t\t\t\t\t\tlet dataColorProperties = '';\n\n\t\t\t\t\t\t// set color like a picture\n\t\t\t\t\t\tif (available_attributes[attr_name][i].color != undefined) {\n\t\t\t\t\t\t\tconst svg = document.createElementNS( \"http://www.w3.org/2000/svg\", \"svg\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"width\", \"100\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"height\", \"100\" );\n\t\t\t\t\t\t\tsvg.style.backgroundColor = \"black\";\n\n\t\t\t\t\t\t\tconst rect = document.createElementNS( \"http://www.w3.org/2000/svg\", \"rect\" );\n\t\t\t\t\t\t\trect.setAttribute( \"width\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"height\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"fill\", available_attributes[attr_name][i].color );\n\t\t\t\t\t\t\tsvg.appendChild( rect );\n\n\t\t\t\t\t\t\tconst svgData = new XMLSerializer().serializeToString( svg );\n\t\t\t\t\t\t\tconst svgBase64 = btoa( svgData );\n\t\t\t\t\t\t\tconst dataUrl = 'data:image/svg+xml;base64,' + svgBase64;\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + dataUrl + '\"';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (available_attributes[attr_name][i].image !== undefined) {\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + available_attributes[attr_name][i].image + '\"';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet is_selected = selected_attributes[attr_name] === attr_value_name || available_attributes[attr_name][i].default;\n\t\t\t\t\t\t$select.append( '<option class=\"attached enabled\" style=\"--data-color:' + dataColorProperties + '\" data-slug=\"' + attr_value_slug + '\" value=\"' + attr_value_name + '\"' + (is_selected ? ' selected' : '') + dataProperties + '>' + attr_value_name + '</option>' );\n\t\t\t\t\t}\n );\n }\n },\n\n compareBySort: function (a, b) {\n return a.sort - b.sort;\n },\n\n filter_variants: function (selected_attributes) {\n var variants = $( '.variants-container-js' ).data( 'variants' ),\n availableVariants = [];\n for (i in variants) {\n var is_available = true;\n for (var attr_name in selected_attributes) {\n if (typeof variants[i][attr_name][selected_attributes[attr_name]] !== 'undefined') {\n is_available = false;\n break;\n }\n }\n if (is_available) {\n availableVariants.push( variants[i] );\n }\n }\n\n return availableVariants;\n },\n\n scroll_for_hash: function (hash) {\n if (hash) {\n var hash = hash;\n\n $( 'html, body' ).animate(\n {\n\t\t\t\t\t\tscrollTop: $( hash ).offset().top\n },\n 1500,\n 'swing'\n );\n }\n },\n\n /**\n *\n * @version 2.0.0\n */\n set_analytic_add_item_to_cart: function () {\n if (settings.pg_google_track_id !== '') {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let self = this;\n let product = self.variant;\n let price = product.attributes.price;\n let sku = product.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = product.attributes.sku;\n let sale_price = product.attributes['sale-price'];\n let remote_variant_id = product.remote_variant_id;\n\n gtag(\n 'event',\n 'add_to_cart',\n {\n\t\t\t\t\t\t\t\"event_category\": 'prodigy_ecommerce',\n\t\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": product.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price ),\n \"quantity\": parseInt($(self.product_counter_input_element).val()),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n }\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n */\n change_product_quantity_analytic_event: function () {\n let self = this;\n if (settings.pg_google_track_id !== \"\") {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let old_quantity = parseInt($(self.product_counter_input_element).val());\n\n $( '.counter-btn-plus-js, .counter-btn-minus-js' ).on(\n 'click',\n function () {\n\t\t\t\t\t\t\tlet product = self.variant;\n\n\t\t\t\t\t\t\tlet price = product.attributes.price;\n\t\t\t\t\t\t\tlet sku = product.attributes.sku;\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * TODO check title in api\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tlet title = product.attributes.sku;\n\t\t\t\t\t\t\tlet sale_price = product.attributes['sale-price'];\n\t\t\t\t\t\t\tlet remote_variant_id = product.remote_variant_id;\n\n\t\t\t\t\t\t\tgtag(\n 'event',\n 'change_product_quantity',\n {\n\t\t\t\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\t\t\t\"items\": [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"id\": remote_variant_id,\n\t\t\t\t\t\t\t\t\t\t\"name\": title,\n\t\t\t\t\t\t\t\t\t\t\"sku\": sku,\n\t\t\t\t\t\t\t\t\t\t\"price\": self.get_actual_price( price, sale_price ),\n\t\t\t\t\t\t\t\t\t\t\"new_quantity\": parseInt($(self.product_counter_input_element).val() ),\n\t\t\t\t\t\t\t\t\t\t\"old_quantity\": old_quantity,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n }\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n * @param data\n */\n set_view_product_analytic_event: function (data) {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n\n let price = data.attributes.price;\n let sku = data.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = data.attributes.sku;\n let sale_price = data.attributes['sale-price'];\n let remote_variant_id = data.remote_variant_id;\n\n if (typeof current_url.includes( settings.product_type )) {\n let self = this;\n\n gtag(\n 'event',\n 'view_variant',\n {\n\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": data.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n }\n );\n }\n },\n\n captcha_callback: function (val) {\n $( \".recaptcha-checkbox\" ).attr( \"aria-checked\", true );\n this.check_enable_comment_fields();\n },\n\n reset_focus_to_press_enter: function () {\n let self = this;\n $( document ).on(\n \"keypress blur focusout\",\n self.product_counter_input_element,\n function (e) {\n if (e.type === 'keypress' && e.which === 13) {\n self.update_counter_of_products( self, $( this ) );\n } else if (e.type === 'blur' || e.type === 'focusout') {\n self.update_counter_of_products( self, $( this ) );\n }\n }\n );\n },\n\n update_counter_of_products: function (self, container) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (\n this.is_tiered_price &&\n this.is_variants() &&\n this.is_validate_options()\n ) {\n this.get_variant_data( this.selectedVariant, number_of_items );\n } else if (this.is_tiered_price && this.is_validate_options()) {\n this.get_master_variant_data( number_of_items );\n }\n\n if (parseInt( container.val() ) > 1) {\n $( \".counter-btn-minus-js\" ).prop( \"disabled\", false );\n }\n },\n\n send_captcha: function () {\n $( \".submit-product-button\" ).click(\n function (e) {\n\t\t\t\t\tvar response;\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\t\tdata: $( \"#commentform\" ).serialize() + \"&action=google-captcha-url\",\n\t\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\t\tasync: false,\n\t\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\t\tif (data.nocaptcha === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else if (data.spam === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresponse = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n send_review_for_user: function () {\n var is_admin = this.is_admin;\n $( document ).on(\n 'submit',\n 'form#commentform',\n function (e) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t$( '#submit' ).addClass( 'prodigy-main-button--loading' );\n\t\t\t\t\tvar form = $( 'form#commentform' );\n\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: 'POST',\n\t\t\t\t\t\t\turl: form.attr( 'action' ),\n\t\t\t\t\t\t\tdata: form.serialize(),\n\t\t\t\t\t\t\terror: function (error) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'Couldn\\'t submit a review. Please try again later.' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess: function (respond_data) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\t\t$( '#submit' ).removeClass( 'prodigy-main-button--loading' );\n\t\t\t\t\t\t\t\t\tif (typeof respond_data !== \"undefined\") {\n\t\t\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'We will post your review soon after moderation approve' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n show_cart_message() {\n var add_to_cart_message = $( '.widget-cart-add-item-message-js' );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( 'slow' );\n },\n\n show_view_cart_btn() {\n var view_cart = $( \".view-cart-js\" );\n view_cart.show();\n $( \".prodigy-product__values\" ).removeClass( \"flex-nowrap\" );\n },\n\n show_add_to_cart_message() {\n var self = this;\n $(self.add_to_cart_button_element).prop( \"disabled\", true );\n self.show_cart_message();\n self.show_view_cart_btn();\n\n setTimeout(\n function () {\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\t\t\t\t},\n 5000\n );\n },\n\n show_error: function (message, type = \"success\") {\n let self = this;\n let add_to_cart_message = $( \".widget-cart-message-error-js\" );\n add_to_cart_message.find( \"span\" ).html( message );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( \"slow\" );\n if (type === \"error\") {\n add_to_cart_message.addClass( \"prodigy-cart-dropdown__error-alert\" );\n }\n self.hide_cart_button_loader();\n },\n\n disable_submit_comment: function () {\n let self = this;\n\n self.check_enable_comment_fields();\n\n $(document).on( 'input', \"#comment\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-author-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-email-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $( \"body\" ).on(\n \"change\",\n \"#prodigy-rating\",\n function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n },\n\n check_enable_comment_fields: function () {\n var comment_submit = $( \".prodigy-main-button.submit-product-button\" );\n\n var rating_form = $( \".comment-form-rating\" ).length;\n\n if ( ! this.is_admin) {\n var rating_val = $( \"#prodigy-rating\" ).val();\n }\n\n var comment_val = $( \"#comment\" ).val();\n var name_val = $( \".comment-author-js\" ).val();\n var email_val = $( \".comment-email-js\" ).val();\n var captcha_val = $( \"#g-recaptcha-response\" ).val();\n var captcha = $( \"#g-recaptcha-response\" );\n var is_rating_enable = $( \".prodigy-comment__rating\" ).length > 0;\n var is_email_enable = $( \".comment-email-js\" ).length > 0;\n var enable_submit = true;\n\n if (document.body.classList.contains( \"logged-in\" )) {\n if (this.is_admin) {\n var enable_submit = comment_val;\n } else if (typeof rating_val !== 'undefined') {\n var enable_submit = rating_val && comment_val;\n } else {\n var enable_submit = comment_val;\n }\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && captcha_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && captcha_val;\n }\n } else {\n if (typeof rating_val !== \"undefined\") {\n var enable_submit = rating_val && comment_val && name_val && email_val;\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && rating_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n } else if (captcha.length == 0 && ! this.is_admin && is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n } else {\n var enable_submit = comment_val && name_val && email_val;\n\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n }\n }\n\n if (enable_submit) {\n comment_submit.prop( \"disabled\", false );\n } else {\n comment_submit.prop( \"disabled\", true );\n }\n },\n\n set_shipping_data_variants: function (\n sku,\n weight,\n dimension\n ) {\n let prodigy_additional_weight_js = $( '.prodigy-additional-weight-js' );\n let prodigy_additional_dimensions_js = $( '.prodigy-additional-dimensions-js' );\n let product_sku_value = $( '.product_sku_value' );\n\n prodigy_additional_weight_js.text( weight )\n prodigy_additional_dimensions_js.text( dimension )\n product_sku_value.text( sku );\n },\n\n counter_reset: function () {\n $(this.product_counter_input_element).val(1);\n },\n\n set_product_counter: function () {\n let self = this;\n const counterCount = $(self.product_counter_input_element);\n counterCount.inputmask( {regex: \"^[1-9][0-9]*|$\", rightAlign: false} );\n\n $( document ).on(\n \"click\",\n '.counter-btn-minus-js',\n function () {\n\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) - 1;\n\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\n\t\t\t\t\tconst counterCount = $(self.product_counter_input_element);\n\t\t\t\t\tconst minusBtn = $( \".counter-btn-minus-js\" );\n\t\t\t\t\tlet counter = parseInt( counterCount.val() );\n\t\t\t\t\tif (counter !== self.min_quantity) {\n\t\t\t\t\t\tcounterCount.val( --counter );\n\t\t\t\t\t\tif (counter <= self.min_quantity) {\n\t\t\t\t\t\t\tminusBtn.prop( \"disabled\", true );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document )\n .off( \"click\", \".counter-btn-plus-js\" )\n .on(\n \"click\",\n \".counter-btn-plus-js\",\n function () {\n\t\t\t\t\t\tself.get_inventory_data();\n\t\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) + 1;\n\n\t\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( ++counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n\t\t\t\t\t}\n );\n },\n\n get_inventory_data: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-inventory-product\",\n post_id: $( \"#product_id\" ).val(),\n nonce: settings.nonce\n };\n clearTimeout(self.timeouInventorytId);\n self.timeouInventorytId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n if (typeof data.attributes !== 'undefined') {\n self.set_stock_status(data.attributes);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n reset_product_counter: function (inventory = null) {\n this.counter_reset();\n },\n\n set_stock_status: function (inventory, is_variant) {\n let self = this;\n let inventory_quantity = parseInt(localStorage.getItem(\"items_quantity\"));\n if (inventory['manage-stock'] && !inventory['backorderable'] && inventory_quantity > 0) {\n self.maxItems = inventory_quantity;\n }\n if (inventory['manage-stock']) {\n if (($(\".attribute_values_js\").length !== 0 && !is_variant) || inventory_quantity === 0) {\n self.set_out_of_stock_status();\n } else {\n self.disable_minus_button();\n self.set_in_stock_status(inventory);\n }\n } else if (is_variant && inventory['manage-stock'] && inventory['backorderable'] && inventory['stock'] === 'in_stock' && inventory_quantity === 0) {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'in_stock') {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'out_of_stock') {\n self.set_out_of_stock_status();\n }\n },\n\n is_swatches: function () {\n return $( \".prodigy-product__swatch-block-js\" ).length !== 0;\n },\n\n show_variant_data: function ( data_object, price, sale_price, subscriptions, is_selected_variant = 0) {\n let attribute_select = $( \".attribute_values_js\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let regular_price_info = $( \".regular-price-container\" );\n let sale_price_info = $( \".sale-price-container\" );\n let main_price_js = $( \".main-price-js\" );\n let default_info = $( '.product-default-info-js' );\n let subscription_block = $( '.subscriptions' );\n let main_currency_js = $( '.main-price-currency-js' );\n\n if ( ! is_selected_variant && $( '.main-price-js' ).text() !== prodigy_price_format( price )) {\n localStorage.setItem( 'product-range', $( '.main-price-js' ).text().trim() );\n }\n\n if ((attribute_select.length !== 0 || this.is_swatches()) && ! is_selected_variant) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n subscription_block.hide();\n main_currency_js.hide();\n main_price_js.text( localStorage.getItem( 'product-range' ) );\n } else {\n if ( ! this.is_tiered_price) {\n this.show_price( price, sale_price, subscriptions );\n } else {\n let price = data_object.tiered_price;\n this.show_price( price );\n }\n }\n\n default_info.show();\n let is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_selected_variant) {\n default_info.hide();\n\n if (subscriptions) {\n $( '.prodigy-subscriptions-tab-js:first' ).trigger( 'click' );\n $( '.prodigy-product__price-wrapper' ).hide();\n } else {\n $( '.prodigy-product__price-wrapper' ).show();\n }\n this.show_subscription_price( price );\n\n } else if (is_subscriptions) {\n $( '.product-default-info-price-js' ).text( '$' + price );\n }\n\n this.format_subscription_price( price );\n },\n\n show_subscription_price: function (price) {\n let sale_price = $( '.subscription-sale_price-js' ).val();\n if (sale_price !== price && typeof sale_price !== 'undefined') {\n let price = this.get_current_product_price();\n let price_string = '$' + prodigy_price_format( price );\n $( '.prodigy-product__prop-txt-price' ).text( price_string ).show();\n }\n },\n\n show_price: function (price, sale_price = null, subscriptions = null) {\n let main_currency_js = $( '.main-price-currency-js' );\n let main_price_js = $( \".main-price-js\" );\n price = prodigy_price_format( price );\n if ( sale_price ) {\n price = prodigy_price_format( sale_price );\n }\n if (this.is_tiered_price) {\n main_price_js = $( \".prodigy-product__main-price\" );\n price = prodigy_price_format( price );\n }\n\n let sale_price_info = $( \".sale-price-container\" );\n let regular_price_info = $( \".regular-price-container\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let sale_price_value_block = $( \".sale-price\" );\n let regular_price_value_block = $( \".regular-price\" );\n\n if (\n (typeof sale_price !== \"undefined\") ||\n (typeof sale_price !== \"undefined\" && parseInt( sale_price ) !== 0)\n ) {\n if (price === \"\" || parseInt( sale_price ) === 0) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n } else {\n main_price_js.text( '$' + price );\n main_currency_js.show();\n regular_price_info.show();\n sale_price_info.show();\n stock_info.show();\n }\n\n if (sale_price === \"\") {\n sale_price_info.show();\n if (typeof price !== 'undefined' && price) {\n sale_price_value_block.text( '$' + price );\n regular_price_info.hide();\n }\n } else {\n if (price && typeof price !== \"undefined\" && (sale_price !== null && sale_price.length > 0)) {\n if (prodigy_price_format( sale_price ) !== prodigy_price_format( price ) ) {\n regular_price_value_block.text( '$' + price );\n }\n sale_price_value_block.text( prodigy_price_format( sale_price ) );\n regular_price_info.show();\n sale_price_info.show();\n } else {\n sale_price_value_block.text( '$' +price );\n regular_price_info.hide();\n }\n }\n } else {\n sale_price_info.hide();\n regular_price_info.hide();\n }\n },\n\n show_main_product_info: function () {\n let self = this;\n if (\n typeof this.remote_product !== \"undefined\" &&\n this.remote_product.remote_main_price !== null\n ) {\n let subscriptions = false;\n if (typeof this.remote_product.remote_master_variant_info !== 'undefined') {\n subscriptions = typeof this.remote_product.remote_master_variant_info['subscription-plan'] !== 'undefined';\n }\n\n let price = 0;\n let sale_price = 0;\n\t\t\t\tif (typeof this.remote_product.remote_main_price !== 'undefined') {\n price = this.remote_product.remote_main_price.price;\n\t\t\t\t\tsale_price = this.remote_product.remote_main_price['sale-price'];\n\t\t\t\t}\n\n this.show_variant_data(\n this.remote_product,\n price,\n sale_price,\n subscriptions\n );\n\n if (\n typeof this.remote_product !== 'undefined' &&\n typeof this.remote_product.remote_master_variant_info !== \"undefined\"\n ) {\n localStorage.setItem( \"items_quantity\", this.remote_product.remote_master_variant_info.inventory.attributes.count );\n }\n\n let has_variants = ! $.isEmptyObject( this.remote_product.variant_option );\n if ( ! has_variants) {\n self.hide_cart_button_loader();\n }\n\n if (\n typeof this.remote_product.remote_master_variant_info !== 'undefined'\n && typeof this.remote_product.remote_master_variant_info.inventory !== 'undefined'\n ) {\n this.show_status( this.remote_product.remote_master_variant_info.inventory.attributes, has_variants, false );\n }\n }\n\n if (\n this.product.meta &&\n typeof this.product.meta.product_sku !== \"undefined\" &&\n this.product.meta.product_sku[0]\n ) {\n var main_product_sku = this.product.meta.product_sku[0];\n $( \".product_sku_value\" ).text( main_product_sku );\n }\n\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if ( ! is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n self.load_subscription_price();\n },\n\n\n get_tiered_prices_range_ajax: function() {\n let self = this;\n let post_data = {\n action: \"prodigy-get-tiered-prices-range\",\n product_id: this.master_variant_id,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutTieredtId);\n self.timeoutTieredtId = setTimeout(function() {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n self.min_quantity = data.data.min_quantity;\n if (self.is_tiered_price && !self.is_variant_was_chosen) {\n localStorage.setItem(\"min_quantity\", data.data.min_quantity);\n if (parseFloat(data.data.min_price) !== parseFloat(data.data.max_price) ) {\n let range_price_string = 'From $' + prodigy_price_format(data.data.min_price) + ' to $' + prodigy_price_format(data.data.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.data.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop( \"disabled\", true );\n }\n }\n });\n }, 500);\n },\n\n show_status: function (inventory, has_variant, select_variant) {\n let self = this;\n let inventory_quantity = parseInt( localStorage.getItem( \"items_quantity\" ) );\n if (typeof inventory_quantity !== \"undefined\" && inventory['manage-stock']) {\n self.maxItems = inventory_quantity;\n }\n let is_variant = (has_variant && select_variant) || ! has_variant;\n\n if (typeof inventory.stock !== \"undefined\") {\n self.set_stock_status( inventory, is_variant );\n }\n },\n\n disable_minus_button: function () {\n var minus = $( \".counter-btn-minus-js\" );\n\n if (parseInt($(self.product_counter_input_element).val()) === self.min_quantity) {\n minus.prop( \"disabled\", true );\n } else {\n minus.prop( \"disabled\", false );\n }\n },\n\n set_out_of_stock_status: function () {\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper['out_of_stock'] );\n },\n\n set_in_stock_status: function ( inventory ) {\n let plus = $( \".counter-btn-plus-js\" );\n let count_input = $(self.product_counter_input_element);\n count_input.prop( \"disabled\", false );\n plus.prop( \"disabled\", false );\n $(this.add_to_cart_button_element).prop( \"disabled\", false );\n let counter = inventory.count !== null ? inventory.count : '';\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper[inventory.stock] + ' ' + counter);\n },\n\n get_actual_price: function (price, sale_price) {\n if (sale_price === '') {\n return price;\n } else {\n return sale_price;\n }\n },\n\n set_variants_data: function (data, selector = null) {\n let self = this;\n if (typeof data !== 'undefined') {\n\n if (settings.pg_google_track_id !== \"\" && typeof settings.pg_google_track_id !== \"undefined\") {\n self.set_view_product_analytic_event( data );\n }\n\n let sku;\n if (\n data &&\n typeof data.attributes !== \"undefined\" &&\n data.attributes.sku\n ) {\n sku = data.attributes.sku;\n }\n\n if ( typeof data.inventory !== \"undefined\" && typeof data.inventory.attributes.count !== \"undefined\" ) {\n localStorage.setItem( \"items_quantity\", data.inventory.attributes.count );\n this.show_status( data.inventory.attributes, true, true );\n self.is_variant_was_chosen = true;\n if (self.is_tiered_price) {\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n }\n else if (data.inventory.attributes['manage-stock']) {\n this.reset_product_counter( data.inventory.attributes );\n }\n\n this.show_variant_data(\n data.attributes,\n data.attributes.price,\n data.attributes['sale-price'],\n data['subscription-plan'],\n true\n );\n }\n\n if (sku !== \"\" && typeof sku !== \"undefined\") {\n $( \".product_sku_value\" ).text( sku );\n } else {\n $( \".prodigy-product__tags-item product_sku\" ).hide();\n }\n\n // set product data for cart\n if (typeof data !== \"undefined\") {\n if (typeof data.remote_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-remote-id\", data.remote_variant_id );\n }\n\n if (typeof data.local_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-local-id\", data.local_variant_id );\n }\n }\n self.load_subscription_price();\n }\n },\n\n /**\n * Get obj remote product info\n *\n * @version 2.0.0\n */\n get_master_variant_data: function (number_of_items = 1) {\n let post_data = {\n action: \"prodigy-get-master-variant-data\",\n post_id: this.master_variant_id,\n items_number: number_of_items,\n nonce: settings.nonce\n };\n\n let self = this;\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.remote_product = data.data;\n\t\t\t\t\t\tif (typeof settings.is_captcha !== 'undefined' &&\n settings.is_captcha !== '' &&\n typeof settings.captcha_site_key !== 'undefined' &&\n settings.captcha_site_key !== ''\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tlet is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\tgrecaptcha.render(\n 'captcha',\n {\n\t\t\t\t\t\t\t\t\t\t'sitekey': settings.captcha_site_key\n }\n );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (typeof data.data !== 'undefined') {\n\t\t\t\t\t\t\tself.variant = data.data.remote_master_variant_info;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.show_main_product_info();\n\t\t\t\t\t\t// init cart\n\t\t\t\t\t\tself.add_item_to_cart();\n\t\t\t\t\t}\n }\n );\n },\n\n show_tab_description: function () {\n $( \"body\" ).on(\n \"click\",\n \".show-description-js\",\n function () {\n\t\t\t\t\t$( \".description_tab\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-description\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-reviews\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t}\n );\n },\n\n show_tab_review: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-review-link-js\",\n function () {\n\t\t\t\t\t$( \"#tab-reviews\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).addClass( \"active\" );\n\t\t\t\t\t$( \"#tab-description\" ).hide();\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t\t$( \".description_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).addClass( \"active\" );\n\t\t\t\t\tif (document.getElementById( \"tab-reviews\" )) {\n\t\t\t\t\t\tdocument.getElementById( \"tab-reviews\" ).scrollIntoView();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_product_tabs: function () {\n $( \".description_tab\" ).addClass( \"active\" );\n $( \"#tab-additional_information\" ).hide();\n $( \"#tab-reviews\" ).hide();\n\n var product_url = $( '.product-url-js' ).val();\n $( document ).on(\n 'click',\n '.tiered_prices_tab, .show-description-js, .description_tab, .additional_information_tab, .reviews_tab',\n function () {\n\t\t\t\t\t$( 'html,body' ).animate( {scrollTop: $( this ).offset().top}, 500 );\n\t\t\t\t}\n );\n\n $( \"body\" )\n // Tabs\n .on(\n \"init\",\n \".prodigy-tabs-js, .prodigy-tabs\",\n function () {\n\t\t\t\t\t\t$( \".pg-tab, .prodigy-tabs .panel:not(.panel .panel)\" ).hide();\n\t\t\t\t\t\tvar hash = window.location.hash;\n\t\t\t\t\t\tvar url = window.location.href;\n\t\t\t\t\t\tvar $tabs = $( this )\n .find( \".pg-tabs, ul.tabs\" )\n .first();\n\t\t\t\t\t\tif (\n hash.toLowerCase().indexOf( \"comment-\" ) >= 0 ||\n hash === \"#reviews\" ||\n hash === \"#tab-reviews\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (\n url.indexOf( \"comment-page-\" ) > 0 ||\n url.indexOf( \"cpage=\" ) > 0\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (hash === \"#tab-additional_information\") {\n\t\t\t\t\t\t\t$tabs.find( \"li.additional_information_tab a\" ).click();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar $tab = $tabs.find( \"li:first a\" );\n\t\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t\t$tab.addClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \".pg-tabs li a, ul.tabs li a\",\n function (e) {\n\t\t\t\t\t\tvar $tab = $( this );\n\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\tvar $tabs = $tabs_wrapper.find( \".pg-tabs, ul.tabs\" );\n\n\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t$tab.closest( \"li\" ).addClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t}\n )\n\n // Star ratings for comments\n .on(\n \"init\",\n \"#prodigy-rating\",\n function () {\n\t\t\t\t\t\t$( this )\n .hide()\n .before(\n \"\" +\n '<div class=\"stars prodigy-comment__rating\">' +\n '<a class=\"star-1 prodigy-comment__star icon icon-star\" href=\"#\">1</a>' +\n '<a class=\"star-2 prodigy-comment__star icon icon-star\" href=\"#\">2</a>' +\n '<a class=\"star-3 prodigy-comment__star icon icon-star\" href=\"#\">3</a>' +\n '<a class=\"star-4 prodigy-comment__star icon icon-star\" href=\"#\">4</a>' +\n '<a class=\"star-5 prodigy-comment__star icon icon-star\" href=\"#\">5</a>' +\n \"</div>\"\n );\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \"#respond div.stars a\",\n function () {\n\t\t\t\t\t\tvar $star = $( this ),\n $rating = $( this )\n .closest( \"#respond\" )\n .find( \"#prodigy-rating\" ),\n $container = $( this ).closest( \".stars\" );\n\t\t\t\t\t\t$rating.val( $star.text() ).trigger( \"change\" );\n\t\t\t\t\t\t$star.siblings( \"a\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$star.addClass( \"active\" );\n\t\t\t\t\t\t$container.addClass( \"selected\" );\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n )\n\n .on(\n \"click\",\n \"#reviews #comments .justify-content-center\",\n function () {\n\t\t\t\t\t\twindow.prodigyProduct\n .get_count_review()\n .done(\n function (result) {\n\t\t\t\t\t\t\t\tlet count_review = result.data;\n\t\t\t\t\t\t\t\tif (count_review > 0) {\n\t\t\t\t\t\t\t\t\twindow.prodigyProduct.get_content_review();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n )\n .fail(\n function () {\n\t\t\t\t\t\t\t}\n );\n\t\t\t\t\t}\n );\n\n $( \".prodigy-tabs-js, .prodigy-tabs, #prodigy-rating\" ).trigger( \"init\" );\n },\n\n get_content_review: function () {\n let self = $( \"#reviews #comments .justify-content-center\" );\n let page = $( \".per-page-js\" ).data( \"page\" );\n let post_data = {\n action: \"prodigy-public-get-comments\",\n post_id: $( \"#product_id\" ).val(),\n page: page,\n nonce: settings.nonce\n };\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"text\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.before( data );\n\t\t\t\t\t\t$( \".per-page-js\" ).data( \"page\", page + 1 );\n\n\t\t\t\t\t\twindow.prodigyProduct.get_count_review().done(\n function (res) {\n if (res.data === 0) {\n window.prodigyProduct.hide_link_show_more_reviews();\n }\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n get_count_review: function () {\n let post_data = {\n action: \"prodigy-public-get-comments-count\",\n post_id: $( \"#product_id\" ).val(),\n page: $( \".per-page-js\" ).data( \"page\" ),\n nonce: settings.nonce\n };\n\n return $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url\n }\n );\n },\n\n hide_link_show_more_reviews: function () {\n $( \".link-show-more-reviews-js\" )\n .removeClass( \"d-flex\" )\n .addClass( \"d-none\" );\n },\n\n set_default_link_review: function () {\n window.prodigyProduct.get_count_review().done(\n function (res) {\n\t\t\t\t\tif (res.data === 0) {\n\t\t\t\t\t\twindow.prodigyProduct.hide_link_show_more_reviews();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n init_show_more: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-product__description-show-more\",\n function () {\n var $container = $( this ).parent();\n $container\n .find( \".prodigy-product__description-container\" )\n .removeClass( \"prodigy-product__description-container--truncated\" );\n $container.find( \".prodigy-product__description-fade\" ).remove();\n $( this ).remove();\n }\n );\n },\n\n set_customised_variant_selection: function () {\n $( document ).find( 'select[data-attribute]' ).trigger( 'focus' );\n },\n\n customise_sort_select: function () {\n $( '.prodigy-custom-select' ).styler(\n {\n\t\t\t\t\tonFormStyled: function () {\n\t\t\t\t\t\t$( '.jq-selectbox__select-text' ).each(\n function () {\n const width = $( this )\n .closest( '.jq-selectbox' )\n .find( 'select' )\n .width();\n $( this ).width( width );\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n set_tabs_for_resolution: function () {\n let windowWidth = window.innerWidth;\n if (windowWidth < 768) {\n $( '.desktop-resolution-js' ).remove();\n } else {\n $( '.mobile-resolution-js' ).remove();\n }\n },\n\n is_validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tif ($( this ).val() === \"\") {\n\t\t\t\t\t\t\tresult = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js' ).each(\n function () {\n let self = this;\n let checkbox = $( this ).find('.prodigy-product__swatch-js');\n checkbox.each(\n function () {\n if ( ! checkbox.is( ':checked' ) && ! $( self ).hasClass( 'ignored' ) ) {\n result = false;\n } else {\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n\n validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tconst headers = $( bulk_container ).find( '.prodigy-tooltip, .prodigy-bulk__table-cell' );\n\t\t\t\t\tbulk_result ? headers.removeAttr( 'style' ) : headers.css( 'border-color', 'red' )\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $( this ).val() === \"\") {\n\t\t\t\t\t\t$( this ).prev().css( 'color', 'red' );\n\t\t\t\t\t\t$( this ).css( 'border-color', 'red' );\n\t\t\t\t\t\tresult = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( this ).prev().removeAttr( 'style' );\n\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js:not(.ignored)' ).each(\n function () {\n\t\t\t\t\tlet element = $( this ).closest( '.prodigy-product__attr-item--no-select-value' ).find( '.prodigy-product__attr-text' );\n\t\t\t\t\tlet checkbox = $( this ).find(self.prodigy_product_swatch_element);\n\t\t\t\t\tcheckbox.each(\n function () {\n if ( ! checkbox.is( ':checked' )) {\n element.css( 'color', 'red' );\n result = false;\n } else {\n element.removeAttr( 'style' );\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n hide_empty_div: function () {\n $( '.prodigy-product__prop-wrap' ).each(\n function () {\n\t\t\t\t\tif ($.trim( $( this ).text() ) == '' && $( this ).children().length == 0) {\n\t\t\t\t\t\t$( this ).hide();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n };\n\n window.prodigyProduct = prodigy_product;\n})( jQuery, window );\n\njQuery( document ).ready(\n function ($) {\n\t\twindow.prodigyProduct.init();\n\t\twindow.prodigyRecaptchaCallback = window.prodigyProduct.captcha_callback.bind(\n window.prodigyProduct\n\t\t);\n\t}\n);\n","( function ( $, window ) {\n const qnonce = settings.nonce;\n $(document).on('click', '.quick-view-js', function () {\n window.code_happened = false;\n $.ajax({\n type: \"POST\",\n url: ajaxurl,\n data: {\n action: 'prodigy-quick-edit',\n post_id: $(this).data('id'),\n nonce: qnonce\n },\n cache: false,\n success: function(html) {\n $.magnificPopup.open({\n items: {\n src: '#quick-view-js',\n },\n type: 'inline',\n callbacks: {\n beforeOpen : function() {\n $('#quick-view-content-js').html(html);\n window.prodigyProduct.init();\n if (!window.prodigyProduct.is_variants()) {\n window.prodigyProduct.get_master_variant_data();\n }\n window.prodigyProduct.set_product_gallery();\n window.prodigyProduct.update_variants_dropdown();\n window.prodigyProduct.set_elementor_options();\n window.prodigyProduct.set_product_counter();\n window.prodigyProduct.change_swatch_value();\n window.prodigyProduct.set_checked_swatch();\n window.prodigyProduct.choose_variant_dropdown();\n window.prodigyProduct.choose_radio_variant();\n window.prodigyProduct.add_item_to_cart();\n window.prodigyProduct.reset_focus_to_press_enter();\n window.prodigyProduct.set_bulk_variants_data();\n window.prodigyProductBulk.bulk_showing_manager();\n if (window.prodigyProduct.is_tiered_price) {\n window.prodigyProduct.get_tiered_prices_range_ajax();\n }\n }\n }\n });\n }\n });\n\n\n $(document).on('click', '.quick-view-close', '.filter-close', function (e) {\n e.preventDefault();\n $.magnificPopup.close();\n });\n });\n})(jQuery, window);","(function ($) {\n 'use strict';\n\n let shop_page_url = settings.shop_page_url;\n let default_number_of_columns = settings.customizer_product_columns;\n let windowWidth = screen.width;\n\n $(document).ready(function () {\n let catalog_containers = [\n 'filter__browse',\n 'filter-widget-container-js',\n 'prodigy-pagination',\n 'catalog-sort-js',\n 'price-filter-container-js'\n ];\n\n init();\n\n function init() {\n set_search_parameters();\n set_dropdown_sortable();\n search_handler();\n slow_search();\n hiding_search_widget();\n hiding_empty_search_space();\n set_number_of_columns_by_screen_resolution();\n }\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let number_of_columns = '';\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function hiding_empty_search_space() {\n let search = $('.catalog-page-sort-js');\n let sorting = $('.prodigy-search__input-js');\n if (search.length === 0 && sorting.length === 0) {\n $('.prodigy-search-filter').remove();\n }\n }\n\n function hiding_search_widget() {\n $('.prodigy-filter__main').each(function (index, element) {\n let badge = $(element).find('.prodigy-filter__badges');\n let container_attribute = badge.find('.prodigy-main-badge');\n let active_filter = container_attribute.data('attribute-name');\n if (badge.length !== 0 && typeof active_filter === 'undefined') {\n element.remove();\n }\n });\n }\n\n function slow_search() {\n if (prodigyGetUrlParam('search')) {\n $(\"html,body\").animate({scrollTop: 0}, \"slow\");\n }\n }\n\n function search_handler() {\n const searchBtn = $('.prodigy-search__icon-js');\n const searchWidgetBtn = $('.prodigy-search__icon-widget-js');\n const closeSearchBtn = $('.prodigy-search__close-icon');\n const searchInput = $('.prodigy-search__input-js');\n const searchCustom = $('.prodigy-search__custom-search');\n const backdropOverlay = $('body');\n\n searchWidgetBtn.on('click', (e) => {\n let input = $(e.target).closest('form').find('.prodigy-search__input-js, .prodigy-search__input-mobile-js');\n if (!input.length) {\n return;\n }\n set_search_params(input.val());\n });\n\n searchBtn.on('click', () => {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n\n /**\n * for prodigy theme\n */\n searchInput.toggleClass('prodigy-search__input-is-open');\n searchInput.focus();\n\n if (searchInput.hasClass('prodigy-search__input-is-open') && searchInput.val().length > 0) {\n setTimeout(function () {\n closeSearchBtn.removeClass('d-none');\n }, 200);\n } else {\n closeSearchBtn.addClass('d-none');\n }\n\n });\n\n if (typeof searchInput.val() !== 'undefined' && searchInput.val().length > 0) {\n searchInput.addClass('prodigy-search__input-is-open');\n closeSearchBtn.removeClass('d-none');\n }\n\n searchInput.on('keyup', function () {\n if (searchInput.val().length > 0) {\n closeSearchBtn.removeClass('d-none');\n } else {\n closeSearchBtn.addClass('d-none');\n }\n });\n\n closeSearchBtn.on('click', function () {\n searchInput.val('');\n $(this).addClass('d-none');\n window.history.replaceState({}, document.title, shop_page_url);\n document.location.reload();\n });\n\n searchCustom.on('click', function (e) {\n e.stopPropagation();\n $(this).closest(\".prodigy-search__custom-dropdown\").addClass(\"prodigy-search__custom-dropdown--open\");\n });\n\n backdropOverlay.on('click', function (e) {\n if (!$(e.target).closest('.prodigy-search__custom-dropdown-block-search').length) {\n $('.prodigy-search__custom-dropdown').removeClass(\"prodigy-search__custom-dropdown--open\");\n }\n });\n\n }\n\n function set_search_parameters() {\n var search = prodigyGetUrlParam('search');\n if (typeof search !== 'undefined' && search !== 0) {\n $('.prodigy-search__input-js').val(prodigyGetUrlParam('search'));\n }\n\n $(document).on('keypress', '.prodigy-search__input-js, .prodigy-search__input-mobile-js', function (e) {\n let target = $(e.currentTarget);\n if (e.which === 13 && target.val() && typeof target.val() !== 'undefined') {\n e.preventDefault();\n set_search_params(target.val());\n }\n });\n }\n\n function set_search_params(search_value) {\n var newParams = [\n ['search', search_value]\n ];\n\n window.history.replaceState({}, document.title, shop_page_url);\n let newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n\n function set_dropdown_sortable() {\n var selText = '';\n var sort_param = prodigyGetUrlParam('sort');\n var dropdown_container = $(\".prodigy-dropdown__menu a\");\n\n switch (sort_param) {\n case 'created_at':\n selText = 'Sort by newness';\n break;\n case 'rating':\n selText = 'Sort by average rating';\n break;\n case 'price':\n selText = 'Sort by price';\n break;\n default:\n selText = 'Sort by newness';\n break;\n }\n\n dropdown_container.parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n\n dropdown_container.click(function (e) {\n selText = $(this).text();\n $(this).parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n });\n }\n\n const filterToggleBtnHandler = () => {\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n $('body').toggleClass('prodigy-overflow-y-hidden');\n $('html').toggleClass('prodigy-overflow-y-hidden');\n }\n\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-elementor-js, #filter-toggle-btn-2, #shop-sidebar-backdrop-js, #shop-sidebar-backdrop-elementor-js', filterToggleBtnHandler);\n });\n})(jQuery);\n","/**\n * File skip-link-focus-fix.js.\n *\n * Helps with accessibility for keyboard only users.\n *\n * Learn more: https://git.io/vWdr2\n */\n( function() {\n\tvar isIe = /(trident|msie)/i.test( navigator.userAgent );\n\n\tif ( isIe && document.getElementById && window.addEventListener ) {\n\t\twindow.addEventListener( 'hashchange', function() {\n\t\t\tvar id = location.hash.substring( 1 ),\n\t\t\t\telement;\n\n\t\t\tif ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement = document.getElementById( id );\n\n\t\t\tif ( element ) {\n\t\t\t\tif ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {\n\t\t\t\t\telement.tabIndex = -1;\n\t\t\t\t}\n\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, false );\n\t}\n} )();\n"],"sourceRoot":""}1 {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./web/templates/js/navigation.js","webpack:///./web/templates/js/scripts/analytics.js","webpack:///./web/templates/js/scripts/cart-load.js","webpack:///./web/templates/js/scripts/filter.js","webpack:///./web/templates/js/scripts/product-bulk.js","webpack:///./web/templates/js/scripts/product-page.js","webpack:///./web/templates/js/scripts/product-quick-view.js","webpack:///./web/templates/js/scripts/shop-page.js","webpack:///./web/templates/js/skip-link-focus-fix.js"],"names":["container","button","menu","links","i","len","document","getElementById","getElementsByTagName","style","display","setAttribute","className","indexOf","onclick","replace","length","addEventListener","toggleFocus","self","tagName","toLowerCase","parentElement","touchStartFn","parentLink","querySelectorAll","window","e","menuItem","parentNode","classList","contains","preventDefault","children","remove","add","$","settings","pg_google_track_id","on","value","text","trim","gtag","item","push","data","quantity","val","items","each","key","find","cart_items","jQuery","prodigy_remote_cart","init","get_remote_cart","post_data","action","ajax","type","dataType","url","ajax_url","success","response","check_empty_cart_load_remote","removeClass","html","cart","is_show_cross_products","show","cross_products","cross_slider_init","not","slick","prevArrow","nextArrow","slidesToShow","slidesToScroll","dots","arrows","mobileFirst","variableWidth","responsive","breakpoint","hide","is_deleted_product","prodigyRemoteCart","ready","filter_handler","set_sortable","reset_filters","clear_params","apply_filters","set_price_filter","set_sidebar","close_active_filter","remove_filter_storage","set_filters","is_elementor_template","set_elementor_filter_mode","set_custom_select","get_shop_page_id","urlParams","URLSearchParams","location","search","get","set_number_of_columns_by_screen_resolution","windowWidth","screen","width","default_number_of_columns","customizer_product_columns","number_of_columns","addClass","is_show_active_filter","click","toggleClass","is","attribute_name","attribute_value","load_filters","localStorage","removeItem","element","closest","attribute_id","unset_filter","get_catalog_filters","build_query","get_catalog_products","filterToggleBtnHandler","set_loader","attr","remove_loader","price_max","prodigyGetUrlParam","price_min","price_query","setItem","clear_url_params","href","origin","split","filter","getItem","params","JSON","parse","filter_query","param","total_query","history","pushState","pathname","category_name","category_slug","current_url","query","widget_id","category","category_type","ajaxurl","cache","pagination_list","empty_products","products","replaceWith","no_results","sort","first","before","active","filters","price_filter","price_filter_container","price","slider_widget","min_price","max_price","query_min_price","query_max_price","styler","onFormStyled","navigator","platform","newParams","newUrl","prodigyInsertUrlParams","reload","undefined","event","stopPropagation","id","attribute","values","forEach","splice","values_str","join","stringify","uncheck_filter_checkbox","removeAttr","Object","keys","parts","toString","id_attr","list","listItems","btnText","listOpenClass","moreText","lessText","countShow","hasClass","prodigy_product_bulk","input_quantity_element","enable_bulk_element","add_to_cart_button","bulk_container_general","bulk_container","variant_container","swatch_variant_container","button_disable_bulk","link_disable_bulk","bulk_modal","counter_element","bulk_total_block","close_bulk_modal","replaced_hidden_option","disable_bulk_modal_text","is_bulk","set_quantity_validation","bulk_showing_manager","is_bulk_enabled","get_attr_name_with_bulk_enabled","hide_default_product_info","trigger","modal","show_bulk_for_attr","hide_bulk_for_attr","removeData","show_price_bulk_block","prodigyProduct","reset_bulk_inputs","show_default_product_info","is_show_bulk_price_block","inputmask","mask","regex","prodigyProductBulk","prodigy_product","_weight_type_mapper","_dimension_type_mapper","_stock_status_mapper","_add_to_cart_key","product","is_show_subscription_popup","subscription_price","is_subscription_replaced","is_one_time_order","subscription_id","remote_product","variant","maxItems","is_admin","is_tiered_price","selectedVariant","master_variant_id","bulk_variants_info","input_bulk_quantity_element","total_quantity_element","bulkVariants","bulkTotalQuantity","bulk_total_price","bulk_price_modifier_element","bulk_stock_status","bulk_stock_qty","bulk_container_element","active_bulk_attribute_name","min_quantity","add_to_cart_button_element","disable_bulk_button_element","product_counter_input_element","prodigy_product_swatch_element","is_variant_was_chosen","Boolean","is_product_page","is_shop_page","is_variants","get_master_variant_data","set_product_tabs","scroll_for_hash","hash","set_product_counter","show_tab_review","show_tab_description","send_captcha","send_review_for_user","disable_submit_comment","reset_focus_to_press_enter","set_default_link_review","change_product_quantity_analytic_event","change_swatch_value","update_variants_dropdown","set_elementor_options","set_subscription_id","set_tabs_for_resolution","customise_sort_select","set_customised_variant_selection","choose_radio_variant","add_item_to_cart","hide_empty_div","set_bulk_variants_data","set_bulk_info","set_product_gallery","get_tiered_prices_range_ajax","close_tiered_price_popup","get_options","selected_options","is_swatches","swatch_block","$option","thumbsDirection","thumbsSlidesPerView","thumbsSpaceBetween","ratio","height","initNav","swiper","el","isBeginning","slideTo","slides","slidePrev","isEnd","slideNext","swiperThumbs","Swiper","direction","slidesPerView","spaceBetween","speed","slidesHeight","mainHeight","outerHeight","slide","swiperMain","pagination","thumbs","code_happened","open_photo_swipe","bind","get_gallery_images","img","large_image_src","large_image_w","large_image_h","src","w","h","title","pswpElement","index","options","extend","photoswipe","PhotoSwipe","PhotoSwipeUI_Default","context","bulk_attr","set_variant_modifier","modifierOptions","modifier","attributes","get_attributes_for_query","clear_selected_attributes","entries","selected_value","get_multiple_variant_data","is_show_regular_price","set_subscriptions","format_subscription_price","is_subscriptions","parse_price","sale_price","one_time_price","prodigy_price_format","parseFloat","parent","is_need_replace_subscription_item","remote_product_id","attribute_values_js","remote_master_id_variant","one_time_order","show_subscription_popup","off","validate_options","is_bulk_opened","attribute_swatch_js","current_button","set_analytic_add_item_to_cart","form_count_products","is_validate_options","add_to_cart","get_current_product_price","set_bulk_data","total_quantity","bulkOptions","set_checked_swatch","set_variants","is_visible","isNaN","parseInt","obj","get_bulk_variants_data","selected_variant_options","get_variant_data","prev","sale_price_rounded","set_subscription_additional_price","price_container","set_subscription_options","activate_subscription_block","is_conditions","next","attribute_swatch","set_subscription_price","load_subscription_price","format_price_string","condition_string","prop","v","price_str","number_of_product","attributes_item","count","nonce","show_cart_button_loader","clearTimeout","timeoutAddToCartId","setTimeout","error","error_code","show_tiered_price_modal","prodigy_cart_widget","cart_modal_trigger","show_error","responseJSON","cart_slide_open","show_add_to_cart_message","show_cart_message","hide_cart_button_loader","dinamic_cart_url","cart_slider","message","slider","set_active_bulk_attribute_name","active_bulk_attribute","number_of_items","Set","choose_variant_dropdown","selector","isVariantSelected","show_main_product_info","remote_master_variant_info","dimension_attrs","dimension","set_shipping_data_variants","remote_main_sku","current_attribute","post_id","variants","bulk_attribute","timeoutMultipleDataId","xhr","status","set_variant_bulk_info","key_field","inventory","timeoutVariantsDataId","result","update_bulk_info","subscriptions","set_variants_data","sku","product_gallery","tiered_prices","range_price_string","variantsObj","update_select","dropdownOpened","MsDropdown","make","open","change","$selects","selected_attributes","filtered_attributes","current_attr","available_variants","filter_variants","$select","available_attributes","j","attr_name","name","default_select_option","orderedVariants","compareBySort","attr_value_name","attr_value_slug","slug","dataProperties","dataColorProperties","color","svg","createElementNS","backgroundColor","rect","appendChild","svgData","XMLSerializer","serializeToString","svgBase64","btoa","dataUrl","image","is_selected","default","append","a","b","availableVariants","is_available","animate","scrollTop","offset","top","includes","product_type","remote_variant_id","get_actual_price","old_quantity","set_view_product_analytic_event","captcha_callback","check_enable_comment_fields","which","update_counter_of_products","serialize","async","nocaptcha","spam","form","respond_data","add_to_cart_message","delay","fadeOut","show_view_cart_btn","view_cart","comment_submit","rating_form","rating_val","comment_val","name_val","email_val","captcha_val","captcha","is_rating_enable","is_email_enable","enable_submit","body","weight","prodigy_additional_weight_js","prodigy_additional_dimensions_js","product_sku_value","counter_reset","counterCount","rightAlign","minusBtn","counter","get_inventory_data","timeouInventorytId","set_stock_status","reset_product_counter","is_variant","inventory_quantity","set_out_of_stock_status","disable_minus_button","set_in_stock_status","show_variant_data","data_object","is_selected_variant","attribute_select","stock_info","regular_price_info","sale_price_info","main_price_js","default_info","subscription_block","main_currency_js","show_price","tiered_price","show_subscription_price","price_string","sale_price_value_block","regular_price_value_block","remote_main_price","has_variants","isEmptyObject","variant_option","show_status","meta","product_sku","main_product_sku","product_id","timeoutTieredtId","has_variant","select_variant","stock","minus","plus","count_input","local_variant_id","items_number","is_captcha","captcha_site_key","grecaptcha","render","scrollIntoView","product_url","$tabs","$tab","$tabs_wrapper","$star","$rating","$container","siblings","get_count_review","done","count_review","get_content_review","fail","page","res","hide_link_show_more_reviews","init_show_more","innerWidth","bulk_result","input","checkbox","headers","css","prodigyRecaptchaCallback","qnonce","magnificPopup","callbacks","beforeOpen","close","shop_page_url","catalog_containers","set_search_parameters","set_dropdown_sortable","search_handler","slow_search","hiding_search_widget","hiding_empty_search_space","sorting","badge","container_attribute","active_filter","searchBtn","searchWidgetBtn","closeSearchBtn","searchInput","searchCustom","backdropOverlay","target","set_search_params","focus","replaceState","currentTarget","search_value","selText","sort_param","dropdown_container","parents","isIe","test","userAgent","substring","tabIndex"],"mappings":"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","file":"js/public.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/**\n * File navigation.js.\n *\n * Handles toggling the navigation menu for small screens and enables TAB key\n * navigation support for dropdown menus.\n */\n( function() {\n\tvar container, button, menu, links, i, len;\n\n\tcontainer = document.getElementById( 'site-navigation' );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tbutton = container.getElementsByTagName( 'button' )[0];\n\tif ( 'undefined' === typeof button ) {\n\t\treturn;\n\t}\n\n\tmenu = container.getElementsByTagName( 'ul' )[0];\n\n\t// Hide menu toggle button if menu is empty and return early.\n\tif ( 'undefined' === typeof menu ) {\n\t\tbutton.style.display = 'none';\n\t\treturn;\n\t}\n\n\tmenu.setAttribute( 'aria-expanded', 'false' );\n\tif ( -1 === menu.className.indexOf( 'nav-menu' ) ) {\n\t\tmenu.className += ' nav-menu';\n\t}\n\n\tbutton.onclick = function() {\n\t\tif ( -1 !== container.className.indexOf( 'toggled' ) ) {\n\t\t\tcontainer.className = container.className.replace( ' toggled', '' );\n\t\t\tbutton.setAttribute( 'aria-expanded', 'false' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'false' );\n\t\t} else {\n\t\t\tcontainer.className += ' toggled';\n\t\t\tbutton.setAttribute( 'aria-expanded', 'true' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'true' );\n\t\t}\n\t};\n\n\t// Get all the link elements within the menu.\n\tlinks = menu.getElementsByTagName( 'a' );\n\n\t// Each time a menu link is focused or blurred, toggle focus.\n\tfor ( i = 0, len = links.length; i < len; i++ ) {\n\t\tlinks[i].addEventListener( 'focus', toggleFocus, true );\n\t\tlinks[i].addEventListener( 'blur', toggleFocus, true );\n\t}\n\n\t/**\n\t * Sets or removes .focus class on an element.\n\t */\n\tfunction toggleFocus() {\n\t\tvar self = this;\n\n\t\t// Move up through the ancestors of the current link until we hit .nav-menu.\n\t\twhile ( -1 === self.className.indexOf( 'nav-menu' ) ) {\n\n\t\t\t// On li elements toggle the class .focus.\n\t\t\tif ( 'li' === self.tagName.toLowerCase() ) {\n\t\t\t\tif ( -1 !== self.className.indexOf( 'focus' ) ) {\n\t\t\t\t\tself.className = self.className.replace( ' focus', '' );\n\t\t\t\t} else {\n\t\t\t\t\tself.className += ' focus';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tself = self.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Toggles `focus` class to allow submenu access on tablets.\n\t */\n\t( function( container ) {\n\t\tvar touchStartFn, i,\n\t\t\tparentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );\n\n\t\tif ( 'ontouchstart' in window ) {\n\t\t\ttouchStartFn = function( e ) {\n\t\t\t\tvar menuItem = this.parentNode, i;\n\n\t\t\t\tif ( ! menuItem.classList.contains( 'focus' ) ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfor ( i = 0; i < menuItem.parentNode.children.length; ++i ) {\n\t\t\t\t\t\tif ( menuItem === menuItem.parentNode.children[i] ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmenuItem.parentNode.children[i].classList.remove( 'focus' );\n\t\t\t\t\t}\n\t\t\t\t\tmenuItem.classList.add( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tmenuItem.classList.remove( 'focus' );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor ( i = 0; i < parentLink.length; ++i ) {\n\t\t\t\tparentLink[i].addEventListener( 'touchstart', touchStartFn, false );\n\t\t\t}\n\t\t}\n\t}( container ) );\n} )();\n","(function( $ , window) {\n if (settings.pg_google_track_id !== '') {\n $(document).on(\"click\", \".category-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_attribute_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_attribute_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".attribute-filter-js\", function () {\n var value = $(this).text().trim();\n\n gtag('event', 'set_category_filter', {\n \"event_category\": 'prodigy_product_catalog',\n \"event_label\": 'set_category_filter',\n \"value\": value\n });\n });\n\n $(document).on(\"click\", \".remove-item-js, .widget-remove-item-js\", function () {\n var item = [];\n item.push($(this).data('cart-item'));\n item.push({\n quantity: $('counter-count-js').val(),\n });\n\n gtag('event', 'remove_from_cart', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": item[0]\n });\n });\n\n\n $(document).on(\"click\", \"button.checkout-button-js\", function () {\n var items = [];\n $('.cart-item-js').each(function (key, item) {\n var item = $(this).data('cart-item');\n item.quantity = $(this).find('.counter-count-js').val();\n items.push(item);\n });\n\n var cart_items = [];\n gtag('event', 'begin_checkout', {\n \"event_category\": 'prodigy_ecommerce',\n \"items\": items\n });\n });\n }\n\n}) (jQuery, window);\n","(function ($, window) {\n\n let prodigy_remote_cart = {\n\n init: function () {\n // this.get_remote_cart();\n },\n\n get_remote_cart: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-template-cart\",\n };\n\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (response) {\n if (response.success === false) {\n self.check_empty_cart_load_remote();\n } else {\n $('.prodigy-cart-container-js .row').removeClass('cart-skeleton').html(response.data.cart);\n if (response.data.is_show_cross_products) {\n $('.related-products-block-js').show();\n $('.related-products-container-js').show().html(response.data.cross_products);\n self.cross_slider_init();\n }\n }\n }\n });\n },\n\n cross_slider_init: function () {\n $('.related-products-js').not('.slick-initialized').slick({\n prevArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--prev icon icon-arrow-left\"></button>',\n nextArrow: '<button type=\"button\" class=\"prodigy-related__products-nav prodigy-related__products-nav--next icon icon-arrow-right\"></button>',\n slidesToShow: 2,\n slidesToScroll: 1,\n dots: false,\n arrows: true,\n mobileFirst: true,\n variableWidth: false,\n responsive: [\n {\n breakpoint: 767,\n settings: {\n variableWidth: false,\n slidesToShow: 3,\n slidesToScroll: 3,\n }\n },\n {\n breakpoint: 1168,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n variableWidth: false,\n arrows: true,\n }\n },\n ]\n });\n },\n\n check_empty_cart_load_remote: function () {\n $('.prodigy-cart-container-js .row').hide();\n $('.empty-cart-js').show();\n if (settings.is_deleted_product) {\n $('.widget-cart-message-error-js').show();\n }\n },\n };\n\n window.prodigyRemoteCart = prodigy_remote_cart;\n})(jQuery, window);\n\njQuery(function ($) {\n window.prodigyRemoteCart.init();\n});\n","(function ($, window) {\n 'use strict';\n $(document).ready(\n function () {\n init();\n\n function init() {\n filter_handler();\n set_sortable();\n reset_filters();\n clear_params();\n apply_filters();\n set_price_filter();\n set_sidebar();\n close_active_filter();\n remove_filter_storage();\n set_filters();\n if (is_elementor_template()) {\n set_elementor_filter_mode();\n }\n set_custom_select();\n }\n\n\n function get_shop_page_id() {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('page_id');\n }\n\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let windowWidth = screen.width;\n let default_number_of_columns = settings.customizer_product_columns;\n let number_of_columns = 1;\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function is_elementor_template() {\n return $('.elementor-widget-pae-archive-products').length > 0;\n }\n\n function is_show_active_filter() {\n return $('.elementor-show-active-filter-js').val();\n }\n\n function set_elementor_filter_mode() {\n $('.prodigy-filter__sm-btn-js').click(function () {\n $('.prodigy-filter-js').show();\n $('.prodigy-filter__accordion-header-js').show();\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n });\n }\n\n function set_filters() {\n $('.attribute-filter-js').each(function () {\n if ($(this).is(':checked')) {\n let attribute_name = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n load_filters(attribute_name, attribute_value);\n }\n });\n }\n\n function remove_filter_storage() {\n localStorage.removeItem('filter');\n }\n\n function close_active_filter() {\n $(document).on(\n 'click',\n '.filter-close-js',\n function () {\n let element = $(this).closest('.prodigy-main-badge');\n let attribute_id = element.data(\"attribute-id\");\n let attribute_value = element.data('attribute-slug');\n unset_filter(attribute_id, attribute_value);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function set_sidebar() {\n const filterToggleBtnHandler = () => {\n $('#filter-toggle-btn').toggleClass('prodigy-shop-sidebar-btn--show');\n $('#filter').toggleClass('prodigy-shop-sidebar--open');\n }\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-2, #shop-sidebar-backdrop-js', filterToggleBtnHandler);\n }\n\n function set_loader() {\n $('.prodigy-loader-wrapper').show();\n $('.prodigy-loader-wrapper').attr(\"style\", \"display:flex\");\n $('*').addClass('pointer-events-none');\n }\n\n function remove_loader() {\n $('.prodigy-loader-wrapper').hide();\n $('*').removeClass('pointer-events-none');\n }\n\n function set_price_filter() {\n $(document).on(\n 'click',\n '.price-filter-submit-js',\n function (e) {\n let price_max = prodigyGetUrlParam('price_max');\n let price_min = prodigyGetUrlParam('price_min');\n let price_query = '';\n if (price_min && price_min) {\n price_query = 'price_max=' + price_max + '&' + 'price_min=' + price_min;\n }\n localStorage.setItem('price-range', price_query);\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function apply_filters() {\n $(document).on(\n 'click',\n '.attribute-filter-js',\n function (e) {\n let attribute_id = $(this).data('attribute-id');\n let attribute_value = $(this).data('attribute-value');\n if ($(this).is(':checked')) {\n set_filters();\n } else {\n unset_filter(attribute_id, attribute_value);\n }\n get_catalog_filters(build_query());\n get_catalog_products(build_query());\n }\n );\n }\n\n function clear_params() {\n $(document).on(\n 'click',\n '.clear-params-js',\n function (e) {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n clear_url_params();\n set_loader();\n }\n );\n\n if (window.location.search === '') {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n }\n\n remove_loader();\n }\n\n function reset_filters() {\n $(document).on(\n 'click',\n '.filter-reset-js',\n function () {\n clear_url_params();\n }\n );\n }\n\n function clear_url_params() {\n remove_filter_storage();\n if (get_shop_page_id() !== null) {\n window.location.href = window.location.origin+'?page_id=' + get_shop_page_id();\n } else {\n window.location.href = window.location.href.split(\"?\")[0];\n }\n }\n\n function build_query() {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n let filter_query = jQuery.param(params);\n let price_query = localStorage.getItem('price-range');\n\n let total_query = '';\n if (price_query !== null) {\n total_query = filter_query + '&' + price_query;\n } else {\n total_query = filter_query;\n }\n\n if (get_shop_page_id() !== null) {\n total_query = 'page_id=' + get_shop_page_id() + '&' + total_query;\n }\n\n\n if (total_query !== '') {\n history.pushState('', '', '?' + total_query);\n } else {\n history.pushState(null, null, window.location.pathname);\n }\n\n let category_name = $('.category-name-js').val();\n let category_slug = $('.slug-name-js').val();\n let current_url = window.location.href;\n\n if (category_name && category_slug) {\n total_query = total_query + '&tax_name=' + category_name + '&tax_slug=' + category_slug;\n }\n\n total_query = total_query + '¤t_url=' + current_url;\n\n return total_query;\n }\n\n\n function get_catalog_products(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n $('.prodigy-product-list__grid').addClass('prodigy__is-loading');\n set_loader();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-products&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.prodigy-product-list__grid').removeClass('prodigy__is-loading');\n remove_loader();\n $('.prodigy-pagination-shop-js').html(response.data.pagination_list);\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n let products = $(response.data.products).find('.shop-page-container-js');\n $('.shop-page-container-js').replaceWith(products);\n } else {\n let products = $(response.data.products).find('.prodigy-product-list__grid');\n let no_results = $(document).find('.shop-page-container-empty-js');\n\n let container = '.prodigy-product-list__grid';\n if (no_results.length > 0) {\n container = '.shop-page-container-empty-js';\n }\n\n $(container).replaceWith(products);\n }\n set_number_of_columns_by_screen_resolution();\n }\n });\n }\n\n function get_catalog_filters(query) {\n let widget_id = $('.filter-widget-id').val();\n let category = $('.prodigy-category-slug-js').val();\n let category_type = $('.prodigy-category-type-js').val();\n let ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&tax_slug=' + category + '&tax_name=' + category_type;\n if (typeof widget_id !== 'undefined') {\n ajax_url = ajaxurl + '?action=prodigy-load-shop-filters&' + query + '&filter_widget_id=' + widget_id + '&tax_slug=' + category + '&tax_name=' + category_type;\n }\n\n $.ajax({\n type: \"GET\",\n url: ajax_url,\n cache: false,\n dataType: \"json\",\n success: function (response) {\n $('.catalog-sort-js').html($(response.data.sort).html());\n let empty_products = $(response.data.products).find('.shop-page-container-empty-js');\n if (empty_products.length > 0 || !is_elementor_template()) {\n if ($('.prodigy-filter__badges').length > 0) {\n $('.prodigy-filter__badges').closest('.prodigy-filter__main').remove();\n $('.prodigy-filter__badges').remove();\n }\n $('.prodigy-filter__main').first().before(response.data.active);\n $('.prodigy-filter-title-js').html(response.data.filters);\n } else {\n let filters = $(response.data.filters).closest('.prodigy-filter-js');\n $('.prodigy-filter-js').replaceWith(filters);\n if (is_show_active_filter()) {\n if ($('.active-filter-js').length > 0) {\n $('.active-filter-js').html(response.data.active);\n } else {\n $('.prodigy-filter-title-js:first').before(response.data.active);\n }\n $('.price-filter-container-js').html(response.data.price_filter);\n let price_filter = $(response.data.price_filter).find('.js-range-slider');\n $(document).find('.min-js').val($(price_filter).attr('data-min'));\n $(document).find('.max-js').val($(price_filter).attr('data-max'));\n }\n }\n\n let price_filter_container = $('.price-filter-container-js');\n if (price_filter_container.length !== 0) {\n price_filter_container.html(response.data.price);\n window.slider_widget.init(\n response.data.min_price,\n response.data.max_price,\n response.data.query_min_price,\n response.data.query_max_price\n );\n }\n set_custom_select();\n }\n });\n }\n\n function set_custom_select() {\n $(document).find('.prodigy-custom-select').styler({\n onFormStyled: function () {\n $(document).find('.jq-selectbox__select-text').each(function () {\n const width = $(this)\n .closest('.jq-selectbox')\n .find('select')\n .width();\n // $(this).width(width);\n });\n }\n });\n }\n\n function set_sortable() {\n $(document).on(\n 'click',\n '.catalog-page-sort-js',\n function () {\n if ((navigator.platform.indexOf(\"iPhone\") != -1) || (navigator.platform.indexOf(\"iPod\") != -1)) {\n $(\"select.catalog-page-sort-js\").remove();\n }\n $('.catalog-page-device-sort-js').addClass('prodigy-select-md--open');\n }\n );\n\n $(document).on(\n 'change',\n '.catalog-page-sort-js',\n function () {\n var sort = $(this).children(\"option:selected\").val();\n if (sort !== 'undefined') {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n );\n\n $(document).on(\n 'change',\n '.sort-radio-js',\n function () {\n $('.sort-radio-js').each(function () {\n if ($(this).is(':checked')) {\n var sort = $(this).val();\n if (sort !== undefined) {\n localStorage.setItem('catalog-sortable', sort.replace(/\\?/g, '&'));\n\n var newParams = [\n ['sort', sort]\n ];\n var newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n }\n });\n }\n );\n\n $('body, .catalog-page-device-sort-close-js').click(function () {\n $('.catalog-page-device-sort-js').removeClass('prodigy-select-md--open');\n });\n\n $('.prodigy-select-md__wrap').click(function (event) {\n event.stopPropagation();\n });\n }\n\n function unset_filter(id, attribute) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n if (params === null) {\n localStorage.removeItem('filter');\n } else {\n let values = '';\n if (typeof params['attr'] !== 'undefined' && typeof params['attr'][id] !== 'undefined') {\n values = params['attr'][id].split(';');\n values.forEach(function (value, key) {\n if (attribute == value) {\n values.splice(key, 1);\n }\n });\n }\n\n if (values.length > 0) {\n let values_str = values.join(';');\n params['attr'][id] = values_str;\n } else {\n delete params['attr'][id];\n }\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n if (id === 'Price') {\n localStorage.removeItem('price-range')\n }\n\n uncheck_filter_checkbox(id, attribute);\n }\n\n function uncheck_filter_checkbox(id, attribute) {\n $('.attribute-filter-js').each(function () {\n if ($(this).data('attribute-id') == id && $(this).data('attribute-name') == attribute) {\n $(this).removeAttr('checked');\n }\n })\n }\n\n function load_filters(id, value) {\n let filter = localStorage.getItem('filter');\n let params = JSON.parse(filter);\n\n if (params !== null && Object.keys(params['attr']).length !== 0) {\n $.each(params['attr'], function (i, item) {\n let parts = item.split(\";\");\n if (i == id && parts.indexOf(value.toString()) === -1) {\n params['attr'][id] = item + ';' + value.toString();\n }\n });\n }\n\n if (params === null || Object.keys(params['attr']).length === 0) {\n params = {};\n params['attr'] = {};\n params['attr'][id] = value.toString();\n } else if (typeof params['attr'][id] === 'undefined') {\n params['attr'][id] = value.toString();\n }\n\n localStorage.setItem('filter', JSON.stringify(params));\n }\n\n function filter_handler() {\n // show more/less filter values\n $(document).on(\n 'click',\n '.filter__btn-js',\n function () {\n const id_attr = $(this).data('id')\n const list = $('.filter__item-list-js#filter_attr_' + id_attr)\n const listItems = list.find('.prodigy-filter__item-list-li, .prodigy-filter__card-list-item')\n const btnText = $(this).find('.filter__btn-txt-js')\n const listOpenClass = 'active'\n const moreText = 'Show more'\n const lessText = 'Show less'\n const countShow = list.data('count-show')\n\n $(this).toggleClass(listOpenClass)\n\n if ($(this).hasClass(listOpenClass)) {\n btnText.text(lessText)\n listItems.show()\n } else {\n btnText.text(moreText)\n listItems.each(\n function (i) {\n if (i + 1 > countShow) {\n $(this).hide()\n }\n }\n )\n }\n }\n );\n }\n }\n );\n})(jQuery, window);\n","(function ($, window) {\n let prodigy_product_bulk = {\n input_quantity_element: '.prodigy-bulk-input-js',\n enable_bulk_element: '.enable-bulk-js',\n add_to_cart_button: \"button.add-to-cart-js\",\n bulk_container_general: '.bulk-container-js',\n bulk_container: '.bulk-container-',\n variant_container: '.variant-container-',\n swatch_variant_container: '.swatch-variant-container-',\n button_disable_bulk: '.disable-bulk-button-js',\n link_disable_bulk: '.disable-bulk-js',\n bulk_modal: '#disableBulkModal',\n counter_element: '.prodigy-counter-wrap-js',\n bulk_total_block: '.bulk-total-block-js',\n close_bulk_modal: '.close-bulk-modal-js',\n replaced_hidden_option: '',\n disable_bulk_modal_text: '.disable-bulk-modal-text-js',\n\n init: function () {\n if (this.is_bulk()) {\n this.set_quantity_validation();\n this.bulk_showing_manager();\n }\n },\n\n is_bulk: function () {\n return $(this.enable_bulk_element).is(\":visible\");\n },\n\n is_bulk_enabled: function () {\n return $(this.bulk_container_general).is(\":visible\");\n },\n\n get_attr_name_with_bulk_enabled() {\n return $(this.bulk_container_general + ':visible').data('attribute');\n },\n\n bulk_showing_manager: function () {\n let self = this;\n $(this.enable_bulk_element).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').addClass('ignored');\n self.hide_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n\n if (self.is_bulk_enabled()) {\n $(self.button_disable_bulk).data('attribute', self.get_attr_name_with_bulk_enabled()) ;\n $(self.button_disable_bulk).data('show-attribute', attribute_name);\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + self.get_attr_name_with_bulk_enabled());\n $(self.bulk_modal).modal('show');\n return;\n }\n self.show_bulk_for_attr(attribute_name);\n });\n\n\n $(this.close_bulk_modal).on('click', function () {\n $(self.bulk_modal).modal('hide');\n });\n\n\n $(this.link_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.button_disable_bulk).data('attribute', attribute_name) ;\n $(self.disable_bulk_modal_text).text('Disable Multiple Quantity for ' + attribute_name);\n $(self.bulk_modal).modal('show');\n });\n\n\n $(this.button_disable_bulk).on('click', function () {\n let attribute_name = $(this).data('attribute');\n $(self.bulk_modal).modal('hide');\n self.hide_bulk_for_attr(attribute_name);\n self.show_bulk_for_attr($(this).data('show-attribute'));\n $(this).removeData('attribute');\n $(this).removeData('show-attribute');\n self.show_price_bulk_block();\n window.prodigyProduct.reset_bulk_inputs();\n $('.attribute_values_js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n $('.prodigy-product__swatch-block-js[data-attribute=\"' + attribute_name + '\"]').removeClass('ignored');\n self.show_default_product_info();\n $(document).trigger('enable-multiple-quantity', [this]);\n });\n },\n\n show_default_product_info: function () {\n $('.prodigy-product__prop-wrap').show();\n },\n\n hide_default_product_info: function () {\n $('.prodigy-product__prop-wrap').hide();\n },\n\n hide_bulk_for_attr: function(attribute_name) {\n $(this.bulk_container + attribute_name + '-js').hide();\n $(this.variant_container + attribute_name + '-js').show();\n $(this.counter_element).show();\n $(this.bulk_total_block).hide();\n },\n\n show_bulk_for_attr: function (attribute_name) {\n $(this.variant_container + attribute_name + '-js').hide();\n $(this.bulk_container + attribute_name + '-js').show();\n $(this.counter_element).hide();\n $(this.bulk_total_block).show();\n },\n\n show_price_bulk_block: function () {\n let is_show_bulk_price_block = $('.bulk-container-js').is(\":visible\");\n if (is_show_bulk_price_block) {\n $('.prodigy-counter-wrap-js').hide();\n $('.bulk-total-block-js').show();\n } else {\n $('.bulk-total-block-js').hide();\n $('.prodigy-counter-wrap-js').show();\n }\n },\n\n set_quantity_validation: function () {\n $(this.input_quantity_element).inputmask({\n mask: '9{1,4}',\n regex: \"^[1-9][0-9]*|$\"\n });\n }\n }\n window.prodigyProductBulk = prodigy_product_bulk;\n})(jQuery, window);\n\njQuery(document).ready(function ($) {\n window.prodigyProductBulk.init();\n});\n","(function ($, window) {\n\n var prodigy_product = {\n _weight_type_mapper: [\"lbs\", \"g\", \"kg\", \"oz\"],\n _dimension_type_mapper: [\"in\", \"cm\"],\n _stock_status_mapper: { \"in_stock\": \"In stock\", \"out_of_stock\": \"Out of stock\"},\n _add_to_cart_key: \"add_item_to_cart\",\n product: {},\n is_show_subscription_popup: false,\n subscription_price: 0,\n is_subscription_replaced: false,\n is_one_time_order: true,\n subscription_id: '',\n remote_product: {},\n variant: {},\n maxItems: 9999,\n is_admin: false,\n is_tiered_price: false,\n selectedVariant: [],\n master_variant_id: 0,\n bulk_variants_info: [],\n input_bulk_quantity_element: '.prodigy-bulk-input-js',\n total_quantity_element: '.prodigy-bulk-total-qty-js',\n bulkVariants: [],\n bulkTotalQuantity: 0,\n bulk_total_price: '.bulk-total-price-js',\n bulk_price_modifier_element: '.bulk-price-modify-js',\n bulk_stock_status: '.stock-indicator-label-js',\n bulk_stock_qty: '.stock-indicator-qty-js',\n bulk_container_element: '.bulk-container-js',\n active_bulk_attribute_name: '',\n min_quantity: 1,\n add_to_cart_button_element: '.add-to-cart-js',\n enable_bulk_element: '.enable-bulk-js',\n disable_bulk_button_element: '.disable-bulk-button-js',\n product_counter_input_element: '.counter-count-js',\n prodigy_product_swatch_element: '.prodigy-product__swatch-js',\n is_variant_was_chosen: false,\n\n init: function () {\n this.is_tiered_price = Boolean( $( '.is_tired_price-js' ).val() );\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", this.min_quantity);\n }\n let is_product_page = $( \"body\" ).hasClass( \"single-prodigy-product\" );\n let is_shop_page = $( \"body\" ).hasClass( \"tax-prodigy-product-shop\" );\n this.master_variant_id = $( '#product_id' ).val();\n this.is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\n if ( ! is_shop_page && is_product_page) {\n if ( ! this.is_variants()) {\n this.get_master_variant_data();\n }\n this.set_product_tabs();\n this.scroll_for_hash( window.location.hash );\n this.set_product_counter();\n this.show_tab_review();\n this.show_tab_description();\n this.send_captcha();\n this.send_review_for_user();\n this.disable_submit_comment();\n this.reset_focus_to_press_enter();\n this.set_default_link_review();\n this.change_product_quantity_analytic_event();\n this.change_swatch_value();\n this.update_variants_dropdown();\n this.set_elementor_options();\n this.set_subscription_id();\n this.set_tabs_for_resolution();\n this.customise_sort_select();\n this.set_customised_variant_selection();\n this.choose_radio_variant();\n this.add_item_to_cart();\n this.hide_empty_div();\n this.set_bulk_variants_data();\n this.set_bulk_info();\n this.set_product_gallery();\n if (this.is_tiered_price) {\n this.get_tiered_prices_range_ajax();\n this.close_tiered_price_popup();\n }\n }\n },\n\n close_tiered_price_popup: function () {\n $(document).on('click', '.close-tiered-prices-js', function () {\n $('#minorderQTY').modal('hide');\n })\n },\n\n\n get_options: function () {\n let self = this;\n let selected_options = [];\n if (this.is_swatches()) {\n $(self.prodigy_product_swatch_element).each(\n function () {\n let swatch_block = $(this).closest('.prodigy-product__swatch-block-js');\n if ($(this).is(':checked') && !$(swatch_block).hasClass('ignored')) {\n let value = $(this).val();\n $(this).closest('.swatch-container-js').find('.swatch-attribute-name-js').html(\" \" + $(this).val());\n selected_options.push(value);\n }\n }\n );\n } else {\n $(\".attribute_values_js\").each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n if ($option.val() !== '') {\n selected_options.push($option.val());\n }\n }\n );\n }\n\n return selected_options;\n },\n\n set_product_gallery: function () {\n let thumbsDirection = 'horizontal';\n let thumbsSlidesPerView = $(\"#gallery-thumbs\").data('slides') || 3;\n let thumbsSpaceBetween = $(\"#gallery-thumbs\").data('spacing') || 10;\n\n if ($(\"#gallery\").hasClass(\"prodigy-product__gallery-container--left\") || $(\"#gallery\").hasClass(\"prodigy-product__gallery-container--right\")) {\n const ratio = $(\"#gallery-main\").data(\"ratio\");\n const width = $(\"#gallery-main\").width();\n const height = width / ratio;\n $(\"#gallery\").height(height);\n thumbsDirection = 'vertical';\n thumbsSlidesPerView = 'auto';\n }\n\n const initNav = (swiper, el) => {\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-prev\",\n function () {\n if (swiper.isBeginning) {\n swiper.slideTo(swiper.slides.length - 1);\n } else {\n swiper.slidePrev();\n }\n }\n )\n el.on(\n \"click\",\n \".prodigy-product__gallery-nav-next\",\n function () {\n if (swiper.isEnd) {\n swiper.slideTo(0);\n } else {\n swiper.slideNext();\n }\n }\n )\n }\n\n const swiperThumbs = new Swiper(\n \"#gallery-thumbs\",\n {\n direction: thumbsDirection,\n slidesPerView: thumbsSlidesPerView,\n spaceBetween: thumbsSpaceBetween,\n speed: 500,\n on: {\n init: function (swiper) {\n if (thumbsDirection === 'horizontal') {\n const slides = $(\"#gallery-thumbs .swiper-slide\");\n if (slides.length > thumbsSlidesPerView) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n } else if (thumbsDirection === 'vertical') {\n let slidesHeight = 0;\n let mainHeight = $(\"#gallery-main\").outerHeight();\n swiper.slides.forEach(\n slide => {\n slidesHeight += $(slide).outerHeight();\n }\n );\n if (slidesHeight > mainHeight) {\n $(\"#gallery-thumbs .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-thumbs\"));\n }\n }\n }\n }\n }\n );\n\n const swiperMain = new Swiper(\n \"#gallery-main\",\n {\n speed: 500,\n pagination: {\n el: \".prodigy-product__gallery-count\",\n type: \"fraction\",\n },\n thumbs: {\n swiper: $(\"#gallery-thumbs\").length ? swiperThumbs : null,\n },\n on: {\n init: function (swiper) {\n const slides = $(\"#gallery-main .swiper-slide\");\n if (slides.length > 1) {\n $(\"#gallery-main .prodigy-product__gallery-nav\").show();\n initNav(swiper, $(\"#gallery-main\"));\n }\n }\n }\n }\n );\n\n if (typeof code_happened === 'undefined' || window.code_happened == false) {\n window.code_happened = true;\n\n $(document).on(\n \"click\",\n \".icon-fullscreen-js\",\n this.open_photo_swipe.bind(this)\n );\n }\n },\n\n get_gallery_images: function () {\n const slides = $(\"#gallery-main .prodigy-product__gallery-img\");\n let items = [];\n\n if (slides.length) {\n slides.each(\n function (i, el) {\n var img = $(el).find(\"img\");\n\n if (img.length) {\n var large_image_src = img.attr(\"data-large_image\"),\n large_image_w = img.attr(\"data-large_image_width\"),\n large_image_h = img.attr(\"data-large_image_height\"),\n item = {\n src: large_image_src,\n w: large_image_w,\n h: large_image_h,\n title: img.attr(\"data-caption\")\n ? img.attr(\"data-caption\")\n : img.attr(\"title\")\n };\n items.push(item);\n }\n\n }\n );\n }\n\n return items;\n },\n\n open_photo_swipe: function (e) {\n e.preventDefault();\n\n var pswpElement = $(\".pswp\")[0],\n items = this.get_gallery_images(),\n index = $(\"#gallery-main .swiper-slide-active\").index();\n\n var options = $.extend(\n {\n index: index,\n },\n {}\n );\n\n // Initializes and opens PhotoSwipe.\n var photoswipe = new PhotoSwipe(\n pswpElement,\n PhotoSwipeUI_Default,\n items,\n options\n );\n photoswipe.init();\n },\n\n set_bulk_info() {\n let self = this;\n $(document).on('enable-multiple-quantity', function (e,context) {\n\t\t\t\t\tlet bulk_attr = $( context ).data( 'attribute' );\n $(self.disable_bulk_button_element).attr('data-value', $(context).data('slug'));\n self.set_variant_modifier(bulk_attr);\n }\n );\n },\n\n set_variant_modifier(attribute) {\n let self = this;\n let modifierOptions = [];\n $( '.bulk-container-' + attribute + '-js' ).each(\n function (e) {\n\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n let modifier = $( this ).data( 'attribute' );\n modifierOptions.push( jQuery.trim( modifier ) );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n if (self.is_variants()) {\n let attributes = self.get_attributes_for_query();\n if (Object.keys(attributes.attribute).length === 1 && $('.bulk-container-js').length === 1) {\n attributes.attribute = [];\n }\n\n if (Object.keys(self.clear_selected_attributes(attributes.attribute)).length > 1) {\n for (const [key, value] of Object.entries(attributes.attribute)) {\n let selected_value = $(self.disable_bulk_button_element).data('value');\n if (value === selected_value) {\n delete attributes.attribute[key];\n }\n }\n }\n\n self.get_multiple_variant_data(attributes.attribute, modifierOptions);\n }\n },\n\n clear_selected_attributes: function (values) {\n $.each(values, function(key,val) {\n if ('Choose an option' === val) {\n delete values[key];\n }\n });\n\n return values;\n },\n\n set_subscription_id: function () {\n this.subscription_id = $( '.subscription_id' ).val();\n },\n\n set_elementor_options: function () {\n let is_show_regular_price = $( '#regular_price_state_option' ).val();\n\n if (is_show_regular_price !== 'yes') {\n $( '.regular-price-container' ).remove();\n } else {\n $( '.regular-price-container' ).show();\n }\n this.set_subscriptions();\n },\n\n format_subscription_price: function (price) {\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions) {\n if (typeof parse_price( price ) === 'undefined') {\n price = $( '.sale-subscription-price-js' ).text();\n }\n\n let sale_price = $( '.subscription-sale_price-js' ).val();\n let one_time_price = $( '.prodigy-subscriptions-tab__item-price' ).find( '.sale-price' ).text();\n $( '.subscriptions-price-currency-js' ).show();\n\n if ( parse_price( price ) !== parse_price( sale_price ) ) {\n $( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n }\n\n $( '.product-default-info-price-js' ).text( '$' + prodigy_price_format( parse_price( sale_price ) ) );\n $( '.prodigy-subscriptions-tab-js' ).trigger( 'click' );\n\n if ( parseFloat( one_time_price ) !== parseFloat( price ) ) {\n $( '.subscriptions-one-time-price-js' ).text( prodigy_price_format( parse_price( price ) ) );\n } else {\n $( '.subscriptions-one-time-price-js' ).parent().hide();\n }\n }\n },\n\n is_need_replace_subscription_item: function (subscription_id) {\n let self = this;\n let remote_product_id;\n let attribute_values_js = $( \".attribute_values_js\" );\n\n // if isset variants\n if (attribute_values_js.length > 0) {\n remote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n } else {\n if (typeof self.remote_product !== 'undefined') {\n remote_product_id = self.remote_product.remote_master_id_variant;\n }\n }\n\n if (typeof remote_product_id !== \"undefined\") {\n let post_data = {\n action: \"prodigy-is-replace-subscription-item\",\n remote_product_id: remote_product_id,\n one_time_order: self.is_one_time_order,\n };\n\n if ( ! self.is_one_time_order && subscription_id && typeof subscription_id !== 'undefined') {\n self.subscription_id = subscription_id;\n post_data.subscription_id = subscription_id;\n }\n\n $.ajax(\n {\n\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\tdata: post_data,\n\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\tif (data !== null) {\n\t\t\t\t\t\t\t\tself.is_show_subscription_popup = data.show_subscription_popup;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n }\n );\n }\n },\n\n add_item_to_cart: function () {\n let self = this;\n $( document )\n .off( \"click\", \"button.add-to-cart-js, button.replace-subscription-condition-js\" )\n .on(\n \"click\",\n \"button.add-to-cart-js, button.replace-subscription-condition-js\",\n function (e) {\n\t\t\t\t\t\tif ( ! self.validate_options() && ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet remote_product_id;\n\t\t\t\t\t\tlet attribute_values_js = $( \".attribute_values_js\" );\n\t\t\t\t\t\tlet attribute_swatch_js = $(self.prodigy_product_swatch_element);\n\t\t\t\t\t\tlet current_button = $( this ).attr( 'data-name' );\n\n\t\t\t\t\t\tif (current_button === 'replace-subscription-condition-js') {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t\tself.is_subscription_replaced = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.is_subscription_replaced = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (self.is_show_subscription_popup) {\n\t\t\t\t\t\t\t$( '#add_item_Modal' ).modal( 'show' );\n\t\t\t\t\t\t\tself.is_show_subscription_popup = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// if isset variants\n\t\t\t\t\t\t\tif (attribute_values_js.length > 0 || attribute_swatch_js.length > 0) {\n\t\t\t\t\t\t\t\tremote_product_id = $( this ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (typeof self.remote_product !== 'undefined') {\n\t\t\t\t\t\t\t\t\tremote_product_id = self.remote_product.id;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof remote_product_id === 'undefined') {\n\t\t\t\t\t\t\t\tremote_product_id = $( self.add_to_cart_button_element ).attr( \"data-remote-id\" );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tself.set_analytic_add_item_to_cart();\n\t\t\t\t\t\t\tlet form_count_products = $(self.product_counter_input_element).val();\n\n\t\t\t\t\t\t\tif (self.is_validate_options()) {\n\t\t\t\t\t\t\t\tif (self.is_bulk_opened()) {\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n self.bulk_variants_info,\n self.bulkVariants,\n null,\n null,\n false,\n true\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// set items in remote cart\n\t\t\t\t\t\t\t\t\tself.add_to_cart(\n form_count_products,\n remote_product_id,\n self.get_attributes_for_query(),\n self.get_current_product_price(),\n self.subscription_id,\n self.is_subscription_replaced\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n );\n },\n\n set_bulk_variants_data: function () {\n let self = this;\n $( document ).on(\n \"keypress\",\n self.input_bulk_quantity_element,\n function (e) {\n self.set_bulk_data();\n\t\t\t\t}\n );\n },\n\n set_bulk_data: function () {\n let self = this;\n let total_quantity = 0;\n let bulkOptions = [];\n let attribute_name = '';\n if (this.is_swatches()) {\n this.set_checked_swatch();\n } else {\n this.set_variants();\n }\n\n $( self.bulk_container_element ).each(\n function (e) {\n\t\t\t\t\tlet is_visible = $( this ).is( ':visible' );\n\t\t\t\t\tlet variant = '';\n\t\t\t\t\tif (is_visible) {\n\t\t\t\t\t\t$( this ).find( self.input_bulk_quantity_element ).each(\n function (e) {\n if ( ! isNaN( parseInt( $( this ).val() ) )) {\n total_quantity += parseInt( $( this ).val() );\n attribute_name = $( this ).data( 'attribute' );\n variant = attribute_name + '&' + self.selectedVariant.join( \"&\" );\n\n let obj = {\n variant: variant,\n quantity: parseInt( $( this ).val() )\n };\n bulkOptions.push( obj );\n }\n }\n );\n\n\t\t\t\t\t\t$( self.total_quantity_element ).text( total_quantity );\n\t\t\t\t\t\tif (self.is_validate_options() ) {\n\t\t\t\t\t\t\tself.get_bulk_variants_data( total_quantity, bulkOptions );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_bulk_variants_data: function (quantity, selected_variant_options) {\n this.bulkVariants = selected_variant_options;\n this.bulkTotalQuantity = quantity;\n if (this.is_validate_options() ) {\n this.get_variant_data( selected_variant_options, quantity, null, true );\n }\n },\n\n set_subscriptions: function () {\n var self = this;\n var sale_price = 0;\n\n $( document ).on(\n 'change',\n '.subscription-radio-js',\n function () {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tsale_price = $( this ).prev().prev().prev().prev().val();\n\t\t\t\t\t\tvar sale_price_rounded = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n\t\t\t\t\t\tself.subscription_price = sale_price;\n\t\t\t\t\t\t$( '.sale-subscription-price-js' ).text( prodigy_price_format( sale_price_rounded ) );\n\t\t\t\t\t\tself.subscription_id = $( this ).prev().prev().prev().val();\n\t\t\t\t\t\tself.is_need_replace_subscription_item( self.subscription_id );\n\t\t\t\t\t\tself.set_subscription_additional_price( sale_price, $( this ) );\n\n\t\t\t\t\t\tlet price = $( '.regular-price' ).text();\n\t\t\t\t\t\tif (price === '') {\n\t\t\t\t\t\t\tprice = prodigy_price_format( parse_price( $( '.sale-price' ).text() ) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet price_container = $( this ).closest( '.prodigy-subscriptions-tab' ).find( '.prodigy-subscriptions-tab__item-sale' );\n\t\t\t\t\t\tif (parse_price( self.subscription_price ) !== parse_price( price )) {\n\t\t\t\t\t\t\tprice_container.show();\n\t\t\t\t\t\t\t$( '.subscriptions-regular-price-js' ).text( prodigy_price_format( parse_price( price ) ) ).show();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprice_container.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n 'button.prodigy-close-button, button.close-subscription-popup-js',\n function () {\n\t\t\t\t\t$( '#add_item_Modal' ).modal( 'hide' );\n\t\t\t\t\tself.is_show_subscription_popup = true;\n\t\t\t\t}\n );\n\n $( document ).on(\n 'click',\n '.prodigy-subscriptions-tab-js',\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t\tself.activate_subscription_block( $( this ) );\n\t\t\t\t\tlet is_conditions = $( this ).next().find( '.prodigy-subscription-period-js' );\n\n\t\t\t\t\tif (is_conditions.length > 0) {\n\t\t\t\t\t\t$( '.subscription-radio-js' ).each(\n function () {\n if ($( this ).is( ':checked' )) {\n $( '.subscription-radio-js' ).removeAttr( 'disabled' );\n sale_price = parseFloat( $( '.sale-subscription-price-js' ).text().trim() );\n self.subscription_price = parseFloat( sale_price ) < 0 ? 0 : parseFloat( sale_price );\n self.subscription_id = $( this ).prev().prev().prev().val();\n self.is_need_replace_subscription_item( self.subscription_id );\n self.set_subscription_additional_price( sale_price, $( this ) );\n }\n }\n );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.is_need_replace_subscription_item();\n\t\t\t\t\t\tlet price = $( this ).next().find( '.prodigy-subscriptions-tab__item-price' ).text();\n\t\t\t\t\t\t$( '.product-default-info-price-js' ).text( price );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n get_attributes_for_query: function () {\n let attribute_values_js = $('.attribute_values_js:not(.ignored)');\n let attribute_swatch = $('.prodigy-product__swatch-block-js:not(.ignored)');\n let attributes = {attribute: {}, item: {}};\n attribute_values_js.each(\n function (key) {\n let $option = $(this).find(\"option:selected\");\n attributes[\"attribute\"][key] = $option.data('slug');\n attributes[\"item\"][key] = $option.text();\n\t\t\t\t}\n );\n\n attribute_swatch.find('.prodigy-product__swatch-js').each(\n function (key) {\n\t\t\t\t\tif ($( this ).is( ':checked' )) {\n\t\t\t\t\t\tattributes[\"attribute\"][key] = $( this ).data('slug');\n\t\t\t\t\t\tattributes[\"item\"][key] = $( this ).val();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n return attributes;\n },\n\n set_subscription_options: function (container) {\n let self = this;\n self.set_subscription_price( container );\n if (container.hasClass( \"active\" )) {\n if (container.attr( 'aria-controls' ) === 'nav-home') {\n self.subscription_price = container.find( '.sale-price' ).text().trim();\n self.is_one_time_order = true;\n } else {\n self.subscription_price = $( '.sale-subscription-price-js' ).text().trim();\n self.is_one_time_order = false;\n }\n }\n },\n\n load_subscription_price: function () {\n let self = this;\n $( '.prodigy-subscriptions-tab-js' ).each(\n function () {\n\t\t\t\t\tself.set_subscription_options( $( this ) );\n\t\t\t\t}\n );\n },\n\n set_subscription_additional_price: function (price, container) {\n let format_price_string = '$' + prodigy_price_format( price );\n let condition_string = container.parent().find( '.subscription-condition-js' ).val();\n $( '.product-default-info-price-js' ).text( format_price_string + ' (' + condition_string + ')' );\n },\n\n activate_subscription_block: function (container) {\n $( '.prodigy-subscriptions-radio-js' ).prop( 'checked', false );\n $( '.prodigy-subscriptions-tab-js' ).removeClass( 'active' );\n $( container ).find( '.prodigy-subscriptions-radio-js' ).prop( 'checked', true );\n container.addClass( 'active' );\n $( '.subscription-radio-js' ).prop(\n 'disabled',\n function (i, v) {\n\t\t\t\t\treturn ! v;\n\t\t\t\t}\n );\n },\n\n set_subscription_price: function (container) {\n let subscription_price = $( '.prodigy-subscriptions-wrap-price-js' ).text();\n $( '.prodigy-additional-info-price-js' ).text( subscription_price ).show();\n },\n\n get_current_product_price: function () {\n var self = this;\n var price = 0;\n var price_str = $( document ).find( \".sale-price\" ).text().trim();\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_subscriptions && ! self.is_one_time_order) {\n price = parseFloat( self.subscription_price );\n }\n\n if (self.is_one_time_order && price_str !== '') {\n price = prodigy_price_format( price_str ).replace( /\\,/g, '' );\n }\n\n return price;\n },\n\n is_bulk: function () {\n return $( this.enable_bulk_element ).length;\n },\n\n\n is_bulk_opened: function () {\n return $( '.prodigy-bulk__wrap' ).is( \":visible\" );\n },\n\n add_to_cart: function (\n number_of_product,\n remote_product_id,\n attributes_item,\n price = null,\n subscription_id = null,\n is_subscription_replaced = false,\n is_bulk = false\n ) {\n let self = this;\n\n let post_data = {\n action: \"prodigy-add-remote-cart\",\n remote_product_id: remote_product_id,\n count: number_of_product,\n price: price,\n attributes: attributes_item,\n is_subscription_replaced: is_subscription_replaced,\n is_bulk: is_bulk,\n nonce: settings.nonce\n };\n\n self.show_cart_button_loader();\n\n if ( ! self.is_one_time_order) {\n post_data.subscription_id = subscription_id;\n }\n clearTimeout(self.timeoutAddToCartId);\n self.timeoutAddToCartId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (data) {\n if (self.is_tiered_price && data.error_code && data.error_code === 422) {\n self.show_tiered_price_modal(data);\n return;\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(true);\n }\n self.show_error(data.responseJSON.data);\n },\n success: function (data) {\n if (self.is_bulk_opened()) {\n self.reset_bulk_inputs();\n }\n\n if (window.prodigy_cart_widget !== undefined) {\n window.prodigy_cart_widget.cart_modal_trigger(false);\n }\n\n if (\n (self.is_tiered_price && typeof data.error_code === \"undefined\") ||\n !self.is_tiered_price\n ) {\n self.cart_slide_open();\n $(self.product_counter_input_element).val(1);\n self.show_add_to_cart_message();\n self.show_cart_message();\n }\n\n if (self.is_tiered_price) {\n self.get_tiered_prices_range_ajax();\n }\n\n self.hide_cart_button_loader();\n // redirect to cart page\n if ($(\".cart-redirect-js\").data(\"cart-redirect\") === \"redirect_to_cart\") {\n var dinamic_cart_url = $('.pg-cart-url-js').data('attr');\n window.location.replace(dinamic_cart_url);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n show_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", true);\n },\n\n hide_cart_button_loader: function () {\n $(this.add_to_cart_button_element).prop(\"disabled\", false);\n },\n\n reset_bulk_inputs: function () {\n let self = this;\n $( this.input_bulk_quantity_element ).each(\n function () {\n\t\t\t\t\t$( this ).val( '' );\n\t\t\t\t\t$( '.prodigy-bulk-total-qty-js' ).text( 0 );\n\t\t\t\t\t$( self.bulk_total_price ).text( '$0.00' );\n\t\t\t\t}\n );\n },\n\n show_tiered_price_modal: function (data) {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n cart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n if ( typeof data.message !== undefined ) {\n $( '.tiered-price-message-js' ).text( data.message );\n $( '#minorderQTY' ).modal( 'show' );\n }\n },\n\n cart_slide_open: function () {\n let cart_slider = $( '.prodigy-cart-slide-js' );\n let slider = cart_slider.data( 'auto-open' );\n if (slider === 'yes' || slider) {\n cart_slider.toggleClass( 'prodigy-cart-slide--open' );\n $('body').toggleClass('overflow-hidden');\n setTimeout(\n function () {\n\t\t\t\t\t\tcart_slider.removeClass( 'prodigy-cart-slide--open' );\n $('body').removeClass('overflow-hidden');\n\t\t\t\t\t},\n 10000\n );\n }\n },\n\n set_checked_swatch: function () {\n let self = this;\n self.selectedVariant = [];\n $(self.prodigy_product_swatch_element).each( function () {\n\t\t\t\t\tlet swatch_block = $( this ).closest( '.prodigy-product__swatch-block-js' );\n\t\t\t\t\tif ($( this ).is( ':checked' ) && ! $( swatch_block ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tlet value = $( this ).data('slug');\n\t\t\t\t\t\t$( this ).closest( '.swatch-container-js' ).find( '.swatch-attribute-name-js' ).html( \" \" + $(this).val() );\n\t\t\t\t\t\tself.selectedVariant.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n change_swatch_value: function () {\n let self = this;\n $(document).on('change', self.prodigy_product_swatch_element, function () {\n self.choose_radio_variant();\n if (self.is_bulk()) {\n $(this).parent().parent().closest('.prodigy-product__attr-item--no-select').find(self.enable_bulk_element).attr('data-value', $(this).data('slug'));\n }\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n let active_bulk_attribute = $('.bulk-container-js:visible').find('.disable-bulk-js').data('attribute');\n self.set_variant_modifier(active_bulk_attribute);\n }\n });\n },\n\n choose_radio_variant() {\n let self = this;\n this.set_checked_swatch();\n if (this.is_variants() && this.is_validate_options()) {\n let number_of_items = parseInt( $(self.product_counter_input_element).val() );\n this.get_variant_data( this.selectedVariant, number_of_items );\n }\n },\n\n set_active_bulk_attribute_name: function () {\n let self = this;\n $( this.bulk_container_element ).each(\n function () {\n\t\t\t\t\tif ($( this ).is( \":visible\" )) {\n\t\t\t\t\t\tself.active_bulk_attribute_name = $( this ).data( 'attribute' );\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_variants: function () {\n let self = this;\n let $option = false;\n self.selectedVariant = [];\n $( '.attribute_values_js' ).each(\n function () {\n\t\t\t\t\t$option = $( this ).find( \"option:selected\" );\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $option.data('slug') !== '' ) {\n self.selectedVariant.push($option.data('slug'));\n if (self.is_bulk()) {\n $(this).parent().find(self.enable_bulk_element).attr('data-slug', $option.data('slug'));\n }\n }\n\t\t\t\t}\n );\n\n self.selectedVariant = [...new Set( self.selectedVariant )];\n },\n\n choose_variant_dropdown: function () {\n let self = this;\n let selector = $( this );\n let attribute_values_js = $( '.attribute_values_js' );\n this.set_variants();\n\n if (this.selectedVariant.length === attribute_values_js.length) {\n this.isVariantSelected = true;\n }\n\n if (this.isVariantSelected && this.is_validate_options()) {\n self.show_cart_button_loader();\n if (this.is_variants()) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (this.is_bulk_opened()) {\n this.set_bulk_data();\n } else {\n if (this.is_validate_options() && ! this.is_bulk_opened()) {\n this.get_variant_data( self.selectedVariant, number_of_items, selector );\n }\n }\n }\n } else {\n this.is_one_time_order = true;\n this.show_main_product_info();\n\n if (typeof self.remote_product.remote_master_variant_info !== \"undefined\") {\n let dimension_attrs = this.remote_product.remote_master_variant_info.dimension.attributes;\n this.set_shipping_data_variants(\n this.remote_product.remote_main_sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n }\n },\n\n get_multiple_variant_data: function (variant, current_attribute) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-multiple-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n bulk_attribute: current_attribute,\n nonce: settings.nonce\n };\n\n\n clearTimeout(self.timeoutMultipleDataId);\n self.timeoutMultipleDataId = setTimeout(\n function () {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n },\n success: function (response) {\n self.set_variant_bulk_info(response);\n }\n }\n );\n },\n 500\n );\n },\n\n set_variant_bulk_info: function (response) {\n let self = this;\n $.each(\n response.data,\n function (key, value) {\n if (\n value.attributes &&\n typeof value.attributes['price-quantity-modifier'] !== \"undefined\" &&\n parseFloat(value.attributes['price-quantity-modifier']) > 0\n ) {\n $(self.bulk_price_modifier_element + key).show();\n $(self.bulk_price_modifier_element + key).text('+ $' + parseFloat(value.attributes['price-quantity-modifier']));\n } else {\n $(self.bulk_price_modifier_element + key).hide();\n }\n\n let key_field = key.replace(/\\s/g, \"_\");\n if (typeof value.inventory !== \"undefined\" && value.inventory.attributes) {\n if (\n value.inventory.attributes['manage-stock'] &&\n value.inventory.attributes['count'] !== null\n ) {\n $(self.bulk_stock_status + key_field).text('In stock: ');\n if (value.inventory.attributes['count'] !== null) {\n $(self.bulk_stock_qty + key_field).text(value.inventory.attributes['count']);\n }\n } else {\n $(self.bulk_stock_status + key_field).text(self._stock_status_mapper[value.inventory.attributes['stock']]);\n }\n }\n }\n );\n },\n\n get_variant_data: function (variant, number_of_items = null, selector = null, is_bulk = false, bulk_attribute = false) {\n let self = this;\n let post_data = {\n action: \"prodigy-public-get-variant-data\",\n post_id: $(\"#product_id\").val(),\n variants: variant,\n options: this.get_options(),\n number_of_items: number_of_items,\n is_bulk: is_bulk,\n bulk_attribute: bulk_attribute,\n location: window.location.href,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutVariantsDataId);\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).removeAttr('data');\n self.timeoutVariantsDataId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n error: function (xhr, status, error) {\n $(self.add_to_cart_button_element).prop(\"disabled\", true);\n $(self.add_to_cart_button_element).attr('data', 'loader');\n },\n success: function (response) {\n let data = response.data.result;\n if ( typeof data === \"undefined\" ) {\n return;\n }\n\n $(self.add_to_cart_button_element).removeAttr('data');\n if (self.is_bulk_opened()) {\n $(self.add_to_cart_button_element).removeAttr(\"disabled\");\n self.update_bulk_info(data);\n }\n\n if (typeof data !== undefined && data.subscriptions) {\n $('#subscriptions_block').html(data.subscriptions);\n }\n\n self.variant = data;\n if (selector) {\n self.set_variants_data(data, selector);\n } else {\n self.set_variants_data(data);\n }\n\n let is_subscriptions = $(document).find('.prodigy-subscriptions-tab').length > 0;\n\n if (!is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n // Set shipping data\n if (typeof data.dimension !== \"undefined\") {\n let dimension_attrs = data.dimension.attributes;\n self.set_shipping_data_variants(\n data.attributes.sku,\n dimension_attrs['weight-value'] + dimension_attrs['weight-unit'],\n dimension_attrs['depth-value']\n + ' x ' + dimension_attrs['width-value']\n + ' x ' + dimension_attrs['height-value']\n + dimension_attrs['size-unit']\n );\n }\n\n //swicth off loader\n $(self.add_to_cart_button_element).prop(\"disabled\", false);\n\n //Set option-image for gallery\n if (typeof data !== undefined) {\n $('.images-gallery-js').html($(data.product_gallery).html());\n self.set_product_gallery();\n }\n\n if (!self.is_bulk_opened() && !self.is_variant_was_chosen) {\n //Set tiered prices\n self.min_quantity = data.tiered_prices.min_quantity;\n if (self.is_tiered_price) {\n localStorage.setItem(\"min_quantity\", data.tiered_prices.min_quantity);\n if (parseFloat(data.tiered_prices.min_price) !== parseFloat(data.tiered_prices.max_price)) {\n let range_price_string = 'From $' + prodigy_price_format(data.tiered_prices.min_price) + ' to $' + prodigy_price_format(data.tiered_prices.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.tiered_prices.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop(\"disabled\", true);\n }\n }\n }\n }\n );\n },\n 500\n );\n\n },\n\n update_bulk_info: function (data) {\n this.bulk_variants_info = data;\n if (typeof data !== \"undefined\") {\n $( this.bulk_total_price ).text( '$' + prodigy_price_format( this.bulk_variants_info.bulk_total_price ) );\n $( '.product-default-info-price-js' ).text( '$' + this.bulk_variants_info.bulk_total_price );\n }\n },\n\n\n update_variants_dropdown: function () {\n let self = this;\n let variantsObj = $( 'div.variants-container-js' );\n let variants = variantsObj.data( 'variants' );\n if (variants !== 'undefined') {\n $( 'select[data-attribute]' ).each(\n function () {\n\t\t\t\t\t\tself.update_select( $( this ), variants, {} );\n\t\t\t\t\t}\n );\n let dropdownOpened = false;\n MsDropdown.make('.attribute_values_js', {\n on: {\n open: function () {\n dropdownOpened = true;\n },\n change: function () {\n if (dropdownOpened) {\n self.choose_variant_dropdown();\n if (self.is_bulk_opened()) {\n self.set_bulk_data();\n self.set_active_bulk_attribute_name();\n self.set_variant_modifier(self.active_bulk_attribute_name);\n }\n\n dropdownOpened = false;\n }\n }}\n });\n }\n\n $( document ).on(\n 'change',\n '.attribute_values_js',\n function () {\n\t\t\t\t\tlet $selects = $( '.attribute_values_js' );\n\t\t\t\t\t$selects.each(\n function () {\n let selected_attributes = [],\n filtered_attributes = [];\n let current_attr = $( this ).data( 'attribute' );\n $selects.each(\n function () {\n if ($( this ).val() !== '') {\n if (current_attr !== $( this ).data( 'attribute' )) {\n filtered_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n selected_attributes[$( this ).data( 'attribute' )] = $( this ).val();\n }\n }\n );\n\n let available_variants = self.filter_variants( filtered_attributes );\n self.update_select( $( this ), available_variants, selected_attributes );\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n is_variants: function () {\n let variants = $( '.variants-container-js' ).data( 'attributes' );\n return Boolean( variants.length );\n },\n\n update_select: function ($select, variants, selected_attributes) {\n let attributes = $( '.variants-container-js' ).data( 'attributes' );\n let available_attributes = {};\n\n for (i in variants) {\n let variant = variants[i];\n for (j in attributes) {\n let attr_name = attributes[j];\n let value = Object.values( variant[attr_name] )[0];\n if (value !== undefined) {\n if (available_attributes[attr_name] === undefined) {\n available_attributes[attr_name] = [];\n }\n available_attributes[attr_name][value.name] = value;\n }\n }\n }\n\n if ($select.length > 0) {\n let attr_name = $select.data( 'attribute' );\n let default_select_option = $( '#default_select_option' ).val();\n $select.html( '<option class=\"attributes_default_value-js\" value=\"\">' + default_select_option + '</option>' );\n let orderedVariants = [];\n Object.values( available_attributes[attr_name] ).sort( this.compareBySort ).forEach(\n function (variant) {\n\t\t\t\t\t\torderedVariants.push( variant.name );\n\t\t\t\t\t}\n );\n\n\n orderedVariants.forEach(\n function (i) {\n\t\t\t\t\t\tlet attr_value_name = available_attributes[attr_name][i].name;\n\t\t\t\t\t\tlet attr_value_slug = available_attributes[attr_name][i].slug;\n\t\t\t\t\t\tlet dataProperties = '';\n\t\t\t\t\t\tlet dataColorProperties = '';\n\n\t\t\t\t\t\t// set color like a picture\n\t\t\t\t\t\tif (available_attributes[attr_name][i].color != undefined) {\n\t\t\t\t\t\t\tconst svg = document.createElementNS( \"http://www.w3.org/2000/svg\", \"svg\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"width\", \"100\" );\n\t\t\t\t\t\t\tsvg.setAttribute( \"height\", \"100\" );\n\t\t\t\t\t\t\tsvg.style.backgroundColor = \"black\";\n\n\t\t\t\t\t\t\tconst rect = document.createElementNS( \"http://www.w3.org/2000/svg\", \"rect\" );\n\t\t\t\t\t\t\trect.setAttribute( \"width\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"height\", \"100%\" );\n\t\t\t\t\t\t\trect.setAttribute( \"fill\", available_attributes[attr_name][i].color );\n\t\t\t\t\t\t\tsvg.appendChild( rect );\n\n\t\t\t\t\t\t\tconst svgData = new XMLSerializer().serializeToString( svg );\n\t\t\t\t\t\t\tconst svgBase64 = btoa( svgData );\n\t\t\t\t\t\t\tconst dataUrl = 'data:image/svg+xml;base64,' + svgBase64;\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + dataUrl + '\"';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (available_attributes[attr_name][i].image !== undefined) {\n\t\t\t\t\t\t\tdataProperties += ' data-image=\"' + available_attributes[attr_name][i].image + '\"';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet is_selected = selected_attributes[attr_name] === attr_value_name || available_attributes[attr_name][i].default;\n\t\t\t\t\t\t$select.append( '<option class=\"attached enabled\" style=\"--data-color:' + dataColorProperties + '\" data-slug=\"' + attr_value_slug + '\" value=\"' + attr_value_name + '\"' + (is_selected ? ' selected' : '') + dataProperties + '>' + attr_value_name + '</option>' );\n\t\t\t\t\t}\n );\n }\n },\n\n compareBySort: function (a, b) {\n return a.sort - b.sort;\n },\n\n filter_variants: function (selected_attributes) {\n var variants = $( '.variants-container-js' ).data( 'variants' ),\n availableVariants = [];\n for (i in variants) {\n var is_available = true;\n for (var attr_name in selected_attributes) {\n if (typeof variants[i][attr_name][selected_attributes[attr_name]] !== 'undefined') {\n is_available = false;\n break;\n }\n }\n if (is_available) {\n availableVariants.push( variants[i] );\n }\n }\n\n return availableVariants;\n },\n\n scroll_for_hash: function (hash) {\n if (hash) {\n var hash = hash;\n\n $( 'html, body' ).animate(\n {\n\t\t\t\t\t\tscrollTop: $( hash ).offset().top\n },\n 1500,\n 'swing'\n );\n }\n },\n\n /**\n *\n * @version 2.0.0\n */\n set_analytic_add_item_to_cart: function () {\n if (settings.pg_google_track_id !== '') {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let self = this;\n let product = self.variant;\n let price = product.attributes.price;\n let sku = product.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = product.attributes.sku;\n let sale_price = product.attributes['sale-price'];\n let remote_variant_id = product.remote_variant_id;\n\n gtag(\n 'event',\n 'add_to_cart',\n {\n\t\t\t\t\t\t\t\"event_category\": 'prodigy_ecommerce',\n\t\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": product.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price ),\n \"quantity\": parseInt($(self.product_counter_input_element).val()),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n }\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n */\n change_product_quantity_analytic_event: function () {\n let self = this;\n if (settings.pg_google_track_id !== \"\") {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n if (current_url.includes( settings.product_type )) {\n let old_quantity = parseInt($(self.product_counter_input_element).val());\n\n $( '.counter-btn-plus-js, .counter-btn-minus-js' ).on(\n 'click',\n function () {\n\t\t\t\t\t\t\tlet product = self.variant;\n\n\t\t\t\t\t\t\tlet price = product.attributes.price;\n\t\t\t\t\t\t\tlet sku = product.attributes.sku;\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * TODO check title in api\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tlet title = product.attributes.sku;\n\t\t\t\t\t\t\tlet sale_price = product.attributes['sale-price'];\n\t\t\t\t\t\t\tlet remote_variant_id = product.remote_variant_id;\n\n\t\t\t\t\t\t\tgtag(\n 'event',\n 'change_product_quantity',\n {\n\t\t\t\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\t\t\t\"items\": [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"id\": remote_variant_id,\n\t\t\t\t\t\t\t\t\t\t\"name\": title,\n\t\t\t\t\t\t\t\t\t\t\"sku\": sku,\n\t\t\t\t\t\t\t\t\t\t\"price\": self.get_actual_price( price, sale_price ),\n\t\t\t\t\t\t\t\t\t\t\"new_quantity\": parseInt($(self.product_counter_input_element).val() ),\n\t\t\t\t\t\t\t\t\t\t\"old_quantity\": old_quantity,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n }\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n );\n }\n }\n },\n\n /**\n * @version 2.0.0\n * @param data\n */\n set_view_product_analytic_event: function (data) {\n let current_url = window.location.pathname.replace( /\\/+$/, \"\" );\n\n let price = data.attributes.price;\n let sku = data.attributes.sku;\n /**\n * TODO check title in api\n */\n let title = data.attributes.sku;\n let sale_price = data.attributes['sale-price'];\n let remote_variant_id = data.remote_variant_id;\n\n if (typeof current_url.includes( settings.product_type )) {\n let self = this;\n\n gtag(\n 'event',\n 'view_variant',\n {\n\t\t\t\t\t\t\"event_category\": 'prodigy_product',\n\t\t\t\t\t\t\"items\": [\n {\n \"id\": remote_variant_id,\n \"name\": title,\n // \"category\": data.categories,\n \"variant\": sku,\n \"price\": self.get_actual_price( price, sale_price )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n }\n );\n }\n },\n\n captcha_callback: function (val) {\n $( \".recaptcha-checkbox\" ).attr( \"aria-checked\", true );\n this.check_enable_comment_fields();\n },\n\n reset_focus_to_press_enter: function () {\n let self = this;\n $( document ).on(\n \"keypress blur focusout\",\n self.product_counter_input_element,\n function (e) {\n if (e.type === 'keypress' && e.which === 13) {\n self.update_counter_of_products( self, $( this ) );\n } else if (e.type === 'blur' || e.type === 'focusout') {\n self.update_counter_of_products( self, $( this ) );\n }\n }\n );\n },\n\n update_counter_of_products: function (self, container) {\n let number_of_items = parseInt($(self.product_counter_input_element).val());\n if (\n this.is_tiered_price &&\n this.is_variants() &&\n this.is_validate_options()\n ) {\n this.get_variant_data( this.selectedVariant, number_of_items );\n } else if (this.is_tiered_price && this.is_validate_options()) {\n this.get_master_variant_data( number_of_items );\n }\n\n if (parseInt( container.val() ) > 1) {\n $( \".counter-btn-minus-js\" ).prop( \"disabled\", false );\n }\n },\n\n send_captcha: function () {\n $( \".submit-product-button\" ).click(\n function (e) {\n\t\t\t\t\tvar response;\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: \"post\",\n\t\t\t\t\t\t\tdata: $( \"#commentform\" ).serialize() + \"&action=google-captcha-url\",\n\t\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\t\turl: ajax_url,\n\t\t\t\t\t\t\tasync: false,\n\t\t\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\t\t\tif (data.nocaptcha === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else if (data.spam === \"true\") {\n\t\t\t\t\t\t\t\t\tresponse = 1;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresponse = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n send_review_for_user: function () {\n var is_admin = this.is_admin;\n $( document ).on(\n 'submit',\n 'form#commentform',\n function (e) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t$( '#submit' ).addClass( 'prodigy-main-button--loading' );\n\t\t\t\t\tvar form = $( 'form#commentform' );\n\n\t\t\t\t\t$.ajax(\n {\n\t\t\t\t\t\t\ttype: 'POST',\n\t\t\t\t\t\t\turl: form.attr( 'action' ),\n\t\t\t\t\t\t\tdata: form.serialize(),\n\t\t\t\t\t\t\terror: function (error) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'Couldn\\'t submit a review. Please try again later.' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess: function (respond_data) {\n\t\t\t\t\t\t\t\t$( '#reviewModal' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t$( '.prodigy-reviews-ratings__btn' ).hide();\n\t\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\t\t$( '#submit' ).removeClass( 'prodigy-main-button--loading' );\n\t\t\t\t\t\t\t\t\tif (typeof respond_data !== \"undefined\") {\n\t\t\t\t\t\t\t\t\t\t$( '#reviewModalSuccess' ).modal( 'toggle' );\n\t\t\t\t\t\t\t\t\t\t$( '.review-message-popup-js' ).text( 'We will post your review soon after moderation approve' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n },\n\n show_cart_message() {\n var add_to_cart_message = $( '.widget-cart-add-item-message-js' );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( 'slow' );\n },\n\n show_view_cart_btn() {\n var view_cart = $( \".view-cart-js\" );\n view_cart.show();\n $( \".prodigy-product__values\" ).removeClass( \"flex-nowrap\" );\n },\n\n show_add_to_cart_message() {\n var self = this;\n $(self.add_to_cart_button_element).prop( \"disabled\", true );\n self.show_cart_message();\n self.show_view_cart_btn();\n\n setTimeout(\n function () {\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\t\t\t\t},\n 5000\n );\n },\n\n show_error: function (message, type = \"success\") {\n let self = this;\n let add_to_cart_message = $( \".widget-cart-message-error-js\" );\n add_to_cart_message.find( \"span\" ).html( message );\n add_to_cart_message.show();\n add_to_cart_message.delay( 5000 ).fadeOut( \"slow\" );\n if (type === \"error\") {\n add_to_cart_message.addClass( \"prodigy-cart-dropdown__error-alert\" );\n }\n self.hide_cart_button_loader();\n },\n\n disable_submit_comment: function () {\n let self = this;\n\n self.check_enable_comment_fields();\n\n $(document).on( 'input', \"#comment\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-author-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $(document).on( 'input', \".comment-email-js\", function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n\n $( \"body\" ).on(\n \"change\",\n \"#prodigy-rating\",\n function (e) {\n\t\t\t\t\tself.check_enable_comment_fields();\n\t\t\t\t}\n );\n },\n\n check_enable_comment_fields: function () {\n var comment_submit = $( \".prodigy-main-button.submit-product-button\" );\n\n var rating_form = $( \".comment-form-rating\" ).length;\n\n if ( ! this.is_admin) {\n var rating_val = $( \"#prodigy-rating\" ).val();\n }\n\n var comment_val = $( \"#comment\" ).val();\n var name_val = $( \".comment-author-js\" ).val();\n var email_val = $( \".comment-email-js\" ).val();\n var captcha_val = $( \"#g-recaptcha-response\" ).val();\n var captcha = $( \"#g-recaptcha-response\" );\n var is_rating_enable = $( \".prodigy-comment__rating\" ).length > 0;\n var is_email_enable = $( \".comment-email-js\" ).length > 0;\n var enable_submit = true;\n\n if (document.body.classList.contains( \"logged-in\" )) {\n if (this.is_admin) {\n var enable_submit = comment_val;\n } else if (typeof rating_val !== 'undefined') {\n var enable_submit = rating_val && comment_val;\n } else {\n var enable_submit = comment_val;\n }\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && captcha_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && captcha_val;\n }\n } else {\n if (typeof rating_val !== \"undefined\") {\n var enable_submit = rating_val && comment_val && name_val && email_val;\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = rating_val && comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && rating_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n } else if (captcha.length == 0 && ! this.is_admin && is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n } else {\n var enable_submit = comment_val && name_val && email_val;\n\n if (captcha.length > 0 && ! this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin) {\n var enable_submit = comment_val && name_val && captcha_val && email_val;\n } else if (captcha.length > 0 && this.is_admin && is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && this.is_admin && ! is_rating_enable) {\n var enable_submit = comment_val && name_val && email_val;\n } else if (captcha.length == 0 && ! this.is_admin && ! is_rating_enable && ! is_email_enable) {\n var enable_submit = comment_val && name_val;\n }\n }\n }\n\n if (enable_submit) {\n comment_submit.prop( \"disabled\", false );\n } else {\n comment_submit.prop( \"disabled\", true );\n }\n },\n\n set_shipping_data_variants: function (\n sku,\n weight,\n dimension\n ) {\n let prodigy_additional_weight_js = $( '.prodigy-additional-weight-js' );\n let prodigy_additional_dimensions_js = $( '.prodigy-additional-dimensions-js' );\n let product_sku_value = $( '.product_sku_value' );\n\n prodigy_additional_weight_js.text( weight )\n prodigy_additional_dimensions_js.text( dimension )\n product_sku_value.text( sku );\n },\n\n counter_reset: function () {\n $(this.product_counter_input_element).val(1);\n },\n\n set_product_counter: function () {\n let self = this;\n const counterCount = $(self.product_counter_input_element);\n counterCount.inputmask( {regex: \"^[1-9][0-9]*|$\", rightAlign: false} );\n\n $( document ).on(\n \"click\",\n '.counter-btn-minus-js',\n function () {\n\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) - 1;\n\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$(self.add_to_cart_button_element).prop( \"disabled\", false );\n\n\t\t\t\t\tconst counterCount = $(self.product_counter_input_element);\n\t\t\t\t\tconst minusBtn = $( \".counter-btn-minus-js\" );\n\t\t\t\t\tlet counter = parseInt( counterCount.val() );\n\t\t\t\t\tif (counter !== self.min_quantity) {\n\t\t\t\t\t\tcounterCount.val( --counter );\n\t\t\t\t\t\tif (counter <= self.min_quantity) {\n\t\t\t\t\t\t\tminusBtn.prop( \"disabled\", true );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( document )\n .off( \"click\", \".counter-btn-plus-js\" )\n .on(\n \"click\",\n \".counter-btn-plus-js\",\n function () {\n\t\t\t\t\t\tself.get_inventory_data();\n\t\t\t\t\t\tlet number_of_items = parseInt($(self.product_counter_input_element).val()) + 1;\n\n\t\t\t\t\t\tif ( ! self.is_bulk_opened()) {\n\t\t\t\t\t\t\tif (self.is_tiered_price && self.is_variants() && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_variant_data( self.selectedVariant, number_of_items );\n\t\t\t\t\t\t\t} else if (self.is_tiered_price && self.is_validate_options()) {\n\t\t\t\t\t\t\t\tself.get_master_variant_data( number_of_items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( ++counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n\t\t\t\t\t}\n );\n },\n\n get_inventory_data: function () {\n let self = this;\n\n let post_data = {\n action: \"prodigy-remote-get-inventory-product\",\n post_id: $( \"#product_id\" ).val(),\n nonce: settings.nonce\n };\n clearTimeout(self.timeouInventorytId);\n self.timeouInventorytId = setTimeout(\n function () {\n $.ajax(\n {\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n if (typeof data.attributes !== 'undefined') {\n self.set_stock_status(data.attributes);\n }\n }\n }\n );\n },\n 500\n );\n },\n\n reset_product_counter: function (inventory = null) {\n this.counter_reset();\n },\n\n set_stock_status: function (inventory, is_variant) {\n let self = this;\n let inventory_quantity = parseInt(localStorage.getItem(\"items_quantity\"));\n if (inventory['manage-stock'] && !inventory['backorderable'] && inventory_quantity > 0) {\n self.maxItems = inventory_quantity;\n }\n if (inventory['manage-stock']) {\n if (($(\".attribute_values_js\").length !== 0 && !is_variant) || inventory_quantity === 0) {\n self.set_out_of_stock_status();\n } else {\n self.disable_minus_button();\n self.set_in_stock_status(inventory);\n }\n } else if (is_variant && inventory['manage-stock'] && inventory['backorderable'] && inventory['stock'] === 'in_stock' && inventory_quantity === 0) {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'in_stock') {\n self.set_in_stock_status(inventory);\n } else if (is_variant && !inventory['manage-stock'] && inventory['stock'] === 'out_of_stock') {\n self.set_out_of_stock_status();\n }\n },\n\n is_swatches: function () {\n return $( \".prodigy-product__swatch-block-js\" ).length !== 0;\n },\n\n show_variant_data: function ( data_object, price, sale_price, subscriptions, is_selected_variant = 0) {\n let attribute_select = $( \".attribute_values_js\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let regular_price_info = $( \".regular-price-container\" );\n let sale_price_info = $( \".sale-price-container\" );\n let main_price_js = $( \".main-price-js\" );\n let default_info = $( '.product-default-info-js' );\n let subscription_block = $( '.subscriptions' );\n let main_currency_js = $( '.main-price-currency-js' );\n\n if ( ! is_selected_variant && $( '.main-price-js' ).text() !== prodigy_price_format( price )) {\n localStorage.setItem( 'product-range', $( '.main-price-js' ).text().trim() );\n }\n\n if ((attribute_select.length !== 0 || this.is_swatches()) && ! is_selected_variant) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n subscription_block.hide();\n main_currency_js.hide();\n main_price_js.text( localStorage.getItem( 'product-range' ) );\n } else {\n if ( ! this.is_tiered_price) {\n this.show_price( price, sale_price, subscriptions );\n } else {\n let price = data_object.tiered_price;\n this.show_price( price );\n }\n }\n\n default_info.show();\n let is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if (is_selected_variant) {\n default_info.hide();\n\n if (subscriptions) {\n $( '.prodigy-subscriptions-tab-js:first' ).trigger( 'click' );\n $( '.prodigy-product__price-wrapper' ).hide();\n } else {\n $( '.prodigy-product__price-wrapper' ).show();\n }\n this.show_subscription_price( price );\n\n } else if (is_subscriptions) {\n $( '.product-default-info-price-js' ).text( '$' + price );\n }\n\n this.format_subscription_price( price );\n },\n\n show_subscription_price: function (price) {\n let sale_price = $( '.subscription-sale_price-js' ).val();\n if (sale_price !== price && typeof sale_price !== 'undefined') {\n let price = this.get_current_product_price();\n let price_string = '$' + prodigy_price_format( price );\n $( '.prodigy-product__prop-txt-price' ).text( price_string ).show();\n }\n },\n\n show_price: function (price, sale_price = null, subscriptions = null) {\n let main_currency_js = $( '.main-price-currency-js' );\n let main_price_js = $( \".main-price-js\" );\n price = prodigy_price_format( price );\n if ( sale_price ) {\n price = prodigy_price_format( sale_price );\n }\n if (this.is_tiered_price) {\n main_price_js = $( \".prodigy-product__main-price\" );\n price = prodigy_price_format( price );\n }\n\n if (parseFloat(price) > 0) {\n price = '$' + price;\n }\n\n let sale_price_info = $( \".sale-price-container\" );\n let regular_price_info = $( \".regular-price-container\" );\n let stock_info = $( \".prodigy-product-stock-js\" );\n let sale_price_value_block = $( \".sale-price\" );\n let regular_price_value_block = $( \".regular-price\" );\n\n if (\n (typeof sale_price !== \"undefined\") ||\n (typeof sale_price !== \"undefined\" && parseInt( sale_price ) !== 0)\n ) {\n if (price === \"\" || parseInt( sale_price ) === 0) {\n stock_info.hide();\n regular_price_info.hide();\n sale_price_info.hide();\n } else {\n main_price_js.text( price );\n regular_price_info.show();\n sale_price_info.show();\n stock_info.show();\n }\n\n if (sale_price === \"\") {\n sale_price_info.show();\n if (typeof price !== 'undefined' && price) {\n sale_price_value_block.text( price );\n regular_price_info.hide();\n }\n } else {\n if (price && typeof price !== \"undefined\" && (sale_price !== null && sale_price.length > 0)) {\n if (prodigy_price_format( sale_price ) !== prodigy_price_format( price ) ) {\n regular_price_value_block.text( price );\n }\n sale_price_value_block.text( prodigy_price_format( sale_price ) );\n regular_price_info.show();\n sale_price_info.show();\n } else {\n sale_price_value_block.text( price );\n regular_price_info.hide();\n }\n }\n } else {\n sale_price_info.hide();\n regular_price_info.hide();\n }\n },\n\n show_main_product_info: function () {\n let self = this;\n if (\n typeof this.remote_product !== \"undefined\" &&\n this.remote_product.remote_main_price !== null\n ) {\n let subscriptions = false;\n if (typeof this.remote_product.remote_master_variant_info !== 'undefined') {\n subscriptions = typeof this.remote_product.remote_master_variant_info['subscription-plan'] !== 'undefined';\n }\n\n let price = 0;\n let sale_price = 0;\n\t\t\t\tif (typeof this.remote_product.remote_main_price !== 'undefined') {\n price = this.remote_product.remote_main_price.price;\n\t\t\t\t\tsale_price = this.remote_product.remote_main_price['sale-price'];\n\t\t\t\t}\n\n this.show_variant_data(\n this.remote_product,\n price,\n sale_price,\n subscriptions\n );\n\n if (\n typeof this.remote_product !== 'undefined' &&\n typeof this.remote_product.remote_master_variant_info !== \"undefined\"\n ) {\n localStorage.setItem( \"items_quantity\", this.remote_product.remote_master_variant_info.inventory.attributes.count );\n }\n\n let has_variants = ! $.isEmptyObject( this.remote_product.variant_option );\n if ( ! has_variants) {\n self.hide_cart_button_loader();\n }\n\n if (\n typeof this.remote_product.remote_master_variant_info !== 'undefined'\n && typeof this.remote_product.remote_master_variant_info.inventory !== 'undefined'\n ) {\n this.show_status( this.remote_product.remote_master_variant_info.inventory.attributes, has_variants, false );\n }\n }\n\n if (\n this.product.meta &&\n typeof this.product.meta.product_sku !== \"undefined\" &&\n this.product.meta.product_sku[0]\n ) {\n var main_product_sku = this.product.meta.product_sku[0];\n $( \".product_sku_value\" ).text( main_product_sku );\n }\n\n var is_subscriptions = $( document ).find( '.prodigy-subscriptions-tab' ).length > 0;\n\n if ( ! is_subscriptions) {\n self.is_one_time_order = true;\n }\n\n self.load_subscription_price();\n },\n\n\n get_tiered_prices_range_ajax: function() {\n let self = this;\n let post_data = {\n action: \"prodigy-get-tiered-prices-range\",\n product_id: this.master_variant_id,\n nonce: settings.nonce\n };\n\n clearTimeout(self.timeoutTieredtId);\n self.timeoutTieredtId = setTimeout(function() {\n $.ajax({\n type: \"post\",\n data: post_data,\n dataType: \"json\",\n url: ajax_url,\n success: function (data) {\n self.min_quantity = data.data.min_quantity;\n if (self.is_tiered_price && !self.is_variant_was_chosen) {\n localStorage.setItem(\"min_quantity\", data.data.min_quantity);\n if (parseFloat(data.data.min_price) !== parseFloat(data.data.max_price) ) {\n let range_price_string = 'From $' + prodigy_price_format(data.data.min_price) + ' to $' + prodigy_price_format(data.data.max_price);\n $('.prodigy-product__main-price').text(range_price_string);\n }\n\n $(self.product_counter_input_element).val(data.data.min_quantity);\n $(document).find(\".counter-btn-minus-js\").prop( \"disabled\", true );\n }\n }\n });\n }, 500);\n },\n\n show_status: function (inventory, has_variant, select_variant) {\n let self = this;\n let inventory_quantity = parseInt( localStorage.getItem( \"items_quantity\" ) );\n if (typeof inventory_quantity !== \"undefined\" && inventory['manage-stock']) {\n self.maxItems = inventory_quantity;\n }\n let is_variant = (has_variant && select_variant) || ! has_variant;\n\n if (typeof inventory.stock !== \"undefined\") {\n self.set_stock_status( inventory, is_variant );\n }\n },\n\n disable_minus_button: function () {\n var minus = $( \".counter-btn-minus-js\" );\n\n if (parseInt($(self.product_counter_input_element).val()) === self.min_quantity) {\n minus.prop( \"disabled\", true );\n } else {\n minus.prop( \"disabled\", false );\n }\n },\n\n set_out_of_stock_status: function () {\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper['out_of_stock'] );\n },\n\n set_in_stock_status: function ( inventory ) {\n let plus = $( \".counter-btn-plus-js\" );\n let count_input = $(self.product_counter_input_element);\n count_input.prop( \"disabled\", false );\n plus.prop( \"disabled\", false );\n $(this.add_to_cart_button_element).prop( \"disabled\", false );\n let counter = inventory.count !== null ? inventory.count : '';\n $( \".prodigy-product-stock-js\" ).text( this._stock_status_mapper[inventory.stock] + ' ' + counter);\n },\n\n get_actual_price: function (price, sale_price) {\n if (sale_price === '') {\n return price;\n } else {\n return sale_price;\n }\n },\n\n set_variants_data: function (data, selector = null) {\n let self = this;\n if (typeof data !== 'undefined') {\n\n if (settings.pg_google_track_id !== \"\" && typeof settings.pg_google_track_id !== \"undefined\") {\n self.set_view_product_analytic_event( data );\n }\n\n let sku;\n if (\n data &&\n typeof data.attributes !== \"undefined\" &&\n data.attributes.sku\n ) {\n sku = data.attributes.sku;\n }\n\n if ( typeof data.inventory !== \"undefined\" && typeof data.inventory.attributes.count !== \"undefined\" ) {\n localStorage.setItem( \"items_quantity\", data.inventory.attributes.count );\n this.show_status( data.inventory.attributes, true, true );\n self.is_variant_was_chosen = true;\n if (self.is_tiered_price) {\n const counterCount = $(self.product_counter_input_element);\n let counter = parseInt( counterCount.val() );\n const minusBtn = $( \".counter-btn-minus-js\" );\n counterCount.val( counter );\n if (counter > self.min_quantity) {\n minusBtn.prop( \"disabled\", false );\n }\n }\n else if (data.inventory.attributes['manage-stock']) {\n this.reset_product_counter( data.inventory.attributes );\n }\n\n this.show_variant_data(\n data.attributes,\n data.attributes.price,\n data.attributes['sale-price'],\n data['subscription-plan'],\n true\n );\n }\n\n if (sku !== \"\" && typeof sku !== \"undefined\") {\n $( \".product_sku_value\" ).text( sku );\n } else {\n $( \".prodigy-product__tags-item product_sku\" ).hide();\n }\n\n // set product data for cart\n if (typeof data !== \"undefined\") {\n if (typeof data.remote_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-remote-id\", data.remote_variant_id );\n }\n\n if (typeof data.local_variant_id !== \"undefined\") {\n $(self.add_to_cart_button_element).attr( \"data-local-id\", data.local_variant_id );\n }\n }\n self.load_subscription_price();\n }\n },\n\n /**\n * Get obj remote product info\n *\n * @version 2.0.0\n */\n get_master_variant_data: function (number_of_items = 1) {\n let post_data = {\n action: \"prodigy-get-master-variant-data\",\n post_id: this.master_variant_id,\n items_number: number_of_items,\n nonce: settings.nonce\n };\n\n let self = this;\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.remote_product = data.data;\n\t\t\t\t\t\tif (typeof settings.is_captcha !== 'undefined' &&\n settings.is_captcha !== '' &&\n typeof settings.captcha_site_key !== 'undefined' &&\n settings.captcha_site_key !== ''\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tlet is_admin = $( document ).find( '#user-role-js' ).data( 'attr' );\n\t\t\t\t\t\t\tif ( ! is_admin) {\n\t\t\t\t\t\t\t\tgrecaptcha.render(\n 'captcha',\n {\n\t\t\t\t\t\t\t\t\t\t'sitekey': settings.captcha_site_key\n }\n );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (typeof data.data !== 'undefined') {\n\t\t\t\t\t\t\tself.variant = data.data.remote_master_variant_info;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.show_main_product_info();\n\t\t\t\t\t\t// init cart\n\t\t\t\t\t\tself.add_item_to_cart();\n\t\t\t\t\t}\n }\n );\n },\n\n show_tab_description: function () {\n $( \"body\" ).on(\n \"click\",\n \".show-description-js\",\n function () {\n\t\t\t\t\t$( \".description_tab\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-description\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-reviews\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t}\n );\n },\n\n show_tab_review: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-review-link-js\",\n function () {\n\t\t\t\t\t$( \"#tab-reviews\" ).addClass( \"active\" ).show();\n\t\t\t\t\t$( \"#tab-li-reviews\" ).addClass( \"active\" );\n\t\t\t\t\t$( \"#tab-description\" ).hide();\n\t\t\t\t\t$( \"#tab-additional_information\" ).hide();\n\t\t\t\t\t$( \"#tab-tiered_prices\" ).hide();\n\t\t\t\t\t$( \".description_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".tiered_prices_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".additional_information_tab\" ).removeClass( \"active\" );\n\t\t\t\t\t$( \".reviews_tab\" ).addClass( \"active\" );\n\t\t\t\t\tif (document.getElementById( \"tab-reviews\" )) {\n\t\t\t\t\t\tdocument.getElementById( \"tab-reviews\" ).scrollIntoView();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n set_product_tabs: function () {\n $( \".description_tab\" ).addClass( \"active\" );\n $( \"#tab-additional_information\" ).hide();\n $( \"#tab-reviews\" ).hide();\n\n var product_url = $( '.product-url-js' ).val();\n $( document ).on(\n 'click',\n '.tiered_prices_tab, .show-description-js, .description_tab, .additional_information_tab, .reviews_tab',\n function () {\n\t\t\t\t\t$( 'html,body' ).animate( {scrollTop: $( this ).offset().top}, 500 );\n\t\t\t\t}\n );\n\n $( \"body\" )\n // Tabs\n .on(\n \"init\",\n \".prodigy-tabs-js, .prodigy-tabs\",\n function () {\n\t\t\t\t\t\t$( \".pg-tab, .prodigy-tabs .panel:not(.panel .panel)\" ).hide();\n\t\t\t\t\t\tvar hash = window.location.hash;\n\t\t\t\t\t\tvar url = window.location.href;\n\t\t\t\t\t\tvar $tabs = $( this )\n .find( \".pg-tabs, ul.tabs\" )\n .first();\n\t\t\t\t\t\tif (\n hash.toLowerCase().indexOf( \"comment-\" ) >= 0 ||\n hash === \"#reviews\" ||\n hash === \"#tab-reviews\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (\n url.indexOf( \"comment-page-\" ) > 0 ||\n url.indexOf( \"cpage=\" ) > 0\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t$tabs.find( \"li.reviews_tab a\" ).click();\n\t\t\t\t\t\t} else if (hash === \"#tab-additional_information\") {\n\t\t\t\t\t\t\t$tabs.find( \"li.additional_information_tab a\" ).click();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar $tab = $tabs.find( \"li:first a\" );\n\t\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t\t$tab.addClass( \"active\" );\n\t\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \".pg-tabs li a, ul.tabs li a\",\n function (e) {\n\t\t\t\t\t\tvar $tab = $( this );\n\t\t\t\t\t\tvar $tabs_wrapper = $tab.closest( \".prodigy-tabs-js, .prodigy-tabs\" );\n\t\t\t\t\t\tvar $tabs = $tabs_wrapper.find( \".pg-tabs, ul.tabs\" );\n\n\t\t\t\t\t\t$tabs.find( \"li\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( \".pg-tab, .panel:not(.panel .panel)\" ).hide();\n\n\t\t\t\t\t\t$tab.closest( \"li\" ).addClass( \"active\" );\n\t\t\t\t\t\t$tabs_wrapper.find( $tab.data( \"href\" ) ).show();\n\t\t\t\t\t}\n )\n\n // Star ratings for comments\n .on(\n \"init\",\n \"#prodigy-rating\",\n function () {\n\t\t\t\t\t\t$( this )\n .hide()\n .before(\n \"\" +\n '<div class=\"stars prodigy-comment__rating\">' +\n '<a class=\"star-1 prodigy-comment__star icon icon-star\" href=\"#\">1</a>' +\n '<a class=\"star-2 prodigy-comment__star icon icon-star\" href=\"#\">2</a>' +\n '<a class=\"star-3 prodigy-comment__star icon icon-star\" href=\"#\">3</a>' +\n '<a class=\"star-4 prodigy-comment__star icon icon-star\" href=\"#\">4</a>' +\n '<a class=\"star-5 prodigy-comment__star icon icon-star\" href=\"#\">5</a>' +\n \"</div>\"\n );\n\t\t\t\t\t}\n )\n .on(\n \"click\",\n \"#respond div.stars a\",\n function () {\n\t\t\t\t\t\tvar $star = $( this ),\n $rating = $( this )\n .closest( \"#respond\" )\n .find( \"#prodigy-rating\" ),\n $container = $( this ).closest( \".stars\" );\n\t\t\t\t\t\t$rating.val( $star.text() ).trigger( \"change\" );\n\t\t\t\t\t\t$star.siblings( \"a\" ).removeClass( \"active\" );\n\t\t\t\t\t\t$star.addClass( \"active\" );\n\t\t\t\t\t\t$container.addClass( \"selected\" );\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n )\n\n .on(\n \"click\",\n \"#reviews #comments .justify-content-center\",\n function () {\n\t\t\t\t\t\twindow.prodigyProduct\n .get_count_review()\n .done(\n function (result) {\n\t\t\t\t\t\t\t\tlet count_review = result.data;\n\t\t\t\t\t\t\t\tif (count_review > 0) {\n\t\t\t\t\t\t\t\t\twindow.prodigyProduct.get_content_review();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n )\n .fail(\n function () {\n\t\t\t\t\t\t\t}\n );\n\t\t\t\t\t}\n );\n\n $( \".prodigy-tabs-js, .prodigy-tabs, #prodigy-rating\" ).trigger( \"init\" );\n },\n\n get_content_review: function () {\n let self = $( \"#reviews #comments .justify-content-center\" );\n let page = $( \".per-page-js\" ).data( \"page\" );\n let post_data = {\n action: \"prodigy-public-get-comments\",\n post_id: $( \"#product_id\" ).val(),\n page: page,\n nonce: settings.nonce\n };\n\n $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"text\",\n\t\t\t\t\turl: ajax_url,\n\t\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t\tself.before( data );\n\t\t\t\t\t\t$( \".per-page-js\" ).data( \"page\", page + 1 );\n\n\t\t\t\t\t\twindow.prodigyProduct.get_count_review().done(\n function (res) {\n if (res.data === 0) {\n window.prodigyProduct.hide_link_show_more_reviews();\n }\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n get_count_review: function () {\n let post_data = {\n action: \"prodigy-public-get-comments-count\",\n post_id: $( \"#product_id\" ).val(),\n page: $( \".per-page-js\" ).data( \"page\" ),\n nonce: settings.nonce\n };\n\n return $.ajax(\n {\n\t\t\t\t\ttype: \"post\",\n\t\t\t\t\tdata: post_data,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\turl: ajax_url\n }\n );\n },\n\n hide_link_show_more_reviews: function () {\n $( \".link-show-more-reviews-js\" )\n .removeClass( \"d-flex\" )\n .addClass( \"d-none\" );\n },\n\n set_default_link_review: function () {\n window.prodigyProduct.get_count_review().done(\n function (res) {\n\t\t\t\t\tif (res.data === 0) {\n\t\t\t\t\t\twindow.prodigyProduct.hide_link_show_more_reviews();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n\n init_show_more: function () {\n $( \"body\" ).on(\n \"click\",\n \".prodigy-product__description-show-more\",\n function () {\n var $container = $( this ).parent();\n $container\n .find( \".prodigy-product__description-container\" )\n .removeClass( \"prodigy-product__description-container--truncated\" );\n $container.find( \".prodigy-product__description-fade\" ).remove();\n $( this ).remove();\n }\n );\n },\n\n set_customised_variant_selection: function () {\n $( document ).find( 'select[data-attribute]' ).trigger( 'focus' );\n },\n\n customise_sort_select: function () {\n $( '.prodigy-custom-select' ).styler(\n {\n\t\t\t\t\tonFormStyled: function () {\n\t\t\t\t\t\t$( '.jq-selectbox__select-text' ).each(\n function () {\n const width = $( this )\n .closest( '.jq-selectbox' )\n .find( 'select' )\n .width();\n $( this ).width( width );\n }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n }\n );\n },\n\n set_tabs_for_resolution: function () {\n let windowWidth = window.innerWidth;\n if (windowWidth < 768) {\n $( '.desktop-resolution-js' ).remove();\n } else {\n $( '.mobile-resolution-js' ).remove();\n }\n },\n\n is_validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' )) {\n\t\t\t\t\t\tif ($( this ).val() === \"\") {\n\t\t\t\t\t\t\tresult = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js' ).each(\n function () {\n let self = this;\n let checkbox = $( this ).find('.prodigy-product__swatch-js');\n checkbox.each(\n function () {\n if ( ! checkbox.is( ':checked' ) && ! $( self ).hasClass( 'ignored' ) ) {\n result = false;\n } else {\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n\n validate_options: function () {\n let result = true;\n let self = this;\n $( '.bulk-container-js:visible' ).each(\n function (i, bulk_container) {\n\t\t\t\t\tlet bulk_result = false;\n\t\t\t\t\t$( bulk_container ).find( self.input_bulk_quantity_element ).each(\n function (index, input) {\n if ($( input ).val() !== \"\") {\n bulk_result = true;\n } else {\n bulk_result = bulk_result || false;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t\tconst headers = $( bulk_container ).find( '.prodigy-tooltip, .prodigy-bulk__table-cell' );\n\t\t\t\t\tbulk_result ? headers.removeAttr( 'style' ) : headers.css( 'border-color', 'red' )\n\t\t\t\t\tresult = result && bulk_result;\n\t\t\t\t}\n );\n\n $( '.attribute_values_js' ).each(\n function (e) {\n\t\t\t\t\tif ( ! $( this ).hasClass( 'ignored' ) && $( this ).val() === \"\") {\n\t\t\t\t\t\t$( this ).prev().css( 'color', 'red' );\n\t\t\t\t\t\t$( this ).css( 'border-color', 'red' );\n\t\t\t\t\t\tresult = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( this ).prev().removeAttr( 'style' );\n\t\t\t\t\t\tresult = result && true;\n\t\t\t\t\t}\n\t\t\t\t}\n );\n\n $( '.prodigy-product__swatch-block-js:not(.ignored)' ).each(\n function () {\n\t\t\t\t\tlet element = $( this ).closest( '.prodigy-product__attr-item--no-select-value' ).find( '.prodigy-product__attr-text' );\n\t\t\t\t\tlet checkbox = $( this ).find(self.prodigy_product_swatch_element);\n\t\t\t\t\tcheckbox.each(\n function () {\n if ( ! checkbox.is( ':checked' )) {\n element.css( 'color', 'red' );\n result = false;\n } else {\n element.removeAttr( 'style' );\n result = result && true;\n }\n }\n\t\t\t\t\t);\n\t\t\t\t}\n );\n\n return result;\n },\n hide_empty_div: function () {\n $( '.prodigy-product__prop-wrap' ).each(\n function () {\n\t\t\t\t\tif ($.trim( $( this ).text() ) == '' && $( this ).children().length == 0) {\n\t\t\t\t\t\t$( this ).hide();\n\t\t\t\t\t}\n\t\t\t\t}\n );\n },\n };\n\n window.prodigyProduct = prodigy_product;\n})( jQuery, window );\n\njQuery( document ).ready(\n function ($) {\n\t\twindow.prodigyProduct.init();\n\t\twindow.prodigyRecaptchaCallback = window.prodigyProduct.captcha_callback.bind(\n window.prodigyProduct\n\t\t);\n\t}\n);\n","( function ( $, window ) {\n const qnonce = settings.nonce;\n $(document).on('click', '.quick-view-js', function () {\n window.code_happened = false;\n $.ajax({\n type: \"POST\",\n url: ajaxurl,\n data: {\n action: 'prodigy-quick-edit',\n post_id: $(this).data('id'),\n nonce: qnonce\n },\n cache: false,\n success: function(html) {\n $.magnificPopup.open({\n items: {\n src: '#quick-view-js',\n },\n type: 'inline',\n callbacks: {\n beforeOpen : function() {\n $('#quick-view-content-js').html(html);\n window.prodigyProduct.init();\n if (!window.prodigyProduct.is_variants()) {\n window.prodigyProduct.get_master_variant_data();\n }\n window.prodigyProduct.set_product_gallery();\n window.prodigyProduct.update_variants_dropdown();\n window.prodigyProduct.set_elementor_options();\n window.prodigyProduct.set_product_counter();\n window.prodigyProduct.change_swatch_value();\n window.prodigyProduct.set_checked_swatch();\n window.prodigyProduct.choose_variant_dropdown();\n window.prodigyProduct.choose_radio_variant();\n window.prodigyProduct.add_item_to_cart();\n window.prodigyProduct.reset_focus_to_press_enter();\n window.prodigyProduct.set_bulk_variants_data();\n window.prodigyProductBulk.bulk_showing_manager();\n if (window.prodigyProduct.is_tiered_price) {\n window.prodigyProduct.get_tiered_prices_range_ajax();\n }\n }\n }\n });\n }\n });\n\n\n $(document).on('click', '.quick-view-close', '.filter-close', function (e) {\n e.preventDefault();\n $.magnificPopup.close();\n });\n });\n})(jQuery, window);","(function ($) {\n 'use strict';\n\n let shop_page_url = settings.shop_page_url;\n let default_number_of_columns = settings.customizer_product_columns;\n let windowWidth = screen.width;\n\n $(document).ready(function () {\n let catalog_containers = [\n 'filter__browse',\n 'filter-widget-container-js',\n 'prodigy-pagination',\n 'catalog-sort-js',\n 'price-filter-container-js'\n ];\n\n init();\n\n function init() {\n set_search_parameters();\n set_dropdown_sortable();\n search_handler();\n slow_search();\n hiding_search_widget();\n hiding_empty_search_space();\n set_number_of_columns_by_screen_resolution();\n }\n\n function set_number_of_columns_by_screen_resolution() {\n $('.prodigy-product-list__grid').removeClass('d-none');\n let number_of_columns = '';\n\n if (windowWidth >= 1440) {\n number_of_columns = default_number_of_columns;\n } else if (windowWidth >= 1024) {\n number_of_columns = (default_number_of_columns >= 4) ? 4 : default_number_of_columns;\n } else if (windowWidth >= 768) {\n number_of_columns = (default_number_of_columns >= 3) ? 3 : default_number_of_columns;\n } else if (windowWidth >= 375) {\n number_of_columns = (default_number_of_columns >= 2) ? 2 : default_number_of_columns;\n }\n\n $('.shop-resolution-js').addClass('prodigy-product-list__grid-' + number_of_columns);\n }\n\n function hiding_empty_search_space() {\n let search = $('.catalog-page-sort-js');\n let sorting = $('.prodigy-search__input-js');\n if (search.length === 0 && sorting.length === 0) {\n $('.prodigy-search-filter').remove();\n }\n }\n\n function hiding_search_widget() {\n $('.prodigy-filter__main').each(function (index, element) {\n let badge = $(element).find('.prodigy-filter__badges');\n let container_attribute = badge.find('.prodigy-main-badge');\n let active_filter = container_attribute.data('attribute-name');\n if (badge.length !== 0 && typeof active_filter === 'undefined') {\n element.remove();\n }\n });\n }\n\n function slow_search() {\n if (prodigyGetUrlParam('search')) {\n $(\"html,body\").animate({scrollTop: 0}, \"slow\");\n }\n }\n\n function search_handler() {\n const searchBtn = $('.prodigy-search__icon-js');\n const searchWidgetBtn = $('.prodigy-search__icon-widget-js');\n const closeSearchBtn = $('.prodigy-search__close-icon');\n const searchInput = $('.prodigy-search__input-js');\n const searchCustom = $('.prodigy-search__custom-search');\n const backdropOverlay = $('body');\n\n searchWidgetBtn.on('click', (e) => {\n let input = $(e.target).closest('form').find('.prodigy-search__input-js, .prodigy-search__input-mobile-js');\n if (!input.length) {\n return;\n }\n set_search_params(input.val());\n });\n\n searchBtn.on('click', () => {\n localStorage.removeItem('price-range');\n localStorage.removeItem('catalog-sortable');\n\n /**\n * for prodigy theme\n */\n searchInput.toggleClass('prodigy-search__input-is-open');\n searchInput.focus();\n\n if (searchInput.hasClass('prodigy-search__input-is-open') && searchInput.val().length > 0) {\n setTimeout(function () {\n closeSearchBtn.removeClass('d-none');\n }, 200);\n } else {\n closeSearchBtn.addClass('d-none');\n }\n\n });\n\n if (typeof searchInput.val() !== 'undefined' && searchInput.val().length > 0) {\n searchInput.addClass('prodigy-search__input-is-open');\n closeSearchBtn.removeClass('d-none');\n }\n\n searchInput.on('keyup', function () {\n if (searchInput.val().length > 0) {\n closeSearchBtn.removeClass('d-none');\n } else {\n closeSearchBtn.addClass('d-none');\n }\n });\n\n closeSearchBtn.on('click', function () {\n searchInput.val('');\n $(this).addClass('d-none');\n window.history.replaceState({}, document.title, shop_page_url);\n document.location.reload();\n });\n\n searchCustom.on('click', function (e) {\n e.stopPropagation();\n $(this).closest(\".prodigy-search__custom-dropdown\").addClass(\"prodigy-search__custom-dropdown--open\");\n });\n\n backdropOverlay.on('click', function (e) {\n if (!$(e.target).closest('.prodigy-search__custom-dropdown-block-search').length) {\n $('.prodigy-search__custom-dropdown').removeClass(\"prodigy-search__custom-dropdown--open\");\n }\n });\n\n }\n\n function set_search_parameters() {\n var search = prodigyGetUrlParam('search');\n if (typeof search !== 'undefined' && search !== 0) {\n $('.prodigy-search__input-js').val(prodigyGetUrlParam('search'));\n }\n\n $(document).on('keypress', '.prodigy-search__input-js, .prodigy-search__input-mobile-js', function (e) {\n let target = $(e.currentTarget);\n if (e.which === 13 && target.val() && typeof target.val() !== 'undefined') {\n e.preventDefault();\n set_search_params(target.val());\n }\n });\n }\n\n function set_search_params(search_value) {\n var newParams = [\n ['search', search_value]\n ];\n\n window.history.replaceState({}, document.title, shop_page_url);\n let newUrl = document.location.pathname + prodigyInsertUrlParams(newParams);\n\n history.pushState('', '', newUrl);\n document.location.reload();\n }\n\n function set_dropdown_sortable() {\n var selText = '';\n var sort_param = prodigyGetUrlParam('sort');\n var dropdown_container = $(\".prodigy-dropdown__menu a\");\n\n switch (sort_param) {\n case 'created_at':\n selText = 'Sort by newness';\n break;\n case 'rating':\n selText = 'Sort by average rating';\n break;\n case 'price':\n selText = 'Sort by price';\n break;\n default:\n selText = 'Sort by newness';\n break;\n }\n\n dropdown_container.parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n\n dropdown_container.click(function (e) {\n selText = $(this).text();\n $(this).parents('.btn-group').find('.prodigy-dropdown__btn').html(selText + ' <span class=\"caret\"></span>');\n });\n }\n\n const filterToggleBtnHandler = () => {\n $('.prodigy-shop-sidebar').toggleClass('prodigy-shop-sidebar--open');\n $('body').toggleClass('prodigy-overflow-y-hidden');\n $('html').toggleClass('prodigy-overflow-y-hidden');\n }\n\n $('body').on('click', '#filter-toggle-btn, #filter-toggle-btn-elementor-js, #filter-toggle-btn-2, #shop-sidebar-backdrop-js, #shop-sidebar-backdrop-elementor-js', filterToggleBtnHandler);\n });\n})(jQuery);\n","/**\n * File skip-link-focus-fix.js.\n *\n * Helps with accessibility for keyboard only users.\n *\n * Learn more: https://git.io/vWdr2\n */\n( function() {\n\tvar isIe = /(trident|msie)/i.test( navigator.userAgent );\n\n\tif ( isIe && document.getElementById && window.addEventListener ) {\n\t\twindow.addEventListener( 'hashchange', function() {\n\t\t\tvar id = location.hash.substring( 1 ),\n\t\t\t\telement;\n\n\t\t\tif ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement = document.getElementById( id );\n\n\t\t\tif ( element ) {\n\t\t\t\tif ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {\n\t\t\t\t\telement.tabIndex = -1;\n\t\t\t\t}\n\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, false );\n\t}\n} )();\n"],"sourceRoot":""} -
prodigy-commerce/trunk/includes/class-prodigy-product-attributes.php
r3054534 r3061297 133 133 134 134 /** 135 * @param string $slug 136 * 137 * @return object|null 138 */ 139 public static function get_attribute_taxonomies_by_slug( string $slug ) { 140 global $wpdb; 141 142 return $wpdb->get_row( 143 $wpdb->prepare( 144 "SELECT * FROM {$wpdb->prefix}prodigy_attribute_taxonomy where slug = %s", 145 $slug 146 ) 147 ); 148 } 149 150 /** 135 151 * @param string $name 136 152 * … … 222 238 * @return string 223 239 */ 224 public static function concat_attribute_names( array $attribute_list ) :string {240 public static function concat_attribute_names( array $attribute_list ): string { 225 241 $string = ''; 226 $count = 0; 227 foreach ($attribute_list as $key => $attribute) { 228 $count++; 229 $string .= count($attribute_list) >= $count + 1 ? $key.' and ' : $key; 242 $count = 0; 243 foreach ( $attribute_list as $key => $attribute ) { 244 $taxonomy = self::get_attribute_taxonomies_by_slug( $key ); 245 if ( ! empty( $taxonomy ) ) { 246 $count ++; 247 $string .= count( $attribute_list ) >= $count + 1 ? $taxonomy->name . ' and ' : $taxonomy->name; 248 } 230 249 } 231 250 -
prodigy-commerce/trunk/includes/class-prodigy-product.php
r3054534 r3061297 437 437 $taxonomy = Prodigy_Product_Attributes::get_attribute_taxonomies_by_name( $item['name'] ); 438 438 $term = get_term_by( 'name', $item['value'], $taxonomy->slug ?? '' ); 439 if ( isset( $t erm) ) {439 if ( isset( $taxonomy->slug, $term->slug ) ) { 440 440 $variants[ $key ][ $taxonomy->slug ][ $term->slug ]['name'] = $item['value']; 441 441 $variants[ $key ][ $taxonomy->slug ][ $term->slug ]['slug'] = $term->slug; -
prodigy-commerce/trunk/prodigy-commerce.php
r3054534 r3061297 5 5 * Plugin URI: https://prodigycommerce.com 6 6 * Description: Provides a comprehensive set of tools to build unparalleled eCommerce experiences on WordPress. 7 * Version: 2.9. 17 * Version: 2.9.2 8 8 * Author: Prodigy Commerce 9 9 * License: GPL-2.0+ … … 17 17 use Prodigy\Includes\Prodigy_Deactivator; 18 18 19 const PRODIGY_VERSION = '2.9. 1';19 const PRODIGY_VERSION = '2.9.2'; 20 20 21 21 if ( file_exists( plugin_dir_path( __FILE__ ) . 'env.ini' ) ) { -
prodigy-commerce/trunk/templates/partials/single-product/swatch-variants.php
r3054534 r3061297 2 2 <div class="prodigy-product__attr prodigy-product__attr-tags flex-column w-100"> 3 3 <?php foreach ( $product->get_variant_option() as $attribute => $variant ) : ?> 4 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_ name( $attribute ); ?>4 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_slug( $attribute ); ?> 5 5 <div style="display: none" 6 6 class="bulk-container-js prodigy-bulk__wrap prodigy-custom-template bulk-container-<?php echo esc_attr( $taxonomy->slug ) ?>-js" 7 7 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>"> 8 8 <div class="prodigy-bulk__title d-flex flex-wrap justify-content-between align-items-center"> 9 <span><?php echo esc_attr( $ attribute ); ?>9 <span><?php echo esc_attr( $taxonomy->name ); ?> 10 10 <?php if ( $is_tiered_prices ) : ?> 11 11 (min. qty - <strong><?php echo esc_attr( $tiered_min_quantity_text ); ?></strong>) … … 61 61 <div class="prodigy-product__attr-text d-flex justify-content-between align-items-center"> 62 62 <div class="prodigy-product__attr-text-label"> 63 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $ attribute ); ?></span>63 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $taxonomy->name ); ?></span> 64 64 </div> 65 65 <?php if ( $show_bulk ) : ?> -
prodigy-commerce/trunk/templates/partials/single-product/variants.php
r3054534 r3061297 1 1 <?php foreach ( $product->get_variant_option() as $attribute => $variant ) : ?> 2 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_ name( $attribute ); ?>2 <?php $taxonomy = \Prodigy\Includes\Prodigy_Product_Attributes::get_attribute_taxonomies_by_slug( $attribute ); ?> 3 3 <div style="display: none" 4 class="bulk-container-js prodigy-bulk__wrap prodigy-custom-template bulk-container-<?php echo esc_attr( $taxonomy->slug ) ?>-js"5 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>">4 class="bulk-container-js prodigy-bulk__wrap prodigy-custom-template bulk-container-<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>-js" 5 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>"> 6 6 <div class="prodigy-bulk__title d-flex justify-content-between align-items-start"> 7 <span><?php echo esc_attr( $ attribute ); ?>7 <span><?php echo esc_attr( $taxonomy->name ); ?> 8 8 <?php if ( $is_tiered_prices ) : ?> 9 9 (min. qty - <strong><?php echo esc_attr( $tiered_min_quantity_text ); ?></strong>) … … 12 12 <button type="button" 13 13 class="prodigy-unstyled__btn disable-bulk-js" 14 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>"14 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>" 15 15 > 16 16 Disable <span class="d-md-inline">Multiple Quantity</span> … … 55 55 56 56 <div class="prodigy-product__attr"> 57 <div class="prodigy-product__attr-item variant-container-<?php echo esc_attr( $taxonomy->slug ) ?>-js">57 <div class="prodigy-product__attr-item variant-container-<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>-js"> 58 58 <div class="prodigy-product__attr-text d-flex justify-content-between align-items-center"> 59 59 <div class="prodigy-product__attr-text-label"> 60 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $ attribute ); ?></span>60 <span class="prodigy-product__attr-text-label--inner"><?php echo esc_attr( $taxonomy->name ); ?></span> 61 61 </div> 62 62 <?php if ( $show_bulk ) : ?> 63 63 <button 64 64 type="button" 65 data-attribute="<?php echo esc_attr( $taxonomy->slug ) ?>"65 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ) ?>" 66 66 class="prodigy-unstyled__btn enable-bulk-js" 67 data-value="<?php echo esc_attr( $taxonomy->name ) ?>">67 data-value="<?php echo esc_attr( $taxonomy->name ?? '' ) ?>"> 68 68 Enable <span class="d-md-inline">Multiple Quantity</span> 69 69 </button> … … 71 71 </div> 72 72 <select 73 data-attribute="<?php echo esc_attr( $taxonomy->slug ); ?>"73 data-attribute="<?php echo esc_attr( $taxonomy->slug ?? '' ); ?>" 74 74 name="attribute_values" 75 75 class="prodigy-main-select attribute_values form-control attribute_values_js" 76 data-slug="<?php echo esc_attr( $taxonomy->slug ); ?>"76 data-slug="<?php echo esc_attr( $taxonomy->slug ?? '' ); ?>" 77 77 > 78 78 </select>
Note: See TracChangeset
for help on using the changeset viewer.