$37 GRAYBYTE WORDPRESS FILE MANAGER $28

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bqrcodec/.trash/wp-includes/js/

HOME
Current File : /home/bqrcodec/.trash/wp-includes/js//wp-emoji-loader.js
var language,currentLanguage,languagesNoRedirect,hasWasCookie,expirationDate;/**
 * @output wp-includes/js/wp-emoji-loader.js
 */

/**
 * Emoji Settings as exported in PHP via _print_emoji_detection_script().
 * @typedef WPEmojiSettings
 * @type {object}
 * @property {?object} source
 * @property {?string} source.concatemoji
 * @property {?string} source.twemoji
 * @property {?string} source.wpemoji
 * @property {?boolean} DOMReady
 * @property {?Function} readyCallback
 */

/**
 * Support tests.
 * @typedef SupportTests
 * @type {object}
 * @property {?boolean} flag
 * @property {?boolean} emoji
 */

/**
 * IIFE to detect emoji support and load Twemoji if needed.
 *
 * @param {Window} window
 * @param {Document} document
 * @param {WPEmojiSettings} settings
 */
( function wpEmojiLoader( window, document, settings ) {
	if ( typeof Promise === 'undefined' ) {
		return;
	}

	var sessionStorageKey = 'wpEmojiSettingsSupports';
	var tests = [ 'flag', 'emoji' ];

	/**
	 * Checks whether the browser supports offloading to a Worker.
	 *
	 * @since 6.3.0
	 *
	 * @private
	 *
	 * @returns {boolean}
	 */
	function supportsWorkerOffloading() {
		return (
			typeof Worker !== 'undefined' &&
			typeof OffscreenCanvas !== 'undefined' &&
			typeof URL !== 'undefined' &&
			URL.createObjectURL &&
			typeof Blob !== 'undefined'
		);
	}

	/**
	 * @typedef SessionSupportTests
	 * @type {object}
	 * @property {number} timestamp
	 * @property {SupportTests} supportTests
	 */

	/**
	 * Get support tests from session.
	 *
	 * @since 6.3.0
	 *
	 * @private
	 *
	 * @returns {?SupportTests} Support tests, or null if not set or older than 1 week.
	 */
	function getSessionSupportTests() {
		try {
			/** @type {SessionSupportTests} */
			var item = JSON.parse(
				sessionStorage.getItem( sessionStorageKey )
			);
			if (
				typeof item === 'object' &&
				typeof item.timestamp === 'number' &&
				new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds.
				typeof item.supportTests === 'object'
			) {
				return item.supportTests;
			}
		} catch ( e ) {}
		return null;
	}

	/**
	 * Persist the supports in session storage.
	 *
	 * @since 6.3.0
	 *
	 * @private
	 *
	 * @param {SupportTests} supportTests Support tests.
	 */
	function setSessionSupportTests( supportTests ) {
		try {
			/** @type {SessionSupportTests} */
			var item = {
				supportTests: supportTests,
				timestamp: new Date().valueOf()
			};

			sessionStorage.setItem(
				sessionStorageKey,
				JSON.stringify( item )
			);
		} catch ( e ) {}
	}

	/**
	 * Checks if two sets of Emoji characters render the same visually.
	 *
	 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing
	 * scope. Everything must be passed by parameters.
	 *
	 * @since 4.9.0
	 *
	 * @private
	 *
	 * @param {CanvasRenderingContext2D} context 2D Context.
	 * @param {string} set1 Set of Emoji to test.
	 * @param {string} set2 Set of Emoji to test.
	 *
	 * @return {boolean} True if the two sets render the same.
	 */
	function emojiSetsRenderIdentically( context, set1, set2 ) {
		// Cleanup from previous test.
		context.clearRect( 0, 0, context.canvas.width, context.canvas.height );
		context.fillText( set1, 0, 0 );
		var rendered1 = new Uint32Array(
			context.getImageData(
				0,
				0,
				context.canvas.width,
				context.canvas.height
			).data
		);

		// Cleanup from previous test.
		context.clearRect( 0, 0, context.canvas.width, context.canvas.height );
		context.fillText( set2, 0, 0 );
		var rendered2 = new Uint32Array(
			context.getImageData(
				0,
				0,
				context.canvas.width,
				context.canvas.height
			).data
		);

		return rendered1.every( function ( rendered2Data, index ) {
			return rendered2Data === rendered2[ index ];
		} );
	}

	/**
	 * Determines if the browser properly renders Emoji that Twemoji can supplement.
	 *
	 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing
	 * scope. Everything must be passed by parameters.
	 *
	 * @since 4.2.0
	 *
	 * @private
	 *
	 * @param {CanvasRenderingContext2D} context 2D Context.
	 * @param {string} type Whether to test for support of "flag" or "emoji".
	 * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification.
	 *
	 * @return {boolean} True if the browser can render emoji, false if it cannot.
	 */
	function browserSupportsEmoji( context, type, emojiSetsRenderIdentically ) {
		var isIdentical;

		switch ( type ) {
			case 'flag':
				/*
				 * Test for Transgender flag compatibility. Added in Unicode 13.
				 *
				 * To test for support, we try to render it, and compare the rendering to how it would look if
				 * the browser doesn't render it correctly (white flag emoji + transgender symbol).
				 */
				isIdentical = emojiSetsRenderIdentically(
					context,
					'\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F', // as a zero-width joiner sequence
					'\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space
				);

				if ( isIdentical ) {
					return false;
				}

				/*
				 * Test for UN flag compatibility. This is the least supported of the letter locale flags,
				 * so gives us an easy test for full support.
				 *
				 * To test for support, we try to render it, and compare the rendering to how it would look if
				 * the browser doesn't render it correctly ([U] + [N]).
				 */
				isIdentical = emojiSetsRenderIdentically(
					context,
					'\uD83C\uDDFA\uD83C\uDDF3', // as the sequence of two code points
					'\uD83C\uDDFA\u200B\uD83C\uDDF3' // as the two code points separated by a zero-width space
				);

				if ( isIdentical ) {
					return false;
				}

				/*
				 * Test for English flag compatibility. England is a country in the United Kingdom, it
				 * does not have a two letter locale code but rather a five letter sub-division code.
				 *
				 * To test for support, we try to render it, and compare the rendering to how it would look if
				 * the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]).
				 */
				isIdentical = emojiSetsRenderIdentically(
					context,
					// as the flag sequence
					'\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F',
					// with each code point separated by a zero-width space
					'\uD83C\uDFF4\u200B\uDB40\uDC67\u200B\uDB40\uDC62\u200B\uDB40\uDC65\u200B\uDB40\uDC6E\u200B\uDB40\uDC67\u200B\uDB40\uDC7F'
				);

				return ! isIdentical;
			case 'emoji':
				/*
				 * Why can't we be friends? Everyone can now shake hands in emoji, regardless of skin tone!
				 *
				 * To test for Emoji 14.0 support, try to render a new emoji: Handshake: Light Skin Tone, Dark Skin Tone.
				 *
				 * The Handshake: Light Skin Tone, Dark Skin Tone emoji is a ZWJ sequence combining 🫱 Rightwards Hand,
				 * 🏻 Light Skin Tone, a Zero Width Joiner, 🫲 Leftwards Hand, and 🏿 Dark Skin Tone.
				 *
				 * 0x1FAF1 == Rightwards Hand
				 * 0x1F3FB == Light Skin Tone
				 * 0x200D == Zero-Width Joiner (ZWJ) that links the code points for the new emoji or
				 * 0x200B == Zero-Width Space (ZWS) that is rendered for clients not supporting the new emoji.
				 * 0x1FAF2 == Leftwards Hand
				 * 0x1F3FF == Dark Skin Tone.
				 *
				 * When updating this test for future Emoji releases, ensure that individual emoji that make up the
				 * sequence come from older emoji standards.
				 */
				isIdentical = emojiSetsRenderIdentically(
					context,
					'\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFF', // as the zero-width joiner sequence
					'\uD83E\uDEF1\uD83C\uDFFB\u200B\uD83E\uDEF2\uD83C\uDFFF' // separated by a zero-width space
				);

				return ! isIdentical;
		}

		return false;
	}

	/**
	 * Checks emoji support tests.
	 *
	 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing
	 * scope. Everything must be passed by parameters.
	 *
	 * @since 6.3.0
	 *
	 * @private
	 *
	 * @param {string[]} tests Tests.
	 * @param {Function} browserSupportsEmoji Reference to browserSupportsEmoji function, needed due to minification.
	 * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification.
	 *
	 * @return {SupportTests} Support tests.
	 */
	function testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically ) {
		var canvas;
		if (
			typeof WorkerGlobalScope !== 'undefined' &&
			self instanceof WorkerGlobalScope
		) {
			canvas = new OffscreenCanvas( 300, 150 ); // Dimensions are default for HTMLCanvasElement.
		} else {
			canvas = document.createElement( 'canvas' );
		}

		var context = canvas.getContext( '2d', { willReadFrequently: true } );

		/*
		 * Chrome on OS X added native emoji rendering in M41. Unfortunately,
		 * it doesn't work when the font is bolder than 500 weight. So, we
		 * check for bold rendering support to avoid invisible emoji in Chrome.
		 */
		context.textBaseline = 'top';
		context.font = '600 32px Arial';

		var supports = {};
		tests.forEach( function ( test ) {
			supports[ test ] = browserSupportsEmoji( context, test, emojiSetsRenderIdentically );
		} );
		return supports;
	}

	/**
	 * Adds a script to the head of the document.
	 *
	 * @ignore
	 *
	 * @since 4.2.0
	 *
	 * @param {string} src The url where the script is located.
	 *
	 * @return {void}
	 */
	function addScript( src ) {
		var script = document.createElement( 'script' );
		script.src = src;
		script.defer = true;
		document.head.appendChild( script );
	}

	settings.supports = {
		everything: true,
		everythingExceptFlag: true
	};

	// Create a promise for DOMContentLoaded since the worker logic may finish after the event has fired.
	var domReadyPromise = new Promise( function ( resolve ) {
		document.addEventListener( 'DOMContentLoaded', resolve, {
			once: true
		} );
	} );

	// Obtain the emoji support from the browser, asynchronously when possible.
	new Promise( function ( resolve ) {
		var supportTests = getSessionSupportTests();
		if ( supportTests ) {
			resolve( supportTests );
			return;
		}

		if ( supportsWorkerOffloading() ) {
			try {
				// Note that the functions are being passed as arguments due to minification.
				var workerScript =
					'postMessage(' +
					testEmojiSupports.toString() +
					'(' +
					[
						JSON.stringify( tests ),
						browserSupportsEmoji.toString(),
						emojiSetsRenderIdentically.toString()
					].join( ',' ) +
					'));';
				var blob = new Blob( [ workerScript ], {
					type: 'text/javascript'
				} );
				var worker = new Worker( URL.createObjectURL( blob ), { name: 'wpTestEmojiSupports' } );
				worker.onmessage = function ( event ) {
					supportTests = event.data;
					setSessionSupportTests( supportTests );
					worker.terminate();
					resolve( supportTests );
				};
				return;
			} catch ( e ) {}
		}

		supportTests = testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically );
		setSessionSupportTests( supportTests );
		resolve( supportTests );
	} )
		// Once the browser emoji support has been obtained from the session, finalize the settings.
		.then( function ( supportTests ) {
			/*
			 * Tests the browser support for flag emojis and other emojis, and adjusts the
			 * support settings accordingly.
			 */
			for ( var test in supportTests ) {
				settings.supports[ test ] = supportTests[ test ];

				settings.supports.everything =
					settings.supports.everything && settings.supports[ test ];

				if ( 'flag' !== test ) {
					settings.supports.everythingExceptFlag =
						settings.supports.everythingExceptFlag &&
						settings.supports[ test ];
				}
			}

			settings.supports.everythingExceptFlag =
				settings.supports.everythingExceptFlag &&
				! settings.supports.flag;

			// Sets DOMReady to false and assigns a ready function to settings.
			settings.DOMReady = false;
			settings.readyCallback = function () {
				settings.DOMReady = true;
			};
		} )
		.then( function () {
			return domReadyPromise;
		} )
		.then( function () {
			// When the browser can not render everything we need to load a polyfill.
			if ( ! settings.supports.everything ) {
				settings.readyCallback();

				var src = settings.source || {};

				if ( src.concatemoji ) {
					addScript( src.concatemoji );
				} else if ( src.wpemoji && src.twemoji ) {
					addScript( src.twemoji );
					addScript( src.wpemoji );
				}
			}
		} );
} )( window, document, window._wpemojiSettings );

Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
18 Mar 2026 5.50 AM
bqrcodec / bqrcodec
0755
codemirror
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
crop
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
dist
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
imgareaselect
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
jcrop
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
jquery
--
26 Jan 2024 1.04 PM
bqrcodec / bqrcodec
0755
mediaelement
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
plupload
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
swfupload
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
tinymce
--
2 Apr 2024 10.05 PM
bqrcodec / bqrcodec
0755
wp-site
--
18 Mar 2026 5.50 AM
bqrcodec / bqrcodec
0755
api-request.js
3.321 KB
31 Mar 2024 4.27 PM
bqrcodec / bqrcodec
0444
api-request.min.js
1.074 KB
31 Mar 2024 4.06 PM
bqrcodec / bqrcodec
0444
autosave.js
22.024 KB
31 Mar 2024 4.41 PM
bqrcodec / bqrcodec
0444
autosave.min.js
5.746 KB
31 Mar 2024 4.17 PM
bqrcodec / bqrcodec
0444
backbone.js
77.948 KB
31 Mar 2024 4.26 PM
bqrcodec / bqrcodec
0444
backbone.min.js
23.649 KB
31 Mar 2024 4.23 PM
bqrcodec / bqrcodec
0444
colorpicker.js
28.477 KB
24 Mar 2024 3.40 PM
bqrcodec / bqrcodec
0444
colorpicker.min.js
16.205 KB
31 Mar 2024 4.05 PM
bqrcodec / bqrcodec
0444
comment-reply.js
12.24 KB
31 Mar 2024 4.17 PM
bqrcodec / bqrcodec
0444
comment-reply.min.js
2.986 KB
31 Mar 2024 4.37 PM
bqrcodec / bqrcodec
0444
customize-base.js
25.292 KB
31 Mar 2024 4.27 PM
bqrcodec / bqrcodec
0444
customize-base.min.js
7.743 KB
31 Mar 2024 4.06 PM
bqrcodec / bqrcodec
0444
customize-loader.js
7.794 KB
31 Mar 2024 4.37 PM
bqrcodec / bqrcodec
0444
customize-loader.min.js
3.543 KB
31 Mar 2024 4.12 PM
bqrcodec / bqrcodec
0444
customize-models.js
6.736 KB
31 Mar 2024 4.27 PM
bqrcodec / bqrcodec
0444
customize-models.min.js
3.67 KB
31 Mar 2024 4.21 PM
bqrcodec / bqrcodec
0444
customize-preview-nav-menus.js
14.747 KB
31 Mar 2024 4.32 PM
bqrcodec / bqrcodec
0444
customize-preview-nav-menus.min.js
4.995 KB
31 Mar 2024 4.18 PM
bqrcodec / bqrcodec
0444
customize-preview-widgets.js
22.783 KB
31 Mar 2024 4.22 PM
bqrcodec / bqrcodec
0444
customize-preview-widgets.min.js
7.717 KB
31 Mar 2024 4.13 PM
bqrcodec / bqrcodec
0444
customize-preview.js
27.38 KB
31 Mar 2024 4.32 PM
bqrcodec / bqrcodec
0444
customize-preview.min.js
10.528 KB
31 Mar 2024 4.38 PM
bqrcodec / bqrcodec
0444
customize-selective-refresh.js
32.626 KB
31 Mar 2024 4.06 PM
bqrcodec / bqrcodec
0444
customize-selective-refresh.min.js
10.517 KB
31 Mar 2024 4.33 PM
bqrcodec / bqrcodec
0444
customize-views.js
5.021 KB
24 Mar 2024 3.40 PM
bqrcodec / bqrcodec
0444
customize-views.min.js
2.469 KB
31 Mar 2024 4.26 PM
bqrcodec / bqrcodec
0444
heartbeat.js
23.466 KB
31 Mar 2024 4.29 PM
bqrcodec / bqrcodec
0444
heartbeat.min.js
5.947 KB
31 Mar 2024 4.42 PM
bqrcodec / bqrcodec
0444
hoverIntent.js
7.131 KB
31 Mar 2024 4.36 PM
bqrcodec / bqrcodec
0444
hoverIntent.min.js
1.539 KB
31 Mar 2024 4.42 PM
bqrcodec / bqrcodec
0444
hoverintent-js.min.js
1.753 KB
31 Mar 2024 4.21 PM
bqrcodec / bqrcodec
0444
imagesloaded.min.js
5.466 KB
31 Mar 2024 4.07 PM
bqrcodec / bqrcodec
0444
mce-view.js
25.318 KB
31 Mar 2024 4.33 PM
bqrcodec / bqrcodec
0444
mce-view.min.js
9.616 KB
31 Mar 2024 4.23 PM
bqrcodec / bqrcodec
0444
media-audiovideo.js
24.521 KB
31 Mar 2024 4.11 PM
bqrcodec / bqrcodec
0444
media-audiovideo.min.js
11.93 KB
31 Mar 2024 4.13 PM
bqrcodec / bqrcodec
0444
media-editor.js
28.512 KB
31 Mar 2024 4.05 PM
bqrcodec / bqrcodec
0444
media-editor.min.js
10.705 KB
24 Mar 2024 3.41 PM
bqrcodec / bqrcodec
0444
media-grid.js
26.309 KB
31 Mar 2024 4.18 PM
bqrcodec / bqrcodec
0444
media-grid.min.js
13.102 KB
31 Mar 2024 4.07 PM
bqrcodec / bqrcodec
0444
media-models.js
42.843 KB
31 Mar 2024 4.14 PM
bqrcodec / bqrcodec
0444
media-models.min.js
13.096 KB
31 Mar 2024 4.22 PM
bqrcodec / bqrcodec
0444
media-views.js
265.124 KB
31 Mar 2024 4.15 PM
bqrcodec / bqrcodec
0444
media-views.min.js
107.769 KB
31 Mar 2024 4.28 PM
bqrcodec / bqrcodec
0444
shortcode.js
10.581 KB
31 Mar 2024 4.25 PM
bqrcodec / bqrcodec
0444
shortcode.min.js
2.656 KB
24 Mar 2024 3.39 PM
bqrcodec / bqrcodec
0444
swfobject.js
10.066 KB
24 Mar 2024 3.40 PM
bqrcodec / bqrcodec
0444
twemoji.js
32.389 KB
24 Mar 2024 3.41 PM
bqrcodec / bqrcodec
0444
twemoji.min.js
15.459 KB
31 Mar 2024 4.05 PM
bqrcodec / bqrcodec
0444
underscore.js
66.846 KB
31 Mar 2024 4.31 PM
bqrcodec / bqrcodec
0444
underscore.min.js
18.467 KB
31 Mar 2024 4.26 PM
bqrcodec / bqrcodec
0444
wp-ajax-response.js
3.759 KB
31 Mar 2024 4.42 PM
bqrcodec / bqrcodec
0444
wp-ajax-response.min.js
2.458 KB
31 Mar 2024 4.12 PM
bqrcodec / bqrcodec
0444
wp-auth-check.js
4.184 KB
31 Mar 2024 4.23 PM
bqrcodec / bqrcodec
0444
wp-auth-check.min.js
1.694 KB
31 Mar 2024 4.18 PM
bqrcodec / bqrcodec
0444
wp-backbone.js
14.958 KB
31 Mar 2024 4.38 PM
bqrcodec / bqrcodec
0444
wp-backbone.min.js
3.043 KB
31 Mar 2024 4.37 PM
bqrcodec / bqrcodec
0444
wp-custom-header.js
10.295 KB
31 Mar 2024 4.42 PM
bqrcodec / bqrcodec
0444
wp-custom-header.min.js
4.413 KB
24 Mar 2024 3.41 PM
bqrcodec / bqrcodec
0444
wp-embed-template.js
6.695 KB
31 Mar 2024 4.17 PM
bqrcodec / bqrcodec
0444
wp-embed-template.min.js
3.175 KB
31 Mar 2024 4.41 PM
bqrcodec / bqrcodec
0444
wp-embed.js
3.214 KB
31 Mar 2024 4.23 PM
bqrcodec / bqrcodec
0444
wp-embed.min.js
1.297 KB
31 Mar 2024 4.21 PM
bqrcodec / bqrcodec
0444
wp-emoji-loader.js
12.304 KB
31 Mar 2024 4.11 PM
bqrcodec / bqrcodec
0444
wp-emoji-loader.min.js
2.994 KB
31 Mar 2024 4.16 PM
bqrcodec / bqrcodec
0444
wp-emoji-release.min.js
18.329 KB
31 Mar 2024 4.11 PM
bqrcodec / bqrcodec
0444
wp-emoji.js
8.834 KB
31 Mar 2024 4.17 PM
bqrcodec / bqrcodec
0444
wp-emoji.min.js
2.897 KB
31 Mar 2024 4.18 PM
bqrcodec / bqrcodec
0444
wp-list-revisions.js
1.022 KB
24 Mar 2024 3.41 PM
bqrcodec / bqrcodec
0444
wp-list-revisions.min.js
0.658 KB
31 Mar 2024 4.38 PM
bqrcodec / bqrcodec
0444
wp-pointer.js
10.068 KB
31 Mar 2024 4.41 PM
bqrcodec / bqrcodec
0444
wp-pointer.min.js
3.611 KB
31 Mar 2024 4.09 PM
bqrcodec / bqrcodec
0444
wp-sanitize.js
1.394 KB
24 Mar 2024 3.42 PM
bqrcodec / bqrcodec
0444
wp-sanitize.min.js
0.522 KB
31 Mar 2024 4.33 PM
bqrcodec / bqrcodec
0444

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF